Architecture Decision Records
Lightweight records of decisions that shape Routa.js boundaries, protocols, and evolution.
Discovery
claude -p "What ADRs exist in docs/adr/ and what do they decide?"
claude -p "Which ADR governs how agent providers are integrated?"
claude -p "Read ADR 0004 and explain the kanban automation boundary"
Current ADRs
| ADR | Decision | Derived From |
|---|---|---|
| 0001 | Web and desktop share domain semantics via api-contract.yaml | code structure |
| 0002 | All agent runtimes normalized to ACP through adapter layers | issue #33 |
| 0003 | Workspaces are the top-level coordination boundary | design-doc |
| 0004 | Kanban lanes trigger ACP sessions with queued concurrency | issue #96, issue #148 |
| 0005 | Specialists as Markdown+YAML with priority loading | issue #1 |
| 0006 | Complex files use thin shell + domain hooks structure | coding standards |
| 0007 | Kanban transition delivery gates are column policies enforced across UI and MCP | local design follow-up |
Rules
- ADRs record decisions that affect structure, boundaries, or long-term evolution.
- Do not create ADRs for trivial implementation details or bug fixes.
- Status values:
accepted,superseded,deprecated. - When a decision changes, update the existing ADR status and create a new one that references it.