Commit Graph

123 Commits

Author SHA1 Message Date
irl-dan 3311603e8f docs(contract-markdown): canonize ### Memory section
Customer programs that accumulate state across runs
(stargazer-intake, agents-site-analytics, and others that declare
`persist: project` or `persist: user`) have been carrying a
load-bearing `### Memory` section that enumerates reads/writes
to their persistent memory file.

Per the existing spec, `### Memory` was an "unknown section" —
preserved as documentation but not a contract. This left several
gaps real teams have hit:

- Agents editing those programs couldn't tell whether the section
  was load-bearing or ornamental.
- There was no single source of truth for fields that appear in
  three places (memory file, top-level Ensures, and memory_update
  echo).
- The 2026-04-21 eval-blanket on stargazer-intake flagged the
  "authoritative source when 3 copies exist" question as a real
  friction item.

This PR:

- Adds `### Memory` to the Canonical Sections table.
- Defines the `reads:` / `writes:` YAML format that customer
  programs already use.
- States the rule: `### Memory` only applies when `### Runtime`
  sets `persist: project` or `persist: user`.
- Cross-references `top-level-cursor-emission` and
  `idempotent-scheduled-intake` in `guidance/patterns.md` so
  authors know cursor fields should *also* appear in `### Ensures`.
- Points to `prose.md` Persistent Agents and
  `state/filesystem.md` Memory Scoping for on-disk format.

No behavior change; this canonizes prior art so readers stop
having to infer it.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 22:53:16 -07:00
irl-dan ae1a7d9136 release: v0.10.0
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
v0.10.0
2026-04-20 21:47:27 -07:00
irl-dan 22608daec4 cleanup
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 21:41:48 -07:00
irl-dan d7ef3e1d2f Merge pull request #24 from apollostreetcompany/codex/docs-codex-adapter
docs: add experimental Codex adapter examples

# Conflicts:
#	README.md
#	skills/README.md
#	skills/open-prose/README.md
2026-04-20 21:28:13 -07:00
irl-dan e911181964 Merge pull request #25 from Wreos/codex/add-codex-support
Add Codex support docs and AGENTS entrypoint

# Conflicts:
#	README.md
2026-04-20 21:27:44 -07:00
irl-dan f190977b9e Merge pull request #23 from rawwerks/feat/add-linter
feat: add deterministic linter (tools/lint/)
2026-04-20 21:27:27 -07:00
dan d3adb00b37 Merge pull request #31 from openprose/docs/redact-internal-references
docs: make skills and RFCs self-contained
2026-04-20 23:44:07 -04:00
Jose Montes de Oca 14e6854dfa docs: make skills and RFCs self-contained
Several docs referenced paths and deployment internals that only
exist in our authoring workspace, not in this repo. Clean them up so
external readers get a self-contained view.

- skills/README.md, skills/open-prose/state/README.md: drop `related:`
  frontmatter entries that pointed outside the repo tree; refer to
  "OpenProse Cloud" by name instead of an internal path.

- skills/open-prose/agent-onboarding.md: replace a 25-line maintainer
  comment (infra paths, deploy mechanic) with a single link to the
  canonical rendering at https://openprose.ai/llms-full.txt. This
  file is served verbatim as llms-full.txt, so the comment was
  publicly visible but only meaningful to hosting maintainers.

- rfcs/004-composite-instantiation.md: drop two pointers to an
  external design doc — the RFC is already self-contained (Summary,
  Problem, Proposal, Architecture, Changes, Prior Art).

- rfcs/001/002/003: normalize author line to match rfcs/004's format
  (`Dan B. (OpenProse)`).

Docs only — no behavior changes.
2026-04-20 22:30:20 -04:00
dan ad4b2ad592 Merge pull request #30 from openprose/agent-onboarding-canonical
add canonical agent-onboarding narrative
2026-04-20 18:31:12 -04:00
irl-dan 1b2cda2922 add canonical agent-onboarding narrative
New file: skills/open-prose/agent-onboarding.md

The arrival narrative an agent reads when pointed at OpenProse before the
skill is installed — one screen, markdown that reads cleanly as plain text
over curl. Consumer list and editing discipline are in a header comment at
the top of the file.

Served from this file by:
  - openprose.ai/llms-full.txt + /llms-full  (apps/run, Next.js)
  - curl-me.openprose.ai + aliases           (S3 + CloudFront)
  - curl-me.prose.md                         (same CloudFront distribution)

Those consumers read this file at build/apply time; there is no sync script.
Operational detail (recognition signals, proposal script, Host Primitive
Adapter, giving-back playbook) stays in SKILL.md — this file links rather
than duplicates.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 15:23:06 -07:00
dan b0e6ca8768 Merge pull request #29 from openprose/skill-services-section-elegance
speak to agents, not about them
2026-04-20 17:42:39 -04:00
irl-dan 5ba2f39663 speak to agents, not about them
Rewrites agent-facing surfaces so the runtime contract is stated in the
voice of the entity that will execute it:

