Aller au contenu principal

Architecture Decision Records

Decision logs only — why we chose an approach. Not Java, not Flutter, not task checklists.

Format: NNNN-short-title.md

  • Status: proposed | accepted | superseded
  • Context — what forced a choice
  • Decision — what we chose
  • Consequences — trade-offs, follow-ups

Repo-root docs/adr/ is unused. Put ADRs here.

Index​

ADRTitleStatus
0001Product id health.afia.app and three reposaccepted
0002Five Stitch modules as bounded contextsaccepted
0003One afia-api JVM, domain-colocated packagesaccepted
0004One Flutter app + static web; admin later as websuperseded by 0007
0005/api/v1/afia, EndpointUri, ai-agent/ layoutaccepted
0006Exclusive write paths for parallel agentsaccepted
0007Five Stitch modules are mobile role shellsaccepted
0008Tech specs in api/, app/, and exchange/ before codeaccepted
0009afia-docs as the documentation repoproposed
0010CCF tree is inventory, not a package cutaccepted
0011Stitch jobs are one flow per folder, including payments and vitalsaccepted
0012Stitch visual parity: design tokens, kit, and enriched APIaccepted
0013NNI is a patient profile field (optional ID-card image)accepted
0014Release horizon v1/v2 vs Stitch parityaccepted

When to add an ADR​

Hard-to-reverse choices: auth model, schema, splitting a domain out of the monolith, new client binary.

Screen inventory lives in ADR 0010 and manifest/ccf-tree.tsv. Do not put API catalogs here. Use docs/api-map.md. Parallel implementation cuts live in docs/work-packages.md.