code wiki / _hdl_build / nx_vizsla_plan_gate.nx

nx_vizsla_plan_gate.nx

buildroot/runtime/_hdl_build/nx_vizsla_plan_gate.nx

14680 B324 linesdepth 2pulls 2 transitivereach 0 importersview sourcekind gate/prooftopic vizsla
docsdependenciesstructsconstsfunctions

about

nx_vizsla_plan_gate.nx -- VIZSLA PLANNER gate: priority/deps/critical-path/milestones/ timeblock proven against HAND-COMPUTED fixtures. COMPOSITION: the timeblock rows load a real calendar via nx_vizsla_calendar and place tasks into ITS free windows. plan "trip" (CONF u4=5 u3=10 u2=30 -- DIFFERENT from the 2/7/30 defaults so the config path is load-bearing: invites at 5 days out grades u4/score48; the default bands would say u3/38): venue jason 07-09 120m imp5 deps - today 07-07 -> READY u4 score50 invites maria 07-12 60m imp4 deps venue -> BLOCKED u4 score48 food jason 07-20 90m imp3 deps invites -> BLOCKED u2 score26 music dave 07-20 45m imp2 deps venue -> BLOCKED u2 score24 budget maria 07-05 30m imp5 deps - + DONE marker -> DONE MILE m1 07-15: due<=07-15 = venue,invites,budget -> 3 tasks, 1 done, pct=33 critical path: venue(120)>invites(60)>food(90) = 270 min verdict: tasks=5 done=1 ready=1 blocked=3 late=0 pct=20 critical_min=270 today=07-10 re-run: venue OVERDUE -> urg5 score60 late=1; verdict late=1 plan "day" + jason's calendar (meeting 10:00-12:00), timeblock 07-08 bounds 08:00-22:00: free [480,600)+[720,1320) = 720 min; priority deep(50) email(38) mega(22) deep 120m -> 08:00-10:00; email 60m -> 12:00-13:00; mega 700m -> UNPLACED (no window fits) verdict placed=2 unplaced=1 used_min=180 free_min=720 plan "cyc": a<->b dependency cycle -> board exits 1 naming stuck=a,b Rows: 1 plan-load 2 idempotent-reload 3 board-ready-priority 4 board-conf-loadbearing 5 board-done 6 board-verdict 7 critical-path 8 milestone-pct 9 board-overdue 10 timeblock-place-first 11 timeblock-next-window 12 timeblock-verdict 13 cycle-detected[neg] 14 board-determinism 15 loud-fail-bad-date[neg] 16 loud-fail-unknown-plan[neg] Evidence: VIZSLA-PLAN-GATE -> stdout + knowledge/status/vizsla_gate.log; exit 0 iff 16/16. spec: knowledge/research/2026-06-22-vizsla-sclass-roadmap.md license_tier: ORIGINAL

dependencies 1 imports · 0 importers

nx_syscalls.nx nx_vizsla_plan_gate.nx

imports: nx_syscalls.nx

imported by: nobody (leaf or entry point)

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

main pg_p sys_write pg_slen pg_ensure sys_openat_rd sys_close pg_p ↻ pg_runv sys_fork sys_openat_wr sys_dup3 sys_mmap sys_execve sys_exit sys_wait4 pg_args sys_mmap ↻ sys_now_us sys_mmap ↻ sys_clock_gettime_mono pg_mkpfx sys_mmap ↻ pg_cat pg_catn sys_mmap ↻ pg_write sys_openat_wr ↻ sys_write ↻ pg_slen ↻ sys_close ↻ pg_runv ↻ pg_args ↻ pg_has sys_mmap ↻ pg_readall sys_openat_rd ↻ sys_lseek sys_mmap ↻ sys_read

structs

none

consts

none

functions

31func pg_slen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
called by 3: pg_ppg_writepg_has
32func pg_p(s: *u8) -> i64 { sys_write(1, s, pg_slen(s)); return 0 }
34func pg_cat(dst: *u8, off: i64, s: *u8) -> i64
called by 2: pg_mkpfxmain
40func pg_catn(dst: *u8, off: i64, v: i64) -> i64
called by 2: pg_mkpfxmain calls 1: sys_mmap
53func pg_write(path: *u8, content: *u8) -> i64
61func pg_readall(path: *u8, szout: *i64) -> *u8
78func pg_runv(elf: *u8, args: *i64, outpath: *u8) -> i64
108func pg_has(path: *u8, needle: *u8) -> i64
called by 1: main calls 3: sys_mmappg_readallpg_slen
127func pg_fileeq(p1: *u8, p2: *u8) -> i64
called by 1: main calls 2: sys_mmappg_readall
142func pg_row(name: *u8, pass: i64) -> i64
called by 1: main calls 1: pg_p
149func pg_args(a1: *u8, a2: *u8, a3: *u8, a4: *u8, a5: *u8, a6: *u8, a7: *u8, a8: *u8) -> *i64
called by 2: pg_ensuremain calls 1: sys_mmap
163func pg_ensure(elf: *u8, organ: *u8) -> i64
171func pg_mkpfx(tag: *u8, us: i64) -> *u8
called by 1: main calls 3: sys_mmappg_catpg_catn
181func main(argc: i64, argv: *i64) -> i64