* fix(#447): scope post-planning gap analysis to phase_req_ids §13e gap-analysis diffed the entire REQUIREMENTS.md against a phase's plans even when the phase mapped no REQ-IDs, so a phase mapping nothing reported every unrelated project requirement as "not covered". Teach the gap-analysis CLI a --phase-req-ids option (null/TBD skips the requirements comparison, an ID list scopes to it, absent = unchanged back-compat) and have §13e pass the phase's mapped IDs — mirroring the §13 Requirements Coverage Gate's null/TBD skip. CONTEXT.md decisions stay in scope regardless. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix(#447): source phase_req_ids from init.plan-phase, not roadmap.get-phase Adversarial-review follow-up. roadmap.get-phase returns the raw phase markdown (not JSON), so `--pick phase_req_ids` yielded nothing and §13e would have skipped the requirements comparison for EVERY phase — a silent regression. phase_req_ids is exposed by init.plan-phase; switch §13e to it. Adds an integration test asserting the query exposes the IDs and that gap-analysis scopes to them (and skips when unmapped). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * docs(#447): add changeset fragment for PR #538 * fix(#447): surface mapped REQ-IDs absent from REQUIREMENTS.md as explicit missing rows Previously, a phase_req_ids entry not found in REQUIREMENTS.md was silently dropped from the gap report, allowing the analysis to falsely report full coverage when the requirement document had drifted. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore: update changeset to cover missing-REQ-ID detection Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
10 KiB
10 KiB