Last Updated: 2025-10-16 Version: 1.0
This project uses CANARY requirement tracking with spec-kit-inspired workflows.
/canary.constitution- Create/update project principles/canary.specify- Create new requirement specification/canary.plan- Generate implementation plan/canary.scan- Scan for CANARY tokens/canary.verify- Verify GAP_ANALYSIS.md claims/canary.update-stale- Update stale tokens
- Establish Principles:
/canary.constitution - Define Requirements:
/canary.specify [feature description] - Plan Implementation:
/canary.plan {{.ReqID}}-<ASPECT>-XXX [tech stack] - Scan & Verify:
/canary.scanand/canary.verify - Update Stale:
/canary.update-stale(as needed)
// CANARY: REQ={{.ReqID}}-<ASPECT>-###; FEATURE="Name"; ASPECT=API; STATUS=IMPL; [TEST=TestName]; [BENCH=BenchName]; [OWNER=team]; UPDATED=YYYY-MM-DD
- STUB: Planned but not implemented
- IMPL: Implemented (token placed in code)
- TESTED: Implemented with tests (auto-promoted when TEST= field added)
- BENCHED: Tested with benchmarks (auto-promoted when BENCH= field added)
API, CLI, Engine, Storage, Security, Docs, Wire, Planner, Decode, Encode, RoundTrip, Bench, FrontEnd, Dist
- Requirement-First: Every feature starts with a CANARY token
- Test-First: Tests written before implementation
- Evidence-Based: Status promoted based on TEST=/BENCH= fields
- Simplicity: Minimal complexity, standard library preferred
- Documentation Currency: Tokens kept current with UPDATED field
Scan for tokens:
canary scan --root . --out status.json --csv status.csvVerify claims:
canary scan --root . --verify GAP_ANALYSIS.md --strictUpdate stale:
canary scan --root . --update-staleCreate token:
canary create {{.ProjectKey}}-105 "FeatureName" --aspect API --status IMPL.canary/
├── memory/
│ └── constitution.md # Project principles
├── scripts/
│ └── create-new-requirement.sh # Automation scripts
├── templates/
│ ├── commands/ # Slash command definitions
│ ├── spec-template.md # Requirement spec template
│ └── plan-template.md # Implementation plan template
└── specs/
└── {{.ReqID}}-<ASPECT>-XXX-feature-name/ # Individual requirement specs
├── spec.md
└── plan.md
GAP_ANALYSIS.md # Requirement tracking
status.json # Scanner output
status.csv # Scanner output (CSV)
- Reference
.canary/memory/constitution.mdbefore planning - Use
/canary.specifyto create structured requirements - Follow test-first approach (Article IV of constitution)
- Update CANARY tokens as implementation progresses
- Run
/canary.scanafter implementation to verify status