code wiki / _hdl_build / nx_polite_crawl_register.nx
nx_polite_crawl_register.nx source
↩ module page · 51 lines · 2892 B
1// nx_polite_crawl_register.nx -- GOVERNED registration of the polite crawl governor + the autonomous
2// research loop. Two CAPREG lines, each gated on a REAL re-run of its test ELF. license_tier: ORIGINAL
3import "nx_cap_register.nx"
4import "nx_syscalls.nx"
5
6const PG_NLAYERS: i64 = 6
7
8func pg_run_status(path: *u8) -> i64 {
9 let pid: i64 = sys_fork()
10 if pid == 0 {
11 let dn: i64 = sys_openat_wr("/dev/null" as *u8, 0x1a4)
12 if dn >= 0 { sys_dup3(dn, 1, 0); sys_dup3(dn, 2, 0) }
13 let argv: *i64 = sys_mmap(32) as *i64; argv[0] = path as i64; argv[1] = 0
14 let envp: *i64 = sys_mmap(16) as *i64; envp[0] = 0
15 sys_execve(path, argv, envp); sys_exit(127)
16 }
17 let st: *i64 = sys_mmap(16) as *i64
18 sys_wait4(pid, st, 0)
19 return st[0]
20}
21
22func pg_reg(elf: *u8, idx: i64, layer: i64, name: *u8) -> i64 {
23 let probe: i64 = sys_openat_rd(elf)
24 var present: i64 = 0
25 if probe >= 0 { present = 1; sys_close(probe) }
26 let raw: i64 = pg_run_status(elf)
27 var ran_no_signal: i64 = 0
28 if (raw % 128) == 0 { ran_no_signal = 1 }
29 var exit_ok: i64 = 0
30 if raw == 0 { exit_ok = 1 }
31 let eng: i64 = ig_engineer(present, present, ran_no_signal, exit_ok)
32 let council: i64 = ig_council(eng, 1, 1, 2)
33 let decision: i64 = ig_decision(eng, council, 1)
34 cr_w(1, " gate raw=" as *u8); cr_wn(1, raw); cr_w(1, " decision=" as *u8); cr_wn(1, decision); cr_w(1, "\n" as *u8)
35 if decision != IG_INGEST { return 0 }
36 if cr_can_register(layer, 2, PG_NLAYERS, decision) != 1 { return 0 }
37 let fd: i64 = sys_openat_append("/tmp/nishi_cap_registry.log" as *u8, 0x1a4)
38 cr_write_entry(fd, idx, layer, name, 2)
39 sys_close(fd)
40 cr_w(1, " CAPREG idx=" as *u8); cr_wn(1, idx); cr_w(1, " REGISTERED\n" as *u8)
41 return 1
42}
43
44func main() -> i64 {
45 pg_reg("/tmp/nx_polite_crawl_test.sov.elf" as *u8, 217, 4,
46 "CON POLITE-CRAWL governor -- broad-sample research WITHOUT bot blowback (the two are the SAME move: reach hundreds of sources by spreading THIN across many hosts, never hammering one). Per-host min-interval + robots crawl-delay; EXPONENTIAL BACKOFF on 429/503 (capped); 403 hard-block-forever; round-robin LONGEST-IDLE scheduler (spreads load); BREADTH metric (distinct/total); pc_research_gate = BROAD(>=50 hosts) AND POLITE(<=floor/host) AND high-breadth. 10/10 incl. a simulated 60-host/120-req crawl staying <=2/host" as *u8)
47 pg_reg("/tmp/nx_research_auto_test.sov.elf" as *u8, 218, 4,
48 "CON RESEARCH-AUTO -- the team's AUTONOMOUS research loop tick (no human in loop): composes pc_research_gate (reject any round that wasn't broad+polite = never risk blowback) + rs_scan (mechanically corroborate the fetched corpus) + lm_classify/lm_action (PRODUCTIVE->continue, DRY->re-task don't waste compute, STALL->restart). Self-drives + self-monitors; 4/4 gates" as *u8)
49 sys_exit(0)
50 return 0
51}