# GOV-04 — Auto-Stage Governance Ruling (v1.8.1-C)

This is the recorded **GOV-04 governance ruling**: the human-readable verdict
gating whether the producer's atoms may **auto-stage** (land into the immutable
store unsupervised, at scale) versus routing through the human / spot-check
review queue. It consults the Phase-98 **recorded extraction-quality number**
(`references/extraction-quality-recorded-number.md`) — the **GOV-02
precondition-2** input — to set the auto-stage confidence threshold, and records
that threshold as **PROVISIONAL**. It is the prose half of the D-V181-04 reshape:
it documents **why** Phase-99 Plan 99-04 ships the auto-stage path
**DISABLED-BY-DEFAULT** (`AUTO_STAGE_ENABLED = false`).

> **PROVISIONAL-NOT-RATIFIED — READ THIS FIRST.**
>
> - The gold this number is scored against is **AI-AUTHORED (Claude), NOT human.**
> - `human_ceiling: PENDING (human input required)` — the human-vs-human ceiling
>   is **DEFERRED** per the 2026-06-04 user ruling. No human-validated number is
>   asserted here.
> - The auto-stage bar set by this ruling is therefore **PROVISIONAL-not-ratified**
>   (a ratified human ceiling is the precondition to ratifying it).
> - This number **BOUNDS — it does NOT certify** — the auto-stage decision.
> - **This ruling does NOT authorize unsupervised auto-staging this milestone.**
>   The auto-stage tier exists in code but ships **OFF**; every atom routes to the
>   human / spot-check review queue. Enabling it is a future decision (§Verdict).

## The recorded number consulted (GOV-02 precondition-2)

Source: `references/extraction-quality-recorded-number.md` (QUAL-01 + QUAL-05,
v1.8.1-B producer-agnostic instrument, frozen fixtures commit `ccb5d73`). The
number is cited with raw surfaces (never bare floats):

- **Gold claim-F1 floor:** mean **0.403 @TAU0.5** across **N=3** independent
  `gmd-vault-ingest` producer runs (the 3 runs emitted 15 / 13 / 15 candidate
  atoms — real agent-loop drift). The last scored run (run-3) read raw
  **10/15 P × 10/32 R → F1 0.426**. The TAU sweep: **0.359 @TAU0.6**,
  **0.273 @TAU0.7** (claim matching is token-Jaccard, TAU swept {0.5, 0.6, 0.7}).
- **Atomicity HARD sub-floor:** multi-claim-violation-rate **0.000 (0/15)** —
  **zero** of 15 emitted atoms packed multiple claims (perfect single-claim).
  This is a HARD sub-floor: a high violation rate is NOT buyable-back by high
  P/R elsewhere. *(For the record: 0/15 = zero violations, not all-violations.)*
- **Agent-loop variance (AI self-consistency, NOT the human ceiling):** the
  bounded-variance arm (N=3) measured CLAIM_F1PM stdev **0.018 @TAU0.5 /
  0.034 @TAU0.6 / 0.018 @TAU0.7** (per-mille units). This is the agent-loop
  **drift** metric — how stably the same model family reproduces its own
  atomization across runs — and is **explicitly labelled AI self-consistency,
  NOT the human ceiling.** It is never placed under the "human ceiling" label.
- **ρ (Extraction-Lift recovery ratio):** **1.000** on the FULL qrel set
  **AND 1.000** on the HELD-OUT slice (the `neutral` + `off-winnable` rows,
  disjoint from the rows the substituted atoms most directly affect) — no
  single-corpus overfit signal. ρ **REPORTS** a recovery ratio; it does **NOT**
  certify against a human ceiling.
- **Negative-span FP-rate:** 0.000 (0/12) — zero of 12 adversarial negative
  spans (boilerplate / two-claim-must-split / hedged-opinion) drew a false atom.

The auto-stage threshold (the confidence bar above which an atom *would* land
unsupervised) is set **relative to this clearly-flagged PROVISIONAL number**.
Because the gold is AI-authored and the human ceiling is PENDING, every threshold
derived from it is **PROVISIONAL-not-ratified**.

## The auto-stage VERDICT

**Auto-stage ships DISABLED-BY-DEFAULT this milestone** (99-04
`AUTO_STAGE_ENABLED = false`). This ruling **does NOT authorize unsupervised
auto-staging.** The reasons are load-bearing:

