04 · Ship

Architecture decisions

shippedprinciple → decision → workflow → artifact

Principle

Architecture is the set of bets that are expensive to reverse — data model, auth model, deployment shape, integration boundaries. AI makes implementing any of these fast; it does not make choosing wisely automatic.

Good architecture for AI-native teams is legible: you can draw it on a whiteboard, name the modules, and say what is forbidden to import across boundaries. If only the model understands the structure, you do not have architecture — you have luck.

Before you draw boxes, name the product category: bolted-on (AI is a feature), enhanced (AI improves a traditional loop), or native (remove the model and the product breaks). That label sets which layers you must own — orchestration, context, data, evaluation, agents. See AI-native, not bolted on for the compressed decision frame.

The decision

DEC_012

  Constraints (users, compliance, team)
│
▼
ADR: choice + rejected options + why
│
▼
AI implements within boundaries
│
▼
Review: imports, data flow, failure modes
Decisions are human-owned; implementation is shared with AI.

What to decide early

DecisionReversibilityHuman owns
Monolith vs servicesLow laterYes
Database + auth providerLowYes
Multi-tenant modelVery lowYes
Event vs request-drivenMediumYes
Caching strategyMediumYes
Folder layoutHighYou + team convention

Defer microservices until pain is measured, not imagined.

ADR habit (Architecture Decision Record)

One page per bet:

  1. Context — what forces the choice?
  2. Decision — what we will do.
  3. Rejected options — what we will not do and why.
  4. Consequences — what gets easier/harder.

Store in docs/adr/ or architecture/. Link from PRs that implement the decision. Agents read ADRs before proposing structural changes.

Workflow

  1. Sketch the system — boxes: client, API, data, jobs, third parties. Arrows labeled with data types.
  2. Name boundaries — what may not call what directly.
  3. Write ADR before the agent scaffolds five patterns you did not want.
  4. Implement vertical slice — one path through the architecture in production.
  5. Stress one failure — what happens when DB, email, or payment provider is down?
  6. Revise ADR when reality disagrees — version in git, do not silent-drift.

AI-specific risks

Review imports and data flow in every structural PR.

Tooling

Mermaid or Excalidraw for diagrams. ADR templates in repo. Linters for module boundaries if you outgrow discipline.

Common mistakes

Artifacts

Further reading