code wiki / (root) / nx_handcheck_gate.nx

nx_handcheck_gate.nx

buildroot/runtime/nx_handcheck_gate.nx

2111 B29 linesdepth 4pulls 5 transitivereach 0 importersview sourcekind gate/proof
docsdependenciesstructsconstsfunctions

about

nx_handcheck_gate.nx -- the REFEREE for nx_handcheck, and it exists for one mechanical reason. nx_handcheck's teeth live behind its `selftest` VERB, exactly as nx_footcheck's do. The gate roster (knowledge/gateroster.conf, run by `nx_gate_roster_run beat`) forks its rows BARE -- measured, not assumed: grr_one() calls gk_run_capture_ms(p, 0, 0, 0, 0, ms, ...) with all four argument slots NULL. A bare fork of nx_handcheck prints its usage line and returns 0, so putting the judge itself on the roster would install a row that is GREEN FOREVER WITHOUT EVER RUNNING A TOOTH. That is the vacuous-detector class this estate keeps paying for: its existence would be counted as coverage and its verdict would be worth nothing. nx_footcheck, nx_clipcheck, nx_mhbench and nx_bodyparts all have that same shape today and all need this same wrapper before they can be rostered. This organ is therefore the roster-facing surface: it takes NO arguments, runs the teeth, and returns gv_verdict's exit code so /api/gate_run and the roster both read a real verdict from the EXIT STATUS rather than from prose. IT ADDS NO RULE OF ITS OWN. There is exactly one hand ruler in the estate (hc_measure) and exactly one set of teeth (hc_teeth), and this organ composes both in-process. It builds its own gv counter and hands it to those same teeth, so declared and executed are equal BY CONSTRUCTION and a tooth added to hc_teeth later appears here and in `nx_handcheck selftest` at the same instant -- neither entry point can drift from the other, because there is only one of them. license_tier: ORIGINAL expect_exit: 0 No hw writes (Rule 26).

dependencies 1 imports · 0 importers

nx_handcheck.nx nx_handcheck_gate.nx

imports: nx_handcheck.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main hc_teeth sys_mmap nxa_die sys_write sys_exit nxa_lock_take nxa_lock_addr sys_write ↻ nxa_lock_give nxa_lock_addr ↻ nxa_report_overrun sys_write ↻ nxa_dump_printable sys_write ↻ nxa_dump_sizes sys_write ↻ hc_fx_good sys_mmap ↻ hc_setj hc_measure sys_mmap ↻ hc_children hc_hub_digits hc_chain hc_only_child hc_chain ↻ hc_dist hc_isqrt hc_isqrt ↻ hc_fx_bad sys_mmap ↻ hc_setj ↻ hc_fx_leg sys_mmap ↻ hc_setj ↻ hc_fx_foot sys_mmap ↻ hc_setj ↻ gv_check

structs

none

consts

none

functions

24func main() -> i64
calls 1: hc_teeth