nx_mvault_embed_gate.nx source
↩ module page · 45 lines · 1619 B
1// nx_mvault_embed_gate.nx -- proves embedding blobs round-trip byte-identical
2// on the seg-store, keyed by (cid, model), with per-model isolation.
3// (Build with a clean /tmp store; run-exit == 0 means GREEN.)
4
5import "nx_syscalls.nx"
6import "nx_mvault_embed.nx"
7
8func main(argc: i64, argv: *i64) -> i64 {
9 var fails: i64 = 0
10 let prefix: *u8 = "/tmp/mvault_embed_gate-" as *u8
11 let cid: *u8 = "nxc1-ab12cd34ef5678900123456789abcdef0123456789abcdef0123456789abcdef" as *u8
12 let m_face: *u8 = "arcface" as *u8
13 let m_clip: *u8 = "clip" as *u8
14
15 // a synthetic 8-byte face embedding
16 let vec: *u8 = sys_mmap(16)
17 vec[0] = 10 as u8; vec[1] = 20 as u8; vec[2] = 30 as u8; vec[3] = 40 as u8
18 vec[4] = 50 as u8; vec[5] = 60 as u8; vec[6] = 70 as u8; vec[7] = 80 as u8
19
20 let pr: i64 = mv_embed_put(prefix, cid, m_face, vec, 8)
21 if pr < 0 { fails = fails + 1 }
22
23 let gp: *i64 = sys_mmap(16) as *i64
24 let gl: *i64 = sys_mmap(16) as *i64
25 let got: i64 = mv_embed_get(prefix, cid, m_face, gp, gl)
26 if got != 1 { fails = fails + 1 }
27 if gl[0] != 8 { fails = fails + 1 }
28 let gotp: *u8 = gp[0] as *u8
29 var i: i64 = 0
30 while i < 8 {
31 if gotp[i] != vec[i] { fails = fails + 1 }
32 i = i + 1
33 }
34
35 // per-model isolation: the clip plane has no entry for this cid
36 let got2: i64 = mv_embed_get(prefix, cid, m_clip, gp, gl)
37 if got2 == 1 { fails = fails + 1 }
38
39 if fails == 0 {
40 sys_write(1, "MVAULT-EMBED-GATE GREEN roundtrip+isolation\n" as *u8, 44)
41 return 0
42 }
43 sys_write(1, "MVAULT-EMBED-GATE RED\n" as *u8, 22)
44 return 1
45}