| name | waiver-writer |
| description | Write a specgraph evidence waiver for a spec requirement that cannot currently be satisfied, with a clear justification and expiry plan. |
Write an evidence waiver that records why a spec requirement is being bypassed and when it should be revisited.
When to use a waiver
Only create a waiver when:
- The required evidence is architecturally impossible (e.g., E4 for a design-only spec)
- The evidence will be deferred to a future milestone with a known date
- A conscious risk decision has been made and approved
Do not waive requirements just because they're inconvenient. Prefer lowering the required_evidence threshold in the spec instead.
Waiver format
Add to the spec's YAML frontmatter:
waivers:
- dimension: implementation
reason: "Human-readable justification — why this is acceptable"
expires: "2025-12-31"
approved_by: "Owner or team"
Or create a standalone waiver file at docs/waivers/<SPEC-ID>-<dimension>.md:
---
spec_id: SPEC-001
dimension: implementation
reason: "Detailed justification"
expires: "2025-12-31"
approved_by: "Team Lead"
---
## Context
Explain the architectural or timeline constraint that makes this evidence unreachable.
## Risk acknowledgement
State what risk is accepted by waiving this requirement.
## Renewal condition
Describe what must be true before this waiver is renewed or removed.
Rules
- Set
expires no more than 90 days out unless there is a documented milestone dependency.
approved_by must name an accountable person or team, not a role title.
- The
reason must be self-contained — it should make sense without reading other context.
- After adding a waiver, run
specgraph waivers to confirm it is recognized.
- Waivers for
accepted-state specs require stronger justification than in_progress specs.