code wiki / _hdl_build / nx_pm_sclass_converge_gate.nx
nx_pm_sclass_converge_gate.nx
buildroot/runtime/_hdl_build/nx_pm_sclass_converge_gate.nx
about
nx_pm_sclass_converge_gate.nx -- THE LIVE CONVERGENCE CAPABILITY (operator: "iterate with the team till
it SEES what you SEE from the audit, in a live fashion"). The PM does NOT take the audit on faith: it
RUNS the team's OWN measurement instruments live and proves they reproduce the audit -- and measures
whether the program has started to FLOW. Concretely, each run:
Pillar C (doomsday): fork+exec the team's OWN nx_omniforge_census live, capture its stdout, parse the
ABSENT/PRESENT/EXCEEDS distribution, and assert it REPRODUCES the audit's recorded numbers
(the team sees what the audit saw). LIAR-KILL: a fabricated audit number must be detected as DIVERGED.
Pillar B (flow): compute live flow from the team's registry+heartbeat instrument (hbm_scan_registry) --
the audit baseline was alive=0 ("doesn't flow"); after the PM program registered+heartbeat, alive>=1.
Then BEAT its own heartbeat (the loop is live) + NEG-CONTROL (a bogus channel must read alive=0, so the
live signal can never be fabricated).
REUSE (rule 15): the fork/exec/capture idiom is nx_gate_sweep::run_gate (stdout->file not /dev/null);
hbm_scan_registry/hb_beat_s/hb_last_beat_s/hbs_field_int from nx_heartbeat_str; WS_PREFIX from the registry.
Sovereign, liar-killed, negative-controlled. license_tier: ORIGINAL expect_exit: 0
dependencies 2 imports · 0 importers
imports: nx_syscalls.nxnx_heartbeat_str.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
| 18 | const CV_RUNNER: *u8 = "_offc/nx_sov_build_run.elf" |
| 19 | const CV_CAP: *u8 = "knowledge/status/pm_sclass_cv_capture.log" |
| 20 | const CV_HBP: *u8 = "knowledge/status/wms_heartbeat.log" |
| 21 | const CV_LOG: *u8 = "knowledge/status/pm_sclass_converge.log" |
| 23 | const CV_ABSENT: i64 = 30 |
| 24 | const CV_PRESENT: i64 = 32 |
| 25 | const CV_EXCEEDS: i64 = 4 |
functions
| 27 | func cw(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 } |
| 28 | func cn(v0: i64) -> i64 |
| 36 | func cv_unlink(p: *u8) -> i64 { return __syscall(263, AT_FDCWD, p, 0, 0, 0, 0) } called by 1: cv_capture |
| 40 | func cv_capture(name: *u8) -> i64 |
| 61 | func cv_parse(key: *u8, klen: i64) -> i64 |
| 69 | func main() -> i64 |