Specification Process
All non-trivial changes in WRIT begin with a specification. This page describes the spec lifecycle, from initial draft through implementation to delivery.
Why Specifications?
Specifications serve three purposes:
- Alignment — They ensure the human operator and the implementing agent agree on what will be built before any code is written.
- Auditability — They provide a record of decisions, trade-offs, and rationale that future contributors can reference.
- Scope control — They prevent scope creep by defining explicit items and acceptance criteria.
Spec Lifecycle
Every specification moves through these statuses:
| Status | Meaning |
|---|---|
draft |
Being written. Open questions may remain. Not ready for implementation. |
ready |
All questions resolved. Items and acceptance criteria are complete. Ready to be picked up by a Sole Implementor. |
in_progress |
A Sole Implementor is actively working on the spec. Progress log is being updated. |
delivered |
All items implemented, audit rounds complete, code merged. |
blocked |
Implementation cannot proceed due to an external dependency or unresolved issue. |
archived |
Superseded or abandoned. Kept for historical reference. |
Spec Format
Specifications live in /docs/specs/ and follow a consistent structure:
# Specification: <Title>
| Field | Value |
|----------|-----------|
| Status | draft |
| Priority | P1/P2/P3 |
| Created | YYYY-MM-DD|
| Authors | ... |
## Goal
One paragraph explaining what this spec achieves.
## Background
Context: why this is needed, what problem it solves.
## Decisions
Numbered decisions with rationale.
## Items
Checkbox list of implementation items.
## Implementation Sequence
Phases with gate criteria.
## Open Questions
Questions that need resolution before status can move to ready.
## Progress Log
Timestamps of phase starts and completions.
## Audit Rounds
Results of the three audit rounds.
## Session Notes
Handoff notes between sessions.
Writing a Spec
Specs are typically authored in a session where the human operator works with Claude in the Specification Generator role:
- The human describes the need or problem.
- Claude drafts the spec, asking clarifying questions.
- The human reviews, iterates, and resolves open questions.
- When all questions are resolved, the status moves to
ready.
Implementing a Spec
When a spec is ready, the human assigns a Sole Implementor session:
- The implementor reads the spec and follows the implementation sequence.
- Each phase is completed before advancing to the next.
- Progress is logged in the spec's Progress Log section.
- After all items are complete, three audit rounds verify quality.
- On successful audit, the spec status moves to
delivered.
Audit Rounds
Three rounds of review ensure quality:
- Round 1 — Full review against the spec items, engineering guidelines, and design guidelines. Issues found are fixed.
- Round 2 — Re-review of round 1 fixes plus any areas that were not fully checked.
- Round 3 — Final pass. If no issues are found, the spec is delivered.
See Also
- Engineering Guidelines — Code quality standards
WRIT Docs