code wiki / (root) / nx_dr_conductor_cli.nx

nx_dr_conductor_cli.nx source

↩ module page · 92 lines · 4425 B

1// nx_dr_conductor_cli.nx -- callable MCP/API surface for the Co-Scientist conductor (DR-4). 2// Runs the whole deterministic research loop (verify-yield -> Elo tournament -> opp-cost 3// budget dispatch) over N candidate research vectors and emits the ranked plan + which 4// vectors earn deep compute. 5// nx_dr_conductor <budget> [supported total cost]... per vector: 3 ints 6// e.g. nx_dr_conductor 8 8 10 3 2 10 2 9 10 5 0 10 1 7// -> {"selected":2,"spent":8,"vectors":[{"rank":1,"id":0,"quality":800,"rating":..,"selected":1},...]} 8// license_tier: ORIGINAL No hw writes (Rule 26). expect_exit: 0 9import "nx_dr_conductor.nx" 10import "nx_syscalls.nx" 11 12func cd_puts(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 } 13func cd_q() -> i64 { let b: *u8 = sys_mmap(1); b[0] = 34 as u8; sys_write(1, b, 1); return 0 } 14func cd_key(name: *u8) -> i64 { cd_q(); cd_puts(name); cd_q(); cd_puts(":" as *u8); return 0 } 15func cd_num(v: i64) -> i64 { 16 let bb: *u8 = sys_mmap(28); var m: i64 = v; var neg: i64 = 0 17 if m < 0 { neg = 1; m = 0 - m } 18 let t: *u8 = sys_mmap(28); var k: i64 = 0 19 if m == 0 { t[0] = 48 as u8; k = 1 } 20 while m > 0 { t[k] = (48 + (m % 10)) as u8; m = m / 10; k = k + 1 } 21 var o: i64 = 0 22 if neg == 1 { bb[o] = 45 as u8; o = o + 1 } 23 var i: i64 = 0 24 while i < k { bb[o] = t[k-1-i]; o = o + 1; i = i + 1 } 25 sys_write(1, bb, o); return 0 26} 27func cd_atoi(a: *u8) -> i64 { 28 var v: i64 = 0; var i: i64 = 0 29 while a[i] != (0 as u8) { 30 let ch: i64 = a[i] as i64 31 if ch >= 48 { if ch <= 57 { v = v * 10 + (ch - 48) } } 32 i = i + 1 33 } 34 return v 35} 36 37func main(argc: i64, argv: *i64) -> i64 { 38 if argc < 2 { cd_puts("{" as *u8); cd_key("error" as *u8); cd_q(); cd_puts("usage: nx_dr_conductor <budget> [supported total cost]..." as *u8); cd_q(); cd_puts("}\n" as *u8); sys_exit(2); return 2 } 39 let budget: i64 = cd_atoi(argv[1] as *u8) 40 let n: i64 = (argc - 2) / 3 41 if n < 1 { cd_puts("{" as *u8); cd_key("error" as *u8); cd_q(); cd_puts("need >=1 vector: supported total cost" as *u8); cd_q(); cd_puts("}\n" as *u8); sys_exit(1); return 1 } 42 43 let sup: *i64 = sys_mmap(n * 8) as *i64 44 let tot: *i64 = sys_mmap(n * 8) as *i64 45 let cost: *i64 = sys_mmap(n * 8) as *i64 46 var t: i64 = 0 47 while t < n { 48 sup[t] = cd_atoi(argv[2 + t * 3] as *u8) 49 tot[t] = cd_atoi(argv[2 + t * 3 + 1] as *u8) 50 cost[t] = cd_atoi(argv[2 + t * 3 + 2] as *u8) 51 t = t + 1 52 } 53 54 // packed output buffer: (5n+1) i64 55 let out: *i64 = sys_mmap((5 * n + 1) * 8) as *i64 56 let cnt: i64 = cond_run(sup, tot, cost, n, budget, out) 57 let ql: *i64 = out 58 let rt: *i64 = ((out as i64) + n * 8) as *i64 59 let pr: *i64 = ((out as i64) + n * 16) as *i64 60 let ord: *i64 = ((out as i64) + n * 24) as *i64 61 let sel: *i64 = ((out as i64) + n * 32) as *i64 62 let spent: *i64 = ((out as i64) + n * 40) as *i64 63 64 cd_puts("{" as *u8) 65 cd_key("tool" as *u8); cd_q(); cd_puts("nx_dr_conductor" as *u8); cd_q(); cd_puts("," as *u8) 66 cd_key("n" as *u8); cd_num(n); cd_puts("," as *u8) 67 cd_key("budget" as *u8); cd_num(budget); cd_puts("," as *u8) 68 cd_key("selected" as *u8); cd_num(cnt); cd_puts("," as *u8) 69 cd_key("spent" as *u8); cd_num(spent[0]); cd_puts("," as *u8) 70 cd_key("vectors" as *u8); cd_puts("[" as *u8) 71 var r: i64 = 0 72 while r < n { 73 if r > 0 { cd_puts("," as *u8) } 74 let id: i64 = ord[r] 75 cd_puts("{" as *u8) 76 cd_key("rank" as *u8); cd_num(r + 1); cd_puts("," as *u8) 77 cd_key("id" as *u8); cd_num(id); cd_puts("," as *u8) 78 cd_key("supported" as *u8); cd_num(sup[id]); cd_puts("," as *u8) 79 cd_key("total" as *u8); cd_num(tot[id]); cd_puts("," as *u8) 80 cd_key("quality_permil" as *u8); cd_num(ql[id]); cd_puts("," as *u8) 81 cd_key("elo" as *u8); cd_num(rt[id]); cd_puts("," as *u8) 82 cd_key("priority" as *u8); cd_num(pr[id]); cd_puts("," as *u8) 83 cd_key("cost" as *u8); cd_num(cost[id]); cd_puts("," as *u8) 84 cd_key("selected" as *u8); cd_num(sel[id]) 85 cd_puts("}" as *u8) 86 r = r + 1 87 } 88 cd_puts("]," as *u8) 89 cd_key("note" as *u8); cd_q(); cd_puts("verify-yield(DR3/2)->Elo tournament(DR1)->opp-cost budget dispatch(DR6); deterministic; feeds DR-0 scorer" as *u8); cd_q() 90 cd_puts("}\n" as *u8) 91 sys_exit(0); return 0 92}