Architecture Decision Records
- ADR 0001 · Record architecture decisions
- ADR 0002 · Uniform
Record+ genericStorecore (Approach A) - ADR 0003 · License: AGPL-3.0-only
- ADR 0004 · Pluggable storage substrates behind one
Storetrait - ADR 0005 · Optimistic concurrency with explicit conflict surfacing
- ADR 0006 · Shared substrate conformance suite
- ADR 0007 · Dual-transport daemon: gRPC + HTTP/JSON over one schema
- ADR 0008 · Domain, vector, and graph as capability layers over core
- ADR 0009 · Workspace layout and single-facade public surface
- ADR 0010 · Ticket systems as a normalized work-item capability layer
- ADR 0011 · Knowledge store over the capability layers
- ADR 0012 · Two-level keying for the code graph
- ADR 0013 · Local Candle embedder for real semantic embeddings
- ADR 0014 · Approximate vector index backend (hnsw_rs)
- ADR 0015 · Namespace-scoped daemon auth
- ADR 0016 · 3-way merge with content-addressed stored ancestry
- ADR 0017 · Non-fast-forward git pull via content-aware merge
- ADR 0018 · Record deletion and its sync semantics
- ADR 0019 · Qualified S3 backend for HA: RustFS
- ADR 0020 · Rust-native deliverables; the daemon is the non-Rust boundary
- ADR 0021 · Replicated deletion with tombstones
- ADR 0022 · Fleet access-control records as a capability layer
- ADR 0023 · Channel configuration fields, and workspaces instead of repos
- ADR 0024 · Blob garbage collection, and tombstones pin their blobs
- ADR 0025 · Sibling tombstone markers in the S3 layout
- ADR 0026 · A grouped facade surface
- ADR 0027 · A durable vector index
- ADR 0028 · A grace period for blob garbage collection
- ADR 0029 · Manifest tombstones retain their body, and
undeleterestores it - ADR 0030 · A create over a manifest tombstone is refused, and
gonzalo purgediscards one deliberately - ADR 0031 · The daemon's physical-removal surfaces require admin, and refuse to remove a live record