Back to Zeroclaw

Architecture Decision Records

docs/book/src/architecture/decisions/index.md

0.8.31.9 KB
Original Source

Architecture Decision Records

Architecture Decision Records (ADRs) are the durable record of architecture choices that constrain future ZeroClaw work. They are shorter than RFCs: each one records the context, decision, consequences, and the sources that justify the decision.

Accepted ADRs are immutable. If the architecture changes, write a new ADR and mark the old one as superseded rather than rewriting history.

Current ADRs

ADRStatusDecision
ADR-001acceptedZeroClaw's runtime and first-party crates are implemented in Rust.
ADR-002acceptedFirst-party extension surfaces use explicit trait contracts.
ADR-003superseded by ADR-009WASM plugins initially used Extism as the execution bridge.
ADR-004acceptedTool-held shared state follows daemon-owned identity, handle ownership, isolation, and reload rules.
ADR-009acceptedWIT components and direct wasmtime replace the Extism plugin bridge.

Planned Retroactive ADRs

FND-002 identifies additional retroactive decisions that still need full ADRs:

  • ADR-005: SQLite and Markdown memory backends
  • ADR-006: CLI as the only built-in channel
  • ADR-007: Gateway extraction as a separate optional binary

ADR-009 is intentionally present while ADR-005 through ADR-007 remain planned because it supersedes the historical ADR-003 plugin bridge. ADR numbers do not have to be contiguous; missing entries remain reserved for reviewed decision records.

Those entries are intentionally not placeholder files. An ADR should be a reviewed decision record, not an empty slot in the sequence.