Acceptance Criteria
- Scanner extracts refs with their canonical section name (e.g., refs in "Dependencies" section tagged as dependency refs)
- Alias resolution maps "Deps", "Depends On", "Blocked By", "Requires" to the canonical "Dependencies" section
- Known section presence is reported per entity (which known sections are present/missing, using canonical names)
validate warns when a ready+ work item has no Acceptance Criteria sectionvalidate warns when a confirmed+ bug has no Steps to Reproduce, Expected, or Actual sectionvalidate warns when an accepted decision has no Context or Decision sectionnext command only treats refs in the Dependencies section as blockers (refs in References/Approach/etc. are informational)- Backward compatibility: files without known section headings continue working (all refs treated as potential blockers, same as today)
- Tests for section-scoped ref extraction, alias resolution, and section-aware blocking
Dependencies
- WORK-024 — knownSections framework support and plan rune declarations must ship first
References
- SPEC-037 — Plan Package Hardening (Part 3: scanner integration, dependency resolution)
- SPEC-003 — Declarative Content Model (knownSections design)
Resolution
Completed: 2026-04-12
Branch: claude/spec-037-breakdown-docs-Whj40
What was done
- Added ScopedRef type and extractScopedRefs() to scanner
- Scanner now reports knownSectionsPresent per entity
- Validate checks required sections: AC for ready+ work, Steps/Expected/Actual for confirmed+ bugs, Context/Decision for accepted decisions
- Next command uses section-aware blocking via knownSectionsPresent
- 13 new tests across scanner, validate, and next test files