code wiki / _hdl_build / nx_plotgen_gate.nx
nx_plotgen_gate.nx
buildroot/runtime/_hdl_build/nx_plotgen_gate.nx
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
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
structs
| none |
consts
| none |
functions
| 18 | func pw(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 } |
| 19 | func pn(v: i64) -> i64 |
| 29 | func main() -> i64 |