Problem
Currently re-running a phase regenerates everything. For example:
- Re-running Phase 3 rewrites ALL specs even if only one service's CONTEXT.md changed
- Re-running Phase 4 regenerates ALL contracts even if only one spec changed
For large projects (10+ services), this wastes time and risks overwriting good specs.
Proposed solution
Add change detection to phases:
- Track file hashes — maintain
phases/.checksums with SHA256 of all input files
- On re-run — compare current hashes to stored hashes, identify what changed
- Selective regeneration — only regenerate specs/contracts for affected services
- Cascade detection — if order-service spec changes, flag contracts that reference it
Example flow:
# User edits services/order-service/CONTEXT.md
/project:3-specify
# Agent detects:
# ✓ web-ui CONTEXT.md unchanged — skipping
# ✓ bff-gateway CONTEXT.md unchanged — skipping
# ⚡ order-service CONTEXT.md changed — regenerating spec
# → Also flagging: contracts involving order-service may need update
This makes the framework practical for iterative development on large projects.
Problem
Currently re-running a phase regenerates everything. For example:
For large projects (10+ services), this wastes time and risks overwriting good specs.
Proposed solution
Add change detection to phases:
phases/.checksumswith SHA256 of all input filesExample flow:
This makes the framework practical for iterative development on large projects.