Article content
Changed
- Updated
scripts/validate-queue-state.mjs to enforce active-wave consistency. - CI now fails when:
docs/STATE.md reports State: Active- and
content/pages/roadmap.md has zero open [ ] items.
- Existing top-open-item matching behavior remains unchanged.
Receipts
- Before: queue-state lint allowed zero-open roadmap while state stayed Active.
- After: queue-state lint fails on zero-open roadmap + Active state mismatch.
Affected pages
Why
- Prevents silent “active but empty queue” drift.
- Keeps roadmap and state machine truthfully synchronized for heartbeat execution.