code wiki / (root) / nx_dr_route_cli.nx

nx_dr_route_cli.nx source

↩ module page · 70 lines · 3587 B

1// nx_dr_route_cli.nx -- callable MCP/API surface for the web-vs-private router (DR-7). 2// Given a sub-query's coverage in the private corpus and the web, decides where to source 3// the answer -- and never dead-ends on private when it is insufficient. 4// nx_dr_route <priv_thr> <web_thr> <priv_match> <web_match> <total> (thresholds & counts, permille via coverage) 5// e.g. nx_dr_route 500 500 1 4 5 -> {"private_coverage_permil":200,"route":"WEB_ONLY","uses_web":1,...} 6// license_tier: ORIGINAL No hw writes (Rule 26). expect_exit: 0 7import "nx_dr_route.nx" 8import "nx_syscalls.nx" 9 10func rr_puts(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 } 11func rr_q() -> i64 { let b: *u8 = sys_mmap(1); b[0] = 34 as u8; sys_write(1, b, 1); return 0 } 12func rr_key(name: *u8) -> i64 { rr_q(); rr_puts(name); rr_q(); rr_puts(":" as *u8); return 0 } 13func rr_num(v: i64) -> i64 { 14 let bb: *u8 = sys_mmap(28); var m: i64 = v; var neg: i64 = 0 15 if m < 0 { neg = 1; m = 0 - m } 16 let t: *u8 = sys_mmap(28); var k: i64 = 0 17 if m == 0 { t[0] = 48 as u8; k = 1 } 18 while m > 0 { t[k] = (48 + (m % 10)) as u8; m = m / 10; k = k + 1 } 19 var o: i64 = 0 20 if neg == 1 { bb[o] = 45 as u8; o = o + 1 } 21 var i: i64 = 0 22 while i < k { bb[o] = t[k-1-i]; o = o + 1; i = i + 1 } 23 sys_write(1, bb, o); return 0 24} 25func rr_atoi(a: *u8) -> i64 { 26 var v: i64 = 0; var i: i64 = 0 27 while a[i] != (0 as u8) { 28 let ch: i64 = a[i] as i64 29 if ch >= 48 { if ch <= 57 { v = v * 10 + (ch - 48) } } 30 i = i + 1 31 } 32 return v 33} 34func rr_label(code: i64) -> i64 { 35 if code == 0 { rr_puts("PRIVATE_ONLY" as *u8) } 36 else { if code == 1 { rr_puts("WEB_ONLY" as *u8) } 37 else { if code == 2 { rr_puts("BOTH" as *u8) } 38 else { rr_puts("ESCALATE_WEB" as *u8) } } } 39 return 0 40} 41 42func main(argc: i64, argv: *i64) -> i64 { 43 if argc < 6 { rr_puts("{" as *u8); rr_key("error" as *u8); rr_q(); rr_puts("usage: nx_dr_route <priv_thr> <web_thr> <priv_match> <web_match> <total>" as *u8); rr_q(); rr_puts("}\n" as *u8); sys_exit(2); return 2 } 44 let priv_thr: i64 = rr_atoi(argv[1] as *u8) 45 let web_thr: i64 = rr_atoi(argv[2] as *u8) 46 let priv_match: i64 = rr_atoi(argv[3] as *u8) 47 let web_match: i64 = rr_atoi(argv[4] as *u8) 48 let total: i64 = rr_atoi(argv[5] as *u8) 49 50 let priv_cov: i64 = rt_coverage(priv_match, total) 51 let web_cov: i64 = rt_coverage(web_match, total) 52 let code: i64 = rt_route(priv_cov, web_cov, priv_thr, web_thr) 53 let uw: i64 = rt_uses_web(code) 54 let up: i64 = rt_uses_private(code) 55 56 rr_puts("{" as *u8) 57 rr_key("tool" as *u8); rr_q(); rr_puts("nx_dr_route" as *u8); rr_q(); rr_puts("," as *u8) 58 rr_key("total_terms" as *u8); rr_num(total); rr_puts("," as *u8) 59 rr_key("private_coverage_permil" as *u8); rr_num(priv_cov); rr_puts("," as *u8) 60 rr_key("web_coverage_permil" as *u8); rr_num(web_cov); rr_puts("," as *u8) 61 rr_key("priv_threshold" as *u8); rr_num(priv_thr); rr_puts("," as *u8) 62 rr_key("web_threshold" as *u8); rr_num(web_thr); rr_puts("," as *u8) 63 rr_key("route_code" as *u8); rr_num(code); rr_puts("," as *u8) 64 rr_key("route" as *u8); rr_q(); rr_label(code); rr_q(); rr_puts("," as *u8) 65 rr_key("uses_web" as *u8); rr_num(uw); rr_puts("," as *u8) 66 rr_key("uses_private" as *u8); rr_num(up); rr_puts("," as *u8) 67 rr_key("note" as *u8); rr_q(); rr_puts("private-insufficient never dead-ends (DRBench dominant-failure fix); sovereign integer" as *u8); rr_q() 68 rr_puts("}\n" as *u8) 69 sys_exit(0); return 0 70}