nx_evidence_verdict.nx
buildroot/runtime/nx_evidence_verdict.nx
about
nx_evidence_verdict.nx -- THE EVIDENCE LAW, shared. Operator directive 2026-07-30: "we dont have evidence
for most of our systems that real actual proven sota ... triangulation between an llm, mechanistic, and
human validated with proven outputs not just navel gazing inputs."
ROOT CAUSE THIS LIBRARY EXISTS TO KILL (all three MEASURED on the live system 2026-07-30):
D1 QUORUM nx_swcompare_evidence.nx:480 read `liar_green = (green >= 1)`. ONE green gate out of five
stamped the whole domain PROVEN. Four RED gates were invisible to the headline number.
D2 EXPIRY nx_sota_status.nx read the stamp's ok=1 unconditionally; `epoch=` was parsed for DISPLAY
only and never gated the verdict. Oldest live stamp measured at 1183616s = 13.7 days.
D3 PROVENANCE ev_stamp wrote no host and no artifact digest, so a verdict produced where the gate
binaries exist (the laptop tree) is byte-indistinguishable from one produced where they do
not (the NAS, where 0 of the declared medbilling/warden gate elfs resolve).
Each defect is the same shape: a VERDICT that outlived, or never contained, the EVIDENCE that earned it.
The fix is not a TTL constant bolted onto one reader -- it is ONE law every reader imports, so the
optimism cannot be re-introduced per-instrument. Sibling of nx_honesty_grade_lib.nx (which grades what a
claim's PROSE earns); this grades what a claim's EXECUTION earns. Import both.
THE BAR (a claim is PROVEN only if EVERY clause holds -- fail-closed, downgrades dominate):
1 QUORUM every declared gate ran and every one came back GREEN. Not "at least one".
2 FRESHNESS the stamp is younger than the policy TTL. A verdict has an expiry date or it is a rumor.
3 PROVENANCE the stamp names WHERE it ran and the DIGEST of what ran (the SLSA/in-toto lesson:
provenance without builder identity + artifact digest is unverifiable by construction).
4 NON-VACUITY each gate has a RECORDED RED observation, i.e. it has been proven able to FAIL.
A gate never observed failing measures nothing. (2026 mutation-testing result: suites
at 100% line/branch coverage scoring 4% mutation score -- coverage is not detection.)
5 TRIANGULATION at least TWO distinct method classes agree, and at least one is MECHANISTIC.
An LLM-only verdict can NEVER prove: 2026 judge studies measure run-to-run self-
agreement at coin-flip rates, and judges over-credit incomplete work by silently
supplying the missing premise. A model may CORROBORATE; it may not CONVICT.
DISAGREEMENT IS NOT AVERAGED. Two classes that disagree return RED, never a mean. A contradiction is a
finding, not a rounding error -- averaging it is how a real defect gets laundered into a passing score.
TTL and the required class count are PARAMETERS, never literals here (rule 11: thresholds live in config,
not code). The caller reads knowledge/evidence_policy.conf and passes them in.
No main, no syscalls -> any grader/census/judge/gate imports it. license_tier: ORIGINAL
dependencies 0 imports · 3 importers
imports: none
imported by: nx_evidence_verdict_gate.nxnx_sota_status.nxnx_swcompare_evidence.nx
structs
| none |
consts
| 40 | const EV_CLASS_MECH: i64 = 1 |
| 41 | const EV_CLASS_LLM: i64 = 2 |
| 42 | const EV_CLASS_HUMAN: i64 = 4 |
| 55 | const EV_CLASS_ORACLE: i64 = 8 |
| 71 | const EV_CLASS_EXPERIENTIAL: i64 = 16 |
| 74 | const EV_UNPROVEN: i64 = 0 |
| 75 | const EV_VACUOUS: i64 = 1 |
| 76 | const EV_STALE: i64 = 2 |
| 77 | const EV_RED: i64 = 3 |
| 78 | const EV_PROVEN: i64 = 4 |
| 172 | const EV_R_GREEN: i64 = 0 |
| 173 | const EV_R_RAN: i64 = 1 |
| 174 | const EV_R_DECLARED: i64 = 2 |
| 175 | const EV_R_EPOCH: i64 = 3 |
| 176 | const EV_R_HOSTLEN: i64 = 4 |
| 177 | const EV_R_DIGLEN: i64 = 5 |
| 178 | const EV_R_REDSEEN: i64 = 6 |
| 179 | const EV_R_CLASSMASK: i64 = 7 |
| 180 | const EV_R_DISSENT: i64 = 8 |
| 181 | const EV_R_SLOTS: i64 = 9 |
| 183 | const EV_P_TTL: i64 = 0 |
| 184 | const EV_P_MINCLASSES: i64 = 1 |
| 185 | const EV_P_REQHUMAN: i64 = 2 |
| 186 | const EV_P_SLOTS: i64 = 3 |
functions
| 83 | func ev_quorum_ok(green: i64, ran: i64, declared: i64) -> i64 |
| 92 | func ev_fresh_ok(stamp_epoch: i64, now: i64, ttl_sec: i64) -> i64 |
| 104 | func ev_prov_ok(host_len: i64, digest_len: i64) -> i64 |
| 114 | func ev_nonvacuous_ok(red_seen: i64, declared: i64) -> i64 called by 1: ev_verdict |
| 121 | func ev_class_count(mask: i64) -> i64 |
| 130 | func ev_triangulated_ok(mask: i64, min_classes: i64) -> i64 |
| 153 | func ev_human_ok(mask: i64, require_human: i64) -> i64 called by 1: ev_verdict |
| 163 | func ev_dissent(dissent_mask: i64) -> i64 called by 1: ev_verdict |
| 191 | func ev_verdict(r: *i64, p: *i64, now: i64) -> i64 called by 2: mainmain calls 7: ev_dissentev_quorum_okev_prov_okev_triangulated_okev_human_okev_nonvacuous_ok+1 |
| 208 | func ev_verdict_name(v: i64) -> *u8 called by 1: main |
| 218 | func ev_honesty_permil(proven: i64, total: i64) -> i64 |