This is the developer-level operator guide for Echo. Use it for orientation and the productive-fast path through Echo's deterministic WARP runtime over witnessed causal history.
For deeper doctrine, use the documentation map. It routes current architecture, living topics, specifications, invariants, and durable ADRs without treating a historical guide as present truth.
Exercise the local generated-style package boundary. Product behavior belongs in authored, generated contracts; the current generator limitations are stated explicitly in the generated-rule topic.
- Read: Local Contract Host Quickstart
- Understand: Application Contract Hosting
- Check status: Generated Rule Authorship
Use the "Drill Sergeant" discipline to prove cross-platform convergence.
- Read: DIND Harness
- Run:
cargo xtask dind run
Understand the guardrails that prevent non-determinism from entering main.
- Check:
det-policy.yaml - Scripts:
scripts/ban-nondeterminism.sh
There is witnessed causal history. WARP optics chart it. Holograms witness those charts. Materialized graphs are optional readings. Continuum is the protocol for lawful causal-history exchange.
External callers submit explicit-base intents or observe through bounded optics. Echo admits, stages, pluralizes, conflicts, or obstructs those claims under named law and emits receipts, readings, or witnesses. Application nouns stay in authored contracts and generated adapters rather than Echo core.
- I am setting up the repo: Run
make hooksandcargo check. - I am adding product behavior: Author it in the contract language and use generated adapters; raw Rust rule registration is bootstrap-only.
- I am debugging a desync: Run
cargo xtask dind run --emit-reproto emit a reproduction bundle on failure. - I am contributing to Echo: Read AGENTS.md, then inspect the relevant GitHub issue or pull request.
If you need a comprehensive spec, use the docs/README.md map.
If you need current architectural truth, use the architecture, specification, invariant, and topic maps. Durable decisions live in ADRs; live work and status live in GitHub.
If you are just starting, use the README.md and the orientation tracks above.
Use the narrow repository-owned slices while iterating on WAL and recovery:
cargo xtask test-slice runtime-wal-ack
cargo xtask test-slice durable-runtime-wal
cargo xtask test-slice durability-releaseThe goal is inevitability. Every state transition is a provable consequence of its causal history.