code wiki / (root) / nx_gate_verdict.nx

nx_gate_verdict.nx

buildroot/runtime/nx_gate_verdict.nx

44993 B906 linesdepth 2pulls 2 transitivereach 2465 importersview sourcekind librarytopic gate
docsdependenciesstructsconstsfunctions

about

nx_gate_verdict.nx -- THE canonical gate-AUTHORING verdict lib (D001 first rung, 2026-07-18). The debt: 2555 gate organs each hand-roll puts/num/pass/ttl/PASS-FAIL/verdict -- zero DRY. This is the ONE copy gates import instead. Sibling of nx_gate_green.nx (which JUDGES a gate's output from outside; this lib EMITS it from inside). Contract emitted: " <check-name>: PASS\n" | " <check-name>: FAIL\n" per check "\nNX-<GATE-NAME> passed <p>/<t> verdict=GREEN (<note>)\n" | " verdict=RED\n" -- the exact shape nx_gate_green / nx_autograde already judge (anchor "verdict=", pat "GREEN"). Usage: let ctr: *i64 = gv_ctr() // [0]=pass [1]=ttl gv_head("my gate -- what it proves") gv_check("T1 the thing holds", t1_ok, ctr) // t1_ok: 1 pass, else fail ... let rc: i64 = gv_verdict("MY-GATE", ctr, "green note") // prints summary; 0 GREEN / 1 RED sys_exit(rc) license_tier: ORIGINAL No hw writes (Rule 26).

dependencies 1 imports · 2425 importers

nx_syscalls.nx nx_gate_verdict.nx _debolt_gate.nx _drv_bind_gate.nx _drv_proto_gate.nx _gpu_bm_qmd_v5_gate.nx _gpu_dxg_submit_gate.nx _k_r2_001b2a_gate.nx _k_r2_001b2b_gate.nx _k_r2_001b3_gate.nx _k_r2_001c1_gate.nx _lawsweep_gate.nx

diagram shows first 10 each side; +0 more imports, +2415 more importers in the complete lists below.

imports: nx_syscalls.nx

imported by: _debolt_gate.nx_drv_bind_gate.nx_drv_proto_gate.nx_gpu_bm_qmd_v5_gate.nx_gpu_dxg_submit_gate.nx_k_r2_001b2a_gate.nx_k_r2_001b2b_gate.nx_k_r2_001b3_gate.nx_k_r2_001c1_gate.nx_lawsweep_gate.nx_mmu_gate.nx_nndev_gate.nx_priv_gate.nx_simsize_gate.nx_syscall_gate.nx_timer_irq_gate.nx_umode_gate.nx_xperf003c1_gate.nxcomposedry_probe_gate.nxdeployclass_gate.mig.nxdeployclass_gate.nxfx_gate.nxnx_absa_bench_gate.nxnx_absa_seq_gate.nxnx_abstat_aa_gate.nxnx_abstat_gate.nxnx_accept_binding_gate_t230.nxnx_accept_cli_gate_t230.nxnx_accept_gate.nxnx_accept_release_gate.nxnx_acceptview_gate.nxnx_access_wall_exceed_gate.nxnx_acquire_gate.nxnx_acquire_license_gate.nxnx_actbench.nxnx_activities_gate.nxnx_actlog.nxnx_actlog_gate.nxnx_actlog_writer_gate.nxnx_ad_banner_builder_gate.nxnx_ad_banner_exceed_gate.nxnx_ad_banner_gate.nxnx_ad_bill_gate.nxnx_ad_botfilter_gate.nxnx_ad_conversion_gate.nxnx_ad_emitter_registry_gate.nxnx_ad_exceed_gate.nxnx_ad_feedback_gate.nxnx_ad_h2h_gate.nxnx_ad_intake_gate.nxnx_ad_ivt_gate.nxnx_ad_meter_gate.nxnx_ad_nb_fold_gate.nxnx_ad_offering_gate.nxnx_ad_reach_gate.nxnx_ad_serve_gate.nxnx_ad_serve_policy_gate.nxnx_ad_view_gate.nxnx_adnet_apply_gate.nxnx_adnet_bill_gate.nxnx_adnet_billv_gate.nxnx_adnet_campaign_gate.nxnx_adnet_creative_gate.nxnx_adnet_crm_gate.nxnx_adnet_dash_gate.nxnx_adnet_invoice_gate.nxnx_adnet_ops_gate.nxnx_adnet_reconcile_gate.nxnx_adnet_selfserve_gate.nxnx_adnet_slot_gate.nxnx_adnet_submit_gate.nxnx_adnet_view_gate.nxnx_adopt_observation_gate_t313.nxnx_adoptdelta_gate.nxnx_adversarial_sov_gate.nxnx_adverse_net_gate.nxnx_aead_extvec_gate.nxnx_aes256_gcm_gate.nxnx_aescbc_extvec_gate.nxnx_aesthetic_canon_gate.nxnx_aggregate_assignment_repro_t230.nxnx_aid_federation_gate.nxnx_aid_gate.nxnx_aimode_read_gate.nxnx_alias_layout_gate.nxnx_alpha_release_workflow_canonical_gate_t343.nxnx_alpha_release_workflow_gate_t343.nxnx_amd_pm4_gate.nxnx_analyst_causal_gate.nxnx_analyst_dashboard_gate.nxnx_analyst_data_gate.nxnx_analyst_infer_gate.nxnx_analyst_insight_gate.nxnx_analyst_multi_gate.nxnx_analyst_report_gate.nxnx_analyst_store_gate.nxnx_analyst_store_scale_gate.nxnx_analyze_gate.nxnx_antibot_gate.nxnx_api_gateway_gate.nx +2325 more (shown cap 100 declared)

structs

none

consts

18const GV_NL: i64 = 10
22const GV_PLAN_HEADER: i64 = 3
23const GV_PLAN_ENTRY: i64 = 3
24const GV_I64_BYTES: i64 = 8
113const GV_CTR_BYTES: i64 = 24
114const GV_NUM_SCRATCH: i64 = 28
115const GV_ZERO: i64 = 48
116const GV_B10: i64 = 10
159const CE_ENV_PUBLISHED: i64 = 0
160const CE_ENV_REFUSED_BARE: i64 = 1
161const CE_ENV_REFUSED_NO_INTERVAL: i64 = 2
162const CE_ENV_REFUSED_EXCLUDES: i64 = 3
311const GV_MODE_644: i64 = 420
312const GV_LINE: i64 = 512
313const GV_TAB: i64 = 9
314const GV_SLASH: i64 = 47
315const GV_MINUS: i64 = 45
528const GV_ENV_FIELDS: i64 = 16
529const GV_ENV_BYTES: i64 = 128 // GV_ENV_FIELDS * 8
530const GV_ENV_K: i64 = 0
531const GV_ENV_N: i64 = 1
532const GV_ENV_RATE: i64 = 2
533const GV_ENV_WLO: i64 = 3
534const GV_ENV_WHI: i64 = 4
535const GV_ENV_BLO: i64 = 5
536const GV_ENV_BHI: i64 = 6
537const GV_ENV_LO: i64 = 7
538const GV_ENV_HI: i64 = 8
539const GV_ENV_CLUSTERS: i64 = 9
540const GV_ENV_B: i64 = 10
541const GV_ENV_SEED: i64 = 11
542const GV_ENV_MEASURED: i64 = 12
543const GV_ENV_Z: i64 = 13
544const GV_ENV_WIDTH: i64 = 14
545const GV_ENV_TARGET: i64 = 15
546const GV_ENV_REFUSED_PARTITION: i64 = 0 - 1
547const GV_MICRO: i64 = 1000000
548const GV_PERMIL: i64 = 1000
550const GV_Z95_MICRO: i64 = 1959964
553const GV_SQRT_IN_SCALE: i64 = 100
554const GV_SQRT_OUT_SCALE: i64 = 10000
556const GV_BOOT_B_DEFAULT: i64 = 1000
558const GV_BOOT_SEED_DEFAULT: i64 = 20260827
560const GV_PM_A: i64 = 16807
561const GV_PM_M: i64 = 2147483647
563const GV_ENV_N_MAX: i64 = 2000000000
565const GV_ISQRT_HI: i64 = 3037000499
567const GV_HIST_BINS: i64 = 1001
568const GV_HIST_BYTES: i64 = 8008 // GV_HIST_BINS * 8
570const GV_PCT_LO_PERMIL: i64 = 25
571const GV_PCT_HI_PERMIL: i64 = 975
572const GV_ENV_UNDECLARED: *u8 = "UNDECLARED"

functions

26func gv_plan_name_eq(a: *u8, an: i64, b: *u8, bn: i64) -> i64
32func gv_plan_new(names: *u8) -> *i64
65func gv_plan_take(plan: *i64, name: *u8) -> i64
called by 2: gv_plan_checkmain calls 1: gv_plan_name_eq
80func gv_plan_complete(plan: *i64) -> i64
called by 2: gv_plan_finishmain
90func gv_plan_check(plan: *i64, name: *u8, cond: i64, ctr: *i64) -> i64
94func gv_plan_finish(plan: *i64, ctr: *i64) -> i64
118func gv_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 709: mainmainmainmainmainmain+703 calls 1: sys_write
119func gv_num(v: i64) -> i64
145func gv_kv(k: *u8, v: i64) -> i64
called by 362: mainmainmainmainmainmain+356 calls 2: gv_putsgv_num
163func ce_env_refuse(k: *u8, why: *u8, n: i64, lo: i64, hi: i64, code: i64) -> i64
called by 1: ce_number_envelope calls 2: gv_putsgv_num
169func ce_number_envelope(k: *u8, v: i64, n: i64, lo: i64, hi: i64, null_v: i64) -> i64
called by 1: main calls 3: ce_env_refusegv_putsgv_num
180func gv_values_head() -> i64
called by 199: mainmainmainmainmainmain+193 calls 1: gv_puts
195func gv_check_eq(name: *u8, actual: i64, expected: i64, ctr: *i64) -> i64
208func gv_check_near(name: *u8, actual: i64, expected: i64, tol: i64, ctr: *i64) -> i64
221func gv_ctr() -> *i64
called by 2059: mainmainmainmainmainmain+2053 calls 1: sys_mmap
242func gv_need(name: *u8, present: i64, ctr: *i64) -> i64
called by 189: mainmainmainmainmainmain+183 calls 1: gv_puts
266func gv_subjects(name: *u8, n: i64, ctr: *i64) -> i64
276func gv_head(title: *u8) -> i64 { gv_puts(title); gv_puts("\n\n" as *u8); return 0 }
called by 1085: mainmainmainmainmainmain+1079 calls 1: gv_puts
278func gv_check(name: *u8, cond: i64, ctr: *i64) -> i64
called by 1552: mainmainmainmainmainmain+1546 calls 1: gv_puts
295func gv_bite(name: *u8, bad: i64, good: i64, ctr: *i64) -> i64
called by 230: mainmainmainmainmainmain+224 calls 1: gv_puts
317func gv_cat(d: *u8, o: i64, s: *u8) -> i64 { var i: i64 = 0; var p: i64 = o; while s[i] != (0 as u8) { d[p] = s[i]; p = p + 1; i = i + 1 } return p }
318func gv_catn(d: *u8, o: i64, v: i64) -> i64
338func gv_journal(name: *u8, passed: i64, total: i64, green: i64) -> i64
394func gv_note_bare_rate(note: *u8) -> i64
410func gv_verdict(name: *u8, ctr: *i64, note: *u8) -> i64
574func gv_isqrt(v: i64) -> i64
called by 1: gv_wilson_permil
588func gv_wilson_permil(k: i64, n: i64, z_micro: i64, out: *i64) -> i64
called by 2: gv_enveloperg_kat calls 1: gv_isqrt
611func gv_rng_next(state: *i64) -> i64
called by 1: gv_boot_hier
623func gv_boot_hier(ck: *i64, cn: *i64, nc: i64, b: i64, seed: i64, out: *i64) -> i64
685func gv_envelope(k: i64, n: i64, ck: *i64, cn: *i64, nc: i64, z_micro: i64, b: i64, seed: i64, width_target: i64, out: *i64) -> i64
744func gv_envelope_width_ok(out: *i64) -> i64
751func gv_env_pair(a: i64, b: i64) -> i64
called by 1: gv_envelope_print calls 2: gv_putsgv_num
757func gv_envelope_print(label: *u8, out: *i64, harness: *u8) -> i64
784func gv_envelope_json(d: *u8, o0: i64, out: *i64, harness: *u8) -> i64
814func gv_at(buf: *u8, n: i64, at: i64, lit: *u8) -> i64
825func gv_obj_has_n(buf: *u8, n: i64, at: i64) -> i64
called by 1: gv_bare_rate calls 1: gv_at
850func gv_bare_rate(buf: *u8, n: i64) -> i64
880func gv_envelope_comparable(ha: *u8, hb: *u8) -> i64
called by 1: main calls 1: gv_at
898func gv_envelope_check(name: *u8, out: *i64, harness: *u8, ctr: *i64) -> i64
906func gv_exit(rc: i64) -> i64 { sys_exit_group(rc); return rc }