# CIR gold-label validation frames — registered before any label is inspected

**Date:** 10 August 2026. **Status:** REGISTERED AND BINDING at commit. Per
docs/DESIGN_QUINCUNX_CIR_PROTOCOL_20260810.md §3 and condition 11, every choice below —
frames, seeds, strata, sample sizes, codebooks, coders, accuracy margins, failure
dispositions — is frozen by this document before any gold label exists. The sample
draws happen only after this file's commit; no label is inspected before then.

## 1. Scope — which proxies get frames

Per the countersigned audit manifest (nodes PXY-01..06): **PXY-01** (genre:
funerary/votive), **PXY-02** (material: stone/non-stone), **PXY-05** (crude bracket
method, BOTH corpora — the one cross-corpus proxy, plus its crude-vs-structured
disagreement stratum), **PXY-06** (gap-vs-supplied as loss-vs-restored, image-anchored).
**PXY-03** (language codes) runs REVERSE COVERAGE FIRST — full enumeration of distinct
raw `edition_lang` values in the eligible population with mechanical bucketing checks;
only a residual ambiguous class (if any) enters a gold-label frame, under this
document's rules. PXY-04 is mechanical (exact-string) and gets the manifest's recount,
not a frame.

## 2. Gates (restating the protocol's registered defaults; binding here)

Per proxy: 99% one-sided lower confidence bound (exact Clopper–Pearson) on BOTH
sensitivity and specificity must exceed **0.95**. For PXY-05 (the only proxy operating
on more than one corpus): 99% upper bound on the between-corpus accuracy difference
below **0.05**. A proxy failing any gate ⇒ every analysis that consumes it **PARKS**
in the replication (protocol condition 12); no tuning-until-pass.

## 3. Sample sizes — derived, not chosen

Exact binomial design, computed at registration (derivation commands in §9):

| n per gold class | max errors passing the 0.95 gate | exact LCB at that allowance | power at true acc. 0.985 | at 0.99 |
|---:|---:|---:|---:|---:|
| 200 | 3 | 0.9507 | 0.647 | 0.858 |
| 250 | 4 | 0.9543 | 0.678 | 0.892 |
| 300 | 6 | 0.9521 | 0.833 | 0.967 |
| **350** | **8** | **0.9509** | **0.916** | **0.991** |
| 400 | 10 | 0.9503 | 0.959 | 0.997 |

**Registered: n = 350 per gold class** (the smallest n clearing ≥90% power at true
accuracy 0.985 — the same power standard v2.3 registers for its own measurement).
Draw design per proxy: **350 proxy-positive + 350 proxy-negative + 50 rare-stratum
oversample** (raw values seen <20 times pooled), stratum-proportional within the
manifest's named strata (classifier output × province × match path). Sensitivity is
computed on gold-positives and specificity on gold-negatives as ACHIEVED after coding;
if either gold class lands under **250**, the gate is undecidable at registered power
and the proxy PARKS for insufficient gold support — recorded as such, never relaxed.
For PXY-05's cross-corpus gate: the full draw runs per corpus (EDR and EDH sides).

## 4. Public seeds

Per-proxy RNG seed = SHA-256 of the literal string
`QUINCUNX-CIR-GOLD-<node>-20260810` (e.g. `QUINCUNX-CIR-GOLD-PXY-01-20260810`),
interpreted as a big-endian integer, feeding `numpy.random.Generator(PCG64DXSM)`.
Draws are ordered by the deterministic record ordering `edr_id ASC` (or
`external_id ASC` on the EDH side) within each stratum. Anyone can reproduce every
sample from this paragraph.

## 5. Codebooks (binding decision rules; one per proxy)

Common rules: coders see the record's RAW evidence only — never the machine label,
never any alpha-run output, never another coder's label. Every codebook includes an
**ABSTAIN** category (evidence genuinely insufficient); abstentions are excluded from
the sens/spec computation but their rate publishes, and an abstention rate above
**10%** in any cell is a registered frame defect for the audit to adjudicate before
any gate is read.