- plugin/marketplace descriptions tell the agent what it will do when
  `prose` fires (read contract, spawn subagents, write `.prose/runs/`)
  instead of pitching OpenProse as a feature
- README opens with a fourth-wall blockquote for agents arriving via
  "go check out this repo," adds a Host Primitive Adapter table so the
  runtime contract is visible before activation, and names the agent
  failure modes OpenProse addresses
- SKILL.md body adds recognition signals, a proposal script, a cognitive
  model (type-system analogy), and when-to-decline guidance so an agent
  can reach for OpenProse on its own judgment once activated
- SKILL.md adds a "giving back" section with a three-bucket identity
  rubric (yours freely / requires approval / skip) to channel goodwill
  without becoming a spam vector
- SKILL.md frontmatter stays tight to avoid context pollution and
  false-positive activations

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 14:36:36 -07:00
irl-dan 17e87514d4 improve progressive disclosure flow 2026-04-20 12:42:40 -07:00
dan 3d41de2914 Merge pull request #28 from openprose/skill-services-section-elegance
Make services a Contract Markdown section
2026-04-20 14:14:39 -04:00
irl-dan 160a463e88 Make services a Contract Markdown section 2026-04-20 10:52:09 -07:00
dan 8952649347 Merge pull request #27 from openprose/skill-contract-markdown-prosescript
Overhaul OpenProse skill docs and README
2026-04-20 11:55:45 -04:00
irl-dan 487117dc31 docs: overhaul openprose skill docs 2026-04-20 08:49:24 -07:00
irl-dan db66354e06 ci: update longcot-rlmify workflow with thinking input
Picks up the thinking choice input and RLMIFY_THINKING env wiring
from rlm-harness-skill so gh workflow run can pass -f thinking=<level>.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 04:33:25 -07:00
irl-dan b7e4b99b31 ci: add longcot-rlmify workflow dispatcher
Lets gh workflow run discover the rlmified LongCoT smoke workflow.
The shim, example, and skills/rlmify/ live on the rlm-harness-skill
branch; workflow_dispatch --ref rlm-harness-skill checks them out
at run time.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 16:00:45 -07:00
irl-dan 18b3579ddc ci: add LongCoT benchmark workflow + pi-mono shim
workflow_dispatch action that runs the LongCoT benchmark using
pi-mono (@mariozechner/pi-coding-agent) as the inference harness.
Defaults (difficulty=longcot, thinking=high, no tools/scaffolding,
2 retries) mirror the paper for 1:1 result comparison; README
covers iteration with longcot-mini + slice inputs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 14:50:16 -07:00
irl-dan 770ae2b9fa expand skills docs, add RFCs and std README
Elaborate forme/prose/memory skill docs with fuller guidance, and seed
rfcs/ (scheduled execution, feedback loops, env declaration, composite
instantiation) plus a std/ README stub.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 12:31:21 -07:00
irl-dan d6e9c64c82 feat: add run as first-class keyword type in the contract system
Introduces `run` and `run[]` as recognized value types in `requires:` declarations,
enabling provenance tracking, DAG reconstruction, fan-in composition, and staleness
detection across agent workflows.

Spec changes (prose.md, forme.md, state/filesystem.md, SKILL.md):
- VM validates run-typed inputs (existence, completion, structure)
- Writes structured metadata bindings with run ID, path, program, status
- Records `upstream:` and `program:` in state.md headers for provenance
- Staleness detection compares program.md snapshot against current source
- Cross-project resolution: bare ID (local), ~/{id} (user), absolute path
- `prose status --graph` command (sugar for std/ops/graph)
- Forme treats run-typed requires as external caller inputs (not auto-wired)
- Recursive Forme invocation for kind:program services
- Declared-but-unused service lint warning
- ASCII `->` documented as valid fallback for `→` in event markers

Std library updates (all 7 programs):
- inspector: run-path → subject: run
- calibrator: run-paths → runs: run[], removed "recent" magic value
- profiler: run-path → runs: run[], removed "recent"
- cost-analyzer: run-path → runs: run[], removed "recent"
- error-forensics: run-path → subject: run
- program-improver: run-path → subject: run, inspection-path → inspection: run
- vm-improver: inspection-path → inspection: run

