code wiki / (root) / nx_companion_rel_gate.nx

nx_companion_rel_gate.nx

buildroot/runtime/nx_companion_rel_gate.nx

7078 B106 linesdepth 7pulls 10 transitivereach 0 importersview sourcekind gate/prooftopic companion
docsdependenciesstructsconstsfunctions

about

nx_companion_rel_gate.nx -- GATE for R1d (nx_companion_rel): relationship state evolves correctly and safely. Proves: (T1) round-trip; (T2) facts APPEND additively (a new fact never erases a prior one); (T3) trust is CLAMPED to 0..100 at both ends (never-brick numeric bound); (T4) a mutation preserves the other fields (read-modify-write is lossless); (T5) the projected context carries stage + facts; (T6) neg -- unknown (persona,user) yields empty context; (T7) ISOLATION -- one persona's relationship with a user is independent of another persona's. Timestamp-fresh /tmp store -> deterministic re-runs. license_tier: ORIGINAL expect_exit: 0

dependencies 2 imports · 0 importers

nx_companion_rel.nx nx_gate_verdict.nx nx_companion_rel_gate.nx

imports: nx_companion_rel.nxnx_gate_verdict.nx

imported by: nobody (leaf or entry point)

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

main rw sys_now_ms sys_mmap sys_clock_gettime_mono rel_update_pfx rel_id tr_cat tr_tab rel_catn reg_put reg_put_x sts_lock sts_mm sys_mmap ↻ sts_werr sys_exit ss_cat sys_openat_append sts_werr ↻ sys_flock reg_key reg_cat ss_get sys_mmap ↻ ss_scan sys_mmap ↻ ss_manifest_dyn ss_scan_seglist reg_strlen reg_id_present sts_unlock sys_flock ↻ sys_close ss_next_segid sys_mmap ↻ ss_cat ↻ ss_readall sys_openat_rd sys_lseek

structs

none

consts

none

functions

10func rw(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 }
called by 1: main
11func rn(v: i64) -> i64 { let bb: *u8=sys_mmap(28); var m: i64=v; if m<0{sys_write(1,"-" as *u8,1);m=0-m} let t: *u8=sys_mmap(28); var k: i64=0; if m==0{t[0]=48 as u8;k=1} while m>0{t[k]=(48+(m%10)) as u8;m=m/10;k=k+1} var i: i64=0; while i<k{bb[i]=t[k-1-i];i=i+1} sys_write(1,bb,k); return 0 }
called by 1: main
12func r_streq(a: *u8, b: *u8) -> i64 { var i: i64=0; while a[i]!=(0 as u8){ if a[i]!=b[i]{return 0} i=i+1 } if b[i]!=(0 as u8){return 0} return 1 }
called by 1: main
13func r_find(hay: *u8, hlen: i64, needle: *u8) -> i64
called by 1: main
21func r_slen(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} return n }
called by 1: main
23func main() -> i64