Gates

A gate is an executable check that can fail. This estate holds 36 of them, each carrying a statement of the defect it exists to catch — and, below, the verdict it actually returned.

This is a dated measurement, not a live status. A static site cannot know whether a gate passes right now. Everything here was measured on 2026-08-31 at commit db7dafeb44d1 of gen2-runtime (working tree not clean at the time of measurement). Read it in the past tense, because that is the only tense it can honestly be written in.

What the runner said, here

31
pass
2
fail
3
not run · external
0
law violations

The runner asserts a law separate from any gate’s own verdict: a gate exits zero if and only if the verdict it prints is PASS. A gate that printed FAIL and exited zero would pass a pipeline reading only the exit code while its own words said otherwise. That law held for all 33 gates that ran, and the registry was INCOMPLETE — a gate file on disk but absent from the registry fails the runner, so a check cannot dodge the law by being left out.

What continuous integration said

0 successful runs out of 135 examined. The pipeline has never reported success on any commit in its recorded history. Most recent run 33364948054 at commit db7dafeb44d1: failure.

Its gate-runner tally: 31 PASS · 2 FAIL.

Not passing there: host-tracking=FAILgolive-refuses-agents=FAIL

CI and this machine disagree, and that is the informative part. The same gates on the same commit return 31 PASS / 2 FAIL here and 31 PASS · 2 FAILthere. Some gates need resources CI does not have — a running service, a display, a network the runner cannot reach. Publishing only the local number would be the proponent marking his own homework; publishing only CI’s would hide why those gates fail there. Both are shown, and where a gate passes here and fails there the row below says so.

CI is the closest thing to an independent runner this estate has — a machine the operator does not control, invoking the gates on every push. That makes its verdict worth more evidentially than the local one, and it is the one that was not being published until 2026-08-01.

The rule that makes these worth reading. A check that has never been shown to fail is not considered proven here. Gates are mutation-tested: a representative defect is deliberately introduced, the gate must go red, the defect is reverted, and it must go green again. A gate that stays green through its own mutation is a decoration, and is treated as one.

Every gate, and what it returned

GateVerdict hereIn CIWhat it exists for
build-identity
viewer/verify_build_identity.cjs
PASS
exit 0
PASS—
gaia
viewer/gaia/verify_gaia.cjs
PASS
exit 0
PASS—
gaia-lint
viewer/gaia/gaia_lint.cjs
PASS
exit 0
PASS—
lint-bites
viewer/gaia/verify_lint_bites.cjs
PASS
exit 0
PASS—
golden-pins
viewer/gaia/verify_golden_pins.cjs
PASS
exit 0
PASS—
drift-wellformed
viewer/gaia/verify_drift_wellformed.cjs
PASS
exit 0
PASS—
schema-pointers
viewer/verify_schema_pointers.cjs
PASS
exit 0
PASS—
host-tracking
viewer/verify_host_tracking.cjs
FAIL
exit 1
FAIL—
hud
viewer/hud/verify_hud.cjs
not run · externalnot run—
overlays
viewer/verify_overlays.cjs
not run · externalnot run—
colony
viewer/verify_colony.cjs
not run · externalnot run—
deploy-lag
viewer/gaia/verify_deploy_lag_tripwire.cjs
PASS
exit 0
PASS—
capture-age
viewer/gaia/verify_capture_age_fence.cjs
PASS
exit 0
PASS—
witness-blocked
viewer/gaia/verify_witness_blocked.cjs
PASS
exit 0
PASS—
control-plane-evidence
viewer/verify_control_plane_evidence.cjs
PASS
exit 0
PASS—
golive-refuses-agents
viewer/verify_golive_refuses_agents.cjs
FAIL
exit 1
FAIL—
presence-mint
viewer/verify_presence_mint.cjs
PASS
exit 0
PASS—
limitations-doc
viewer/verify_limitations_doc.cjs
PASS
exit 0
PASS—
gate-attempts
viewer/verify_gate_attempts.cjs
PASS
exit 0
PASS—
ip-fence
viewer/verify_ip_fence.cjs
PASS
exit 0
PASS—
lab-l0
viewer/lab/verify_lab_l0.cjs
PASS
exit 0
PASS—
lab-l1
viewer/lab/verify_lab_l1.cjs
PASS
exit 0
PASS—
lab-l2-shot
viewer/lab/verify_shot.cjs
PASS
exit 0
PASS—
lab-l3
viewer/lab/verify_lab_l3.cjs
PASS
exit 0
PASS—
lab-l4
viewer/lab/verify_lab_l4.cjs
PASS
exit 0
PASS—
lab-l5
viewer/lab/verify_lab_l5.cjs
PASS
exit 0
PASS—
track
viewer/track/verify_track.cjs
PASS
exit 0
PASS—
plan-consistency
viewer/verify_plan_consistency.cjs
PASS
exit 0
PASS—
lab-l6
viewer/lab/verify_lab_l6.cjs
PASS
exit 0
PASS—
claims
viewer/verify_claims.cjs
PASS
exit 0
PASS—
decision
viewer/verify_decision.cjs
PASS
exit 0
PASS—
decide-page
viewer/verify_decide_page.cjs
PASS
exit 0
PASS—
sight-blind
viewer/hud/verify_sight_blind.cjs
PASS
exit 0
PASS—
bagit
viewer/verify_bag.cjs
PASS
exit 0
PASS—
concepts
viewer/verify_concepts.cjs
PASS
exit 0
PASS—
obs-fence
viewer/verify_obs_fence.cjs
PASS
exit 0
PASS—

What this table does not tell you

It is not live. It is what the runner said on 2026-08-31. A gate that passed then may fail now, and the only way to know is to run it — which needs the source repositories, and those are private.

A PASS is the absence of a specific named defect, not the presence of correctness. Each gate tests one failure mode. Thirty-two of them passing means thirty-two named ways of being wrong were checked for and not found. It does not mean the system is right.

Three gates are external: they need live resources and are listed and never run, rather than being silently dropped or fabricated as passes. An unrun check is not a passing check, and it is coloured as neither.

UNI.Minecraft · viewer/gate_registry.json @ db7dafeb44d1 (gen2-runtime) — source repo not public, so this citation cannot be opened