Skip to main content

Architecture decision records

An ADR in this folder records a decision that the repository already enforces. It is not a guess about a meeting that was not written down.

Write a new ADR only when you can point at code, a schema comment, or a project rule (AGENTS.md, docs/AI_CONTEXT.md). If the repository does not say why an alternative was rejected, write “not recorded” under Alternatives. Do not invent the discussion.

Status values​

Accepted means the code does this now. Proposed means it is not implemented. Deprecated means the code no longer does this.

Current records​

IDTitleEvidence
0001Order and stock side effects use the transactional outboxAGENTS.md, OutboxWriterService, worker dispatcher
0002Human inactive versus machine suspendedChannel schema comment and sync processor
0003One codebase, three processesmain.ts, main.worker.ts, main.scheduler.ts, Compose

Template​

Copy the template. Number the next file 0004-short-title.md.

Significant architectural changes update the ADR and the matching docs page in the same change. See CONTRIBUTING.md.