Commit Graph

25 Commits

Author SHA1 Message Date
Raymond Weitekamp d6b8fc09d4 ci: match claude smoke to native effort path 2026-05-15 11:54:34 -04:00
Raymond Weitekamp 4464035183 fix: let claude sdk default adaptive thinking 2026-05-15 11:46:31 -04:00
Raymond Weitekamp 0b5d0cdcfd test: align claude smoke discovery 2026-05-15 11:39:15 -04:00
Raymond Weitekamp 551f3cad2d ci: choose claude sdk compatible smoke model 2026-05-15 11:20:25 -04:00
Raymond Weitekamp dc9401b393 fix: use adaptive thinking for claude effort 2026-05-15 11:11:13 -04:00
Raymond Weitekamp 7f68e0b378 ci: discover smoke harness models 2026-05-15 11:04:17 -04:00
Raymond Weitekamp e6e6a5e11d cli: add model option pass-through 2026-05-15 10:28:03 -04:00
dan d8aab435e0 feat: add judge architecture prose contract support (#82) 2026-05-14 03:01:44 -07:00
dan 2cb079a995 std: add prose contributor program (#75) 2026-05-13 14:26:27 -07:00
Raymond Weitekamp a55acbec26 feat(spec): declare host tools (#80)
Add a section-level ### Tools contract for service and system files, with deterministic cli:<name> resolution at compile time. Document the semantics across Contract Markdown, compiler, Forme, VM, and IR, add a declared-tools example, and teach the CLI to fail closed before harness forwarding on invalid or unresolved declarations.
2026-05-13 16:51:30 -04:00
Raymond Weitekamp a6f8546476 fix(cli): pass granular Codex runtime options (#77) (#78)
Forward PROSE_CODEX_ADD_DIR and PROSE_CODEX_NETWORK into Codex SDK thread options so workspace-write runs can grant narrow extra filesystem and network capabilities without danger-full-access.

Also refresh vulnerable transitive production dependencies in the CLI lockfile so the release audit remains green.
2026-05-13 12:39:50 -04:00
Raymond Weitekamp 9856ac5b12 feat(spec): declared ### Skills section with fail-closed compile resolution (#62)
* feat(spec): declared ### Skills section with fail-closed compile resolution

Implements the spec from issue #60. Components declare required harness
skills via a `### Skills` section (colon form, e.g. `document-skills:pdf`).
`prose compile` resolves declared skills against ./skills/, ~/.claude/skills/,
~/.codex/skills/, and ~/.agents/skills/, and fails closed with
`skill_unresolved` before forwarding to the agent harness when any are
missing.

- Spec: skills/open-prose/contract-markdown.md gains a ### Skills row in
  the Canonical Sections table and a ## Skills H2 covering colon naming,
  search order, the BYO-harness invariant, and fail-closed semantics.
- Implementation: tools/cli/src/skills/declared.ts (parser + resolver +
  directory walker + DeclaredSkillsUnresolvedError). Pure functions; no
  I/O beyond readFile / readdir / stat.
- Wiring: tools/cli/src/commands/compile.ts pre-checks declared skills
  before forwarding the compile prompt; fails closed with
  CompileValidationError when any are unresolved. Gated behind the
  existing skillPreflight option for test parity.
- Example: skills/open-prose/examples/declared-skills/ shows the
  document-skills:pdf canonical pattern.
- Tests: 19 new (18 in declared.test.ts covering parser/resolver/walker/
  error formatter; 1 in cli.test.ts asserting compile fails closed before
  the harness is invoked when a declared skill is missing).
- BYO harness: OpenProse never installs harness skills; resolution failure
  is the user's signal to install the named skill themselves.

Resolves #60.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* feat(spec): move skill resolution into compiler program; trim spec per review

Address review feedback on #62:

- contract-markdown.md: drop the "not duplicated in frontmatter" clause —
  the rejected alternative shouldn't propagate into the spec.
- contract-markdown.md: fail-closed clause now mentions only `prose compile`;
  `prose run` enforcement is deferred per the PR description.
- compiler/index.prose.md: add a `skills_resolver` agent that owns the
  search-path order, scope aggregation, BYO invariant, and fail-closed
  semantics. Skill resolution is now a compiler/program-level
  responsibility, not a harness responsibility, so other harnesses running
  the compiler get the same behavior.
- skills/declared.ts: add a header comment pointing at the program-level
  spec; this module is the harness implementation of `skills_resolver`.
- examples/declared-skills/README.md: update wording to reference the
  compiler agent.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* fix(ci): make smoke artifacts case-specific

* fix(ci): use deterministic audit policy

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 13:50:01 -04:00
dan b238fbb16e fix: clean up responsibility runtime playtest warts (#67) 2026-05-05 13:54:50 -04:00
Jose Montes de Oca 540394c7d1 fix(cli): load user and project settings in claude-sdk harness (#70)
The Claude Agent SDK defaults settingSources to empty, so the
claude-sdk harness silently ignored ~/.claude and <repo>/.claude:
user skills, project skills, hooks, MCP servers, and project
CLAUDE.md never reached the agent. Set ["user", "project"] so prose
runs match the workspace a user already configured for Claude Code.

Adds three tests: settingSources is always forwarded; auth_status
messages stream their output lines to stderr; auth_status with an
error field exits 1 (the existing branch was untested).
2026-05-05 10:02:21 -07:00
irl-dan 28c240ce5d chore: prepare OpenProse 0.13.1 release 2026-05-04 22:23:20 -07:00
dan d9aed223d2 fix responsibility runtime serve feedback (#65) 2026-05-04 22:20:39 -07:00
dan c20879fe06 chore: unify OpenProse release flow (#63) 2026-05-04 17:26:28 -04:00
Jose Montes de Oca f28448f2a9 chore(cli)!: remove codex subprocess harness (#55)
The CLI now ships first-party agent SDKs only. The `codex` harness —
a thin shim around `codex exec` — has been removed. Supported
harnesses: `codex-sdk`, `claude-sdk`, `mock`.

BREAKING CHANGE: `--harness codex` (and `PROSE_HARNESS=codex`) no
longer works. Switch to `--harness codex-sdk` for first-party,
in-process Codex SDK execution. `codex-sdk` remains the default,
so most users are unaffected.

- Delete `codex-cli.ts` and `process-harness.ts`; keep
  `process-runner.ts` for the OpenProse skill installer
- Trim `codex-options.ts` to SDK-shaped helpers
- Drop `codex` from the smoke script and CI matrix
- Align README, post-release playtest, and package metadata
2026-05-04 10:57:03 -07:00
irl-dan 5e1d5b49e2 chore: prepare CLI 0.2.5 release 2026-05-04 10:07:35 -07:00
irl-dan 779cd35c8e fix: namespace CLI release tags 2026-05-04 10:04:25 -07:00
dan 53aa3b12e6 chore: prepare CLI 0.2.0 release 2026-05-04 09:57:48 -07:00
dan 012650a201 [codex] Prepare OpenProse 0.12.0 responsibility runtime release (#57)
* Document native runtime skill semantics

* Rename native runtime to responsibility runtime

* Add responsibility runtime compiler skeleton

* Add responsibility compilation IR

* Compile Forme manifests into repository IR

* Serve static repository IR

* Tighten responsibility runtime review gaps

* Introduce OpenProse root model

* Harden OpenProse root resolution

* Add responsibility judge activation

* Add responsibility pressure fulfillment path

* Add repository status inspection

* Make triggers concrete gateway registrations

* Add live responsibility trigger adapters

* Refine responsibility runtime validation

* Harden responsibility runtime freshness

* Tighten responsibility runtime guardrails

* docs: replace skill examples with native repositories

* chore: release v0.12.0

* fix: tighten release review gaps
2026-05-04 09:26:26 -07:00
Jose Montes de Oca e4892c039d chore: relocate prose-cli to tools/cli/ (#54)
Moves `@openprose/prose-cli` from `cli/` to `tools/cli/` and seeds a
`tools/` convention at the repo root for shippable tooling published as
standalone artifacts. Package internals are unchanged — only paths
outside the package that hard-code the `cli/` segment were updated.

## What changed

- `git mv cli tools/cli` — package files render as 100%-similarity
  renames, so `git log --follow` is preserved.
- `.github/workflows/cli-publish.yml`,
  `.github/workflows/cli-release-check.yml`, and
  `.github/workflows/cli-real-harness-smoke.yml`: every literal `cli/`
  path (`paths:`, `working-directory:`, `cache-dependency-path:`,
  artifact `path:`, and inline `node`/`bash` invocations) now points
  at `tools/cli/`. `cli-skills-smoke.yml` had no `cli/` references and
  is untouched.
- `tools/cli/package.json`: `repository.directory` and `homepage` flip
  to `tools/cli` so the npm registry "Repository" link resolves.
- `README.md`: the badge nav, the prose-layout paragraph, and the repo
  layout table now point at `tools/cli/`, plus a new `tools/` row
  introducing the convention.
- `RELEASE.md`: cross-references to `cli/RELEASE.md` updated.
- `tools/cli/README.md`, `tools/cli/RELEASE.md`,
  `tools/cli/POST_RELEASE_PLAYTEST.md`: public installer URL updated to
  `https://raw.githubusercontent.com/openprose/prose/main/tools/cli/install.sh`.
2026-05-01 17:15:34 -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
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