nx_atlas_prov.nx source
↩ module page · 54 lines · 1902 B
1// nx_atlas_prov.nx -- atlas-hygiene ZOMBIE-LOOP FIREWALL (blueprint Callout 2 / F263).
2// Enforces the provenance rule: AI_SYNTHESIZED nodes CANNOT be PRIMARY validation for new hypotheses
3// (prevents the self-reinforcing agent-summarizes-agent zombie loop). source_type -> ALLOW/BLOCK + EXIT:
4// 0 = valid primary (PRIMARY_HUMAN|PRIMARY_EMPIRICAL), 5 = AI_SYNTHESIZED refused, 6 = unknown fail-closed.
5// Zero side effects. license_tier: ORIGINAL expect_exit: 0
6import "nx_syscalls.nx"
7
8func ap_slen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
9
10func ap_streq(a: *u8, b: *u8) -> i64 {
11 var i: i64 = 0
12 while a[i] != (0 as u8) {
13 if a[i] != b[i] { return 0 }
14 i = i + 1
15 }
16 if b[i] != (0 as u8) { return 0 }
17 return 1
18}
19
20func main(argc: i64, argv: *i64) -> i64 {
21 if argc < 2 {
22 sys_write(1, "ATLASPROV ERR need source_type\n" as *u8, 31)
23 sys_exit(2)
24 return 2
25 }
26 let st: *u8 = argv[1] as *u8
27 let ln: i64 = ap_slen(st)
28 if ap_streq(st, "AI_SYNTHESIZED" as *u8) == 1 {
29 sys_write(1, "ATLASPROV BLOCK src=" as *u8, 20)
30 sys_write(1, st, ln)
31 sys_write(1, " zombie-loop-refused\n" as *u8, 21)
32 sys_exit(5)
33 return 5
34 }
35 if ap_streq(st, "PRIMARY_HUMAN" as *u8) == 1 {
36 sys_write(1, "ATLASPROV ALLOW src=" as *u8, 20)
37 sys_write(1, st, ln)
38 sys_write(1, " valid-primary\n" as *u8, 15)
39 sys_exit(0)
40 return 0
41 }
42 if ap_streq(st, "PRIMARY_EMPIRICAL" as *u8) == 1 {
43 sys_write(1, "ATLASPROV ALLOW src=" as *u8, 20)
44 sys_write(1, st, ln)
45 sys_write(1, " valid-primary\n" as *u8, 15)
46 sys_exit(0)
47 return 0
48 }
49 sys_write(1, "ATLASPROV BLOCK src=" as *u8, 20)
50 sys_write(1, st, ln)
51 sys_write(1, " unknown-source_type-fail-closed\n" as *u8, 33)
52 sys_exit(6)
53 return 6
54}