Chitra Documentation
Chitra delivers messages to long-running LLM agent sessions in tmux and watches their state. Everything on the delivery, queueing, ledger, and state-tracking path is deterministic — Python with zero LLM calls. The one deliberate exception is goal enforcement: when a watched session claims it is done, chitra launches isolated Claude reviewer processes to check that claim against the session's frozen goal. The reviewers never draft chitra's messages, and their verdicts stay in chitra's own logs.
Getting started
Start here if you're new to chitra:
- Quickstart — Install chitra and run your first dispatch.
- Concepts — Understand chitra's two layers: the deterministic core (delivery, ledger, rate-limiting, routing, ownership) and the LLM-judgment layer (goal enforcement via watchd).
Core reference
Understand how chitra works:
- Daemons and Tools — Message delivery, session management, policy enforcement, and utilities.
- Configuration — Routing and policy settings, with worked examples.
Deep dives
For specific challenges and advanced topics:
- Design notes — Origin, bounded reasoning boundary, done-condition ownership, distribution, single-writer rule, and extensibility model.
- Evasion taxonomy — Dispatch and state-observation attack surfaces.
- Pause and recovery — Rate-limit hold mechanics and graceful pause phases.
- Petra authority — Dark-launch observe-only pressure-observation service.
- Self-tuning — Automated policy feedback loop.
- Workflow patterns — Real-world orchestration patterns.
- Routing feedback and usage — Task-type routing and usage snapshots.