# HANDOFF -- Independent Scoring Layer (Evaluator E4) -- Phase 6 Assembly

**Phase:** 6 -- skill-creator-max
**Status:** ASSEMBLED
**Date:** 2026-04-20

## Purpose

This component computes three-axis audit confidence (Evidence-Independent / Transportability-Independent / Decision-Independent) in Evaluator's loaded frame, renders disagreement with RAM as first-class TOP-of-artifact output, and owns render authority for the Evaluator Search Ledger.

## Assembled Files

- `SKILL.md` -- full operating logic with Hard Rules, 7-phase procedure (A-G), 5 decision points, 8 error classes, emission contract, downstream contract.
- `references/NON_COLLAPSE_STRUCTURAL_CHECK.md` -- axis-count == disagreement-block-count structural check; prohibited field list; schema-level emission validation.
- `references/DISAGREEMENT_RENDERING_RULES.md` -- per-axis block layout; TOP placement; 8 error classes with detection + repair procedures; anti-softening language list.
- `references/EVALUATOR_LEDGER_RENDER_SPEC.md` -- 5 record-kind schema (audit-query / audit-finding / audit-null / audit-refusal / reopen-event) disjoint from RAM ledger's 4 record kinds; frame-prefixed formula ID schema; render procedure; zero-overlap verification.
- `templates/CALIBRATED_SILENCE_STAMP.md` -- zero-delta axis stamp (frame + inputs + procedure fields); prevents E-SILENT-NULL. Replaces the retired "positive-nothing-found" affordance (retired 2026-04-17).
- `templates/SCORED_ARTIFACT.md` -- emission skeleton with disagreement-at-TOP layout contract; prohibited field list; pre-emit validation checklist.
- `HANDOFF.md` -- this file.

## External Reference (Public Evaluator)

- `skills/eval-isolation-verifier/_public/audit-doctrine/AXIS_FORMULA_CATALOG_BY_FRAME.md` -- frame-prefixed formula catalogue (PRAG / PHEN / CONSTR / REAL-AC / HIST / DISC / CHILISA). Owned by E4 by placement but published to Public Evaluator for E3 formula binding. This layer reads; Frame Host binds. Authored 2026-04-26 (Phase 9 prep, Phase 8 W1 source-gap repair).

## Load-Bearing Invariants (must survive Phases 7 / 8 / 9)

