code wiki / _hdl_build / nx_vizsla_notes_gate.nx
nx_vizsla_notes_gate.nx
buildroot/runtime/_hdl_build/nx_vizsla_notes_gate.nx
about
nx_vizsla_notes_gate.nx -- VIZSLA V4b gate: the event-anchored timed
meaningful-note engine, proven against a HAND-COMPUTED fixture (oracle = this
header). No mocks: drives the real organ over real seg_store records.
conf: window_days=3. today=2026-06-14.
events: e1 2026-06-20 mom birthday; e2 2026-07-01 alex surgery;
e3 2026-06-10 sam wedding; e4 2026-09-15 pat graduation.
notes:
n1 e1 BEFORE 7 card signature:img-mom -> release 06-13, deadline 06-20; SENT 06-14 -> SENT
n2 e2 BEFORE 3 text voice:vm-alex -> release 06-28, deadline 07-01; today<release -> WAITING
n3 e3 AFTER 2 card handwritten:scan-sam -> release 06-12, deadline 06-15; 06-12<=06-14<=06-15 -> DUE
n4 e4 ON 0 call text:congrats-pat -> release 09-15, deadline 09-18; today<release -> WAITING
n5 e3 BEFORE 7 card text:goodluck-sam -> release 06-03, deadline 06-10 (event); today>deadline -> LATE
=> notes=5 waiting=2 due=1 late=1 sent=1 ; due-only = {n3}
DATA-DRIVEN: window_days=1 (only change) => n3 deadline 06-13, today 06-14 > -> LATE
=> notes=5 waiting=2 due=0 late=2 sent=1, same binary.
Rows:
1 loud-fail-missing-conf schedule on absent conf => exit 1
2 load-events scanned=10 new=10 segment=seg-7001
3 idempotent-reload new=0 dup_instore=10 segment=none (law 10)
4 before-waiting n2 BEFORE release=2026-06-28 WAITING
5 after-due n3 AFTER release=2026-06-12 deadline=2026-06-15 DUE
6 before-late n5 BEFORE release=2026-06-03 deadline=2026-06-10 LATE
7 on-waiting n4 ON release=2026-09-15 WAITING
8 sent-closes n1 SENT
9 schedule-verdict notes=5 waiting=2 due=1 late=1 sent=1
10 due-filter due lists n3 + DUE-VERDICT due=1 + WAITING absent
11 release-date-inverse+personal n1 release=2026-06-13 + personal=signature:img-mom
12 data-driven-window window=1 => verdict due=0 late=2 (same binary)
13 loud-fail-unknown-event NOTE -> missing EVENT => schedule exit 1
14 schedule-determinism byte-identical twice
Evidence: VIZSLA-NOTE-GATE -> stdout + knowledge/status/vizsla_gate.log; exit 0 iff 14/14.
Tamper: pass a bogus instrument path as argv[1] => all rows FAIL => RED.
spec: knowledge/specs/2026-06-14-thankyounotes-product-spec.md license_tier: ORIGINAL
dependencies 1 imports · 0 importers
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
structs
| none |
consts
| none |
functions
| 38 | func rg_slen(s: *u8) -> i64 |
| 44 | func rg_p(s: *u8) -> i64 |
| 49 | func rg_cat(dst: *u8, off: i64, s: *u8) -> i64 called by 1: main |
| 55 | func rg_catn(dst: *u8, off: i64, v: i64) -> i64 |
| 68 | func rg_write(path: *u8, content: *u8) -> i64 |
| 76 | func rg_readall(path: *u8, szout: *i64) -> *u8 |
| 93 | func rg_run(elf: *u8, a1: *u8, a2: *u8, a3: *u8, a4: *u8, outpath: *u8) -> i64 |
| 120 | func rg_has(path: *u8, needle: *u8) -> i64 |
| 139 | func rg_fileeq(p1: *u8, p2: *u8) -> i64 |
| 154 | func rg_row(name: *u8, pass: i64) -> i64 |
| 161 | func main(argc: i64, argv: *i64) -> i64 |