code wiki / _hdl_build / nx_vizsla_health_gate.nx
nx_vizsla_health_gate.nx
buildroot/runtime/_hdl_build/nx_vizsla_health_gate.nx
about
nx_vizsla_health_gate.nx -- VIZSLA relationship-intelligence gate: the health score is gate-proven against a
construction-known interaction history with HAND-COMPUTED scores (oracle in THIS header). 100% sovereign.
today 2026-06-23. contacts: mom inner(30) alex close(90) pat close(90) sam network(180).
store: mom touched 06-10,05-01,03-01 (3) ; alex 02-01 (1) ; pat 2025-06-01 (1) ; sam never.
open OWE alex book ; open OWE pat dinner.
model: recency [<=cad 100, <=2x 70, <=4x 40, else 10] ; freq min(touch*25,100) ; balance 100-owe*25 ;
health = (rec*50 + freq*30 + bal*20)/100.
mom: rec100 freq75 bal100 -> (5000+2250+2000)/100 = 92 THRIVING
alex:dsince142<=180 rec70 freq25 owe1 bal75 -> (3500+750+1500)/100 = 57 STEADY
pat: dsince387>360 rec10 freq25 owe1 bal75 -> (500+750+1500)/100 = 27 AT-RISK (the quietly-dying one)
sam: never -> rec0 freq0 bal100 -> 20 NEW
=> contacts=4 thriving=1 steady=1 cooling=0 at_risk=1 new=1
Rows:
1 mom-thriving health=92 status=THRIVING recency=100 freq=75 balance=100 touches=3
2 alex-steady health=57 status=STEADY recency=70 freq=25 balance=75 touches=1
3 pat-at-risk health=27 status=AT-RISK recency=10 freq=25 balance=75 touches=1 (recent obligation+stale = at risk)
4 sam-new health=20 status=NEW recency=0 freq=0 balance=100 touches=0
5 verdict contacts=4 thriving=1 steady=1 cooling=0 at_risk=1 new=1
6 neg-no-contacts missing contacts -> exit 1
Evidence: VIZSLA-HEALTH-GATE -> stdout + knowledge/status/vizsla_gate.log; exit 0 iff 6/6.
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
| 26 | func og_slen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n } |
| 27 | func og_p(s: *u8) -> i64 { sys_write(1, s, og_slen(s)); return 0 } |
| 29 | func og_cat(dst: *u8, off: i64, s: *u8) -> i64 |
| 35 | func og_catn(dst: *u8, off: i64, v: i64) -> i64 |
| 48 | func og_write(path: *u8, content: *u8) -> i64 |
| 56 | func og_readall(path: *u8, szout: *i64) -> *u8 |
| 70 | func og_runv(elf: *u8, args: *i64, outpath: *u8) -> i64 |
| 95 | func og_has(path: *u8, needle: *u8) -> i64 |
| 112 | func og_row(name: *u8, pass: i64) -> i64 |
| 118 | func og_args(a1: *u8, a2: *u8, a3: *u8, a4: *u8, a5: *u8) -> *i64 |
| 124 | func og_join(base: *u8, name: *u8) -> *u8 |
| 131 | func main(argc: i64, argv: *i64) -> i64 |