How it's built
catastr is written almost entirely by Claude Code (Claude Opus). My part is direction, decisions and review. The interesting question was: how far does this go if the process is taken seriously?
By the numbers
- Started on 6 October 2026
- 655 commits, nearly all co-authored by Claude
- ~94,000 lines of Rust in six crates
- ~1,400 tests
- 82 ADRs (architecture decision records)
The first month in Forgejo:
What keeps it on track
- A written plan. Architecture, data model and phases are in one document. The agent reads it first and must not quietly deviate from it.
- ADRs for every decision. Each one records context, decision and consequences. Old ADRs are never rewritten; a changed mind gets a new one.
- A task tree. Open work, observations and half-done steps live in one Org file, with states and priorities.
- A definition of done.
make check— format, clippy, tests — has to pass before anything is committed. - Independent audits. Separate, read-only agents review the code for drift from the plan, for bugs and for security issues.
- Real data. Measurements against a real mailbox of 59,533 messages, not just test fixtures.
Why Rust
A strict compiler is a good safety net when most of the code is generated. Rust also gives one core for the daemon, the browser (WASM) and Android.