Deletes the RFC (guidance/rfc-run-type.md) — feature is now implemented.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 10:24:16 -07:00
irl-dan 9699eb5bb8 fix: resolve internal consistency issues across skill files
- SKILL.md: update stale .prose extensions to .md/directories, fix "v0 format" claim, add prose update to command routing
- state/filesystem.md: add test evaluation markers ([eval] ✓/✗, ---test PASS/FAIL)
- prose.md: add prose install to CLI command table
- guidance/patterns.md: fix compiler.md ref to v0/compiler.md, fix v1/v2 labels to legacy/declarative

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 10:01:42 -07:00
irl-dan b6c218c3dc fix: close spec-to-skill gaps — declarative each, env security, delegation markers, help.md, mode:contract removal
- prose.md: add `each` postcondition evaluation section
- forme.md: add `each` recognition in Step 4b, add environment security constraint, remove mode:contract from test wiring
- guidance/patterns.md: add declarative-each pattern with before/after examples
- state/filesystem.md: add runtime delegation markers, __delegate/ directory, write ownership
- help.md: rewrite with v1 contract syntax as primary, v0 as legacy subsection, update examples to ~50

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 09:45:47 -07:00
irl-dan 80fb1dc0a1 RFC: run as a first-class type in the contract system
Propose making `run` a value type in requires/ensures contracts so the VM
can track provenance edges between runs, reconstruct DAGs, detect staleness,
and support fan-in composition (run[]).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 09:08:49 -07:00
irl-dan 677b1654b5 feat: update CLI commands, add environment to contract surface
- SKILL.md: route lint, preflight, inspect, status as sugar for std programs
- prose.md: add environment: as sixth contract section with VM verification
- forme.md: propagate environment declarations through wiring to manifest
- help.md: update command reference
- Replace prose-compile with prose-lint, add preflight/inspect/status commands
- Remove compile, wire, migrate, eval as top-level commands

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 20:06:20 -07:00
irl-dan bc170f978a Merge branch 'feat/deps-system' 2026-04-06 17:46:58 -07:00
irl-dan 66d64baded Add git-native dependency resolution system
New file:
- deps.md — authoritative spec for dependency resolution via GitHub repos

Updated files:
- SKILL.md — prose install command routing, .deps/ and prose.lock in file locations
- forme.md — .deps/ as resolution step 3 with path mapping examples
- state/filesystem.md — .deps/ and prose.lock in directory structure
- help.md — install commands, quick start, FAQ
- guidance/patterns.md — dependency-management and std-shorthand patterns
- guidance/antipatterns.md — unpinned-dependencies and vendored-copies

Key design decisions:
- GitHub is the registry (no custom server)
- prose.lock is plaintext (owner/repo sha), committed to git
- .deps/ is gitignored, reproducible from prose.lock
- std/ is shorthand for openprose/std/
- Transitive deps via multi-pass with cycle detection
- Version conflicts auto-resolve to newer SHA with warning
- Explicit prose install required (no auto-install on prose run)

Standard library programs migrated to github.com/openprose/std

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 17:43:35 -07:00
Aleksandr Lozhkovoi 6f24be7efc Add Codex support docs and entrypoint 2026-03-29 12:44:44 +02:00
Apollo 373ff36181 docs: add experimental Codex adapter examples
Why: OpenProse maps well onto Codex subagents, but Codex users need explicit docs and example files for recursive execution, alias resolution, and audit-role fanout without relying on machine-local configuration.
2026-03-26 23:08:26 +09:00
Raymond Weitekamp 1a0aa4a815 feat: add deterministic linter (tools/lint/)
Rust-based linter for OpenProse programs. Supports both legacy .prose
files and .md programs.

Legacy (.prose):
- Structure, syntax, string literals, escape sequences (E002)
- Agent definitions and references
- Property, permission, skill validation
- Prompt hygiene, output validation (E023)
- Legacy syntax detection

.md programs:
- YAML frontmatter validation
- Component and contract section parsing
- Heading classification (components vs state schemas vs docs)
- Multi-file program directory auto-detection
- Contract completeness observations

Spec discovery:
- discover command reports corpus patterns not covered by spec
- Role/delegation correlation, API/prohibited overlap, state coherence

