Conventions
One page, freeze the vocabulary. If a term isn’t here, it’s defined where it’s used.
Names and paths
| Term | Value | Notes |
|---|---|---|
| Binary | castellan | Single CLI; subcommands below |
| Config file | castellan.toml | Layered — repo root, then .castellan/, then env |
| State directory | .castellan/ | Episodes, archive, proposals, skills |
| Episode logs | .castellan/episodes/ | One JSON per goal run (castellan run) |
| Topology archive | .castellan/topology_archive.json | Genome lineage for castellan evolve / --seed-archive |
| Multiplexer socket | ~/.config/castellan/castellan.sock | Default Unix socket; override with --socket or CASTELLAN_SOCKET |
| Statusline snapshot | ~/.config/castellan/statusline.json | Written by castellan dashboard; read by castellan_read_statusline |
| Telemetry DB | ~/.config/castellan/telemetry.db | castellan telemetry query target |
| MCP tools | castellan_* prefix | e.g. castellan_deposit_signal, castellan_discover_tools — see MCP tools |
Note: Paths above are defaults. Named multiplexer sessions (
--session) scope their own socket and persist directory — see Multiplexer overview.
Glossary
| Term | One-liner |
|---|---|
| Episode | A single castellan run goal attempt, logged as JSON under .castellan/episodes/ — field state, topology, wake stats, verdict |
| Topology | The wake graph (nodes, edges, thresholds) a run’s agents coordinate through; mutated by castellan evolve |
| Pressure field | The scheduler’s wake-priority substrate — pheromone zones + dependency signals decide when a pending task dispatches |
| Drift-check | castellan drift-check — validates repo guardrails and topology mutations against the verification manifest; rejects incompatible changes before they land |
| RAH (Recursive Agent Harness) | Depth-bounded harness-within-harness spawn (multiplexer pane + topology binding); see castellan rah-demo and Frontier positioning |
| Genome | A named topology snapshot in the evolve archive, with lineage (parent_genome_id) |
| Blackboard | Typed JSON slots agents read/write instead of talking to each other in natural language |
Command surface at a glance
castellan doctor
castellan --version
castellan --help