- **PXY-01 (genre).** Evidence: the record's raw genre/type term text and ref URI, and
  its edition text. Assign FUNERARY (commemorates the dead / marks a burial), VOTIVE
  (fulfils or records a vow or dedication to a deity, including cult dedications), or
  NEITHER (all else: honorific, building, boundary, legal, etc.). Mixed-purpose:
  code the PRIMARY function; if genuinely co-primary, ABSTAIN.
- **PXY-02 (material).** Evidence: raw material term text and ref URI. STONE (any
  rock: marbles, limestones, igneous, clastic, gems) vs NON-STONE (metal, ceramic,
  glass, organic, plaster, mosaic) — ABSTAIN for composite or genuinely ambiguous
  terms.
- **PXY-05 (crude bracket method).** Evidence: the record's raw transcription/edition
  text. Question: does the text contain editorial bracket markup in the Leiden sense
  (restoration/loss marking), as opposed to brackets serving any other function?
  Coded on the registered disagreement stratum with priority (crude and structured
  signals conflicting), plus the standard classes.
- **PXY-06 (loss vs restoration).** Evidence: the record's edition text AND its linked
  image, which the coder must actually view. For each sampled bracketed span: is the
  bracketed material PHYSICALLY LOST on the object as photographed (surface damage,
  break) or EDITORIALLY RESTORED where the stone is legible/intact (formula
  completion)? ABSTAIN if the image does not show the relevant zone.
  **Access rule, registered now:** images fetch from the URLs in the frozen staging
  rows; if more than **20%** of a sample's images are unfetchable or unusable, the
  frame is infeasible and the dependent analysis PARKS (protocol condition 12) —
  exactly the pre-anticipated outcome for a proxy whose construct demands evidence the
  acquisition may not supply.

## 6. Coder architecture

Two independent coders per item: one **claude-family context-sealed lane** and one
**GPT-5.6-sol bridge session** — disjoint model families, per the engine's own
disjoint-family discipline. Both receive identical evidence packets (raw evidence
only; machine labels and any outcome-bearing text stripped at packet assembly by a
separate packet-assembly lane that never sees the coding results). Disagreements go to
a third, context-sealed adjudicator lane (Opus-family) that sees the two labels'
CONTENT but not their authorship, plus the raw evidence. The orchestrator sees only
aggregates and countersigns the computed gates. LLM-dependent steps disclaim
model-level independence per the protocol's own clause — coders can be
context-blinded, not weight-blinded; this is recorded, not hidden.

## 7. Order of operations from here

1. This document commits (the freeze moment).
2. A draw lane samples per §3–4 and assembles masked packets (no labels read).
3. Coding lanes run; adjudication; gates computed mechanically.
4. The audit consumes the gate results as PXY-node dispositions; everything else in
   the audit (mechanical nodes) proceeds in parallel, needing no labels.

## 8. What this document does not do

It does not adjudicate any proxy, disposition any node, or touch the frozen package.
A frame that later proves infeasible (PXY-06's image rule, a gold-class shortfall)
resolves by PARK, never by post-hoc redesign of this registration.

## 9. Reproduction

The §3 table: exact Clopper–Pearson via binomial-tail bisection; the derivation
commands are three lines of stdlib Python recorded in the registering commit's
message trailer and re-derivable from §3's own definitions.

*Registered by the orchestrator under the CIR protocol's authority; sample draws are
unlawful before this file's commit timestamp.*

---

## ERRATUM — 10 August 2026 (dated; wording only, no registered value changes)

§3's phrase "the smallest n clearing ≥90% power" was grid-relative (the tabulated
steps of 50): the exact minimum under the stated rule is n = 344 (power 0.9225 at
true accuracy 0.985; n = 343 gives 0.8526). The registered planning target of 350 is
unchanged and was applied as registered; achieved adjudicated class denominators, not
the planning target, governed the 250 floor, as §3 already provided. Recorded on the
published record's compliance review.
