code wiki / _hdl_build / nx_stl_view_register.nx
nx_stl_view_register.nx source
↩ module page · 57 lines · 2741 B
1// nx_stl_view_register.nx -- GOVERNED registration of the STL browser-viewer capability.
2// Engineer verdict from the REAL re-run of /tmp/nx_stl_view_html_test.elf (wait4 status);
3// Council sep-of-duties + additive-only; Scribe catalog row; only IG_INGEST writes CAPREG.
4// license_tier: ORIGINAL
5import "nx_cap_register.nx"
6import "nx_syscalls.nx"
7
8const SV_LAYER: i64 = 2 // GEN (geometry -> view artifact synthesis)
9const SV_STATUS: i64 = 2 // ECO_PROVEN
10const SV_IDX: i64 = 209
11const SV_NLAYERS: i64 = 6
12
13func svr_run_status(path: *u8) -> i64 {
14 let pid: i64 = sys_fork()
15 if pid == 0 {
16 let argv: *i64 = sys_mmap(32) as *i64; argv[0] = path as i64; argv[1] = 0
17 let envp: *i64 = sys_mmap(16) as *i64; envp[0] = 0
18 sys_execve(path, argv, envp); sys_exit(127)
19 }
20 let st: *i64 = sys_mmap(16) as *i64
21 sys_wait4(pid, st, 0)
22 return st[0]
23}
24
25func main() -> i64 {
26 let elf: *u8 = "/tmp/nx_stl_view_html_test.elf" as *u8
27 let probe: i64 = sys_openat_rd(elf)
28 var compiled: i64 = 0; var linked: i64 = 0
29 if probe >= 0 { compiled = 1; linked = 1; sys_close(probe) }
30 let raw: i64 = svr_run_status(elf)
31 var ran_no_signal: i64 = 0
32 if (raw % 128) == 0 { ran_no_signal = 1 }
33 var exit_ok: i64 = 0
34 if raw == 0 { exit_ok = 1 }
35 let eng: i64 = ig_engineer(compiled, linked, ran_no_signal, exit_ok)
36 cr_w(1, "ENGINEER verdict=" as *u8); cr_wn(1, eng); cr_w(1, " (1=PASS)\n" as *u8)
37
38 let cat: i64 = sys_openat_rd("knowledge/CAPABILITY_CATALOG.md" as *u8)
39 var documented: i64 = 0
40 if cat >= 0 { documented = ig_documented(1, 1); sys_close(cat) }
41 let council: i64 = ig_council(eng, 1, 1, 2)
42 let decision: i64 = ig_decision(eng, council, documented)
43 cr_w(1, "GOVERNED decision=" as *u8); cr_wn(1, decision); cr_w(1, " (1=INGEST)\n" as *u8)
44 if decision != IG_INGEST {
45 cr_w(1, "HELD reason=" as *u8); cr_wn(1, ig_held_reason(eng, council, documented)); cr_w(1, "\n" as *u8)
46 sys_exit(1)
47 }
48 if cr_can_register(SV_LAYER, SV_STATUS, SV_NLAYERS, decision) != 1 {
49 cr_w(1, "REFUSED\n" as *u8); sys_exit(1)
50 }
51 let fd: i64 = sys_openat_append("/tmp/nishi_cap_registry.log" as *u8, 0x1a4)
52 cr_write_entry(fd, SV_IDX, SV_LAYER, "GEN STL-VIEW-HTML -- sovereign browser viewer: STL -> self-contained HTML + hand-authored WebGL orbit/zoom renderer (NO three.js, nothing injected); the 'see the CAD of the STL' rung (polyrook-class view); 7/7 KATs; real artifact /tmp/nishi_stl_view.html; next: in-browser edit (sculpt/boolean/repair) + slice-preview overlay" as *u8, SV_STATUS)
53 sys_close(fd)
54 cr_w(1, "CAPREG idx=" as *u8); cr_wn(1, SV_IDX); cr_w(1, " REGISTERED\n" as *u8)
55 sys_exit(0)
56 return 0
57}