name: zouroboros-governance description: External governance surfaces for the Zouroboros stack. Surfaces dissent from the consensus gate so the operator (not the calling agent) sees who disagreed, on what claim, with what evidence. Hosts the weekly dissent digest plus future R1 (governance persona + audit log) and R5 (capability-ethics ratio) work. Scope-restricted by design — this skill reads logs and emits reports, it does not mutate state. compatibility: Created for Zo Computer metadata: author: marlandoj.zo.computer recommendation: R2 — Dissent Report from Consensus Gate source: Projects/zouroboros-governance-safety/PROJECT_PLAN.md
Zouroboros Governance
External governance layer for Zouroboros, per Projects/zouroboros-governance-safety/PROJECT_PLAN.md.
What's shipped
R2 — Dissent Report from Consensus Gate (Q2 2026)
The consensus gate at Skills/consensus-gate/scripts/consensus-gate.ts now records structured dissent
({model_id, verdict, grounds, evidence} per claim) alongside the existing scalar confidence. Three surfaces
expose this for operator review:
- CLI:
bun Skills/consensus-gate/scripts/consensus-gate.ts dissent --since 7d [--json] - Observatory panel:
https://marlandoj.zo.space/zouroboros/health(private) — Consensus Dissent section - API:
https://marlandoj.zo.space/api/consensus-dissent?since=30d&limit=5 - Weekly digest (this skill):
scripts/dissent-digest.ts— sends a Monday-morning email summary
Scripts
scripts/dissent-digest.ts
Builds a weekly HTML digest of dissent events (split verdicts OR confidence < threshold) and either prints it
to stdout (default) or emails it via the Zo send_email_to_user plumbing.
# Preview HTML to stdout (no email)
bun Skills/zouroboros-governance/scripts/dissent-digest.ts --since 7d
# Send the digest (uses /api/zo-ask to dispatch send_email_to_user)
bun Skills/zouroboros-governance/scripts/dissent-digest.ts --since 7d --send
# Skip send when the prior week was quiet (default behavior with --send)
bun Skills/zouroboros-governance/scripts/dissent-digest.ts --since 7d --send --skip-if-empty
Flags:
--since <spec>— time window (e.g.,7d,14d). Default7d.--min-confidence <float>— include passing verdicts whose mean confidence is below this. Default0.65.--limit <N>— max events to surface in the email body. Default15.--send— actually email the digest (otherwise print to stdout).--skip-if-empty— when paired with--send, do nothing if the window had zero qualifying events.
Reads ~/.zouroboros/consensus-gate.json directly — no new env vars required. The companion scheduled agent
runs this with --send --skip-if-empty every Monday morning.
Out of scope (this skill, this phase)
- R1 — external governance persona + audit log (Q3 2026). Will live under
scripts/governance-persona/here. - R3 — non-LLM diversity arbiter (pilot, separate seed).
- R5 —
GOVERNANCE.mdtemplate for new skills + capability-ethics ratio rollup (Q3, ships with R1). - Modifying downstream consumers (drift-guard, seed-eval, zourobench-adapter, evolveProcedure) — schema is backwards-compatible.
Operating contract
- Read-only — no mutating tools wired here today; R1 will enforce the same restriction mechanically for the governance persona.
- Soft fail — if the consensus-gate log is missing or malformed, the digest emits a stub and never throws.
- Cost ceiling — zero per-invocation cost; reads a local JSON log and (when sending) issues one
send_email_to_userdispatch via the Zo API.