Problem
The released v1 semantic contract (schema/versions/1/semantics.md, immutable after release) defines suggestion cards as follows:
- line 164: each suggested edit "becomes a card with Apply and Dismiss";
- line 178 ("One card per revision"): after one card is applied, the remaining cards "show 'Plan changed — refresh suggestions' with Apply disabled and a Refresh suggestions action", and the tests should cover "disabled sibling Apply".
The shipped Plans screen (G2/G3, PRs #150 and #151) differs:
- After one card is applied, sibling cards have no Apply control.
planApplyButton in web/public/app.js hides it for a stale result. test/browser/plans-authoring.spec.ts ("replays an ambiguous suggestion Apply, stales siblings…") asserts Apply this edit has count 0, not that it is disabled.
- There is no per-card Dismiss. One Dismiss suggestions control cancels the whole response through the request's cancel endpoint.
docs/plan-format.md says the guide "cannot override a released snapshot", and that "Bug fixes may restore conformance to a frozen contract, but may not silently redefine it."
Found by Copilot review on PR #154 (Lane G close-out, #145).
Acceptance
Choose one:
- Restore conformance: sibling cards keep a visible, disabled Apply control after one card is applied, and each card has its own Dismiss that does not mutate the plan or revision. Update the browser regression so it fails under today's behaviour (disabled Apply present, not absent).
- Version the change: if the shipped behaviour is preferred, introduce it under a new semantic version as
docs/plan-format.md requires, rather than editing the v1 snapshot.
Then remove the non-conformance notes that cite #159: in docs/plan-format.md ("What the shipped Plans screen does today"), docs/implementation/planning-screen.md (G3 paragraph and Handoff), and docs/designs/codeboost-plan-indexed-review.md (the summary's "Where the build is", build step 6, and "What to do next").
Problem
The released v1 semantic contract (
schema/versions/1/semantics.md, immutable after release) defines suggestion cards as follows:The shipped Plans screen (G2/G3, PRs #150 and #151) differs:
planApplyButtoninweb/public/app.jshides it for a stale result.test/browser/plans-authoring.spec.ts("replays an ambiguous suggestion Apply, stales siblings…") assertsApply this edithas count 0, not that it is disabled.docs/plan-format.mdsays the guide "cannot override a released snapshot", and that "Bug fixes may restore conformance to a frozen contract, but may not silently redefine it."Found by Copilot review on PR #154 (Lane G close-out, #145).
Acceptance
Choose one:
docs/plan-format.mdrequires, rather than editing the v1 snapshot.Then remove the non-conformance notes that cite #159: in
docs/plan-format.md("What the shipped Plans screen does today"),docs/implementation/planning-screen.md(G3 paragraph and Handoff), anddocs/designs/codeboost-plan-indexed-review.md(the summary's "Where the build is", build step 6, and "What to do next").