Command surface
The cbcl-cli command tree. clap-based subcommand dispatch (crates/cbcl-cli/src/main.rs). Four subcommands.
graph LR
cbcl-cli["cbcl CLI Entrypoint\ncrates/cbcl-cli/src/main.rs"]
parse-cmd["parse\ncbcl parse"]
verify-cmd["verify\ncbcl verify"]
agent-cmd["agent REPL\ncbcl agent"]
simulate-cmd["simulate\ncbcl simulate"]
cbcl-cli --> parse-cmd
cbcl-cli --> verify-cmd
cbcl-cli --> agent-cmd
cbcl-cli --> simulate-cmd
parse-cmd -->|"run_pipeline"| cbcl-parser-pipeline["cbcl-parser pipeline"]
verify-cmd -->|"parse_dialect + R1/R2/R3"| cbcl-core-safety["cbcl-core safety"]
agent-cmd -->|"Agent + evaluator"| cbcl-core-runtime["cbcl-core agent + evaluator"]
simulate-cmd -->|"GossipNetwork"| cbcl-core-gossip["cbcl-core gossip"]
Subcommands
cbcl parse [INPUT] [--sexpr] — parse and validate a CBCL message via run_pipeline. Outputs JSON by default, or canonical S-expression when --sexpr is set. Reads from stdin if INPUT is omitted.
cbcl verify [INPUT] — parse a dialect definition and run R1 / R2 / R3 — and R5 if the dialect contains a (protocol ...) clause. Reads from stdin if INPUT is omitted. Exits non-zero on safety violation.
cbcl agent [--id ID] — interactive REPL backed by a real Agent. Default id is @user. Each line of input is parsed, evaluated against the agent’s current registry, and the resulting effects (or errors) are printed.
cbcl simulate [-n AGENTS] [-p PROBABILITY] [-r MAX_ROUNDS] [-t TOPOLOGY] [--seed SEED] [INPUT] — simulate epidemic gossip propagation of a dialect across N agents. Topologies: fully-connected, ring, random. Deterministic given the seed. Reports per-round propagation state.
See also
- CBCL — architecture overview
- Overall architecture
- Extension points — what
verifyenforces.