The AI invents requirements
You asked for a simple endpoint. The agent decided you also need PostgreSQL, Redis, Kubernetes, and microservices. Nobody asked.
A governance framework that pins context, gates phase transitions, and forces atomic tasks — so Claude, Cursor, Copilot, and 14 others all produce the same PR from the same spec.
Atomic Spec exists because one AI-instructions file isn't enough. Soft guidance drifts. Gates don't.
You asked for a simple endpoint. The agent decided you also need PostgreSQL, Redis, Kubernetes, and microservices. Nobody asked.
The agent reads your whole repo, drowns in it, and ships a 500-line function that does everything and nothing well.
"Where did this code come from? Which requirement does it satisfy?" Silence. Good luck debugging or extending it.
Every component built. Nothing connected. Missing routes. Broken nav. "Feature complete" — and nothing works end-to-end.
The mechanism
Not more instructions. Three enforced mechanisms the agent cannot re-interpret, cannot skip, cannot silently ignore.
One requirement per file — or the pipeline refuses to move. Every feature decomposes into isolated task files with domain rules, registry values, and the verification command embedded inline.
tasks/ ├── T-001-scaffold-users-route.md ├── T-002-validate-input-schema.md ├── T-003-write-repository.md └── T-037-wire-users-nav.md The implementer sees exactly three files. plan.md and spec.md are architecturally blocked — when the model cannot read the roadmap, it stops building for it.
# readable index.md T-002-validate-input-schema.md traceability.md # blocked spec.md → denied plan.md → denied Every project-wide default lives in one YAML file. Every command reads it on entry. Every new default routes through a HITL checkpoint before it lands.
# specs/_defaults/registry.yaml architecture: hexagonal data_access: repository tenancy: shared-schema error_envelope: rfc9457 The AI proposes. Humans approve.
See the full pipeline docsArticle IX
Non-negotiable rules every command enforces. Articles I-VIII of the constitution flex with your project; Article IX is invariant across every consumer of the framework.
Every feature owns an index.md and traceability.md.
Prevents: implementations that no one can trace back to a requirement.
Tasks live one per file in tasks/T-XXX-*.md, never a single tasks.md.
Prevents: AI reading sibling tasks and drifting mid-feature.
During /implement, AI may only read index.md, the current task, and traceability.md.
Prevents: kitchen-sink PRs that re-derive decisions from plan.md.
Knowledge Station gate criteria must pass before phase transitions.
Prevents: proceeding on "feels good" instead of objective criteria.
Unknown decisions consult the Station Map first, then the specific station.
Prevents: AI improvising when a proven pattern exists.
/plan pauses at 4 mandatory HITL checkpoints.
Prevents: silent architectural commitments the reviewer never sees.
All commands read specs/_defaults/registry.yaml and enforce project-wide standards.
Prevents: inconsistent conventions across a codebase.
Task files embed all context needed for implementation.
Prevents: the implementer needing to read forbidden files.
/implement Phase 0 detects cross-provider handoff via stamp-lifecycle status.
Prevents: one AI silently overwriting another AI's half-finished work.
18 Knowledge Stations encode domain expertise as gate criteria. The AI stops guessing — it follows your engineering standard, station by station.
Station 03Standard
ICP, JTBD, wedge, competitor pain mining — raw requirement capture.
Why it matters
Skip Station 03 and you ship technical debt on day one. Without this context, the AI produces code that runs and can't be maintained.
Generalist AI pretends to know every domain. Our specialists actually do. Subagents are discovered by scanning YAML frontmatter and matched to your feature's keywords — not hard-coded.
Backend
REST conventions, tenant isolation, API schemas.
Database
Schema normalization, indexing strategies.
Frontend
Component composition, state management.
Review
Regression audits, style checks, invariant verification.
DevOps
CI/CD pipelines, containerization.
Frontend
User flows, accessibility (WCAG).
Billing
Stripe and LemonSqueezy integration patterns.
AI/ML
RAG systems, prompt engineering.
Plus 16 more base subagents in .specify/subagents/
— and 157 mobile-specialized ones under mobile/.
Drop in your own to extend the set.
Most AI coding fails because the model makes silent decisions. HITL checkpoints flip that. The agent proposes, then HALTS. You review. You approve. Only then does it build.
Conventional wisdom says AI needs more context. We disagree. Too much context causes drift. During implementation, the agent is architecturally prevented from reading anything outside the current task file — by design.
# Task: Create the User model
# AI reads ONLY T-010-create-user-model.md
# Result: clean, focused implementation
class User(Base):
id = Column(UUID, primary_key=True)
email = Column(String, unique=True)
password_hash = Column(String)
# Roles added in T-015
# Analytics added in T-020
# Billing added in T-025"Why forbid plan.md? Because if the AI sees 'future admin panel', it will try to build it today. Pinning forces the agent to build only what this task needs — and nothing else."
Discovery, requirements, gates 03–05
Architecture, research, registry sync
Atomic decomposition, embedded context
Context-Pinned execution, verification commands
Note: Reject at any HITL checkpoint and the workflow loops back to the previous phase automatically. No corrupted state. No half-built features.
The humans
Two maintainers steward this fork. Each owns a load-bearing pillar of the framework — the Nine Prime Directives and the Assembly Line mental model.