§ Concepts

Phases.

The nine governed phases that turn an idea into a spec.

A phase is a structured chunk of the spec, owned by a single department. SpecGraph has nine phases, executed in order. Each one writes a section into the final spec file.

The nine phases #

CodePhaseOwnerProduces
P-01Vision & ScopeBusinessWhat the product is, who it's for, why it matters
P-02Features & StoriesProductFeature list with testable acceptance criteria
P-03Product BriefProductVision + features consolidated into one narrative
P-04Design & UXDesignTokens, screens, components — enough for the agent to build UI
P-05Technical ArchitectureEngineeringStack, data model, API contracts, folder layout
P-06Quality & TestingQAAcceptance tests, edge cases, regression matrix
P-07Security & DevOpsSecurityThreat model, auth flows, deployment / CI
P-08HandoffSystemCompiles every section into the final spec.md
P-09ProgressSystemTracks agent progress against the spec post-handoff

P-08 and P-09 are fully automated. The other seven need human input — though every phase has AI-assisted drafting.

Locking and regeneration #

A phase has three states:

  • Empty — no content written.
  • Drafting — content exists, but isn't trusted by downstream phases.
  • Locked — content is frozen and downstream phases assume it's true.

Locking a phase is the commit action. Until you lock P-01, P-02 doesn't see any vision content; it can't generate sensible feature stories. Each lock cascades a small "ready" signal to the next phase.

Unlocking a locked phase triggers two things:

  1. Any downstream AI-drafted content gets flagged "needs review."
  2. The owner of each affected downstream phase gets notified.

This is the regeneration loop. It exists so a late vision change doesn't quietly invalidate an architecture diagram you signed off on yesterday.

Wishes and amendments #

Two cross-department mechanisms feed phase content:

  • Wishes — a request from anyone, tagged with a phase and a priority. Visible to the phase owner as a suggestion. The owner accepts, modifies, or rejects.
  • Amendments — a concrete proposed change to a locked phase. Requires owner approval and creates an audit-log entry. Use this when something material has shifted after lock.

Both are queues, not edits. Neither rewrites the spec automatically.

Picking the right phase #

Most confusion comes from P-02 vs P-04, and P-05 vs P-07. Quick rules:

  • A user-visible change → P-02 (it's a feature) or P-04 (it's a UX detail).
  • A backend change → P-05 (it's structural) or P-07 (it's about safety / deployment).
  • "It depends" → file a wish on P-02 and let the product owner route it.