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}