docs/book/src/architecture/decisions/index.md
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.
| ADR | Status | Decision |
|---|---|---|
| ADR-001 | accepted | ZeroClaw's runtime and first-party crates are implemented in Rust. |
| ADR-002 | accepted | First-party extension surfaces use explicit trait contracts. |
| ADR-003 | superseded by ADR-009 | WASM plugins initially used Extism as the execution bridge. |
| ADR-004 | accepted | Tool-held shared state follows daemon-owned identity, handle ownership, isolation, and reload rules. |
| ADR-009 | accepted | WIT components and direct wasmtime replace the Extism plugin bridge. |
FND-002 identifies additional retroactive decisions that still need full ADRs:
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.