Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Decision log

Explanation · generated · the architectural decision record under `decisions/`, in order, never rewritten

Each record states its context, the decision and its consequences, and stays in place when a later record supersedes it. The index below is read from the files; the files are the record.

A non-obvious call (where something belongs, why a crate is shaped the way it is, anything a later contributor would otherwise reverse-engineer from a pull request) gets a new record rather than only an explanation in the pull request. Number it one past the highest present, and say in its body which earlier record it supersedes, if any. Numbers are never reused, so a gap is a retired record.

ADRTitleStatusDate
ADR-0008Envelope store layout version 1Superseded in part by ADR-0011 (2026-09-24)2026-09-24
ADR-0011Envelope store layout version 2Accepted2026-09-24
ADR-0013One shared-memory mechanismAccepted2026-09-25
ADR-0014Pre-integration crates say soAccepted2026-09-25
ADR-0015Ring header layoutAccepted2026-09-24
ADR-0016Gated rings: one store per publish, one check per readAccepted2026-10-04
ADR-0017Partial crates say so, and the architecture check holds them to itAccepted2026-10-17
ADR-0018The security model: what is protected, by what, and what is notAccepted2026-10-17
ADR-0019A reader table for lossless fan-outAccepted2026-10-17
ADR-0020An index of recent cursors for the envelope storeAccepted2026-10-17