Skip to content

Plan lifecycle: edit owns no step status once work starts - #43

Merged
DocksDocks merged 1 commit into
mainfrom
42-plan-lifecycle-edit-owns-no-step-status-once-work-starts
Aug 25, 2026
Merged

Plan lifecycle: edit owns no step status once work starts#43
DocksDocks merged 1 commit into
mainfrom
42-plan-lifecycle-edit-owns-no-step-status-once-work-starts

Conversation

@DocksDocks

Copy link
Copy Markdown
Owner

Closes #42

Implements the reviewed plan #42:

  • Execution-state freeze - plan.mjs edit refuses any Steps Status-cell change, row removal, display-number change, Depends rewrite, or Effect rewrite once the plan is past planned; started is irreversible (current status OR a plan:ongoing labeled event in issue history). Task, Files, and Done when stay editable as prose.
  • Append-only new rows - on a started open plan a new row must carry planned and append after existing rows; closed plans refuse new rows entirely (terminal repair via plan.mjs step stays the only post-merge route).
  • Pre-start freedom pinned - Steps tables stay freely redraftable while drafting/planned, including with blocked-only label history: pre-start parking is not started work.
  • Tests - gh stub gains the issue-events endpoint; plan-cli covers every refusal (exit 1, unchanged body, no body-write call, unchanged provenance) plus the acceptance paths; phase-sync suite pins the clause across contract, SKILL table, docs/PLAN.md, and template.

Reviews: plan review rounds 1-3 repair -> round 4 pass (advisory-amended bytes); code review round 1 pass (no findings).
Verification: full node scripts/ci.mjs exit 0; plan-cli, plan-skill-phases, plugin selftest all exit 0.

Once a plan is past planned (current status or plan:ongoing label history), plan.mjs edit freezes every existing Steps row's presence, display number, Depends, Effect, and Status; new rows are append-only born planned on open plans and refused on closed plans. plan.mjs step becomes the only writer of step state after work starts. Contract, SKILL CLI table, docs/PLAN.md, and the workspace template carry the same clause; plan-cli covers every refusal and the pre-start freedoms including blocked-only history.
@DocksDocks DocksDocks linked an issue Aug 25, 2026 that may be closed by this pull request
@DocksDocks
DocksDocks merged commit b035595 into main Aug 25, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Plan lifecycle: edit owns no step status once work starts

1 participant