* fix(#2388): gate shared-ID requirement marking and revert on gaps_found Adds requirements.ready-ids (execute-plan.md's update_requirements step) so a requirement ID declared by multiple plans in a phase only marks Complete once every declaring plan has produced a SUMMARY.md, and requirements.revert-phase (execute-phase.md's gaps_found branch) so a gaps_found verdict reverts the phase's own prematurely-Complete IDs before the gap report renders. Single-plan IDs still mark immediately. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * chore(#2388): regenerate fixtures + lint gate-prep * fix(#2388): repair failing tests after gate verification * chore(#2388): add changeset (#2424) --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
763 B
763 B
Revert this phase's own requirement IDs out of Complete before rendering the gap report (#2388). A shared requirement ID can already read Complete at this point (its first-declaring plan finished before this verification ran) — a gaps_found verdict must not leave that premature Complete sitting in REQUIREMENTS.md. Scoped strictly to PHASE_REQ_IDS (this phase's own citations from init.execute-phase), so another phase's Complete row is never touched:
if [ -n "${PHASE_REQ_IDS}" ]; then
gsd_run query requirements.revert-phase ${PHASE_REQ_IDS} >/dev/null 2>&1 || true
gsd_run query commit "docs(phase-{X}): revert premature Complete requirements after gaps found" --files .planning/REQUIREMENTS.md >/dev/null 2>&1 || true
fi