---
name: traceable-per-wave-activation
description: "traceable-reqs check requires ALL declared required_stages evidenced per commit — activate stages incrementally as evidence lands, not all upfront"
metadata: 
  node_type: memory
  type: feedback
  originSessionId: 37d00b8f-3128-4990-a832-b6d78ea6348d
---

`traceable-reqs check` fails (exit 1, `missing_stage`) if a requirement's `required_stages` lists a stage with no evidence tag yet — it demands EVERY declared stage be satisfied, not "at least one."

**Why:** binding rule 2 (CLAUDE.md) = `traceable-reqs check` EXIT=0 before declaring work done, and GSD-style plans want it green at EVERY commit.

**How to apply:** when a multi-wave milestone activates a new REQ whose end-state is e.g. `[doc,impl,unit,int]`, do NOT set the full list at wave 1 — `int` lands at the final integration wave, so an upfront full list breaks the per-commit check for every intermediate commit. Set `required_stages` to exactly the stages whose evidence lands in THAT commit, and grow the list wave by wave (M10 did: TERM-5 [impl,unit]→[doc,impl,unit]→[+int]). This is the correct reading of "never a commit left activated-but-unevidenced" — activation and its evidence land together. If a gate reviewer's kickoff says "set all stages now," reconcile toward per-wave (the tool is the binding authority) and flag the deviation. See [[m10-digest-extractor]].
