Skip to content
guidePhase: PlanDeliveryGuide 2 of 16

Roles: architect · product manager · program manager

Guide: Planning, ADR & Specs ​

Decision: How should AI participate in planning, and where do ADRs and specs live?

Related: planning-and-adr.md · SOP-002 · SOP-003


Decisions in this space ​

  1. ADR format and location
  2. When AI drafts ADRs vs humans only
  3. Spec-first vs code-first with retroactive specs
  4. How non-production artifacts are shared

ADR format & location ​

OptionProsCons
Git docs/adr/ (MADR)Versioned, PR review, close to codeNon-devs may not browse Git
Confluence / wikiFamiliar to PMsStale copies; hard for agents to index reliably
Backstage TechDocs onlyGreat discoveryStill needs Git source for truth
Issue tracker onlyFastNot durable architecture memory

Recommended: Git canonical + Backstage/portal for discovery + optional Confluence mirror.


AI in ADR drafting ​

ApproachProsCons
AI drafts, architect acceptsSpeed; consistent structureArchitect may rubber-stamp without reading
Human-only ADRsMaximum accountabilitySlow; inconsistent quality
AI drafts options only, human writes decisionBalancedTwo-step friction

Recommended: AI drafts with status proposed; architect must set accepted. Never index Proposed ADRs for coding agents.


Spec-first vs code-first ​

ApproachProsCons
Spec-first (OpenAPI approved before impl)AI codegen bounded; contract tests meaningfulUpfront latency for small fixes
Code-first, spec afterFast spikesAI invents APIs; contract tests lag
Hybrid (spec for public APIs only)PragmaticTwo tracks confuse teams

Recommended: Spec-first for any API surface or cross-team boundary; spikes allowed with time-box and ADR if pattern sticks.


Pitfalls ​

PitfallWhy it hurtsMitigation
ADR theaterLong ADRs nobody readsOne decision per ADR; link from specs
Rubber-stamp AI ADRsWrong architecture at scaleArchitect must edit or reject; ARB for cross-team
Proposed ADRs in agent indexAgents treat draft as lawIndex only accepted
Spec and code divergeCI green but wrong behaviorContract tests from OpenAPI; block merge if spec stale
Wiki as source of truthAgents retrieve outdated textGit canonical; wiki is mirror
No link spec ↔ ADRTraceability lostx-adr on OpenAPI operations
Planning AI without existing ADR contextRepeated contradictory decisionsRAG over Accepted ADRs before draft
Skipping threat model on AI-generated designSecurity gaps in generated APIsSEC review gate for external / T1

Suggested starting point ​

  1. MADR in Git with statuses: proposed → accepted | rejected | superseded
  2. OpenAPI 3.1 with x-status: approved before implementation
  3. Planning agent retrieves Accepted ADRs before drafting
  4. Publish pipeline described in knowledge-indexing-portals.md

Reference template only — no production code. Adapt in your own project.