code wiki / _hdl_build / nx_emu_testbed_gate.nx

nx_emu_testbed_gate.nx

buildroot/runtime/_hdl_build/nx_emu_testbed_gate.nx

5686 B132 linesdepth 3pulls 4 transitivereach 0 importersview sourcekind gate/prooftopic emu
docsdependenciesstructsconstsfunctions

about

nx_emu_testbed_gate.nx -- THE REFEREE for the emu testbed. Proves nx_emu_testbed correctly computes the live virtual-fit matrix AND can SEE every failure mode (no-fabricated-green): POSITIVE (real laptop_profiles.tsv + the real host probe): T1 healthy: probe succeeds, >=1 profile FITS virtually here, 0 never-brick (host-mode) violations. NEGATIVE CONTROLS (hermetic /tmp fixtures; the flag MUST fire): N1 oversized : a profile needing ~100 TB RAM -> too_big >= 1 N2 host-mode : a profile with test_mode=host -> never-brick >= 1 (must run in the emu) N3 uncovered : a profile on a non-emulatable arch -> uncovered >= 1 GREEN only if T1 AND N1..N3. Evidence rows + verdict -> knowledge/status/emu_testbed_gate.log. Sovereign: imports the testbed + nx_framed_append + nx_syscalls (no gcc). license_tier: ORIGINAL

dependencies 3 imports · 0 importers

nx_emu_testbed.nx nx_framed_append.nx nx_syscalls.nx nx_emu_testbed_gate.nx

imports: nx_emu_testbed.nxnx_framed_append.nxnx_syscalls.nx

imported by: nobody (leaf or entry point)

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

main sys_now_realtime_sec sys_mmap sys_clock_gettime_real sys_mmap ↻ tb_analyze sys_mmap ↻ sys_read_file sys_openat_rd sys_lseek sys_mmap ↻ sys_read sys_close tb_find_int_after tb_strlen tb_match_at tb_count_line_prefix tb_match_at ↻ tb_field_dup sys_mmap ↻ tb_atoi tb_arch_covered tb_streq tb_streq ↻ et_tmppath et_cat et_catn sys_mmap ↻ et_write_file sys_openat_wr sys_write sys_close ↻ et_puts sys_write ↻ et_row sys_mmap ↻ et_cat ↻ fa_appendz fa_append sys_mmap ↻

structs

none

consts

20const ET_LOG: *u8 = "knowledge/status/emu_testbed_gate.log"
21const ET_REAL: *u8 = "knowledge/registry/laptop_profiles.tsv"
22const ET_RECCAP: i64 = 512

functions

24func et_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 2: et_rowmain calls 1: sys_write
25func et_cat(dst: *u8, off: i64, s: *u8) -> i64 { var i: i64 = 0; while s[i] != 0 as u8 { dst[off + i] = s[i]; i = i + 1 } return off + i }
26func et_catn(dst: *u8, off: i64, v: i64) -> i64
called by 2: et_tmppathmain calls 1: sys_mmap
37func et_write_file(path: *u8, content: *u8) -> i64
46func et_tmppath(out: *u8, stem: *u8, epoch: i64, pid: i64) -> i64
called by 1: main calls 2: et_catet_catn
57func et_row(name: *u8, pass: i64) -> i64
71func main() -> i64