nx_facet_gate.nx
buildroot/runtime/nx_facet_gate.nx
about
nx_facet_gate.nx -- SREACH R2 GATE: the bits-up facet classifier vs the
verified gold facets, at a permil bar.
module: nishi-core.search.bench.facet_gate
depends: nx_diora_data.nx (gold qrels), nx_facet_classify.nx
capability: GATE
WHY: R2 retires the oracle-from-gold facet labels. This gate is the proof:
run nx_facet_classify over every gold doc, measure agreement as a permil,
print every disagreement (url, gold, got) so a miss is a named defect, and
write ONE machine-readable verdict row to a durable log the Examiner can
grade. exit 0 iff permil >= bar.
Bar rationale (Rule #11): 900 permil = at most 4 of the 45 verified docs may
disagree. Facets feed ONLY the ranking diversity bonus (0.5 gain one-time),
so a single mislabel shifts at most one slot -- 900 keeps the policy honest
without demanding the classifier memorize the gold (which would re-create
the leak this rung removes).
dependencies 2 imports · 0 importers
imports: nx_diora_data.nxnx_facet_classify.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| 23 | const NX_FACET_GATE_BAR_PERMIL: i64 = 900 |
functions
| 25 | func fg_puts(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 } called by 1: main |
| 26 | func fg_putn(v: i64) -> i64 called by 1: main |
| 39 | func fg_fputs(fd: i64, s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(fd, s, n); return 0 } called by 1: main |
| 40 | func fg_fputn(fd: i64, v: i64) -> i64 called by 1: main |
| 54 | func fg_facet_name(f: i64) -> *u8 called by 1: main |
| 65 | func main() -> i64 |