Skip to content

Glossary

The project uses two evocative names — Praetor and Legion — because they're easier to talk about than "central orchestrator service" and "worker agent pool". Everything else is plain English.

A–Z

ADR — Architecture Decision Record. Short markdown files under docs/adr/ recording why we made a non-trivial technical choice. New application code in a new area requires an accepted ADR first (see CLAUDE.md).

Audit Log — Append-only table (audit_log in SQLite) recording every decision Praetor makes plus the inputs that produced it. Replayable. See ADR-0012.

CLA — Contributor License Agreement. Every contributor signs the CLA before their first PR is merged; this is enforced by the CLA Assistant Lite workflow.

Dashboard — Server-side HTMX UI embedded in Praetor. Shows the live audit log via SSE, the facts and episodes the brain has accumulated, an operator-editable system-prompt override, and active sessions. Opt-in via CAESAR_DASHBOARD__TOKEN. See ADR-0021.

Episode — A 1–2 sentence summary of one past chat, embedded for similarity recall. New chats automatically inject relevant past episodes into the system prompt. See ADR-0034.

Fact — A durable key/value record (e.g. dog_name = "Beans") extracted from past chats by the memory.extract worker and auto-injected into future chat system prompts. See ADR-0033.

HA Bridge — The module that talks to Home Assistant over REST + WS. Single, well-defined surface so the rest of CAESAR doesn't depend on HA internals. See ADR-0007.

Legion — The pool of worker agents. Each worker handles a slice of work (calculator, web search, calendar read, MQTT publish, …) and registers with Praetor over the message bus. Workers run in-process under Praetor or as separate processes on other hosts (see ADR-0027).

LLM Gateway — Provider-agnostic abstraction over Anthropic, OpenAI, and Ollama. Per-task routing lets the operator send chat to one provider and background memory work to another. See ADR-0011 and ADR-0026.

MADR — Markdown Architecture Decision Records. The format CAESAR ADRs follow (Context · Decision · Consequences). See ADR-0001.

Memory — Two layers. Episodic (SQLite audit_log + per-chat episode summaries) is always on; semantic (vector store fed by a background indexer) opts in via CAESAR_SEMANTIC__ENABLED. See ADR-0010.

Message Bus — Inter-process messaging fabric. NATS, per ADR-0009. Subjects are caesar.dispatch.<worker_id>, caesar.registry.*, and caesar.reply.<inbox>. Disabled by default; turn it on with CAESAR_BUS__ENABLED=true.

Plugin — A third-party Python package that ships a Legion worker via the caesar.plugins entry-point group. Operators install plugins with pip install; Praetor discovers them at startup, validates each manifest, and the result joins the in-process Legion pool. See ADR-0035 and BUILD-A-PLUGIN.md.

Policy Engine — Gatekeeper between agents and the real world. Declarative YAML allow-list — every HA service call and every Legion tool call passes through. Plugins do not bypass it. See ADR-0013 and ADR-0028.

Praetor — The central brain. A Python service (FastAPI + LangGraph) that owns conversation state, memory reads/writes, policy decisions, and orchestration of Legion workers. The only component that holds long-lived credentials. See ADR-0006.

ProactiveRunner — The entry point used by every trigger source (scheduler, HA-event driver, webhook dispatcher) to fire the brain graph unattended. Same call_llm → dispatch_tools loop as /v1/chat, plus a proactive=true safety preamble that biases toward summarise + notify over act on the house. See PROACTIVE-CAESAR.md.

Trigger — A source that fires the brain graph unattended. Discriminated union: ScheduleSource (cron; ADR-0030), HASource (HA event; ADR-0031), or WebhookSource (HTTP POST; ADR-0032). Lives in triggers.yaml.

Trunk-based development — Short-lived branches off main, squash-merged via PR. Release branches are created on demand for hotfixes. See ADR-0014.

Worker — Singular of Legion. A process that registers with Praetor over NATS and handles a declared set of capabilities (tool ids).