v0.9.0-beta.1 — Outcome Backbone completeness
Pre-release
Pre-release
Completes the four Outcome Backbone follow-ups on top of v0.9.0-beta.0. npm latest and beta → 0.9.0-beta.1.
- §E.1 — next-prompt outcome dispatch (AC-9): when a due outcome AC is unmeasured,
ocn next-prompt(the /ocn-next surface) now adds an "Outcome measurement" section pointing the AI atocn outcome check <ac-id>+ a stop condition. BUILD anti-livelock: a ready build task outranks a (usually SHIP-due) outcome; outside BUILD or once the ledger is clear, the outcome takes the prompt. Pin-gated → <0.9.0 prompts are byte-identical. - §F —
ocn sop upgradeledger seed: a project upgraded paststep_acceptance_criterianever re-runs the acceptance gate, so its outcome contracts were never frozen (→ C-3 block at SHIP with no recovery). Upgrade now seeds.ocoding/outcome-ledger.jsonfrom docs/03 inside the critical section, honoring the ordering/reentrancy invariants (snapshots→seed→pin, target-profile projection, unlocked writer, valid-only skip, abort-on-failure). - §G — gate-runner decomposition: 607 → 287 lines, split into
gate-cross-cutting-steps.ts(readiness / contract / SHIP) andgate-artifact-steps.ts(acceptance / logic / task / reflect). Byte-equivalent — 0 test changes. - §H — edge coverage: reconcileFrozenContracts against a live ledger (rework path) + brief/status render at the SHIP/REFLECT cursor.
Also fixes a latent bug: ocn init --sop-version now accepts 0.8.0/0.9.0 (its allow-list had stalled at 0.7.0). 1490 tests green, MCP whitelist still 7.