code wiki / _hdl_build / nx_plotgen_gate.nx

nx_plotgen_gate.nx

buildroot/runtime/_hdl_build/nx_plotgen_gate.nx

8570 B201 linesdepth 4pulls 6 transitivereach 0 importersview sourcekind gate/proof
docsdependenciesstructsconstsfunctions

about

nx_plotgen_gate.nx -- CERTIFICATION of nx_plotgen (gamebench hard GAP; the operator's "our own plot generator"). T1 STRUCTURAL VALIDITY -- every choice target is in range, forward-only (acyclic), endings marked T2 ★SOLVABILITY ACROSS 200 SEEDS -- the graph is WALKED with the real sv_choose from nx_story_vm and must reach an ending every time. This is the unwinnable-quest killer, proven by execution not inspection. T3 NO DEAD ENDS -- every non-ending node offers at least one choice T4 DETERMINISM -- same seed -> byte-identical plot (a story is reproducible from its seed) T5 VARIETY -- different seeds -> materially different plots (not one template) T6 GATES ARE REAL -- generated plots actually contain flag-gated choices; without this, solvability would be trivially satisfied by emitting an ungated linear chain T7 ★ANTI-VACUITY -- a gated choice is GENUINELY BLOCKED when its flag is missing. Proves the gating is enforced rather than decorative, and that T2 passes on merit rather than because nothing gates. T8 composes: runs on nx_story_vm and the plot DATA round-trips through nx_gamesave license_tier: ORIGINAL expect_exit: 0

dependencies 3 imports · 0 importers

nx_syscalls.nx nx_plotgen.nx nx_gamesave.nx nx_plotgen_gate.nx

imports: nx_syscalls.nxnx_plotgen.nxnx_gamesave.nx

imported by: nobody (leaf or entry point)

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

main pw sys_write sys_mmap pg_gen sys_mmap ↻ pg_bit pg_rng pn sys_write ↻ sys_mmap ↻ pg_walk sys_mmap ↻ sv_is_end sv_choose sv_is_end ↻ sv_choose ↻ sys_unlinkat gs_save sys_mmap ↻ put64 gsc_put64 gs_cksum gsc_fold_bytes joinsuf slen sys_mmap ↻ sys_openat_wr sys_write ↻ sys_fsync sys_close sys_unlinkat ↻ gs_exists sys_openat_rd sys_close ↻ sys_renameat gs_load sys_mmap ↻ sys_read_file sys_openat_rd ↻

structs

none

consts

none

functions

18func pw(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 calls 1: sys_write
19func pn(v: i64) -> i64
called by 1: main calls 2: sys_writesys_mmap
29func main() -> i64