Skip to content

Decision records

Every significant technical and product decision is an Architecture Decision Record (ADR) in docs/adr/. Numbers are stable; gaps are intentional. The dated decisions log records smaller calls.

ADR Decision Status
0001 The relay is a Rust service on Postgres accepted (milestone 1)
0002 Authors sign content, the relay signs nothing and chains it superseded by ADR 0010 (format v3 signs exact protobuf bytes and a causal link)
0003 No passwords: an identity key and a key per device, in the Keychain accepted (milestone 1)
0004 Offline first with a durable outbox accepted (milestone 1)
0005 Typing, status and presence are ephemeral accepted (milestone 1)
0006 The demo story only behind a dev flag accepted (milestone 1)
0007 Media travels as encrypted, content-addressed blobs accepted (milestone 4, started during milestone 1)
0008 FoundationDB is the system of record for logs and sync state accepted
0009 Per-Space logs and pub/sub fan-out, not per-device inboxes accepted
0010 A versioned protobuf protocol with signed bytes kept verbatim and causal links implemented (S1)
0011 Storage behind traits accepted
0012 Infrastructure as code (OpenTofu, Kubernetes, GitOps) accepted (tools chosen by Enzo)
0013 Hooks as a first-class primitive accepted, built after M2
0014 Memory, files, skills and knowledge are Items in the Space log accepted, built after hooks (M2)
0015 Staging runs on Fly.io (gru), with Cloudflare as the edge only accepted for the staging phase
0016 Encrypted profiles accepted (built between S3 and S2)
0017 Sortable ids (ULIDs) accepted (S2)
0018 Persisted Space ownership and transaction fencing implemented, with production release gates below
0019 Fan-out bus between relay nodes accepted (S5)
0020 Abuse controls accepted (S6)
0021 Telemetry without personal data accepted (S7)
0022 Measured capacity, and what a billion people would cost accepted (S8)
0023 Per-Space sequencing in memory, batched commits to FoundationDB accepted (S9)
0026 End-to-end Spaces on OpenMLS, with member-signed checkpoints accepted (M2)
0027 End-to-end by default, and privacy only goes up accepted (M2)
0028 Agent sandboxes we run ourselves: WASM first, Firecracker microVMs on demand, browsers in microVMs accepted (M3 design)
0029 The Zoen web app accepted (Enzo, 2026-10-09)
0040 A viewer for every file, an editor for most, and a native WYSIWYG Markdown editor accepted, being built (research 2026-10-08)
0041 Live pages: documents that people and agents keep up to date together proposed (2026-10-08)
0042 Dynamic UI: native declarative views first, MCP Apps HTML in a sandbox second proposed (2026-10-08)
0043 Product metrics without content accepted
0044 Experiments, remote config, acquisition source and server-driven onboarding accepted
0045 Linking a second device, with its history accepted (M2)
0046 Encrypted server backup accepted as a development implementation
0047 MLS recovery without a surviving device development implementation
0048 Durable agent proposals and approval effects implemented in the Rust core
0049 Agent enrollment requires owner device authorization proposed