Spec Maintenance
When to Use
- •Activating a completed feature (WIP → Active)
- •Adding/removing features or decisions from indices
- •Updating recent changes
- •Deprecating a feature (Active → Inactive)
Files to Keep in Sync
| File | Contains |
|---|---|
spec/README.md | Product overview, recent changes |
spec/features/README.md | Feature index (WIP, Active, Inactive) |
spec/decision-records/README.md | Decision index (Active, Superseded) |
Common Tasks
Activate Feature (WIP → Active)
- •Update feature file:
Status: Active - •Check all acceptance criteria boxes
- •Move from WIP to Active in
spec/features/README.md - •Add to Recent Changes in
spec/README.md
Add New Feature/Decision
- •Add to appropriate index table
- •Add to Recent Changes
Deprecate Feature (Active → Inactive)
- •Update feature file:
Status: Inactive - •Append deprecation reason (no other edits)
- •Move to Inactive in
spec/features/README.md - •Add to Recent Changes
Supersede Decision
- •Mark old decision:
Status: Superseded - •Add timeline entry with reason
- •Create new decision record
- •Move old to Superseded in index
- •Add to Recent Changes
Recent Changes Format
markdown
## Recent Changes - **YYYY-MM-DD** [What changed](./path/to/spec.md)
Keep 5-10 entries, newest first. Older changes live in git history.
Index Formats
spec/features/README.md
markdown
# Features ## WIP | Feature | Started | Detail | |---------|---------|--------| | [Name](YYYY-MM-DD-<name>.md) | YYYY-MM-DD | Summary | ## Active | Feature | Started | Detail | |---------|---------|--------| | [Name](YYYY-MM-DD-<name>.md) | YYYY-MM-DD | Summary | ## Inactive | Feature | Detail | |---------|--------| | [Name](YYYY-MM-DD-<name>.md) | Reason |
spec/decision-records/README.md
markdown
# Decision Records ## Active | Decision | Domain | Date | Detail | |----------|--------|------|--------| | [Topic](YYYY-MM-DD-<name>.md) | Domain | YYYY-MM-DD | Summary | ## Superseded | Decision | Superseded By | |----------|---------------| | [Topic](YYYY-MM-DD-<name>.md) | [New](YYYY-MM-DD-<name>.md) |
Rules
- •Keep indices synchronized with spec files
- •Use relative links
- •Brief recent changes (one line per entry)
- •Status values:
WIP,Active,Inactive,Superseded
When to Update
Update for:
- •Feature launched
- •Feature deprecated
- •Decision made or superseded
Don't update for:
- •Code changes
- •Bug fixes
- •Refactoring
Specs track product evolution, not implementation details.