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}