1. **Non-collapse.** Three axes separately reasoned AND separately displayed. No composite / overall / integrated field allowed anywhere downstream. Structural tripwire: `axis_count == 3`; `disagreement_block_count == 3`; `axis_count == disagreement_block_count`.
2. **Independent-calculus.** Axis formulas carry frame prefixes (PRAG / PHEN / CONSTR / REAL-AC / HIST / DISC / CHILISA). A `RAM-*` prefix in any axis record, ledger entry, or emission metadata field is an automatic fail (E-MIRROR).
3. **Disagreement is first-class output.** Per-axis disagreement blocks render at the TOP of the emission, in Evaluator's scale, with frame-internal interpretation. Zero delta renders a calibrated-silence stamp with frame + inputs + procedure -- never silence.
4. **Ledger render authority.** This layer renders the Evaluator Search Ledger only (zero overlap with RAM's Search Ledger -- distinct path `state/evaluator/evaluator-search-ledger/`, distinct record kinds, distinct schema, distinct writer set). Writers are Frame Host hooks, Audit Method Engine, Blind-Spot Mapper.
5. **Realist-CMO application-role divider.** Required populated (`audit-criterion` or `transportability-signal`) when `frame_identity == REAL-AC`; absent or ambiguous divider -> classified refusal.

## Non-Collapse Confirmation

- SKILL.md Hard Rule 1 plus `references/NON_COLLAPSE_STRUCTURAL_CHECK.md` together specify a mechanical check: schema-level prohibition on composite / overall / integrated / aggregate / weighted / summary / holistic / total fields; plus semantic-aggregation pattern check (any field whose computation reads more than one axis value fails).
- `templates/SCORED_ARTIFACT.md` enforces three disagreement blocks at TOP, three axis records, and `emission_metadata_for_E9.axis_count == 3` as a structural tripwire that E9 can re-verify at intake.
- Phase C computes each axis in isolation. Phase D compares per axis (no composite delta). Phase E renders per axis (no aggregation). Phase F renders the ledger disjoint from RAM's. Phase G validates before emission.

## Inputs Consumed

- Frame Host (E3): loaded frame, frame-specific axis formulas (via AXIS_FORMULA_CATALOG_BY_FRAME.md), Realist-CMO role divider state.
- Frame Registry (E8, read-only): per-question frame pair.
- Blind-Spot Mapper (E5): per-claim / per-source / per-methodology findings.
- Audit Method Engine (E2): audit artifact.
- RAM stated confidence (per-axis values or `RAM-silent` markers).
- Evaluator Search Ledger entries (written by E3-hook, E2, E5; rendered here).

## Outputs Produced

- Scored artifact to Reopen Authority Enforcer (E7): three disagreement blocks at TOP, three axis records, Non-Assertible flags where applicable, RAM-silent markers where applicable, ledger snapshot with SHA-256 provenance hash, frame + frame-prefixed formula IDs + role-divider stamp.
- Structural emission metadata to Self-Audit Resistance Monitor (E9): frame, formula IDs, Non-Assertible flags, RAM-silent markers, per-axis disagreement counts, `axis_count: 3` structural tripwire.

## Fatal Error Classes (each triggers classified refusal or abort-and-repair)

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

- **E-COLLAPSE** -- composite / overall / integrated field.
- **E-MIRROR** -- RAM-formula reuse or `RAM-*` prefix in emission.
- **E-CEREMONIAL-DISAGREEMENT** -- disagreement demoted below axis scores, normalized to RAM's scale, or softened into agreement language.
- **E-HIDDEN-DISAGREEMENT** -- delta computed but not rendered because "small" or "not actionable."
- **E-SILENT-NULL** -- zero-delta rendered as absence instead of calibrated-silence stamp.
- **E-LEDGER-LEAK** -- ledger render contains RAM-ledger content, path, record kind, or schema field.
- **E-RAM-MATCH-PRESSURE** -- axis value moved toward RAM post-Phase-C.
- **E-FRAME-IMPLICIT** -- missing frame / formula ID / role-divider stamp.

## Interfaces to Surrounding Components

- **Does NOT:** choose frames (Frame Host E3), decide frame divergence (Frame Divergence Gate E8), produce blind-spot findings (Blind-Spot Mapper E5), run audit method (Audit Method Engine E2), trigger reopen (Reopen Authority Enforcer E7), self-audit for honesty patterns (Self-Audit Resistance Monitor E9).
- **Does:** instantiate frame-specific axis formulas from the Public Evaluator catalogue; compute each axis in isolation; compare per-axis to RAM; render disagreement blocks at TOP; render Evaluator Search Ledger snapshot with zero-overlap verification; emit with full stamp.

## Zero-Overlap Flags

- **Path root:** `state/evaluator/evaluator-search-ledger/`. Asserted disjoint from RAM's `state/ram/ram-search-ledger/`.
- **Record kinds:** `{audit-query, audit-finding, audit-null, audit-refusal, reopen-event}`. Asserted disjoint from RAM's `{every-query, every-accepted, every-rejected, every-skipped}`.
- **Writer set:** `{E3-hook, E2, E5}` plus E7 through render authority for `reopen-event`. Asserted disjoint from RAM's `{S1, S2, S3, S7, S8}`.
- **Formula ID prefix:** `{PRAG, PHEN, CONSTR, REAL-AC, HIST, DISC, CHILISA}`. Asserted disjoint from RAM's `{RAM-S02, RAM-S03, RAM-S08}`.
- **Emission field names:** prohibited-name list covers composite / overall / integrated / aggregate / weighted / summary / holistic / total forms.

## Downstream Hazards to Watch

- E7 may pressure this layer to pre-decide reopen. REFUSE. Render, do not decide.
- E9 may request self-audit of its own emissions. REFUSE. Provide structural surface only.
- RAM output format drift may cause RAM-silent markers to surge. This is a signal, not a bug; propagate to E9 via emission metadata.
- If Frame Host catalogue misses an entry for a loaded frame, classified refusal -- do not improvise.
- If ledger writers share storage with RAM ledger, E-LEDGER-LEAK trips; route structural alarm to Isolation Verifier via coordinator.

## Sequencing Note

6th in Phase 4 / Phase 6 Evaluator build order (after Isolation Verifier, Frame Host, Frame Divergence Gate, Audit Method Engine, Blind-Spot Mapper). Precedes Self-Audit Resistance Monitor (consumes emission metadata) and Reopen Authority Enforcer (consumes scored artifact).

## Open Items for Phase 7 / 8 / 9

- Phase 7 coordinator must route RAM confidence input to this layer without exposing RAM's internal formulas (independence preservation).
- Phase 7 coordinator must enforce that Self-Audit Resistance Monitor's pattern detection reads emission metadata only, not the full scored artifact body (boundary discipline).
- Phase 8 packaging must preserve the `state/evaluator/evaluator-search-ledger/` path root separate from `state/ram/ram-search-ledger/` in every target profile.
- Phase 9 calibration will populate indistinguishability thresholds in E9 that rely on structural fields this layer emits; emission metadata schema must remain stable.

End of HANDOFF.md.
