nx_arousal_profile_gate.nx
buildroot/runtime/nx_arousal_profile_gate.nx
about
nx_arousal_profile_gate.nx -- liar-killed GATE for the dual-control profile estimator.
The load-bearing teeth are the two REFUSALS, not the recovery:
- SES and SIS1 must ALWAYS report UNIDENTIFIABLE. They both scale with stimulus, so
stimulus-response data can only recover their DIFFERENCE; emitting a number for either would
be inventing one. This is structural, not a sampling limit -- more sessions cannot fix it.
- a negative SIS2 is an impossible inhibition magnitude and means the observations do not lie on
the model's line. Refuse the fit rather than hand a downstream readout a corrupt profile to
diagnose from.
Recovery itself is checked on two DIFFERENT synthetic profiles so a constant-returning estimator
cannot pass.
Tooth total is DERIVED; G_MIN_TEETH is a floor so a deleted tooth trips RED.
license_tier: ORIGINAL expect_exit: 0
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
| 17 | const G_OUTCAP: i64 = 8192 |
| 18 | const G_MIN_TEETH: i64 = 14 |
functions
| 20 | func g_puts(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 } |
| 21 | func g_putn(v: i64) -> i64 |
| 32 | func g_slen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n } called by 1: g_has |
| 33 | func g_bool(name: *u8, got: i64, want: i64, passp: *i64) -> i64 |
| 39 | func g_has(hay: *u8, hn: i64, needle: *u8) -> i64 |
| 46 | func g_run(elf: *u8, a1: *u8, a2: *u8, a3: *u8, a4: *u8, a5: *u8, out: *u8, cap: i64) -> i64 |
| 78 | func main(argc: i64, argv: *i64) -> i64 |