Skip to content

The Persona-Register Split

codeArbiter speaks with more than one voice, deliberately. The orchestrator persona is terse and decisive; it routes, gates, and states. The author and reviewer agents each carry their own focused register and tools, scoped to their job. Splitting the persona register keeps each role sharp. The orchestrator isn’t trying to also be a backend engineer, and a security reviewer isn’t trying to also be a copywriter. Each agent loads only the context its role needs, which is also what keeps the standing footprint small.

Every agent ships as its own file under plugins/ca/agents/. Each carries only the tools its role needs.

Three agents carry write tools (Edit/Write): the authors.

Every reviewer is read-only by construction. The roster splits into three families:

  • The review fleet. The six checkpoint/review reviewers (security-reviewer, auth-crypto-reviewer, dependency-reviewer, migration-reviewer, coverage-auditor, architecture-drift-reviewer), plus design-quality-reviewer for generated, user-facing output.
  • The tribunal lenses. Eleven tribunal-* agents, one per lens, dispatched only by /ca:tribunal. See the tribunal command page for the full roster, starting with tribunal-appsec-reviewer.
  • Internal analysts. Never dispatched directly by a user: scout, grader, decision-challenger, finding-triage, checkpoint-aggregator, map-structure, map-deps.

The orchestrator persona itself lives in plugins/ca/ORCHESTRATOR.md. The split is a recorded decision, not an accident of file layout. See ADR-0005.

Invoke the lane command; do not try to dispatch a specialist agent by name. The orchestrator chooses the owning skill, and that skill dispatches the author or reviewer with the narrow tools and context it needs. A reviewer finding returns to the lane for triage; the reviewer does not silently edit the author’s files.

Generated agent reference pages show each role’s purpose, tools, and exact source. Use them to understand who may be dispatched, not as a second command surface.

Start at the public command reference and follow its owning skill. The skill body names each role it may dispatch and the condition that activates it. Then open the generated agent page to inspect that role’s tools, model tier, constraints, and exact source.

Claude Code can dispatch packaged agents through its native task tool. Codex currently executes the same reviewer and author charters in host-provided agent threads, with an inline fallback only on older hosts where isolation is not mandatory; Pi uses its supervised child path where supported. That host difference changes isolation mechanics, not ownership or the gate that consumes the result. The compatibility matrix records the current boundary.