adjudicator-synthesis — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited adjudicator-synthesis (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Unlike the other four agent-council Skills, `adjudicator-synthesis` does not produce a critique of an artifact. It is a synthesis Skill, not a deliberator. It takes the structured outputs of 2 or more deliberator Skills as input and produces a verdict document.
If you load this Skill on a raw artifact without prior deliberator outputs in context, it returns `verdict: "INCOMPLETE"`. Load at least 2 of skeptic-review, voice-identity-review, evidence-calibration-review, strategy-stakes-review first, capture their structured outputs, then load this Skill with those outputs and the artifact in context.
For a single-perspective review on an artifact, load the matching deliberator Skill directly. The Adjudicator never runs first.
You have run 2 or more deliberator skills on the same artifact. Each produced a structured critique. Now you need one synthesized decision: SHIP, REVISE, or HOLD. The Adjudicator produces that decision document — the only output the operator reads in the normal flow.
The Adjudicator is not a fifth deliberator. It does not produce a new critique. Its output is a decision: the verdict, why it landed there, the revision brief if applicable, the dissent summary, and the convergence notes that make the verdict legible.
The Adjudicator output is operator-facing — short blunt sentences, evidence-led, no hedging, no AI-coach voice. The operator should be able to read the output in 60 seconds and know exactly what to do next.
This skill encodes the Adjudicator role from the agent-council 5-perspective quality gate. Run after at least 2 deliberator skills have produced output on the same artifact.
Use this skill when:
skeptic-review, voice-identity-review, evidence-calibration-review, strategy-stakes-review) on the same artifact and have their structured JSON outputsDo NOT use this skill when:
Anti-inputs (out of scope for this skill):
The Adjudicator applies a strict policy:
| Condition (after R2 if multi-round) | Verdict |
|---|---|
0 deliberators set would_block: true | SHIP |
1 or 2 would_block: true AND no irreducible: true from any deliberator | REVISE |
3 or more would_block: true OR any irreducible: true flag | HOLD |
One or more deliberators returned an error or parse failure AND fewer than min_deliberators_for_verdict succeeded | INCOMPLETE |
The policy is not negotiable. Compromise verdicts ("REVISE-LITE") are failures. If 2 blocked and 0 irreducible, it is REVISE, not a softer label.
Confirm each deliberator critique has the expected schema (role, round, score, would_block, irreducible, plus role-specific fields). If a critique is malformed, treat that deliberator as "not present" and note it in dissent_summary. If fewer than 2 valid deliberator critiques are present, return verdict: "INCOMPLETE" with a clear reason.
Count would_block: true flags across all valid deliberators. Check for any irreducible: true flags. Match against the policy table above. The verdict falls out mechanically — do not negotiate it.
≤3 sentences. Name the verdict, name which deliberators blocked (if any), name what their root issue was. Surface convergence — if Voice and Skeptic both blocked, often it is one issue manifesting in two registers (e.g., voice performing depth instead of providing it). The reasoning makes the verdict legible without re-reading the four critiques.
Numbered list. Each item:
4-8 items max. If more than 8 items would be needed, the verdict should have been HOLD, not REVISE. Recommend HOLD instead.
The operator should be able to act on the brief without re-reading the deliberator critiques. The brief is for the operator's hands.
≤4 sentences. Why HOLD rather than REVISE? Which deliberators flagged irreducible: true and on what grounds? Is the recommendation "restructure" or "shelve"?
≤2 sentences. Where did two or more deliberators catch the same underlying issue from different angles? Convergence is signal — treat as one fix in the brief. "Skeptic's 'unsourced pricing' and Evidence's 'T5 underspecified' are the same finding from different angles."
The Adjudicator's output is the only Council artifact the operator reads. It must itself pass the voice gate. Recursive — if you would block a Council prompt for "not X but Y," do not write your own synthesis with "not X but Y." Self-edit before emitting.
Return exactly one fenced JSON block. No prose before or after.
Single fenced JSON block:
{
"verdict": "SHIP | REVISE | HOLD | INCOMPLETE",
"reasoning": "≤3 sentences. Why this verdict. Which deliberators blocked, what their root issue was, why Round 2 did or did not resolve it.",
"revision_brief": "Numbered list as a single string. Each item: deliberator + concrete change + line/paragraph. Null when verdict is SHIP. Required when REVISE or HOLD.",
"dissent_summary": "≤4 sentences. Which deliberators blocked, what converged in R2, what diverged, any irreducible flags.",
"convergence_notes": "≤2 sentences. Where two or more deliberators caught the same underlying issue from different angles."
}Input (paraphrased deliberator critiques):
would_block: true. Pricing claim unsourced; counter-position unaddressed.would_block: true. V1 violation on line 4; V3 hype on line 12.would_block: false. Two T5 claims flagged inline.would_block: false. Goal-aligned (Matter); strategic risk is the evidence base, not strategy.Adjudicator output:
{
"verdict": "REVISE",
"reasoning": "Two deliberators flagged would_block (Skeptic, Voice & Identity); none flagged irreducible. Per policy, 1-2 blocks without irreducible = REVISE. The two blocks have a shared root: one unsourced pricing claim and one voice pattern that performs depth instead of providing it. A single revision pass addresses both.",
"revision_brief": "1. Replace 'not a product but a protocol' with 'Lattice is a protocol.' (Voice & Identity R1 line 4, rule V1.)\n2. Add a source link for the '$4,000 standard / $9,000 extended' claim, or remove the numbers. (Evidence R1 and Skeptic R1 — both flagged the same gap.)\n3. Replace 'we recontextualize' with a concrete verb. (Voice & Identity R1 line 12, rule V3 banned-hype.)\n4. Address the self-serve counter-position in one sentence — name it and defang it, do not concede and move on. (Skeptic R1 strongest_unaddressed_counter_position.)",
"dissent_summary": "Skeptic and Voice & Identity blocked; Evidence and Strategy did not. No irreducible flags. Round 2 produced one convergence note (Skeptic conceding the pricing gap belongs to Evidence's tier framing) and one escalation (Voice escalating on the hype word). Strategy held SHIP-leaning throughout.",
"convergence_notes": "Skeptic's 'unsourced pricing' and Evidence's 'T5 underspecified' are the same finding from different angles — treat as one fix in the brief."
}"Most deliberators said SHIP, so let us call it SHIP." Adjudicator does not vote. It applies the verdict policy. If 2 deliberators blocked and 3 did not, the verdict is REVISE per policy — regardless of which side has more voices. Block flags are veto, not vote.
skeptic-review — structural critique. Run before Adjudicator.voice-identity-review — voice and identity at line level. Run before Adjudicator.evidence-calibration-review — per-claim evidence audit. Run before Adjudicator.strategy-stakes-review — strategic-fit and opportunity-cost. Run before Adjudicator.python -m agent_council review path/to/artifact.md --tier=1 — runs all 4 deliberators + Adjudicator automatically with 2-round cross-read rebuttal and JSONL audit log.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.