Capstone Spec: Pick One Production Problem
Days 98–100 are shipping days. Stop collecting patterns. Pick one production problem your team feels weekly, and freeze a v1 spec.
⚡ TL;DR: One user persona, one SLO set, one tool allowlist, one eval suite, one rollback. Template below. Scope cuts > feature dreams.
Spec template (copy this)
# Capstone v1 Spec
## Problem
What hurts today? Frequency? Cost of status quo?
## Users
Primary persona + permissions.
## Non-goals
Explicit list (e.g. no prod mutate in v1).
## Architecture
Link Day-91 diagram. Gateway? Twin?
## Tools
Allowlist with IAM roles. Dry-run defaults.
## SLOs
Availability / latency / faithfulness (Day 93).
## Eval
N golden tasks in CI; online sample plan.
## Security
STRIDE summary (Day 92). Kill switch names.
## Rollout
Flags, squads, rollback = disable flag + repin prompt.
## Success
Ship metric (e.g. cycle time, MTTR, $ / PR) + date.
# ✅ Spec lint — refuse empty non-goals
REQUIRED_SECTIONS = [
"problem", "users", "non_goals", "tools", "slos", "eval", "rollback"
]
def lint_spec(doc: dict) -> list[str]:
return [s for s in REQUIRED_SECTIONS if not doc.get(s)]
Capstone scope examples (pick one)
- Internal docs chat with citations (extends Day 10)
- PR review bot diff-scoped (Day 20)
- On-call suggest-only copilot (Day 40)
- Platform gateway MVP for two squads (Day 80)
- Incident timeline summarizer (Day 90)
❌ “General company brain that does everything.”
Failure modes
Scope creep during week one (“while we’re here…”). Change control: any new tool requires a spec amendment and eval cases. Empty non-goals section — reject the spec in review.
Closing checklist
- [ ] Spec filled; non-goals non-empty
- [ ] Diagram attached
- [ ] Eval cases sketched (≥ 20)
- [ ] Security signed the STRIDE table
- [ ] Demo date on calendar (Day 100)
Series navigation
Day 97: Build vs Buy the Agent Runtime · Day 99: Capstone Build Week Checklist
Last updated September 11, 2026
Discover more from CheatCoders
Subscribe to get the latest posts sent to your email.
