Skip to main content
Judges (Intelligent Authorization / The Court) holds the audit and event contract for Court deliberation when Cedar returns no_match.

Where Court evidence lands

Success events (rulings, Court configuration changes, permission denies) land on the customer workspace audit trail with the rest of that workspace’s evidence. Outbound LLM calls The Court makes while deliberating land as llm.* events on the platform judges workspace trail under the LLM gateway. Investigators looking for “what did the Court decide for this agent?” stay on the customer trail. Questions about “which models did Court call?” belong on the platform judges workspace.

Rename (moot.*judges.*)

Renamed from Moot in the 2026-06 release. Audit rows written before the cutover keep their original event-type strings (moot.*) and remain readable, queryable, and typed. The registry carries read-path aliases that resolve them to the same payload shape. All new rows write judges.*. Update saved queries and dashboards to the new prefix. Permissions (moot.view / moot.manage), CLI (dome moot), MCP (dome_moot_*), the Moot Connect service, and Decision.depth "intelligent" are a hard rename to judges with no alias.

Audit v1 event types

Governing

State change: configuration

State change: permission denies

Read denies (lack judges.view): judges.rulings.list.denied, judges.ruling.read.denied, judges.judges.list.denied, judges.judge.read.denied, judges.judge_panel_config.read.denied, judges.workspace_mode.read.denied, judges.constitutions.list.denied ListPersonalityAxes is platform reference data and carries no permission gate, so it has no *.denied variant. Write denies (lack judges.manage, or a preconfigured immutable target): judges.judge.create.denied, judges.judge.update.denied, judges.judge.delete.denied, judges.judge_panel_config.update.denied, judges.workspace_mode.update.denied, judges.constitution.create.denied, judges.constitution.update.denied, judges.constitution.delete.denied Updates and deletes of a preconfigured judge use reason: "preconfigured_immutable".

Permissions

Preconfigured judges remain immutable regardless of judges.manage. Renamed from moot.view / moot.manage in the 2026-06 release.

Gateway denial extension (Court)

The shipped authorization denial protocol documents the Cedar path. When The Court determines a deny, the same dome_authorization_denied extension adds Court-specific fields.

Court summary

When depth == "judges", the court object carries the agent-facing summary of the Court determination. Fetch the full deliberation via ruling_id against the Judges read RPCs.
On the hosted-gateway path (what most cloud customers run), outcome and rationale are not inlined. Only final_outcome crosses the wire. Distinguishing court-forbade from court-permitted-but-clamped on that path requires fetching the full ruling by ruling_id. The inline fields are populated on in-process convene.

Wire shapes

MCP — Court forbid
LLM (Anthropic) — Court forbid

Consuming the Court fields

Webhook types

Webhook catalog includes judges.ruling.issued (Security signals bundle and Security decisions group). High volume with other per-request security decisions. Point at a log sink rather than a chat channel.

Next steps

With that Judges and Court model in mind, continue with: