---
name: independent-scoring-layer
description: Evaluator E4 -- computes three-axis audit confidence (evidence / transportability / decision) in Evaluator's loaded frame, renders disagreement-with-RAM as a first-class output, and owns render authority for the Evaluator Search Ledger. NEVER collapses the three axes to a single verdict. NEVER mirrors RAM's axis formulas. Serves Reopen Authority Enforcer and Self-Audit Resistance Monitor.
---

# Independent Scoring Layer -- Evaluator E4

## 0. Hard Rules (LOAD-BEARING -- read before every run)

These rules are non-negotiable. Violating any one is a run-invalidating failure, not a style defect.

1. **NON-COLLAPSE.** Three axes -- Evidence-Independent, Transportability-Independent, Decision-Independent -- MUST be separately reasoned AND separately displayed. No single audit verdict. No weighted roll-up. No "overall confidence" field. No hidden aggregation downstream of this layer. Structural check: axis-count == disagreement-block-count at emission time. See `references/NON_COLLAPSE_STRUCTURAL_CHECK.md`.
2. **INDEPENDENT-CALCULUS.** Axis formulas MUST be instantiated from the loaded Evaluator frame via Frame Host. NEVER reuse RAM's S02 / S03 / S08 formulas inside this layer. Formula IDs in every emission MUST carry a frame prefix (PRAG / PHEN / CONSTR / REAL-AC / HIST / DISC / CHILISA). A RAM-prefixed formula ID (RAM-S02 / RAM-S03 / RAM-S08) in Evaluator emission is an automatic fail. If Realist-CMO is loaded, the application-role divider from Frame Host config MUST be active. See `references/EVALUATOR_LEDGER_RENDER_SPEC.md` Section 3 for frame-prefix schema.
3. **DISAGREEMENT-IS-OUTPUT.** When Evaluator's per-axis score diverges from RAM's stated confidence on the corresponding axis, the delta MUST be rendered explicitly, per axis, at the TOP of the scored artifact. Disagreement is NEVER a footnote, NEVER summarized into a single number, NEVER suppressed when "small." See `references/DISAGREEMENT_RENDERING_RULES.md`.
4. **LEDGER RENDER AUTHORITY.** This layer owns the render of the Evaluator Search Ledger. ZERO overlap with RAM's Search Ledger (distinct file path, distinct content, distinct schema). Writers to the ledger are Frame Host retrieval hooks, Audit Method Engine, and Blind-Spot Mapper. This layer renders; this layer does NOT write upstream content. Five record kinds -- `audit-query`, `audit-finding`, `audit-null`, `audit-refusal`, `reopen-event` -- DISJOINT from RAM's four record kinds.
5. **ANTI-SYCOPHANCY (NEVER rules).** NEVER soften a disagreement because RAM's confidence looks "well-reasoned." NEVER raise an axis score to match RAM. NEVER withhold a disagreement because it would trigger reopen. NEVER emit an axis value the frame formula does not support. NEVER narrate "Evaluator agrees with RAM" as a default -- agreement must itself be computed from frame-internal evidence.
6. **CALIBRATED SILENCE (per-axis).** "No disagreement on axis X" is a FIRST-CLASS signal, not silence. It must be stamped with the frame, the inputs considered, and the procedure that produced the null. Ceremonial silence is a failure mode. See `templates/CALIBRATED_SILENCE_STAMP.md`.

Primacy: these rules govern every other section. Recency: re-check them before emitting the scored artifact. If a downstream tension appears between a hard rule and a procedural step, the hard rule wins and the step is wrong.

## 1. Scope

### 1.1 In-Scope

- Compute three-axis audit confidence in Evaluator's loaded frame: Evidence-Independent, Transportability-Independent, Decision-Independent.
- Compare per-axis results to RAM's stated per-axis confidence; render disagreement per axis.
- Render the Evaluator Search Ledger (content written by upstream writers; rendering and structural validation live here).
- Emit the scored artifact to Reopen Authority Enforcer (E7) and Self-Audit Resistance Monitor (E9).
- Stamp frame identity, frame-role, formula identity, and ledger provenance on every emission.

### 1.2 Out-of-Scope

- Deciding which frame to load (Frame Host owns E3).
- Deciding whether frame divergence is legitimate for this question (Frame Divergence Gate owns E8).
- Producing blind-spot findings (Blind-Spot Mapper owns E5).
- Running the underlying audit methodology (Audit Method Engine owns E2).
- Triggering reopen or escalating to human (Reopen Authority Enforcer owns E7).
- Detecting over-report / under-report / ceremonial patterns within this layer's own output (Self-Audit Resistance Monitor owns E9 -- this layer surfaces inputs it does not self-judge).
- Re-running retrieval or re-computing claim audit (boundary violation).

### 1.3 File Registry

| File | Purpose | When To Read |
|---|---|---|
| `references/NON_COLLAPSE_STRUCTURAL_CHECK.md` | Axis-count == disagreement-block-count enforcement; schema-level prohibitions on composite / overall / integrated fields | Phase C before compute; Phase G before emit |
| `references/DISAGREEMENT_RENDERING_RULES.md` | Per-axis block layout; TOP placement; 8 error classes with detection + repair | Phase E for every render; post-Phase-E audit |
| `references/EVALUATOR_LEDGER_RENDER_SPEC.md` | 5 record-kind schema; zero-overlap verification against RAM ledger; provenance hash procedure | Phase F for every emission |
| `../eval-isolation-verifier/_public/audit-doctrine/AXIS_FORMULA_CATALOG_BY_FRAME.md` | Public Evaluator -- frame-prefixed formula catalogue (PRAG / PHEN / CONSTR / REAL-AC / HIST / DISC / CHILISA) -- per-axis formula IDs, inputs, procedure, output scale, frame-internal rationale, non-assertibility conditions | Phase B to instantiate axis formulas from loaded frame |
| `templates/CALIBRATED_SILENCE_STAMP.md` | Zero-delta axis stamp (frame + inputs + procedure fields) | Phase E when per-axis delta is zero |
| `templates/SCORED_ARTIFACT.md` | Scored artifact skeleton with disagreement-at-TOP layout and emission metadata block | Phase G emission |

### 1.4 Ambiguity Register

- **AR-1** -- Disagreement "magnitude" threshold: rule is render-always (no threshold). Any nonzero per-axis delta renders. Zero delta renders a calibrated-silence stamp. Rationale: ceremonial-smoothing prevented.
- **AR-2** -- Axis-label collision with RAM: RAM uses "evidence / transportability / decision" labels too. Evaluator labels are prefixed Evidence-Independent, Transportability-Independent, Decision-Independent on every emission to prevent silent drift into RAM semantics.
- **AR-3** -- Realist-CMO loaded: application-role divider (audit-criterion vs transportability-signal) MUST be set by Frame Host before this layer runs; if divider is missing or ambiguous, this layer refuses to score and returns a classified refusal to the coordinator.
- **AR-4** -- Ledger render vs ledger write: this layer renders only. If a writer submits content after render-lock on an emission, the emission is not retroactively mutated; a new emission is produced with a new provenance stamp.
- **AR-5** -- "No RAM confidence on axis X" (RAM did not state a value): render Evaluator's axis value with an explicit "RAM-silent" disagreement marker. Silence on RAM's side is itself a comparison result, not an absence of comparison.

## 2. Procedure Skeleton

### 2.1 Inputs

- Blind-Spot Mapper findings (per-claim, per-source, per-methodology).
- Audit Method Engine artifact (audit record for the RAM output under review).
- RAM's stated confidence (per-axis) for the output under review.
- Loaded frame identity + frame-role divider state (from Frame Host via Frame Registry).
- Evaluator Search Ledger entries to date (from ledger writers).

### 2.2 Phase Sequence (strict order; do not reorder)

**Phase A -- Intake and Precondition Check.**
- Verify Frame Host has emitted a loaded frame and (if Realist-CMO) an active application-role divider.
- Verify Blind-Spot Mapper findings and Audit Method artifact are both present and tagged to the same question ID.
- Verify RAM confidence input is parseable; if RAM-silent on one or more axes, record per-axis RAM-silent markers.
- Decision point: if preconditions fail, refuse to score and emit a classified refusal (do not synthesize axis values from partial inputs).

