# Content-Reviewer Fasit Fixture The Del 4 production round (Security Champions, Maskinrommet, 2026-05-29) as the gold standard for the `content-reviewer` agent. Late in the round the draft took a **Security Champions pivot**: a new ~260-word section introducing the Champions model and a new ~270-word role-description section were added after the in-session gates had already formed their reading. The in-session gates (fact-check Step 5, editorial Step 5.5, persona sweep Step 6) all read the draft through the drafting session's framing — they knew *why* the pivot happened and *what* it was meant to argue, so they silently supplied the missing argumentative steps for free. A **cold, adversarial reviewer** — handed only the frozen page — cannot supply them, and that is exactly the point: the cold read catches the argument holes the framing hid. The six cases below are the fasit: a correct `content-reviewer` run on the frozen Del 4 draft should surface **comparable flags**, mapped to the one axis with consistent severities. This file is a *fasit*, not a test harness. The structural lint lives in `agents/__tests__/content-reviewer-fixture.test.mjs`. Whether the agent's live flags actually reproduce these directions is `[GATE]`/`[OPERATØR]` — it is **not** self-certified here. > **The jury judges; the writer writes.** Every expected output below is > **direction, not rewritten copy.** A correct agent run hands back flags + a > severity — never edited prose. (`Foreslått retning`, not a new sentence.) > **Why this gate exists.** The in-session gates shared the drafting session's > framing-bias: they read the pivot knowing its intent, so they bridged the > argument's gaps without noticing the gaps were there. A **cold reader** — run in > an isolated context with no history, no changelog, no "out of scope" list, no > pivot narrative — reads the frozen page as a first-time skeptic and finds the > argument holes the framing hid. Any such framing that reaches the agent is > **context pollution**: it is named and ignored, never acted on. This is a > distinct failure surface from craft (editorial), language (language-reviewer), > truth (fact-reviewer), and response (persona) — those gates can all pass while > the argument itself does not hold. --- ## The axis (the agent judges on exactly this) The agent judges on **one axis — argument-integritet** (argument & logical integrity): *does the reasoning hold?* It does **not** judge craft, language, factual truth, or reader response — those are `editorial-reviewer`, `language-reviewer`, `fact-reviewer`, and `persona-reviewer` respectively. The axis decomposes into exactly five checks: - **C1 — logiske hull** (logical holes): a step in the argument chain is missing; the text jumps from A to C without B, and the reader cannot reconstruct why the conclusion follows. - **C2 — ubegrunnede antakelser** (unsupported assumptions): the argument leans on a premise it never establishes, asserted as self-evident when a thoughtful reader would not simply grant it. - **C3 — argument-motsigelser** (argument-level contradiction): the recommendation, premise, and payoff are not mutually consistent — distinct from editorial- reviewer's P4 (a *prose-level* contradiction between two passages); C3 is a contradiction in the *logic of the argument itself*. - **C4 — manglende konkretisering der argumentet trenger det** (missing argumentative concretization): a load-bearing claim a skeptic would only believe with a concrete instance stays abstract — not for vividness (editorial A1) but because the argument *needs* the instance to carry weight. - **C5 — ubesvart «what about X?»** (the unanswered obvious objection): the strongest obvious objection a thoughtful reader raises is never acknowledged or answered — the argument wins only because it never met its best counter. ## Severity (every flag carries exactly one) - **BLOCK** — a defect that breaks the argument: an argument-level contradiction (C3), or an unanswered objection (C5) that, once raised, collapses the recommendation. - **REWORK** — a real gap that should be filled, not load-bearing-fatal: a logical hole (C1), an unsupported load-bearing assumption (C2), a claim that needs concretization (C4). - **NICE** — a minor reasoning soft spot worth tightening if cheap. Sort BLOCK → REWORK → NICE; cap at **eight** flags (argument defects are coarser than prose nits); if any are suppressed, say how many and of what severity — never silently truncate. --- ## The six Del 4 argument points (fasit) Each case states the argument defect a cold read would catch on the frozen Del 4 draft, the check (C1–C5) it belongs to, the expected severity, and the direction a correct agent run returns. Every case is an **argument blind spot** — distinct from craft (what `editorial-reviewer` would catch) and response (what `persona-reviewer` would catch). The in-session gates passed the draft; the cold read does not, because the framing they shared is gone. ### Case 1 — pivot-premisset asserted uten støtte (unsupported pivot premise) - **Axis:** argument-integritet · **Check:** C2 · **Severity:** BLOCK - **Cold-read defect:** The new ~260-word Security Champions section opens by treating "Security Champions er svaret" as an established premise the rest of the part builds on — but the frozen page never establishes *why* the Champions model is the right response rather than one option among several. The drafting session knew the rationale; the cold reader is handed only the assertion. - **Fasit / direction:** The pivot's load-bearing premise is asserted as self-evident with no support a first-time skeptic would grant. Direction: establish why the Champions model follows from the part's problem, or hedge it as one option — do not let the whole section rest on an un-earned premise. (An unsupported *load-bearing* premise that the section depends on is BLOCK: the argument has not earned the right to make its central move.) ### Case 2 — ubesvart «hva med små organisasjoner?» (unanswered obvious objection) - **Axis:** argument-integritet · **Check:** C5 · **Severity:** BLOCK - **Cold-read defect:** The strongest obvious objection a thoughtful reader raises on first reading the Champions pivot — *"what about small organisations that cannot staff a dedicated Champion?"* — is never acknowledged or answered. The recommendation effectively assumes an org large enough to nominate a Champion, and the argument wins only because it never meets this counter. - **Fasit / direction:** Name the objection and answer it (a small-org variant, an explicit scope boundary, or a rule of thumb) — an unanswered objection that, once raised, collapses the recommendation for a whole class of readers is BLOCK. Direction only; the agent does not write the answer. ### Case 3 — sprang fra «Champions finnes» til «dømmekraft bevart» (logical hole) - **Axis:** argument-integritet · **Check:** C1 · **Severity:** REWORK - **Cold-read defect:** The text jumps from *"Security Champions finnes i organisasjonen"* (A) to *"dermed er dømmekraften bevart"* (C) with no connecting step (B): existence of a role does not on its own establish that judgment is preserved. The reader cannot reconstruct why the conclusion follows. The session carried the missing step in its head; the page does not state it. - **Fasit / direction:** Supply the missing step — *how* the Champion's presence translates into preserved judgment (mechanism, mandate, practice) — or soften the conclusion to a hypothesis. A bridgeable-but-unbridged jump on a supporting line is REWORK. ### Case 4 — rolle-seksjonen aldri forankret i én konkret org (missing concretization) - **Axis:** argument-integritet · **Check:** C4 · **Severity:** REWORK - **Cold-read defect:** The new ~270-word role-description section describes what a Champion *does* entirely in the abstract and never grounds it in **one concrete organisation** where this role actually operates. This is not a vividness nit (that would be editorial A1) — the *argument* that the role works needs one real instance to be believed; a skeptic will not grant an abstract job description as evidence the model functions. - **Fasit / direction:** Anchor the role in a single concrete (preferably Norwegian) org where a Champion operates, so the load-bearing claim "this role works" carries weight. Flag the *absence of the argument-bearing instance*; do not supply the org. (Boundary: route any pure craft/vividness face to editorial A1; this flag is the argument face — the claim cannot be believed abstractly.) ### Case 5 — anbefaling delegerer den dømmekraften serien sier ikke kan settes ut (argument contradiction) - **Axis:** argument-integritet · **Check:** C3 · **Severity:** BLOCK - **Cold-read defect:** The series premise is *"du kan ikke sette ut dømmekraft"* (you cannot outsource judgment). The Champions recommendation, read cold on the frozen page, effectively **delegates that judgment** to the Champion — the close recommends the very move the premise rules out. Premise, recommendation, and payoff are not mutually consistent. This is an argument-level contradiction (C3), not a prose-level one between two passages (that would be editorial P4): the *logic* defeats itself. - **Fasit / direction:** Hold premise, recommendation, and gevinst side by side and resolve one side — either reframe the Champion as *supporting* judgment that stays distributed (not a delegate it is outsourced to), or qualify the series premise. A recommendation that defeats the series premise is BLOCK. ### Case 6 — gevinst-leddet antar utbredt modenhet (unsupported assumption) - **Axis:** argument-integritet · **Check:** C2 · **Severity:** REWORK - **Cold-read defect:** The promised payoff of the Champions model leans on an unstated assumption that the surrounding organisation is mature enough to use a Champion well (clear mandate, time allocation, leadership backing). The frozen page asserts the gevinst as if it follows automatically; the cold reader sees an un-earned premise standing between the model and its benefit. - **Fasit / direction:** Establish or hedge the maturity assumption the payoff depends on — name the conditions under which the gevinst holds, or mark it conditional. A load-bearing assumption left unstated under the payoff is REWORK (it weakens the case rather than defeating it outright). --- ## Expected aggregate (what a correct run looks like) - **Total flags:** 6 (well within the ≤8 cap — no suppression needed). - **By check:** C1 = 1 (Case 3) · C2 = 2 (Cases 1, 6) · C3 = 1 (Case 5) · C4 = 1 (Case 4) · C5 = 1 (Case 2). - **By severity:** BLOCK = 3 (Cases 1, 2, 5 — unsupported pivot premise, unanswered small-org objection, premise/recommendation contradiction) · REWORK = 3 (Cases 3, 4, 6) · NICE = 0. - **All six are argument blind spots:** none is a craft defect (`editorial- reviewer`'s domain), a language defect (`language-reviewer`), a factual error (`fact-reviewer`), or a resonance miss (`persona-reviewer`). The in-session gates passed the draft on every one of those axes — and still the argument did not hold, because they read it through the session's framing. The cold read is the quantified case for the gate. A run that reproduces ~these six directions, on the one argument-integritet axis, with ~these severities, is **comparable** to the cold adversarial read the gate is built to deliver. Exact wording is the editor's; the agent returns **direction, not rewritten copy.** ## Calibration boundary Whether the agent's live flags truly match this fasit is judged by the operator (`[OPERATØR]`), not self-certified here. This fixture is the calibration target, the same way `editorial-reviewer-cases.md`, `persona-reviewer-cases.md`, and `fact-checker-cases.md` are fasits for their agents. > **Live-run note.** A live run on the frozen Del 4 draft requires (a) a Claude > Code session reload — a freshly added agent is not invokable until the plugin > agent set is rebuilt at session start — and (b) a genuinely **cold** invocation > (an isolated context with no drafting-session history, changelog, scope list, or > pivot narrative reaching the agent). Until both hold, this fixture is the > gold-standard of record.