stateDiagram-v2
[*] --> Proposed
Proposed --> Accepted: decision approved
Proposed --> Rejected: alternative declined
Accepted --> Deprecated: still present, no longer preferred
Accepted --> Superseded: replacement ADR accepted
Deprecated --> Superseded: replacement completed
Rejected --> [*]
Superseded --> [*]
10. Architecture Decisions and Production Readiness
10.1 Preserve why the system is shaped this way
An architecture diagram records what exists. It rarely records why one design was chosen, which alternatives were rejected, what evidence supported the choice, or what would cause the team to reconsider it. Those details disappear into meetings and chat, then return months later as repeated debates or unsafe changes.
An Architecture Decision Record (ADR) captures one consequential decision and its context, alternatives, trade-offs, and consequences. The collection forms a chronological decision log. The practice is intentionally lightweight; the current UK Government ADR framework, published in 2025, likewise focuses on establishing consistent documentation of architectural decisions during system design and development.1
Write an ADR when a decision materially affects security, reliability, data handling, behavioral quality, cost, operability, organizational ownership, or future reversibility. Typical AI-platform triggers include:
- Direct provider access versus a shared AI gateway
- Application-owned harness versus a common agent runtime
- Retrieval-time authorization and source-of-truth choices
- Model, embedding, reranking, or hosting strategy
- Tool permissions, approval boundaries, and sandbox isolation
- Memory scope and retention
- Evaluation gates and acceptable residual risk
- Regional processing, recovery architecture, and provider fallback
- Build-versus-buy choices that create data or operational dependency
Do not create ADRs for every parameter adjustment or implementation detail. Use standards and reference architectures for repeated decisions; create an ADR when a team adopts, varies from, or replaces them.
Google’s ADR guidance defines the same core purpose: capture significant requirements, options, decisions, and the history needed to understand later architectural evolution.2 Store ADRs close to the versioned system, make them searchable from the service catalog, and link them to code, release bundles, threat models, evaluations, incidents, and runbooks.
10.2 Use a small, AI-aware ADR format
| Field | What to record |
|---|---|
| Identifier and title | Stable number plus a decision statement, such as “Use permission-filtered hybrid retrieval” |
| Status | Proposed, accepted, rejected, deprecated, or superseded; link the replacing ADR |
| Date, owner, reviewers | Who is accountable and which disciplines reviewed it |
| Context and scope | The problem, affected users, system boundary, constraints, and deadline |
| Decision drivers | Quality, security, latency, cost, residency, team capability, reversibility, and other ranked needs |
| Options considered | Serious alternatives, including “do nothing,” with evidence-based advantages and disadvantages |
| Decision | The chosen option, exact boundary, and important configuration assumptions |
| Consequences | What becomes easier, harder, more expensive, or newly risky |
| Validation | Evaluations, prototypes, load tests, threat models, and operational exercises supporting the choice |
| Guardrails and fitness functions | Automated checks that detect erosion of the decision’s assumptions |
| Reversal and review triggers | Migration path, switching cost, review date, and conditions that reopen the decision |
Table 10-1. Context, decision, and consequences are the irreducible core. AI systems also need behavioral evidence and explicit review triggers because models, providers, and risks evolve quickly.
Figure 10-1. ADR status drives lifecycle behavior; it is more than document decoration. A changed decision receives a successor so the evidence available at each point remains legible.
An ADR is not a sales comparison or a retroactive justification. State uncertainty, evidence gaps, dissent, and negative consequences plainly. Prefer measured workload results over generic benchmark rankings. Record pricing assumptions with a date, but make the decision depend on workload economics rather than a price that will soon change.
Treat accepted ADRs as append-only history. Correct spelling or broken links in place; supersede a changed decision with a new record rather than rewriting why the old team acted. I prefer short ADRs with explicit reversal triggers to polished essays that conceal uncertainty. The record exists to make the next decision better.
10.3 Example: fail closed when policy evidence is unhealthy
The following condensed ADR shows the required level of specificity.
ADR-014 — Require current, permission-verified evidence for policy answers
Status: Accepted
Context: The Operations Copilot answers company-policy questions. The model’s pretrained knowledge may be outdated, and the retrieval system can become stale or unavailable. A plausible but unsupported answer may influence employee decisions.
Decision drivers: Currentness, tenant isolation, explainability, predictable degraded behavior, and recovery time.
Options: (A) answer from model knowledge when retrieval fails; (B) answer with a warning; (C) withhold the policy answer and provide approved source links or human escalation.
Decision: Choose C. Material policy claims require permitted evidence from an index within the freshness objective and citations that survive validation. Otherwise the product reports that verified policy information is unavailable.
Consequences: Some requests fail during knowledge outages, reducing apparent availability. The system needs source-health telemetry, a source-link fallback, clear user language, and support escalation. It prevents ungrounded model memory from silently becoming company policy.
Validation: Retrieval ACL suite, stale-index simulation, citation checks, degraded-mode game day, and user-comprehension test.
Fitness functions: Block release if an unauthorized passage reaches context or a material claim lacks evidence; alert when freshness exceeds its objective.
Review triggers: A verified authoritative policy API becomes available, the risk classification changes, or observed abstention materially harms the business process.
The decision is useful because an engineer can implement and test it, an operator knows the degraded mode, and a future team knows what evidence could justify a different choice.
10.4 Make readiness an evidence decision
A production-readiness review asks whether the assembled system is fit to serve a defined population under declared conditions. It is not a demonstration, a checklist signed from memory, or a last-minute security meeting. Start the review while architecture is still changeable, then update evidence as the release matures.
flowchart LR
U["Use case, users, risk tier"] --> A["Architecture and ADRs"]
A --> I["Implementation and release bundle"]
I --> E["Evaluation, threat, load and recovery evidence"]
E --> R{"Readiness decision"}
R -->|"ready"| L["Controlled launch"]
R -->|"conditional"| C["Limited scope + expiring conditions"]
R -->|"not ready"| F["Remediate or stop"]
L --> M["Production monitoring"]
C --> M
M --> N["New evidence, incidents, changed assumptions"]
N --> A
Figure 10-2. Readiness is a lifecycle checkpoint within continuing governance. Production evidence can reopen an ADR or withdraw approval.
The review packet identifies the exact release bundle, environment, user population, enabled capabilities, data classes, risk tier, and exposure plan. Evidence from a different model route, prompt, index, or tool contract does not approve the candidate.
AWS’s 2025 Responsible AI Lens similarly recommends defining testable release criteria and making an evidence-based release decision across the full application lifecycle.3 A readiness process should reuse existing engineering evidence rather than ask teams to transcribe it into a separate governance system.
10.5 Production-readiness checklist
The following checklist is a minimum platform standard. Riskier use cases add domain, legal, compliance, accessibility, fairness, or independent-assurance requirements.
Purpose and accountability
Architecture and dependencies
Identity, data, security, and safety
Behavioral evidence
Operations, reliability, and recovery
Delivery, economics, and support
This is deliberately broader than a model card or conventional service review. AWS’s 2025 production framework also emphasizes measurable business impact, validation under real constraints, and operability rather than treating a compelling demonstration as production proof.4
10.6 Record the decision, not only the meeting
The readiness record should have one of three outcomes:
| Outcome | Meaning | Required record |
|---|---|---|
| Ready | Evidence supports the defined launch scope | Release, scope, approvers, evidence links, rollout and review date |
| Conditionally ready | A bounded gap is accepted for limited exposure | All above plus risk owner, compensating control, deadline and automatic expiry |
| Not ready | A hard gate failed or evidence is insufficient | Failed criteria, owner, remediation or stop decision |
Table 10-2. “Conditional” is not a softer synonym for ready. Some failures—such as cross-tenant disclosure or unapproved consequential action—are hard stops.
Exceptions must be specific: affected capability, population, environment, residual risk, compensating control, approver, expiry, and monitoring. They should expire automatically rather than becoming permanent architecture. A limited launch reduces exposure only when limits are technically enforced.
10.7 Assemble the Operations Copilot readiness packet
For the first production launch, the packet would include:
- Release manifest for the exact model route, prompts, policy index, case tool, policy bundle, and evaluators
- ADR-014 plus decisions for gateway use, delegated service-desk identity, approval, index migration, and recovery region
- Permission and retrieval tests; grounded-answer, abstention, injection, and case-effect evaluations; load and cost reports
- Data-flow and threat models, provider review, telemetry and audit design, and red-team findings
- SLOs, dashboards, alerts, runbooks, degraded modes, case reconciliation, rollback, and a completed recovery exercise
- Known limitations, employee guidance, escalation route, named owners, rollout cohort, stop criteria, residual-risk acceptance, and 30-day review
The review should reject the launch if, for example, the evaluation used an older index, service-desk writes were never tested against ambiguous timeouts, the recovery region lacks the approved model, or the owner cannot query which employees received a faulty answer. Those are not documentation gaps; they are missing production capabilities.
ADRs and readiness reviews close the handbook’s engineering loop. ADRs preserve the reasoning behind durable choices; readiness reviews test whether those choices have become an operable, secure, evaluated, recoverable, and economically justified production system.
References
UK Department for Science, Innovation and Technology and Government Digital Service, “Architectural Decision Record Framework”, November 4, 2025.↩︎
Google Cloud Architecture Center, “Architecture decision records overview”, last reviewed August 16, 2024.↩︎
AWS Machine Learning Blog, “Announcing the AWS Well-Architected Responsible AI Lens”, November 19, 2025.↩︎
AWS Machine Learning Blog, “Beyond pilots: A proven framework for scaling AI to production”, October 24, 2025.↩︎