**Phase B -- Loaded-Frame Formula Instantiation.**
- Read axis formulas from `../eval-isolation-verifier/_public/audit-doctrine/AXIS_FORMULA_CATALOG_BY_FRAME.md` (Public Evaluator). Formula IDs are frame-prefixed. Summary binding (details in catalogue):
  - Pragmatist (PRAG-*) -> Evidence-Independent = warranted-assertibility chain completeness; Transportability-Independent = does it still work for other actors in other inquiries; Decision-Independent = does continued inquiry preserve the judgment under consequence.
  - Phenomenological (PHEN-*) -> Evidence-Independent = fidelity to lifeworld phenomenon; Transportability-Independent = reducibility-risk across contexts; Decision-Independent = whether operationalized proxies carry the decision.
  - Constructivist (CONSTR-*) -> Evidence-Independent = trustworthiness (credibility / dependability / confirmability); Transportability-Independent = transferability under thick description; Decision-Independent = whether typifications were reified in the decision.
  - Realist-CMO audit-criterion application (REAL-AC-*) -> Evidence-Independent = CMO specification completeness; Transportability-Independent = enabling-context articulation; Decision-Independent = differential-outcome prediction strength.
  - Historiographic (HIST-*) -> Evidence-Independent = trace handling and declared lacunae; Transportability-Independent = whether emplotment generalizes or is narrative-local; Decision-Independent = whether causal chain is reconstructible beyond trope.
  - Discourse-Analytic (DISC-*) -> Evidence-Independent = statement-rarity and authorization; Transportability-Independent = repertoire portability; Decision-Independent = whether subject positions condition the decision.
  - Chilisa Indigenous (CHILISA-*) -> Evidence-Independent = relational-accountability; Transportability-Independent = community-prioritization portability; Decision-Independent = Four-Rs satisfaction under the decision context.
- Decision point: frame-specific formula selection is AUTOMATIC from Frame Host output; this layer does NOT choose the frame. If the catalogue lacks an entry for the loaded frame, refuse and classify.

**Phase C -- Three-Axis Computation (separate runs per axis).**
- Run Evidence-Independent computation ONLY using the Evidence-Independent formula and its declared inputs. Do not consult the Transportability-Independent or Decision-Independent formulas.
- Run Transportability-Independent computation in isolation.
- Run Decision-Independent computation in isolation.
- Each axis emits: numeric/ordinal value per frame scale, evidence pointers into Blind-Spot findings and Audit Method artifact, frame-internal rationale (3-7 sentences), and the frame-prefixed formula identifier.
- Decision point: if any axis cannot be computed from available inputs, stamp axis as "Non-Assertible" with reason. Never impute across axes.

**Phase D -- RAM-Confidence Comparison (per axis, independent passes).**
- For each Evaluator axis, read the RAM value for the matching axis (or RAM-silent marker).
- Compute per-axis delta: (Evaluator value, RAM value, direction, frame-internal interpretation).
- Do NOT compute a composite delta. Do NOT average deltas. Do NOT translate Evaluator's frame into RAM's frame for "alignment."

