Source plan

Unified plan editing — landed evidence

The public MCP surface now has one version-safe write tool with explicit state and text modes. The implementation retains separate internal safety paths so structured validation and guarded prose replacement keep their distinct invariants.

Delivered contract

ModePayloadGuard
stateOrdered opsSchema validation, atomic write, optimistic concurrency.
textExact old_html and new_htmlOne-match replacement; parsed metadata and semantic state must remain unchanged.

Mixed payloads, missing mode-specific inputs, and text-mode creation are rejected before a write. The generated schema requires project, slug, and expected_version; mode-specific fields remain optional.

Verification

GateResultEvidence
Public registrationpassFour tools are registered: read, edit, roadmap, and audit; the separate prose-edit tool is absent.
Focused contractspass89 tests passed in 2.70 seconds, including state/text dispatch, exact replacement, structured-state refusal, mixed-payload refusal, and generated-schema checks.
Full suitepass1,419 tests passed in 35.85 seconds.
Static checkspassRuff and both affected skill-package validators passed.
DistributionpassSource and wheel builds passed; canonical skill installation updated two files and the repeat run was a zero-change no-op.
PublicationpassCommit 5ce9f32 is published on origin/main.

Coordinator contract review

The full-sprint ship skill already defines a strict coordinator-only role. The coordinator reads and checkpoints state, scopes and dispatches workers, audits their commits and evidence, integrates and pushes verified work, writes Reckon state, and cleans worktrees. It does not implement, investigate beyond scoping or review, execute tests or pipelines, or repair worker code. The worker policy is model-family-neutral and capability-based; no concrete coordinator model is hardcoded.

Remaining source-plan work

This interface simplification does not close the source plan's open execution-ledger followup. Durable event recording, interruption and resume semantics, and the bounded execution surface remain open.