1. **No honest calibrated per-atom confidence source exists today.** The only
   per-atom signal is the producer's OPTIONAL self-reported
   `confidence: high/medium/low` label — an LLM grading its own homework. That is
   not a calibrated probability; it cannot be trusted to admit atoms unsupervised.
2. **The store is immutable and unrecoverable.** Atoms route through the LAND-01
   guarded seam (collision/never-overwrite + bi-temporal first-write stamp +
   immutability). A FALSE auto-staged atom cannot be cleanly retracted. Under a
   PROVISIONAL bar (claim-F1 ≈ 0.40, human ceiling PENDING) and an uncalibrated
   confidence signal, unsupervised landing of immutable atoms violates the
   immutable-store **precision > recall** rule.
3. **The atomicity 0/15 and ρ=1.000 results strengthen measured quality but do
   NOT by themselves license unsupervised auto-staging** — modest claim-F1 + an
   uncalibrated confidence source + a provisional bar remain the binding
   constraints.

**Enabling unsupervised auto-stage is GATED on BOTH:**

- **(a) a ratified human ceiling** — the human-vs-human-F1 spike
  (`references/extraction-quality-noncircularity-protocol.md` §2) run by a human,
  replacing `human_ceiling: PENDING` with a real number that ratifies a threshold;
  **AND**
- **(b) a real calibrated confidence source** — not the agent's self-reported
  high/med/low label.

Both are **a future decision, NOT this milestone.** The auto-stage branch exists
in `bin/lib/vault-review-queue.js` (`routeAtom`, present-but-OFF) so a future
milestone can flip the flag once (a) and (b) hold; until then `routeAtom` returns
`'queue'` for every atom and a branch-creating atom ALWAYS surfaces a human
question.

## Trust framing (D-V181-06)

Trust = **volume × reversibility × human-attention**, NOT authorship. This is why
small, human-reviewed batches (the 99-04 persistent queue + batch-approve-with-
spot-check) proceed **without** a ratified bar — they are low-volume, each atom
gets human attention, and approval is a deliberate human act. The PROVISIONAL bar
gates **unsupervised SCALE only**: large bulk runs where no human looks at each
atom. The bar is not a gate on whether atoms may be authored or reviewed — it is a
gate on whether they may land **without a human in the loop**.

## Scope disjunction (what this ruling does and does NOT touch)

- This is the **GOV-02 precondition-2** measurement + verdict. It is recorded
  **alongside** the existing GOV-02 precondition-1 record
  (`references/vault-curator-split.md` §GOV-02, "Precondition 1
  (retrieval-value): SATISFIED" — VREAD-01 0.545 → 1.000 recall@5). It does
  **NOT** rewrite the precondition-1 record and does **NOT** collapse the two
  preconditions into "met-in-principle." The cross-reference appended to that
  section links here for the precondition-2 verdict.
- This ruling does **NOT touch the GOV-01 bi-temporal pause**
  (`references/vault-bitemporal-investment-gate.md`). GOV-01 is a separate
  investment pause on bi-temporal feature build-out; it stays untouched. GOV-04
  governs only the auto-stage threshold, a disjoint seam.

## How this is consumed

The Phase-100 closure audit consumes this ruling as its **GOV-04 leg**: it
verifies the auto-stage path shipped OFF (`AUTO_STAGE_ENABLED === false`), that
the bar is recorded PROVISIONAL, and that enabling is documented as gated on a
ratified ceiling + a real confidence source. The cross-reference in
`references/vault-curator-split.md` §GOV-02 routes a reader from the precondition
record to this verdict.

---

*Recorded number: `references/extraction-quality-recorded-number.md` (QUAL-01 +
QUAL-05). Harnesses: `tests/audit-extraction-quality.sh` +
`tests/audit-extraction-lift-rho.sh` (frozen fixtures, commit `ccb5d73`; gold
AI-AUTHORED). Non-circularity + the DEFERRED human-ceiling spike scaffold:
`references/extraction-quality-noncircularity-protocol.md`. The shipped mechanism
this ruling governs: `bin/lib/vault-review-queue.js` (`routeAtom`,
`AUTO_STAGE_ENABLED = false`) wired via `bin/lib/vault-ingest.js`
(`landAtomViaReview`), Plan 99-04. Precondition-1 co-record + cross-reference:
`references/vault-curator-split.md` §GOV-02. Disjoint (untouched): the GOV-01
bi-temporal pause `references/vault-bitemporal-investment-gate.md`. Consumer:
Phase-100 closure (GOV-04 leg). Recorded: 2026-06-04.*