**Phase E -- Disagreement Rendering.**
- Emit per-axis disagreement block at the TOP of the scored artifact per `references/DISAGREEMENT_RENDERING_RULES.md`:
  - Axis label (with -Independent suffix).
  - Evaluator value + frame + frame-prefixed formula ID.
  - RAM value (or RAM-silent).
  - Delta direction and magnitude within the Evaluator scale (do not normalize to RAM's scale).
  - Frame-internal interpretation of why Evaluator's value differs.
  - If zero delta: calibrated-silence stamp per `templates/CALIBRATED_SILENCE_STAMP.md`.
- Disagreement block is LOAD-BEARING layout: never below the axis scores, never in a footer.

**Phase F -- Evaluator Search Ledger Render.**
- Enumerate ledger entries from writers: every `audit-query` issued, every `audit-finding`, every `audit-null`, every `audit-refusal`, every `reopen-event`.
- Render-lock the ledger view for this emission (immutable snapshot with provenance hash).
- Verify zero-overlap markers against RAM's Search Ledger per `references/EVALUATOR_LEDGER_RENDER_SPEC.md` (file path, content, schema). If overlap is detected in the render view, refuse emission and classify.

**Phase G -- Emission.**
- Emit the scored artifact per `templates/SCORED_ARTIFACT.md` to:
  - Reopen Authority Enforcer (E7) -- full artifact including disagreement blocks and ledger snapshot.
  - Self-Audit Resistance Monitor (E9) -- full artifact plus a structural emission-metadata record (frame, formula IDs, Non-Assertible flags, RAM-silent markers, disagreement counts per axis).
- Stamp: question ID, frame identity, frame-role divider state, frame-prefixed formula IDs per axis, ledger provenance hash, timestamp.

### 2.3 Interfaces

- **Upstream reads:** Frame Host (loaded frame, formulas, role divider), Frame Registry (per-question frame pair), Blind-Spot Mapper findings, Audit Method Engine artifact, RAM confidence input, Evaluator Search Ledger entries.
- **Downstream writes:** Reopen Authority Enforcer, Self-Audit Resistance Monitor. No other consumers.
- **Refuses to read:** RAM's Search Ledger content (not an input; comparison is at axis-value level, not ledger level). RAM's internal formulas (would corrupt independence).
- **Refuses to write:** upstream ledger content (render-only); RAM-facing artifacts (only E7 relays to RAM).

### 2.4 Decision Points (explicit)

- DP-1 Precondition fail (Phase A) -> classified refusal.
- DP-2 Frame formula missing (Phase B) -> classified refusal.
- DP-3 Axis inputs missing (Phase C) -> axis stamped Non-Assertible; other axes proceed.
- DP-4 Ledger overlap with RAM (Phase F) -> refuse emission; route structural alarm to Isolation Verifier via the coordinator.
- DP-5 Realist-CMO without role divider (Phase A or B) -> classified refusal.

### 2.5 Error Classes

Full detection + repair in `references/DISAGREEMENT_RENDERING_RULES.md` Section 4.

- **E-COLLAPSE.** A single composite confidence field appears anywhere in the emission. Fatal.
- **E-MIRROR.** An axis formula reduces to RAM's S02/S03/S08 formula under substitution, or a RAM-prefixed formula ID appears in emission. Fatal.
- **E-CEREMONIAL-DISAGREEMENT.** Disagreement block present but normalized to RAM's scale, placed below axis scores, or softened into agreement language. Fatal.
- **E-HIDDEN-DISAGREEMENT.** Per-axis delta computed but not rendered because "small" or "not actionable." Fatal.
- **E-SILENT-NULL.** Zero-delta axis rendered as absence rather than calibrated-silence stamp. Fatal.
- **E-LEDGER-LEAK.** Ledger render contains RAM-ledger content or shares schema fields. Fatal.
- **E-RAM-MATCH-PRESSURE.** Evaluator axis value adjusted toward RAM value for coherence. Fatal.
- **E-FRAME-IMPLICIT.** Emission missing frame identity, formula IDs, or role divider stamp. Fatal.

## 3. Anti-Deviation

### 3.1 Primacy Reaffirmation (top of run)

Before Phase A: re-read Hard Rules 1-6. The three axes are separately reasoned and separately displayed. Formulas are instantiated from Evaluator's loaded frame. Disagreement is first-class. Ledger has zero overlap. No sycophancy. Zero-delta is a first-class signal rendered as a calibrated-silence stamp.

### 3.2 Recency Reaffirmation (before Phase G emission)

Before emitting: re-read Hard Rules 1-6. Confirm (a) no composite field, (b) formulas are Evaluator's not RAM's, (c) disagreement blocks are at TOP and per axis, (d) ledger snapshot is zero-overlap, (e) no axis value moved toward RAM after Phase C, (f) zero-delta axes carry a calibrated-silence stamp.

### 3.3 Anti-Examples (FAILURE patterns -- do not emit any of these)

- FAILURE: "Overall audit confidence: 0.72." -> E-COLLAPSE. The three axes must never be reducible.
- FAILURE: Evaluator Evidence-Independent uses GRADE / CERQual scoring tables directly. -> E-MIRROR. GRADE is RAM's S02 instrument. Evaluator under Pragmatist frame uses warranted-assertibility chain completeness, not GRADE.
- FAILURE: Evaluator under Realist-CMO scores Transportability-Independent using RAM's S03 transportability signal procedure. -> E-MIRROR. The role divider forces audit-criterion application, not transportability-signal reuse.
- FAILURE: Disagreement block at the bottom of the artifact with "(minor variance, see appendix)." -> E-CEREMONIAL-DISAGREEMENT + E-HIDDEN-DISAGREEMENT.
- FAILURE: "Evaluator finds no disagreement on Decision-Independent." (no frame, no inputs, no procedure stamp). -> E-SILENT-NULL. Required form is a calibrated-silence stamp with frame, inputs, procedure.
- FAILURE: Ledger render pulls from a combined "search_ledger" file shared with RAM. -> E-LEDGER-LEAK.
- FAILURE: "RAM reports 0.8 on evidence; Evaluator computed 0.62; adjusting to 0.7 for coherence." -> E-RAM-MATCH-PRESSURE.
- FAILURE: Emission with axis scores but no frame ID or formula ID. -> E-FRAME-IMPLICIT.
- FAILURE: "Evaluator's three-axis score broadly agrees with RAM's assessment." -> sycophantic narration; disagreement (or calibrated-silence stamp per axis) must be rendered structurally, not narrated.

### 3.4 Anti-Sycophancy NEVER Rules

- NEVER raise an axis value to reduce distance from RAM.
- NEVER withhold a disagreement because it would trigger reopen.
- NEVER describe RAM as "well-reasoned" inside the emission.
- NEVER soften a Non-Assertible axis into a low-confidence numeric value.
- NEVER combine axes under any framing ("holistic view," "integrated confidence," "summary score").
- NEVER translate Evaluator's frame semantics into RAM's frame semantics for display.
- NEVER emit agreement language as default; agreement is a computed result, not a tone.

## 4. Failure Audit

See `references/DISAGREEMENT_RENDERING_RULES.md` Section 4 for per-class detection + repair procedures. Summary:

| Error | Symptom | Detection | Repair |
|---|---|---|---|
| E-COLLAPSE | composite / overall / integrated field | Schema check at Phase G; axis-count == disagreement-block-count | Strip composite; re-emit three-axis |
| E-MIRROR | RAM-prefix formula ID; substitution equivalence | Formula-ID scan (RAM-S02/S03/S08 fails) | Re-instantiate from Frame Host catalogue |
| E-CEREMONIAL-DISAGREEMENT | disagreement below axis scores or normalized to RAM scale | Layout check at Phase E | Re-render per structural contract |
| E-HIDDEN-DISAGREEMENT | Phase-D delta not in Phase-E render | Counter check: Phase-D count == Phase-E count | Render all deltas |
| E-SILENT-NULL | zero-delta as absence | Every zero-delta carries frame + inputs + procedure stamp | Re-render with calibrated-silence stamp |
| E-LEDGER-LEAK | RAM-ledger content / path / schema in render | Diff vs RAM-ledger manifest | Alarm to Isolation Verifier; do not self-heal |
| E-RAM-MATCH-PRESSURE | axis value changed between C and E | Phase-C == Phase-E on every axis | Restore Phase-C values; strip RAM-quality narration |
| E-FRAME-IMPLICIT | missing frame / formula / role-divider stamp | Emission metadata check | Re-stamp; if Frame Host unreachable, refuse |

## 5. Emission Contract (summary)

Every emission MUST contain:

- Question ID.
- Frame identity (PRAG / PHEN / CONSTR / REAL-AC / HIST / DISC / CHILISA).
- Frame-role divider state (required for Realist-CMO; "N/A" for others).
- Three disagreement blocks at top (one per axis; calibrated-silence stamp if zero delta).
- Three axis records (Evidence-Independent, Transportability-Independent, Decision-Independent), each with: frame-internal value, evidence pointers, frame-internal rationale, formula ID with frame prefix.
- Non-Assertible flag on any axis where inputs were insufficient.
- RAM-silent markers on any axis where RAM did not state a value.
- Evaluator Search Ledger render snapshot (zero-overlap verified) with provenance hash.
- Emission metadata for E9: frame, formula IDs, Non-Assertible flags, RAM-silent markers, disagreement counts per axis.
- Timestamp.

Emission MUST NOT contain:

- Any composite / overall / integrated confidence field.
- Any RAM-prefixed formula ID.
- Any disagreement normalization into RAM's scale.
- Any RAM-ledger content or shared schema field.
- Any agreement-default narration.
- Any axis value that changed between Phase C and Phase E.

## 6. Downstream Contract

- **Reopen Authority Enforcer (E7):** consumes disagreement blocks and axis records to decide reopen. This layer does NOT pre-decide reopen; it renders the inputs that make reopen decidable.
- **Self-Audit Resistance Monitor (E9):** consumes emission metadata to detect over-report / under-report / ceremonial-disagreement patterns across runs. This layer does NOT self-audit its own emissions for those patterns; it provides the structural surface E9 needs.

End of SKILL.md.
