code wiki / (root) / nx_mvault_record_gate.nx

nx_mvault_record_gate.nx source

↩ module page · 90 lines · 3647 B

1// nx_mvault_record_gate.nx -- proves vault data lands on the SOTA plane: 2// canonical NXR1 record -> CID -> additive seg-store put -> get byte-identical 3// -> field decode; + dedup-determinism; + a gen 3D record (orthogonal axes). 4// run-exit == 0 means GREEN. 5 6import "nx_syscalls.nx" 7import "nx_canon_cid.nx" 8import "nx_mvault_ingest.nx" 9import "nx_mvault_record.nx" 10 11func slen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n } 12 13func streq_n(a: *u8, alen: i64, b: *u8, blen: i64) -> i64 { 14 if alen != blen { return 0 } 15 var i: i64 = 0 16 while i < alen { if a[i] != b[i] { return 0 } i = i + 1 } 17 return 1 18} 19 20// a record field equals an expected string? 21func field_is(rec: *u8, reclen: i64, key: *u8, expect: *u8) -> i64 { 22 let fp: *i64 = sys_mmap(16) as *i64 23 let fl: *i64 = sys_mmap(16) as *i64 24 if mv_rec_field(rec, reclen, key, slen(key), fp, fl) != 1 { return 0 } 25 let vp: *u8 = fp[0] as *u8 26 return streq_n(vp, fl[0], expect, slen(expect)) 27} 28 29func main(argc: i64, argv: *i64) -> i64 { 30 var fails: i64 = 0 31 let prefix: *u8 = "/tmp/mvault_rec_gate-" as *u8 32 33 // ---- record 1: a real tumblr video, classified TS ---- 34 let rec: *u8 = sys_mmap(4096) 35 let src1: *u8 = "tumblr" as *u8 36 let ref1: *u8 = "logging/tumblr/abc.mp4" as *u8 37 let rl: i64 = mv_record_build(rec, MV_CLASS_REAL, MV_TYPE_VIDEO, MV_LVL_TS, src1, ref1) 38 if rl < 8 { fails = fails + 1 } 39 if rec[0] != (78 as u8) { fails = fails + 1 } // NXR1 magic 40 41 let k_class: *u8 = "class" as *u8 42 let k_type: *u8 = "type" as *u8 43 let k_mls: *u8 = "mls" as *u8 44 let k_src: *u8 = "source" as *u8 45 let e_real: *u8 = "real" as *u8 46 let e_video: *u8 = "video" as *u8 47 let e_ts: *u8 = "TS" as *u8 48 let e_tumb: *u8 = "tumblr" as *u8 49 if field_is(rec, rl, k_class, e_real) != 1 { fails = fails + 1 } 50 if field_is(rec, rl, k_type, e_video) != 1 { fails = fails + 1 } 51 if field_is(rec, rl, k_mls, e_ts) != 1 { fails = fails + 1 } 52 if field_is(rec, rl, k_src, e_tumb) != 1 { fails = fails + 1 } 53 54 // CID determinism (dedup by content): same fields -> same 69-byte CID 55 let cid1: *u8 = sys_mmap(80) 56 let cid2: *u8 = sys_mmap(80) 57 cid_of(rec, rl, cid1) 58 let rec_b: *u8 = sys_mmap(4096) 59 let rl_b: i64 = mv_record_build(rec_b, MV_CLASS_REAL, MV_TYPE_VIDEO, MV_LVL_TS, src1, ref1) 60 cid_of(rec_b, rl_b, cid2) 61 if streq_n(cid1, 69, cid2, 69) != 1 { fails = fails + 1 } 62 63 // ---- additive seg-store put, then get back BYTE-IDENTICAL ---- 64 let put_rc: i64 = mv_store_put(prefix, cid1, rec, rl) 65 if put_rc < 0 { fails = fails + 1 } 66 let gp: *i64 = sys_mmap(16) as *i64 67 let gl: *i64 = sys_mmap(16) as *i64 68 let got: i64 = mv_store_get(prefix, cid1, gp, gl) 69 if got != 1 { fails = fails + 1 } 70 if gl[0] != rl { fails = fails + 1 } 71 let gotp: *u8 = gp[0] as *u8 72 if streq_n(gotp, gl[0], rec, rl) != 1 { fails = fails + 1 } 73 74 // ---- record 2: a GEN 3D model -> fields decode (gen/real orthogonal) ---- 75 let rec2: *u8 = sys_mmap(4096) 76 let src2: *u8 = "sovereign-gen" as *u8 77 let ref2: *u8 = "gen/cid/xyz" as *u8 78 let rl2: i64 = mv_record_build(rec2, MV_CLASS_GEN, MV_TYPE_MODEL3D, MV_LVL_TS, src2, ref2) 79 let e_gen: *u8 = "gen" as *u8 80 let e_mod: *u8 = "model3d" as *u8 81 if field_is(rec2, rl2, k_class, e_gen) != 1 { fails = fails + 1 } 82 if field_is(rec2, rl2, k_type, e_mod) != 1 { fails = fails + 1 } 83 84 if fails == 0 { 85 sys_write(1, "MVAULT-RECORD-GATE GREEN store-roundtrip\n" as *u8, 41) 86 return 0 87 } 88 sys_write(1, "MVAULT-RECORD-GATE RED\n" as *u8, 23) 89 return 1 90}