build.rs reads skills/open-prose/compiler.md for vocabulary extraction.
Tests validate against skills/open-prose/examples/.
22 tests, 0 failures.
2026-03-25 09:36:44 -04:00
irl-dan 03c5215704 fix: move lib/migrate to skills/open-prose/lib/migrate
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
v0.9.0
2026-03-23 15:10:14 -04:00
irl-dan b94f58e501 docs: update README, CHANGELOG, and version for v2 launch (0.9.0)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 15:09:31 -04:00
irl-dan 769ac9152e feat: upgrade lib/ programs to high-quality Prose v2
All 9 lib/*.md programs now have full v2 contracts:
- requires/ensures with detailed descriptions
- errors sections for failure modes
- strategies for non-obvious execution guidance
- invariants for correctness constraints
- inline ## service definitions for multi-service programs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 15:09:30 -04:00
irl-dan cd9a91a122 feat: add lib/migrate — multi-pass .prose to .md conversion program
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 15:07:42 -04:00
irl-dan 03832c75cd chore: remove all legacy .prose files — v2 .md format is now canonical
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 15:06:16 -04:00
irl-dan ccd5d5f54a fix: update relative paths after move into platform as submodule 2026-03-23 14:25:33 -04:00
irl-dan 1f42e4a64d feat: v2 migration — remove websh, alts, commons; restructure for forme 2026-03-23 13:57:59 -04:00
irl-dan c5b8212ade docs: update examples README for v2 migration
List all migrated v2 examples organized by category, note the
v1-archive, and add counts: 35 migrated, 15 archived, 5 new.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 13:17:38 -04:00
irl-dan 420401381a feat: migrate lib/ programs to Prose v2
Migrate all 9 library programs: inspector, calibrator, cost-analyzer,
error-forensics, profiler, program-improver, vm-improver, project-
memory, and user-memory. Each becomes a .md file with contracts,
services lists, and appropriate persistence declarations.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 13:17:32 -04:00
irl-dan 0f52035e95 feat: add v2-native examples (test, registry, wiring, multi-file, composites)
Five new examples demonstrating v2-only features:
- test-demo.md: kind: test with fixtures and expects
- registry-import/: importing services from p.prose.md
- wiring-declaration.md: Level 2 explicit ### Wiring section
- multi-service-single-file.md: ## heading delimiters
- composites-demo/: worker-critic composite pattern

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 13:17:24 -04:00
irl-dan 61acc58b5e chore: archive retired v1 examples (15 programs)
Move 15 retired .prose files to v1-archive/: 05 (debug-issue),
06 (explain-codebase), 07 (refactor), 08 (blog-post), 10 (code-review-
agents), 14 (composition-blocks), 15 (inline-sequences), 17 (parallel-
research), 18 (mixed-parallel-sequential), 19 (advanced-parallel),
20 (fixed-loops), 21 (pipeline-operations), 26 (parameterized-blocks),
27 (string-interpolation), 31 (captains-chair-with-memory).

Also moves roadmap/ directory to v1-archive/roadmap/.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 13:17:12 -04:00
irl-dan 8fa40c9010 feat: migrate remaining examples to Prose v2
Code review (03), feature demos (11, 12, 13), PR workflows (32, 33),
bug hunter (36), skill scanner (38), UX test (44), plugin release (45),
workflow crystallizer (46), habit miner (48), retrospective (49), and
interactive tutor (50).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 13:17:01 -04:00
irl-dan a0b7a26ae3 feat: migrate Wave 3 examples to Prose v2 (29, 35, 37, 39, 47)
Complex execution-block programs: captain's chair full (29), feature
factory (35), The Forge browser build (37), architect by simulation
(39), and language self-improvement (47). All use Level 3 execution
blocks with explicit let/call control flow.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 13:16:52 -04:00
irl-dan 46f7acf075 feat: migrate Wave 2 examples to Prose v2 (22-25, 30, 34, 41-43)
Error handling with conditional ensures (22), strategies for retry/
backoff (23), conditional ensures for choice blocks (24) and
conditionals (25), captain's chair with shapes (30), content pipeline
(34), and RLM patterns: divide-conquer (41), filter-recurse (42),
pairwise (43).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 13:16:46 -04:00
irl-dan ae8899a61a feat: migrate Wave 1 examples to Prose v2 (01, 02, 04, 09, 16, 40)
Single-service programs (01 hello-world, 02 research-and-summarize,
04 write-and-refine), multi-service auto-wired programs (09 research-
with-agents, 16 parallel-reviews), and worker-critic composite
(40 rlm-self-refine).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 13:16:39 -04:00
irl-dan d7c3ef43c7 docs: add READMEs across all directories; document profiler.prose in lib
Index run scaffolded new READMEs for all subdirectories. Review run
added the missing profiler.prose entry to skills/open-prose/lib/README.md
(cost, token usage, and time profiling for completed runs).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-15 09:29:20 -04:00
irl-dan 35b3b606f4 prefer npx skills add instead of current skills add 2026-02-20 15:23:22 -05:00
dan c5780e0c49 Merge pull request #15 from bucko13/patch-1
Update examples link in README.md
2026-02-02 14:52:07 -05:00
irl-dan fce7306c74 feat: add agent-directed attention markers and post-execution guidance
- Add ◇ attention markers for Anthropic models throughout SKILL.md
- Add install instructions for remote readers at top
- Expand "You are the Prose Complete system" with explicit capability framing
- Add Post-Execution section with guidance for success/failure cases
- Create SOUL.md template for agents to persist OpenProse awareness
- Add SOUL.md to file locations table

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 10:37:25 -05:00