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-0012The Rust client is a tier-2 crateAccepted2026-09-25
ADR-0014Pre-integration crates say soAccepted2026-09-25
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-0021Daemons that link: a mesh across hostsAccepted2026-10-17