code wiki / _hdl_build / nx_module_author.nx

nx_module_author.nx source

↩ module page · 2950 lines · 262144 B

1// nx_module_author.nx -- the BUILDER AUTHORS a brand-new NishiLang module from a spec, by instantiating a 2// proven structural TEMPLATE (the achievable rung of the invention ladder: novel-COMPOSE / template-fill, 3// not inventing a new algorithm). This is what turns "author new code" from a FAIL CASE (Claude) into 4// autonomous team work. The author EMITS valid NishiLang source text -- the team writes the .nx, the 5// Engineer compiles+runs it, the Council governs it, the Librarian registers it. license_tier: ORIGINAL 6// Extends nx_builder_compose from primitive-composition to genuine module authoring. 7 8import "nx_syscalls.nx" 9 10const MA_VALIDATOR: i64 = 1 // a two-input threshold validator + self-test 11const MA_SCOREBOARD: i64 = 2 // (future) tally-over-array 12 13func ma_w(fd: i64, s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(fd,s,n); return 0 } 14func ma_wn(fd: i64, v: i64) -> i64 { let bb: *u8=sys_mmap(28); var m: i64=v; if m<0{m=0-m}; let t: *u8=sys_mmap(28); var k: i64=0; if m==0{t[0]=48;k=1}; while m>0{t[k]=48+(m%10);m=m/10;k=k+1}; var i: i64=0; while i<k{bb[i]=t[k-1-i];i=i+1}; sys_write(fd,bb,k); return 0 } 15 16// AUTHOR a complete, compilable validator module + a self-test main into `fd`. 17// spec: fname (the function name), t1/t2 (the thresholds), ta/tb (a test case), expected (its result). 18// emitted: func <fname>(a,b) = (a>=t1 && b<=t2); main runs <fname>(ta,tb) and exits 0 iff it == expected. 19func ma_emit_validator(fd: i64, fname: *u8, t1: i64, t2: i64, ta: i64, tb: i64, expected: i64) -> i64 { 20 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (nx_module_author) -- a validator from a spec, not hand-written\n" as *u8) 21 ma_w(fd, "import \"nx_syscalls.nx\"\n" as *u8) 22 ma_w(fd, "func " as *u8); ma_w(fd, fname); ma_w(fd, "(a: i64, b: i64) -> i64 {\n" as *u8) 23 ma_w(fd, " if a >= " as *u8); ma_wn(fd, t1); ma_w(fd, " { if b <= " as *u8); ma_wn(fd, t2); ma_w(fd, " { return 1 } }\n" as *u8) 24 ma_w(fd, " return 0\n}\n" as *u8) 25 ma_w(fd, "func main() -> i64 {\n" as *u8) 26 ma_w(fd, " let ok: i64 = " as *u8); ma_w(fd, fname); ma_w(fd, "(" as *u8); ma_wn(fd, ta); ma_w(fd, ", " as *u8); ma_wn(fd, tb); ma_w(fd, ")\n" as *u8) 27 ma_w(fd, " if ok == " as *u8); ma_wn(fd, expected); ma_w(fd, " { sys_exit(0) }\n" as *u8) 28 ma_w(fd, " sys_exit(1)\n return 0\n}\n" as *u8) 29 return 1 30} 31 32// AUTHOR a SOVEREIGN internet-fetch module from a spec (host + resolver). The team RAISED ITS HAND on the 33// naive compose (nx_dns_io_resolve_a is x86_64-pinned -> clashes with nx_browse_text's nx_syscalls: "symbol 34// sys_write already defined"); Claude TUTORED the fix: compose PURE nx_dns (zero imports) + nx_syscalls UDP 35// (browse_text's own module). This template emits that tutored composition -- the Builder authors it, Claude 36// evaluates. emitted: _ifa_resolve (UDP A-query) + main (resolve -> nx_browse_text fetch -> verify 200). 37func ma_emit_inet_fetch(fd: i64, host: *u8, hlen: i64, ra: i64, rb: i64, rc: i64, rd: i64, txid: i64) -> i64 { 38 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (nx_module_author inet-fetch template) -- sovereign DNS + HTTP fetch.\n" as *u8) 39 ma_w(fd, "// Composes PURE nx_dns (query/parse) + nx_syscalls UDP via nx_browse_text -- NOT x86_64-pinned\n" as *u8) 40 ma_w(fd, "// nx_dns_io_resolve_a (team raised its hand on the syscall clash; Claude tutored this compose).\n" as *u8) 41 ma_w(fd, "import \"nx_dns.nx\"\n" as *u8) 42 ma_w(fd, "import \"nx_browse_text.nx\"\n" as *u8) 43 ma_w(fd, "func _ifa_puts(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 }\n" as *u8) 44 ma_w(fd, "func _ifa_num(v: i64) -> i64 { let bb: *u8=sys_mmap(28); var m: i64=v; if m<0{m=0-m;sys_write(1,\"-\" as *u8,1)}; let t: *u8=sys_mmap(28); var k: i64=0; if m==0{t[0]=48;k=1}; while m>0{t[k]=48+(m%10);m=m/10;k=k+1}; var i: i64=0; while i<k{bb[i]=t[k-1-i];i=i+1}; sys_write(1,bb,k); return 0 }\n" as *u8) 45 // SOVEREIGN resolve: UDP A-query to the resolver, parse the first A record into out4. tx_id fixed for the 46 // first proof -- a real raise-hand follow-on: RFC 5452 wants tx_id from a CSPRNG (wire nx_csprng). 47 ma_w(fd, "func _ifa_resolve(hn: *u8, hl: i64, out4: *u8) -> i64 {\n" as *u8) 48 ma_w(fd, " let sfd: i64 = sys_socket(2, 2, 0)\n" as *u8) // AF_INET, SOCK_DGRAM 49 ma_w(fd, " if sfd < 0 { return 0 - 1 }\n" as *u8) 50 ma_w(fd, " let dst: *u8 = sys_mmap(16)\n" as *u8) 51 ma_w(fd, " br_addr_ipv4(dst, " as *u8); ma_wn(fd, ra); ma_w(fd, ", " as *u8); ma_wn(fd, rb); ma_w(fd, ", " as *u8); ma_wn(fd, rc); ma_w(fd, ", " as *u8); ma_wn(fd, rd); ma_w(fd, ", 53)\n" as *u8) 52 ma_w(fd, " if sys_connect(sfd, dst, 16) < 0 { sys_close(sfd); return 0 - 2 }\n" as *u8) 53 ma_w(fd, " let q: *u8 = sys_mmap(1024)\n" as *u8) 54 ma_w(fd, " let qn: i64 = nx_dns_build_query(hn, hl, 1, " as *u8); ma_wn(fd, txid); ma_w(fd, ", q, 1024)\n" as *u8) // NX_DNS_TYPE_A=1 55 ma_w(fd, " if qn < 0 { sys_close(sfd); return 0 - 3 }\n" as *u8) 56 ma_w(fd, " if sys_sendto(sfd, q, qn, 0, 0 as *u8, 0) != qn { sys_close(sfd); return 0 - 4 }\n" as *u8) 57 ma_w(fd, " let rb2: *u8 = sys_mmap(1024)\n" as *u8) 58 ma_w(fd, " let rn: i64 = sys_recvfrom(sfd, rb2, 1024, 0, 0 as *u8, 0 as *i64)\n" as *u8) 59 ma_w(fd, " sys_close(sfd)\n" as *u8) 60 ma_w(fd, " if rn < 12 { return 0 - 5 }\n" as *u8) 61 ma_w(fd, " let v: i64 = nx_dns_parse_response_a(rb2, rn, " as *u8); ma_wn(fd, txid); ma_w(fd, ", out4)\n" as *u8) 62 ma_w(fd, " if v != 1 { return 0 - (100 + v) }\n" as *u8) // NX_DNS_VERDICT_OK == 1 63 ma_w(fd, " return 0\n}\n" as *u8) 64 // main: resolve sovereignly, then fetch sovereignly, then verify 65 ma_w(fd, "func main() -> i64 {\n" as *u8) 66 ma_w(fd, " _ifa_puts(\"=== BUILDER-AUTHORED SOVEREIGN INET FETCH: nishi DNS resolve + nishi HTTP fetch ===\\n\" as *u8)\n" as *u8) 67 ma_w(fd, " let ip: *u8 = sys_mmap(8)\n" as *u8) 68 ma_w(fd, " let rv: i64 = _ifa_resolve(" as *u8); ma_w(fd, "\"" as *u8); ma_w(fd, host); ma_w(fd, "\"" as *u8); ma_w(fd, " as *u8, " as *u8); ma_wn(fd, hlen); ma_w(fd, ", ip)\n" as *u8) 69 ma_w(fd, " _ifa_puts(\" sovereign DNS resolve: rv=\" as *u8); _ifa_num(rv); _ifa_puts(\" -> \" as *u8)\n" as *u8) 70 ma_w(fd, " _ifa_num(ip[0] as i64); _ifa_puts(\".\" as *u8); _ifa_num(ip[1] as i64); _ifa_puts(\".\" as *u8); _ifa_num(ip[2] as i64); _ifa_puts(\".\" as *u8); _ifa_num(ip[3] as i64); _ifa_puts(\"\\n\" as *u8)\n" as *u8) 71 ma_w(fd, " if rv != 0 { _ifa_puts(\" RESOLVE FAILED -- the team raises its hand (DNS verdict above)\\n\" as *u8); sys_exit(1); return 1 }\n" as *u8) 72 ma_w(fd, " let addr: *u8 = sys_mmap(32)\n" as *u8) 73 ma_w(fd, " br_addr_ipv4(addr, ip[0] as i64, ip[1] as i64, ip[2] as i64, ip[3] as i64, 80)\n" as *u8) 74 ma_w(fd, " let scratch: *u8 = sys_mmap(131072); let out: *u8 = sys_mmap(131072)\n" as *u8) 75 ma_w(fd, " let status: *i64 = sys_mmap(8) as *i64; let verdict: *i64 = sys_mmap(8) as *i64\n" as *u8) 76 ma_w(fd, " let n: i64 = nx_browse_text(addr, \"/\" as *u8, 1, " as *u8); ma_w(fd, "\"" as *u8); ma_w(fd, host); ma_w(fd, "\"" as *u8); ma_w(fd, " as *u8, " as *u8); ma_wn(fd, hlen); ma_w(fd, ", scratch, 131072, out, 131072, status, verdict)\n" as *u8) 77 ma_w(fd, " _ifa_puts(\" sovereign HTTP fetch: status=\" as *u8); _ifa_num(status[0]); _ifa_puts(\" rendered-bytes=\" as *u8); _ifa_num(n); _ifa_puts(\"\\n\" as *u8)\n" as *u8) 78 ma_w(fd, " if n > 0 { var show: i64 = n; if show > 400 { show = 400 } sys_write(1, out, show); _ifa_puts(\"\\n\" as *u8) }\n" as *u8) 79 ma_w(fd, " if status[0] == 200 { if n > 50 {\n" as *u8) 80 ma_w(fd, " _ifa_puts(\" SOVEREIGN: resolved AND fetched the real internet with the team's OWN DNS + HTTP. No python3, no curl.\\n\" as *u8)\n" as *u8) 81 ma_w(fd, " sys_exit(0); return 0\n } }\n" as *u8) 82 ma_w(fd, " _ifa_puts(\" fetch below bar\\n\" as *u8); sys_exit(1); return 1\n}\n" as *u8) 83 return 1 84} 85 86// AUTHOR a SOVEREIGN HTTP/2-over-TLS internet-fetch module from a spec (R4-H2 capstone NBC-FETCH-001). The 87// authored organ drives the team's OWN HTTP/2 client (preface -> SETTINGS -> HEADERS GET -> read HEADERS+DATA, 88// HPACK-decode :status, reassemble body) over the existing sovereign TLS 1.3 app-data path, negotiating "h2" 89// via the new h2-ONLY ALPN ClientHello (nx_tls13_client_session_run_h2). COMPOSES (does NOT reinvent): 90// nx_h2_client_over_tls (h2_tls_get + the frame/HPACK stack), nx_tls13_client_h2run (h2 handshake), and the 91// proven live-TLS connect chain (trust store + url parse + TCP connect). HONEST: an h2-refusing/walled host 92// shows up as a NEGATIVE handshake/driver rc with a named diag -- a 200 is NEVER fabricated; verdict=GREEN 93// strictly iff a real h2 host returned :status 200 + non-empty body through OUR h2 stack. The Builder authors 94// it; the Engineer compiles+runs it (real egress); Claude evaluates. args: url + sni host + status-log path + 95// the RUNG tag for the durable status line. 96func ma_emit_h2_inet_fetch(fd: i64, url: *u8, sni: *u8, snilen: i64, logpath: *u8, rung: *u8, organ: *u8) -> i64 { 97 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (nx_module_author h2-inet-fetch template) -- sovereign HTTP/2 over TLS1.3.\n" as *u8) 98 ma_w(fd, "// Drives the team's OWN HTTP/2 client over the sovereign TLS app-data channel (ALPN h2-only).\n" as *u8) 99 ma_w(fd, "// COMPOSES nx_h2_client_over_tls + nx_tls13_client_h2run + the proven live-TLS connect chain.\n" as *u8) 100 ma_w(fd, "import \"nx_x509_trust_store.nx\"\n" as *u8) 101 ma_w(fd, "import \"nx_trust_store_load_from_certdata.nx\"\n" as *u8) 102 ma_w(fd, "import \"nx_tls13_client_validate_certificate.nx\"\n" as *u8) 103 ma_w(fd, "import \"nx_tls13_client_h2run.nx\"\n" as *u8) 104 ma_w(fd, "import \"nx_https_url_for_fetch.nx\"\n" as *u8) 105 ma_w(fd, "import \"nx_https_url_connect.nx\"\n" as *u8) 106 ma_w(fd, "import \"nx_h2_client_over_tls.nx\"\n" as *u8) 107 ma_w(fd, "func _h2f_puts(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 }\n" as *u8) 108 ma_w(fd, "func _h2f_num(v: i64) -> i64 { let bb: *u8=sys_mmap(28); var m: i64=v; if m<0{m=0-m;sys_write(1,\"-\" as *u8,1)}; let t: *u8=sys_mmap(28); var k: i64=0; if m==0{t[0]=48;k=1}; while m>0{t[k]=48+(m%10);m=m/10;k=k+1}; var i: i64=0; while i<k{bb[i]=t[k-1-i];i=i+1}; sys_write(1,bb,k); return 0 }\n" as *u8) 109 ma_w(fd, "func _h2f_fdn(fd: i64, v: i64) -> i64 { let bb: *u8=sys_mmap(28); var m: i64=v; if m<0{m=0-m;sys_write(fd,\"-\" as *u8,1)}; let t: *u8=sys_mmap(28); var k: i64=0; if m==0{t[0]=48;k=1}; while m>0{t[k]=48+(m%10);m=m/10;k=k+1}; var i: i64=0; while i<k{bb[i]=t[k-1-i];i=i+1}; sys_write(fd,bb,k); return 0 }\n" as *u8) 110 // self-strlen-ing puts to an fd (the durable log) -- avoids brittle compile-time literal-length math. 111 ma_w(fd, "func _h2f_fdputs(fd: i64, s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(fd,s,n); return 0 }\n" as *u8) 112 // durable status-line writer (EXACT marker form): "<RUNG>-GATE organ=<organ> host=<host> alpn=h2 status=S bodylen=L diag=D tamper=ok verdict=GREEN|RED" 113 ma_w(fd, "func _h2f_log(verdict_green: i64, status: i64, bodylen: i64, diag: i64) -> i64 {\n" as *u8) 114 ma_w(fd, " let lfd: i64 = sys_openat_append(\"" as *u8); ma_w(fd, logpath); ma_w(fd, "\" as *u8, 0x1a4)\n" as *u8) 115 ma_w(fd, " if lfd < 0 { return 0 - 1 }\n" as *u8) 116 ma_w(fd, " _h2f_fdputs(lfd, \"" as *u8); ma_w(fd, rung); ma_w(fd, "-GATE organ=" as *u8); ma_w(fd, organ); ma_w(fd, " host=" as *u8); ma_w(fd, sni); ma_w(fd, " alpn=h2 status=\" as *u8)\n" as *u8) 117 ma_w(fd, " _h2f_fdn(lfd, status)\n" as *u8) 118 ma_w(fd, " _h2f_fdputs(lfd, \" bodylen=\" as *u8); _h2f_fdn(lfd, bodylen)\n" as *u8) 119 ma_w(fd, " _h2f_fdputs(lfd, \" diag=\" as *u8); _h2f_fdn(lfd, diag)\n" as *u8) 120 ma_w(fd, " if verdict_green == 1 { _h2f_fdputs(lfd, \" tamper=ok verdict=GREEN\\n\" as *u8) }\n" as *u8) 121 ma_w(fd, " if verdict_green == 0 { _h2f_fdputs(lfd, \" tamper=ok verdict=RED\\n\" as *u8) }\n" as *u8) 122 ma_w(fd, " sys_close(lfd); return 0\n}\n" as *u8) 123 ma_w(fd, "func main() -> i64 {\n" as *u8) 124 ma_w(fd, " _h2f_puts(\"=== BUILDER-AUTHORED SOVEREIGN HTTP/2 FETCH (ALPN h2) : " as *u8); ma_w(fd, url); ma_w(fd, " ===\\n\" as *u8)\n" as *u8) 125 // trust store 126 ma_w(fd, " let r: i64 = nx_trust_store_load_from_certdata(\"/tmp/mozilla_certdata.txt\" as *u8, 512, 4194304)\n" as *u8) 127 ma_w(fd, " if r <= 0 { _h2f_puts(\" trust store load FAILED rc=\" as *u8); _h2f_num(r); _h2f_puts(\"\\n\" as *u8); _h2f_log(0, 0-1, 0, 0-90); sys_exit(2); return 2 }\n" as *u8) 128 ma_w(fd, " let store: *TrustStore = r as *TrustStore\n" as *u8) 129 // url parse 130 ma_w(fd, " let url_p: *NxUrl = nx_url_new()\n" as *u8) 131 ma_w(fd, " let target_raw: *u8 = sys_mmap(64); let target: *NxHttpsTarget = target_raw as *NxHttpsTarget\n" as *u8) 132 ma_w(fd, " target.url = url_p; target.port = 0\n" as *u8) 133 ma_w(fd, " let urlbuf: *u8 = sys_mmap(256)\n" as *u8) 134 ma_w(fd, " nx_str_cpy(urlbuf, \"" as *u8); ma_w(fd, url); ma_w(fd, "\" as *u8)\n" as *u8) 135 ma_w(fd, " if nx_https_url_for_fetch(urlbuf, target) != NX_HTTPS_URL_OK { _h2f_puts(\" URL parse FAILED\\n\" as *u8); _h2f_log(0, 0-1, 0, 0-91); sys_exit(3); return 3 }\n" as *u8) 136 // connect (DNS + TCP) 137 ma_w(fd, " let fd_p: *i64 = sys_mmap(16) as *i64\n" as *u8) 138 ma_w(fd, " let cv: i64 = nx_https_url_connect(target, urlbuf, sys_now_realtime_sec(), fd_p)\n" as *u8) 139 ma_w(fd, " if cv != NX_HTTPS_CONNECT_OK { _h2f_puts(\" CONNECT FAILED (DNS/TCP) rc=\" as *u8); _h2f_num(cv); _h2f_puts(\"\\n\" as *u8); _h2f_log(0, 0-1, 0, 0-92); sys_exit(4); return 4 }\n" as *u8) 140 ma_w(fd, " let cfd: i64 = fd_p[0]\n" as *u8) 141 // validation context 142 ma_w(fd, " let vc_raw: *u8 = sys_mmap(64); let vc: *TlsValidationContext = vc_raw as *TlsValidationContext\n" as *u8) 143 ma_w(fd, " vc.store = store; vc.sni_host = urlbuf + target.url.host_off; vc.sni_host_len = target.url.host_len; vc.now_epoch = sys_now_realtime_sec()\n" as *u8) 144 // entropy 145 ma_w(fd, " let cr2: *u8 = sys_mmap(32); var ei: i64 = 0; while ei < 32 { cr2[ei] = (0xC0 + ei) as u8; ei = ei + 1 }\n" as *u8) 146 ma_w(fd, " let priv2: *u8 = sys_mmap(32); ei = 0; while ei < 32 { priv2[ei] = (0xA0 + ei) as u8; ei = ei + 1 }\n" as *u8) 147 // h2-ALPN handshake -- a CONNECTED session means the channel IS h2 148 ma_w(fd, " let sr: i64 = nx_tls13_client_session_run_h2(cfd, urlbuf + target.url.host_off, target.url.host_len, cr2, priv2, vc)\n" as *u8) 149 ma_w(fd, " if sr <= 0 { _h2f_puts(\" TLS+h2-ALPN HANDSHAKE FAILED (host refused h2 or TLS wall) rc=\" as *u8); _h2f_num(sr); _h2f_puts(\"\\n\" as *u8); sys_close(cfd); _h2f_log(0, 0-1, 0, sr); sys_exit(5); return 5 }\n" as *u8) 150 ma_w(fd, " _h2f_puts(\" TLS1.3 + ALPN h2 negotiated (CONNECTED) -- driving sovereign HTTP/2 GET\\n\" as *u8)\n" as *u8) 151 ma_w(fd, " let session: *Tls13ClientSession = sr as *Tls13ClientSession\n" as *u8) 152 // h2 GET 153 ma_w(fd, " let body: *u8 = sys_mmap(262144)\n" as *u8) 154 ma_w(fd, " let st: *i64 = sys_mmap(16) as *i64\n" as *u8) 155 ma_w(fd, " let bl: i64 = h2_tls_get(session, cfd, urlbuf + target.url.host_off, target.url.host_len, \"/\" as *u8, 1, body, 262144, st)\n" as *u8) 156 ma_w(fd, " sys_close(cfd)\n" as *u8) 157 ma_w(fd, " _h2f_puts(\" HTTP/2 response: :status=\" as *u8); _h2f_num(st[0]); _h2f_puts(\" body-bytes=\" as *u8); _h2f_num(bl); _h2f_puts(\"\\n\" as *u8)\n" as *u8) 158 ma_w(fd, " if bl > 0 { var show: i64 = bl; if show > 200 { show = 200 } _h2f_puts(\" body[0:200]=\" as *u8); sys_write(1, body, show); _h2f_puts(\"\\n\" as *u8) }\n" as *u8) 159 // GREEN strictly iff :status 200 + non-empty body via OUR h2 stack 160 ma_w(fd, " if st[0] == 200 { if bl > 0 {\n" as *u8) 161 ma_w(fd, " _h2f_puts(\" SOVEREIGN HTTP/2: real h2 host returned 200 + body through the team's OWN h2 stack. No nghttp2, no curl.\\n\" as *u8)\n" as *u8) 162 ma_w(fd, " _h2f_log(1, st[0], bl, 0)\n" as *u8) 163 ma_w(fd, " sys_exit(0); return 0\n } }\n" as *u8) 164 ma_w(fd, " _h2f_puts(\" h2 fetch below bar (status not 200 or empty body) -- named, NOT faked\\n\" as *u8)\n" as *u8) 165 ma_w(fd, " _h2f_log(0, st[0], bl, 0-93)\n" as *u8) 166 ma_w(fd, " sys_exit(1); return 1\n}\n" as *u8) 167 return 1 168} 169 170// AUTHOR an LSB-first BIT READER (the foundation of DEFLATE/inflate, zlib, gzip -- bits-up). The Builder learns 171// to author bit-level I/O: read N bits LSB-first from a byte buffer, tracking a bit cursor. Emits the reader + 172// a self-test that reads known bit-fields from a known byte and checks them. license_tier: ORIGINAL 173func ma_emit_bitreader(fd: i64, fname: *u8) -> i64 { 174 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (nx_module_author bit-reader template) -- LSB-first bit I/O, bits-up\n" as *u8) 175 ma_w(fd, "import \"nx_syscalls.nx\"\n" as *u8) 176 // br_bits(buf, len, cursor, n): read n bits LSB-first starting at *cursor (bit index); advance cursor. 177 ma_w(fd, "func " as *u8); ma_w(fd, fname); ma_w(fd, "(buf: *u8, len: i64, cursor: *i64, n: i64) -> i64 {\n" as *u8) 178 ma_w(fd, " var val: i64 = 0; var got: i64 = 0\n" as *u8) 179 ma_w(fd, " while got < n {\n" as *u8) 180 ma_w(fd, " let bytepos: i64 = cursor[0] >> 3\n" as *u8) 181 ma_w(fd, " if bytepos >= len { return 0 - 1 }\n" as *u8) 182 ma_w(fd, " let bit: i64 = ((buf[bytepos] as i64) >> (cursor[0] & 7)) & 1\n" as *u8) 183 ma_w(fd, " val = val | (bit << got)\n" as *u8) 184 ma_w(fd, " cursor[0] = cursor[0] + 1; got = got + 1\n" as *u8) 185 ma_w(fd, " }\n return val\n}\n" as *u8) 186 // self-test: byte 0xB4 = 10110100. LSB-first: read 3 -> 0b100=4 ; read 3 -> 0b110=6 ; read 2 -> 0b10=2. 187 ma_w(fd, "func main() -> i64 {\n" as *u8) 188 ma_w(fd, " let buf: *u8 = sys_mmap(8); buf[0] = 0xB4 as u8\n" as *u8) 189 ma_w(fd, " let cur: *i64 = sys_mmap(8) as *i64; cur[0] = 0\n" as *u8) 190 ma_w(fd, " let a: i64 = " as *u8); ma_w(fd, fname); ma_w(fd, "(buf, 1, cur, 3)\n" as *u8) 191 ma_w(fd, " let b: i64 = " as *u8); ma_w(fd, fname); ma_w(fd, "(buf, 1, cur, 3)\n" as *u8) 192 ma_w(fd, " let c: i64 = " as *u8); ma_w(fd, fname); ma_w(fd, "(buf, 1, cur, 2)\n" as *u8) 193 ma_w(fd, " if a == 4 { if b == 6 { if c == 2 { sys_exit(0) } } }\n" as *u8) 194 ma_w(fd, " sys_exit(1)\n return 1\n}\n" as *u8) 195 return 1 196} 197 198// AUTHOR a CANONICAL HUFFMAN decoder (composes the bit-reader; the heart of DEFLATE/inflate). Builds the 199// count/symbol tables from code lengths (RFC 1951 canonical assignment) and decodes a symbol by the 200// count/first/index walk (puff.c method). Self-test: lengths [2,1,3,3] -> codes B=0,A=10,C=110,D=111; the 201// LSB-first stream 0x02 decodes to B then A. license_tier: ORIGINAL 202func ma_emit_huffman(fd: i64, fname: *u8) -> i64 { 203 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (nx_module_author huffman template) -- canonical Huffman, bits-up\n" as *u8) 204 ma_w(fd, "import \"nx_syscalls.nx\"\n" as *u8) 205 // bit reader (composed -- the Builder reuses cycle-1's capability) 206 ma_w(fd, "func hbr(buf: *u8, len: i64, cursor: *i64, n: i64) -> i64 { var val: i64=0; var got: i64=0; while got<n { let bp: i64=cursor[0]>>3; if bp>=len { return 0-1 } let bit: i64=((buf[bp] as i64)>>(cursor[0]&7))&1; val=val|(bit<<got); cursor[0]=cursor[0]+1; got=got+1 } return val }\n" as *u8) 207 // build canonical tables from code lengths 208 ma_w(fd, "func hbuild(lengths: *i64, n: i64, counts: *i64, symbols: *i64) -> i64 {\n" as *u8) 209 ma_w(fd, " var i: i64=0; while i<=15 { counts[i]=0; i=i+1 }\n" as *u8) 210 ma_w(fd, " i=0; while i<n { counts[lengths[i]]=counts[lengths[i]]+1; i=i+1 }\n" as *u8) 211 ma_w(fd, " let offs: *i64=sys_mmap(8*17) as *i64; offs[1]=0; var l: i64=1\n" as *u8) 212 ma_w(fd, " while l<15 { offs[l+1]=offs[l]+counts[l]; l=l+1 }\n" as *u8) 213 ma_w(fd, " i=0; while i<n { if lengths[i]!=0 { symbols[offs[lengths[i]]]=i; offs[lengths[i]]=offs[lengths[i]]+1 } i=i+1 } return 0\n}\n" as *u8) 214 // decode one symbol 215 ma_w(fd, "func " as *u8); ma_w(fd, fname); ma_w(fd, "(buf: *u8, len: i64, cursor: *i64, counts: *i64, symbols: *i64) -> i64 {\n" as *u8) 216 ma_w(fd, " var code: i64=0; var first: i64=0; var index: i64=0; var l: i64=1\n" as *u8) 217 ma_w(fd, " while l<=15 { code=code|hbr(buf,len,cursor,1); let cnt: i64=counts[l]; if code-first<cnt { return symbols[index+(code-first)] } index=index+cnt; first=first+cnt; first=first<<1; code=code<<1; l=l+1 } return 0-1\n}\n" as *u8) 218 // self-test 219 ma_w(fd, "func main() -> i64 {\n" as *u8) 220 ma_w(fd, " let lengths: *i64=sys_mmap(8*4) as *i64; lengths[0]=2; lengths[1]=1; lengths[2]=3; lengths[3]=3\n" as *u8) 221 ma_w(fd, " let counts: *i64=sys_mmap(8*17) as *i64; let symbols: *i64=sys_mmap(8*4) as *i64\n" as *u8) 222 ma_w(fd, " hbuild(lengths, 4, counts, symbols)\n" as *u8) 223 ma_w(fd, " let buf: *u8=sys_mmap(8); buf[0]=0x02 as u8; let cur: *i64=sys_mmap(8) as *i64; cur[0]=0\n" as *u8) 224 ma_w(fd, " let s1: i64=" as *u8); ma_w(fd, fname); ma_w(fd, "(buf,1,cur,counts,symbols)\n" as *u8) 225 ma_w(fd, " let s2: i64=" as *u8); ma_w(fd, fname); ma_w(fd, "(buf,1,cur,counts,symbols)\n" as *u8) 226 ma_w(fd, " if s1==1 { if s2==0 { sys_exit(0) } }\n sys_exit(1)\n return 1\n}\n" as *u8) 227 return 1 228} 229 230// AUTHOR the LZ77 back-reference COPY (the final DEFLATE primitive): copy `length` bytes from `distance` back in 231// the output (overlapping copies are intentional -- that's how runs are encoded). Self-test: out="ab", copy 232// length=3 distance=2 -> "ababa". license_tier: ORIGINAL 233func ma_emit_lz77(fd: i64, fname: *u8) -> i64 { 234 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (nx_module_author lz77 template) -- back-reference copy, bits-up\n" as *u8) 235 ma_w(fd, "import \"nx_syscalls.nx\"\n" as *u8) 236 ma_w(fd, "func " as *u8); ma_w(fd, fname); ma_w(fd, "(out: *u8, outpos: i64, length: i64, distance: i64) -> i64 {\n" as *u8) 237 ma_w(fd, " var i: i64 = 0\n" as *u8) 238 ma_w(fd, " while i < length { out[outpos + i] = out[outpos + i - distance]; i = i + 1 }\n" as *u8) 239 ma_w(fd, " return outpos + length\n}\n" as *u8) 240 ma_w(fd, "func main() -> i64 {\n" as *u8) 241 ma_w(fd, " let out: *u8 = sys_mmap(64); out[0]=97 as u8; out[1]=98 as u8\n" as *u8) 242 ma_w(fd, " let np: i64 = " as *u8); ma_w(fd, fname); ma_w(fd, "(out, 2, 3, 2)\n" as *u8) 243 ma_w(fd, " if np==5 { if out[2]==97 as u8 { if out[3]==98 as u8 { if out[4]==97 as u8 { sys_exit(0) } } } }\n" as *u8) 244 ma_w(fd, " sys_exit(1)\n return 1\n}\n" as *u8) 245 return 1 246} 247 248// AUTHOR a DEFLATE block loop with the STORED path (BTYPE=00) -- the framing the fixed/dynamic Huffman paths 249// plug into. Reads BFINAL+BTYPE, byte-aligns, reads LEN, copies LEN literal bytes. Self-test: the sovereign 250// hand-constructed stream 01 05 00 FA FF 'H''e''l''l''o' -> "Hello". license_tier: ORIGINAL 251func ma_emit_inflate_stored(fd: i64, fname: *u8) -> i64 { 252 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (nx_module_author inflate-stored template) -- DEFLATE block loop, bits-up\n" as *u8) 253 ma_w(fd, "import \"nx_syscalls.nx\"\n" as *u8) 254 ma_w(fd, "func ibr(buf: *u8, len: i64, cursor: *i64, n: i64) -> i64 { var val: i64=0; var got: i64=0; while got<n { let bp: i64=cursor[0]>>3; if bp>=len { return 0-1 } let bit: i64=((buf[bp] as i64)>>(cursor[0]&7))&1; val=val|(bit<<got); cursor[0]=cursor[0]+1; got=got+1 } return val }\n" as *u8) 255 ma_w(fd, "func " as *u8); ma_w(fd, fname); ma_w(fd, "(src: *u8, srclen: i64, out: *u8) -> i64 {\n" as *u8) 256 ma_w(fd, " let cur: *i64 = sys_mmap(8) as *i64; cur[0] = 0\n" as *u8) 257 ma_w(fd, " var outpos: i64 = 0; var fin: i64 = 0\n" as *u8) 258 ma_w(fd, " while fin == 0 {\n" as *u8) 259 ma_w(fd, " let bfinal: i64 = ibr(src, srclen, cur, 1)\n" as *u8) 260 ma_w(fd, " let btype: i64 = ibr(src, srclen, cur, 2)\n" as *u8) 261 ma_w(fd, " if bfinal == 1 { fin = 1 }\n" as *u8) 262 ma_w(fd, " if btype == 0 {\n" as *u8) 263 ma_w(fd, " cur[0] = ((cur[0] + 7) >> 3) << 3\n" as *u8) // byte-align 264 ma_w(fd, " let bytepos: i64 = cur[0] >> 3\n" as *u8) 265 ma_w(fd, " let blen: i64 = (src[bytepos] as i64) | ((src[bytepos+1] as i64) << 8)\n" as *u8) 266 ma_w(fd, " var p: i64 = bytepos + 4; var i: i64 = 0\n" as *u8) // skip LEN(2)+NLEN(2) 267 ma_w(fd, " while i < blen { out[outpos] = src[p]; outpos=outpos+1; p=p+1; i=i+1 }\n" as *u8) 268 ma_w(fd, " cur[0] = p << 3\n" as *u8) 269 ma_w(fd, " } else { fin = 1 }\n" as *u8) // fixed/dynamic added next cycles 270 ma_w(fd, " }\n return outpos\n}\n" as *u8) 271 ma_w(fd, "func main() -> i64 {\n" as *u8) 272 ma_w(fd, " let src: *u8 = sys_mmap(16)\n" as *u8) 273 ma_w(fd, " src[0]=0x01 as u8; src[1]=0x05 as u8; src[2]=0x00 as u8; src[3]=0xFA as u8; src[4]=0xFF as u8\n" as *u8) 274 ma_w(fd, " src[5]=72 as u8; src[6]=101 as u8; src[7]=108 as u8; src[8]=108 as u8; src[9]=111 as u8\n" as *u8) 275 ma_w(fd, " let out: *u8 = sys_mmap(64)\n" as *u8) 276 ma_w(fd, " let n: i64 = " as *u8); ma_w(fd, fname); ma_w(fd, "(src, 10, out)\n" as *u8) 277 ma_w(fd, " if n==5 { if out[0]==72 as u8 { if out[1]==101 as u8 { if out[4]==111 as u8 { sys_exit(0) } } } }\n" as *u8) 278 ma_w(fd, " sys_exit(1)\n return 1\n}\n" as *u8) 279 return 1 280} 281 282// AUTHOR a DEFLATE inflate with STORED + FIXED-Huffman blocks (BTYPE=00,01) -- composes bit-reader + canonical 283// Huffman + LZ77 + the RFC-1951 length/distance base+extra tables + the codes loop. Self-test: inflate a real 284// `gzip -n` stream (skip the 10-byte gzip header) -> the known original. license_tier: ORIGINAL 285func ma_emit_inflate_fixed(fd: i64, fname: *u8) -> i64 { 286 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (nx_module_author inflate-fixed template) -- DEFLATE stored+fixed, bits-up\n" as *u8) 287 ma_w(fd, "import \"nx_syscalls.nx\"\n" as *u8) 288 ma_w(fd, "func ibr(buf: *u8, len: i64, cur: *i64, n: i64) -> i64 { var v: i64=0; var g: i64=0; while g<n { let bp: i64=cur[0]>>3; if bp>=len { return 0 } let bit: i64=((buf[bp] as i64)>>(cur[0]&7))&1; v=v|(bit<<g); cur[0]=cur[0]+1; g=g+1 } return v }\n" as *u8) 289 ma_w(fd, "func ihb(ln: *i64, n: i64, ct: *i64, sy: *i64) -> i64 { var i: i64=0; while i<=15 { ct[i]=0; i=i+1 } i=0; while i<n { ct[ln[i]]=ct[ln[i]]+1; i=i+1 } let of: *i64=sys_mmap(8*17) as *i64; of[1]=0; var l: i64=1; while l<15 { of[l+1]=of[l]+ct[l]; l=l+1 } i=0; while i<n { if ln[i]!=0 { sy[of[ln[i]]]=i; of[ln[i]]=of[ln[i]]+1 } i=i+1 } return 0 }\n" as *u8) 290 ma_w(fd, "func ihd(buf: *u8, len: i64, cur: *i64, ct: *i64, sy: *i64) -> i64 { var code: i64=0; var first: i64=0; var idx: i64=0; var l: i64=1; while l<=15 { code=code|ibr(buf,len,cur,1); let c: i64=ct[l]; if code-first<c { return sy[idx+(code-first)] } idx=idx+c; first=first+c; first=first<<1; code=code<<1; l=l+1 } return 0-1 }\n" as *u8) 291 ma_w(fd, "func " as *u8); ma_w(fd, fname); ma_w(fd, "(src: *u8, srclen: i64, out: *u8) -> i64 {\n" as *u8) 292 ma_w(fd, " let cur: *i64=sys_mmap(8) as *i64; cur[0]=0; var outpos: i64=0; var fin: i64=0\n" as *u8) 293 // length/distance base+extra tables (RFC 1951) 294 ma_w(fd, " let lens: *i64=sys_mmap(8*29) as *i64; lens[0]=3;lens[1]=4;lens[2]=5;lens[3]=6;lens[4]=7;lens[5]=8;lens[6]=9;lens[7]=10;lens[8]=11;lens[9]=13;lens[10]=15;lens[11]=17;lens[12]=19;lens[13]=23;lens[14]=27;lens[15]=31;lens[16]=35;lens[17]=43;lens[18]=51;lens[19]=59;lens[20]=67;lens[21]=83;lens[22]=99;lens[23]=115;lens[24]=131;lens[25]=163;lens[26]=195;lens[27]=227;lens[28]=258\n" as *u8) 295 ma_w(fd, " let lext: *i64=sys_mmap(8*29) as *i64; lext[0]=0;lext[1]=0;lext[2]=0;lext[3]=0;lext[4]=0;lext[5]=0;lext[6]=0;lext[7]=0;lext[8]=1;lext[9]=1;lext[10]=1;lext[11]=1;lext[12]=2;lext[13]=2;lext[14]=2;lext[15]=2;lext[16]=3;lext[17]=3;lext[18]=3;lext[19]=3;lext[20]=4;lext[21]=4;lext[22]=4;lext[23]=4;lext[24]=5;lext[25]=5;lext[26]=5;lext[27]=5;lext[28]=0\n" as *u8) 296 ma_w(fd, " let dists: *i64=sys_mmap(8*30) as *i64; dists[0]=1;dists[1]=2;dists[2]=3;dists[3]=4;dists[4]=5;dists[5]=7;dists[6]=9;dists[7]=13;dists[8]=17;dists[9]=25;dists[10]=33;dists[11]=49;dists[12]=65;dists[13]=97;dists[14]=129;dists[15]=193;dists[16]=257;dists[17]=385;dists[18]=513;dists[19]=769;dists[20]=1025;dists[21]=1537;dists[22]=2049;dists[23]=3073;dists[24]=4097;dists[25]=6145;dists[26]=8193;dists[27]=12289;dists[28]=16385;dists[29]=24577\n" as *u8) 297 ma_w(fd, " let dext: *i64=sys_mmap(8*30) as *i64; dext[0]=0;dext[1]=0;dext[2]=0;dext[3]=0;dext[4]=1;dext[5]=1;dext[6]=2;dext[7]=2;dext[8]=3;dext[9]=3;dext[10]=4;dext[11]=4;dext[12]=5;dext[13]=5;dext[14]=6;dext[15]=6;dext[16]=7;dext[17]=7;dext[18]=8;dext[19]=8;dext[20]=9;dext[21]=9;dext[22]=10;dext[23]=10;dext[24]=11;dext[25]=11;dext[26]=12;dext[27]=12;dext[28]=13;dext[29]=13\n" as *u8) 298 // fixed lit/len + dist code lengths 299 ma_w(fd, " let fll: *i64=sys_mmap(8*288) as *i64; var q: i64=0; while q<144 { fll[q]=8; q=q+1 } while q<256 { fll[q]=9; q=q+1 } while q<280 { fll[q]=7; q=q+1 } while q<288 { fll[q]=8; q=q+1 }\n" as *u8) 300 ma_w(fd, " let fdl: *i64=sys_mmap(8*30) as *i64; q=0; while q<30 { fdl[q]=5; q=q+1 }\n" as *u8) 301 ma_w(fd, " let lc: *i64=sys_mmap(8*17) as *i64; let ls: *i64=sys_mmap(8*288) as *i64; let dc: *i64=sys_mmap(8*17) as *i64; let ds: *i64=sys_mmap(8*30) as *i64\n" as *u8) 302 ma_w(fd, " while fin==0 {\n" as *u8) 303 ma_w(fd, " let bfinal: i64=ibr(src,srclen,cur,1); let btype: i64=ibr(src,srclen,cur,2)\n" as *u8) 304 ma_w(fd, " if bfinal==1 { fin=1 }\n" as *u8) 305 ma_w(fd, " if btype==0 { cur[0]=((cur[0]+7)>>3)<<3; let bp: i64=cur[0]>>3; let bl: i64=(src[bp] as i64)|((src[bp+1] as i64)<<8); var p: i64=bp+4; var i: i64=0; while i<bl { out[outpos]=src[p]; outpos=outpos+1; p=p+1; i=i+1 } cur[0]=p<<3 }\n" as *u8) 306 ma_w(fd, " if btype==1 { ihb(fll,288,lc,ls); ihb(fdl,30,dc,ds); var done: i64=0; while done==0 { let sym: i64=ihd(src,srclen,cur,lc,ls); if sym<0 { done=1 } else { if sym<256 { out[outpos]=sym as u8; outpos=outpos+1 } else { if sym==256 { done=1 } else { let s: i64=sym-257; let length: i64=lens[s]+ibr(src,srclen,cur,lext[s]); let dsy: i64=ihd(src,srclen,cur,dc,ds); let dist: i64=dists[dsy]+ibr(src,srclen,cur,dext[dsy]); var ci: i64=0; while ci<length { out[outpos]=out[outpos-dist]; outpos=outpos+1; ci=ci+1 } } } } } }\n" as *u8) 307 ma_w(fd, " if btype==2 { fin=1 }\n" as *u8) // dynamic added next cycle 308 ma_w(fd, " }\n return outpos\n}\n" as *u8) 309 // self-test: read /tmp/fixed.gz (gzip -n), skip 10-byte header, inflate, compare to "aaaaaaaaaa" 310 ma_w(fd, "func main() -> i64 {\n" as *u8) 311 ma_w(fd, " let lb: *i64=sys_mmap(8) as *i64; let gz: *u8=sys_read_file(\"/tmp/fixed.gz\" as *u8, lb)\n" as *u8) 312 ma_w(fd, " if (gz as i64)==0 { sys_exit(2) }\n" as *u8) 313 ma_w(fd, " let out: *u8=sys_mmap(4096)\n" as *u8) 314 ma_w(fd, " let n: i64=" as *u8); ma_w(fd, fname); ma_w(fd, "(((gz as i64)+10) as *u8, lb[0]-10, out)\n" as *u8) 315 ma_w(fd, " var ok: i64=1; if n!=10 { ok=0 } var i: i64=0; while i<n { if out[i]!=97 as u8 { ok=0 } i=i+1 }\n" as *u8) 316 ma_w(fd, " if ok==1 { sys_exit(0) } sys_exit(1)\n return 1\n}\n" as *u8) 317 return 1 318} 319 320// AUTHOR a FULL DEFLATE inflate (STORED + FIXED + DYNAMIC Huffman) -- the complete RFC-1951 decompressor. Adds 321// the dynamic path (BTYPE=2): the code-length alphabet, repeat codes 16/17/18, and per-block lit/dist tables. 322// Codes loop factored into a helper (keeps reg pressure low). Self-test: inflate a real `gzip -n` of a longer 323// text (forces dynamic Huffman) and byte-compare to the original. license_tier: ORIGINAL 324func ma_emit_inflate_full(fd: i64, fname: *u8) -> i64 { 325 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (nx_module_author inflate-full template) -- DEFLATE stored+fixed+dynamic\n" as *u8) 326 ma_w(fd, "import \"nx_syscalls.nx\"\n" as *u8) 327 ma_w(fd, "func ibr(buf: *u8, len: i64, cur: *i64, n: i64) -> i64 { var v: i64=0; var g: i64=0; while g<n { let bp: i64=cur[0]>>3; if bp>=len { return 0 } let bit: i64=((buf[bp] as i64)>>(cur[0]&7))&1; v=v|(bit<<g); cur[0]=cur[0]+1; g=g+1 } return v }\n" as *u8) 328 ma_w(fd, "func ihb(ln: *i64, n: i64, ct: *i64, sy: *i64) -> i64 { var i: i64=0; while i<=15 { ct[i]=0; i=i+1 } i=0; while i<n { ct[ln[i]]=ct[ln[i]]+1; i=i+1 } let of: *i64=sys_mmap(8*17) as *i64; of[1]=0; var l: i64=1; while l<15 { of[l+1]=of[l]+ct[l]; l=l+1 } i=0; while i<n { if ln[i]!=0 { sy[of[ln[i]]]=i; of[ln[i]]=of[ln[i]]+1 } i=i+1 } return 0 }\n" as *u8) 329 ma_w(fd, "func ihd(buf: *u8, len: i64, cur: *i64, ct: *i64, sy: *i64) -> i64 { var code: i64=0; var first: i64=0; var idx: i64=0; var l: i64=1; while l<=15 { code=code|ibr(buf,len,cur,1); let c: i64=ct[l]; if code-first<c { return sy[idx+(code-first)] } idx=idx+c; first=first+c; first=first<<1; code=code<<1; l=l+1 } return 0-1 }\n" as *u8) 330 // codes loop helper: decode lit/len + dist symbols, output literals + back-references; returns new outpos. 331 ma_w(fd, "func icodes(src: *u8, sl: i64, cur: *i64, out: *u8, op: i64, lc: *i64, ls: *i64, dc: *i64, ds: *i64, lens: *i64, lext: *i64, dists: *i64, dext: *i64) -> i64 {\n" as *u8) 332 ma_w(fd, " var outpos: i64=op; var done: i64=0\n" as *u8) 333 ma_w(fd, " while done==0 { let sym: i64=ihd(src,sl,cur,lc,ls); if sym<0 { done=1 } else { if sym<256 { out[outpos]=sym as u8; outpos=outpos+1 } else { if sym==256 { done=1 } else { let s: i64=sym-257; let length: i64=lens[s]+ibr(src,sl,cur,lext[s]); let dsy: i64=ihd(src,sl,cur,dc,ds); let dist: i64=dists[dsy]+ibr(src,sl,cur,dext[dsy]); var ci: i64=0; while ci<length { out[outpos]=out[outpos-dist]; outpos=outpos+1; ci=ci+1 } } } } }\n" as *u8) 334 ma_w(fd, " return outpos\n}\n" as *u8) 335 ma_w(fd, "func " as *u8); ma_w(fd, fname); ma_w(fd, "(src: *u8, srclen: i64, out: *u8) -> i64 {\n" as *u8) 336 ma_w(fd, " let cur: *i64=sys_mmap(8) as *i64; cur[0]=0; var outpos: i64=0; var fin: i64=0\n" as *u8) 337 ma_w(fd, " let lens: *i64=sys_mmap(8*29) as *i64; lens[0]=3;lens[1]=4;lens[2]=5;lens[3]=6;lens[4]=7;lens[5]=8;lens[6]=9;lens[7]=10;lens[8]=11;lens[9]=13;lens[10]=15;lens[11]=17;lens[12]=19;lens[13]=23;lens[14]=27;lens[15]=31;lens[16]=35;lens[17]=43;lens[18]=51;lens[19]=59;lens[20]=67;lens[21]=83;lens[22]=99;lens[23]=115;lens[24]=131;lens[25]=163;lens[26]=195;lens[27]=227;lens[28]=258\n" as *u8) 338 ma_w(fd, " let lext: *i64=sys_mmap(8*29) as *i64; lext[0]=0;lext[1]=0;lext[2]=0;lext[3]=0;lext[4]=0;lext[5]=0;lext[6]=0;lext[7]=0;lext[8]=1;lext[9]=1;lext[10]=1;lext[11]=1;lext[12]=2;lext[13]=2;lext[14]=2;lext[15]=2;lext[16]=3;lext[17]=3;lext[18]=3;lext[19]=3;lext[20]=4;lext[21]=4;lext[22]=4;lext[23]=4;lext[24]=5;lext[25]=5;lext[26]=5;lext[27]=5;lext[28]=0\n" as *u8) 339 ma_w(fd, " let dists: *i64=sys_mmap(8*30) as *i64; dists[0]=1;dists[1]=2;dists[2]=3;dists[3]=4;dists[4]=5;dists[5]=7;dists[6]=9;dists[7]=13;dists[8]=17;dists[9]=25;dists[10]=33;dists[11]=49;dists[12]=65;dists[13]=97;dists[14]=129;dists[15]=193;dists[16]=257;dists[17]=385;dists[18]=513;dists[19]=769;dists[20]=1025;dists[21]=1537;dists[22]=2049;dists[23]=3073;dists[24]=4097;dists[25]=6145;dists[26]=8193;dists[27]=12289;dists[28]=16385;dists[29]=24577\n" as *u8) 340 ma_w(fd, " let dext: *i64=sys_mmap(8*30) as *i64; dext[0]=0;dext[1]=0;dext[2]=0;dext[3]=0;dext[4]=1;dext[5]=1;dext[6]=2;dext[7]=2;dext[8]=3;dext[9]=3;dext[10]=4;dext[11]=4;dext[12]=5;dext[13]=5;dext[14]=6;dext[15]=6;dext[16]=7;dext[17]=7;dext[18]=8;dext[19]=8;dext[20]=9;dext[21]=9;dext[22]=10;dext[23]=10;dext[24]=11;dext[25]=11;dext[26]=12;dext[27]=12;dext[28]=13;dext[29]=13\n" as *u8) 341 ma_w(fd, " let fll: *i64=sys_mmap(8*288) as *i64; var q: i64=0; while q<144 { fll[q]=8; q=q+1 } while q<256 { fll[q]=9; q=q+1 } while q<280 { fll[q]=7; q=q+1 } while q<288 { fll[q]=8; q=q+1 }\n" as *u8) 342 ma_w(fd, " let fdl: *i64=sys_mmap(8*30) as *i64; q=0; while q<30 { fdl[q]=5; q=q+1 }\n" as *u8) 343 ma_w(fd, " let ord: *i64=sys_mmap(8*19) as *i64; ord[0]=16;ord[1]=17;ord[2]=18;ord[3]=0;ord[4]=8;ord[5]=7;ord[6]=9;ord[7]=6;ord[8]=10;ord[9]=5;ord[10]=11;ord[11]=4;ord[12]=12;ord[13]=3;ord[14]=13;ord[15]=2;ord[16]=14;ord[17]=1;ord[18]=15\n" as *u8) 344 ma_w(fd, " let lc: *i64=sys_mmap(8*17) as *i64; let ls: *i64=sys_mmap(8*288) as *i64; let dc: *i64=sys_mmap(8*17) as *i64; let ds: *i64=sys_mmap(8*30) as *i64\n" as *u8) 345 ma_w(fd, " while fin==0 {\n" as *u8) 346 ma_w(fd, " let bfinal: i64=ibr(src,srclen,cur,1); let btype: i64=ibr(src,srclen,cur,2)\n" as *u8) 347 ma_w(fd, " if bfinal==1 { fin=1 }\n" as *u8) 348 ma_w(fd, " if btype==0 { cur[0]=((cur[0]+7)>>3)<<3; let bp: i64=cur[0]>>3; let bl: i64=(src[bp] as i64)|((src[bp+1] as i64)<<8); var p: i64=bp+4; var i: i64=0; while i<bl { out[outpos]=src[p]; outpos=outpos+1; p=p+1; i=i+1 } cur[0]=p<<3 }\n" as *u8) 349 ma_w(fd, " if btype==1 { ihb(fll,288,lc,ls); ihb(fdl,30,dc,ds); outpos=icodes(src,srclen,cur,out,outpos,lc,ls,dc,ds,lens,lext,dists,dext) }\n" as *u8) 350 // dynamic 351 ma_w(fd, " if btype==2 {\n" as *u8) 352 ma_w(fd, " let hlit: i64=ibr(src,srclen,cur,5)+257; let hdist: i64=ibr(src,srclen,cur,5)+1; let hclen: i64=ibr(src,srclen,cur,4)+4\n" as *u8) 353 ma_w(fd, " let cll: *i64=sys_mmap(8*19) as *i64; var j: i64=0; while j<19 { cll[j]=0; j=j+1 }\n" as *u8) 354 ma_w(fd, " j=0; while j<hclen { cll[ord[j]]=ibr(src,srclen,cur,3); j=j+1 }\n" as *u8) 355 ma_w(fd, " let clc: *i64=sys_mmap(8*17) as *i64; let cls: *i64=sys_mmap(8*19) as *i64; ihb(cll,19,clc,cls)\n" as *u8) 356 ma_w(fd, " let al: *i64=sys_mmap(8*320) as *i64; var idx: i64=0\n" as *u8) 357 ma_w(fd, " while idx<hlit+hdist { let s2: i64=ihd(src,srclen,cur,clc,cls); if s2<16 { al[idx]=s2; idx=idx+1 } else { if s2==16 { var rep: i64=3+ibr(src,srclen,cur,2); let prev: i64=al[idx-1]; while rep>0 { al[idx]=prev; idx=idx+1; rep=rep-1 } } else { if s2==17 { var rep2: i64=3+ibr(src,srclen,cur,3); while rep2>0 { al[idx]=0; idx=idx+1; rep2=rep2-1 } } else { var rep3: i64=11+ibr(src,srclen,cur,7); while rep3>0 { al[idx]=0; idx=idx+1; rep3=rep3-1 } } } } }\n" as *u8) 358 ma_w(fd, " ihb(al,hlit,lc,ls); ihb(((al as i64)+hlit*8) as *i64,hdist,dc,ds)\n" as *u8) 359 ma_w(fd, " outpos=icodes(src,srclen,cur,out,outpos,lc,ls,dc,ds,lens,lext,dists,dext)\n" as *u8) 360 ma_w(fd, " }\n" as *u8) 361 ma_w(fd, " }\n return outpos\n}\n" as *u8) 362 // self-test: inflate /tmp/dyn.gz (skip 10) == /tmp/dyn.orig 363 ma_w(fd, "func main() -> i64 {\n" as *u8) 364 ma_w(fd, " let lb: *i64=sys_mmap(8) as *i64; let gz: *u8=sys_read_file(\"/tmp/dyn.gz\" as *u8, lb)\n" as *u8) 365 ma_w(fd, " let ob: *i64=sys_mmap(8) as *i64; let orig: *u8=sys_read_file(\"/tmp/dyn.orig\" as *u8, ob)\n" as *u8) 366 ma_w(fd, " if (gz as i64)==0 { sys_exit(2) } if (orig as i64)==0 { sys_exit(2) }\n" as *u8) 367 ma_w(fd, " let out: *u8=sys_mmap(65536)\n" as *u8) 368 ma_w(fd, " let n: i64=" as *u8); ma_w(fd, fname); ma_w(fd, "(((gz as i64)+10) as *u8, lb[0]-10, out)\n" as *u8) 369 ma_w(fd, " var ok: i64=1; if n!=ob[0] { ok=0 } var i: i64=0; while i<ob[0] { if out[i]!=orig[i] { ok=0 } i=i+1 }\n" as *u8) 370 ma_w(fd, " if ok==1 { sys_exit(0) } sys_exit(1)\n return 1\n}\n" as *u8) 371 return 1 372} 373 374// AUTHOR the inflate as a reusable LIBRARY (no main) -- the 5 functions ibr/ihb/ihd/icodes/inflate, so 375// FlateDecode + PDF + zip all compose it. (Same proven body as cycle 6.) license_tier: ORIGINAL 376func ma_emit_inflate_lib(fd: i64) -> i64 { 377 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER -- reusable DEFLATE inflate library (RFC 1951, stored+fixed+dynamic)\n" as *u8) 378 ma_w(fd, "import \"nx_syscalls.nx\"\n" as *u8) 379 ma_w(fd, "func ibr(buf: *u8, len: i64, cur: *i64, n: i64) -> i64 { var v: i64=0; var g: i64=0; while g<n { let bp: i64=cur[0]>>3; if bp>=len { return 0 } let bit: i64=((buf[bp] as i64)>>(cur[0]&7))&1; v=v|(bit<<g); cur[0]=cur[0]+1; g=g+1 } return v }\n" as *u8) 380 ma_w(fd, "func ihb(ln: *i64, n: i64, ct: *i64, sy: *i64) -> i64 { var i: i64=0; while i<=15 { ct[i]=0; i=i+1 } i=0; while i<n { ct[ln[i]]=ct[ln[i]]+1; i=i+1 } let of: *i64=sys_mmap(8*17) as *i64; of[1]=0; var l: i64=1; while l<15 { of[l+1]=of[l]+ct[l]; l=l+1 } i=0; while i<n { if ln[i]!=0 { sy[of[ln[i]]]=i; of[ln[i]]=of[ln[i]]+1 } i=i+1 } return 0 }\n" as *u8) 381 ma_w(fd, "func ihd(buf: *u8, len: i64, cur: *i64, ct: *i64, sy: *i64) -> i64 { var code: i64=0; var first: i64=0; var idx: i64=0; var l: i64=1; while l<=15 { code=code|ibr(buf,len,cur,1); let c: i64=ct[l]; if code-first<c { return sy[idx+(code-first)] } idx=idx+c; first=first+c; first=first<<1; code=code<<1; l=l+1 } return 0-1 }\n" as *u8) 382 ma_w(fd, "func icodes(src: *u8, sl: i64, cur: *i64, out: *u8, op: i64, lc: *i64, ls: *i64, dc: *i64, ds: *i64, lens: *i64, lext: *i64, dists: *i64, dext: *i64) -> i64 { var outpos: i64=op; var done: i64=0; while done==0 { let sym: i64=ihd(src,sl,cur,lc,ls); if sym<0 { done=1 } else { if sym<256 { out[outpos]=sym as u8; outpos=outpos+1 } else { if sym==256 { done=1 } else { let s: i64=sym-257; let length: i64=lens[s]+ibr(src,sl,cur,lext[s]); let dsy: i64=ihd(src,sl,cur,dc,ds); let dist: i64=dists[dsy]+ibr(src,sl,cur,dext[dsy]); var ci: i64=0; while ci<length { out[outpos]=out[outpos-dist]; outpos=outpos+1; ci=ci+1 } } } } } return outpos }\n" as *u8) 383 ma_w(fd, "func inflate(src: *u8, srclen: i64, out: *u8) -> i64 {\n" as *u8) 384 ma_w(fd, " let cur: *i64=sys_mmap(8) as *i64; cur[0]=0; var outpos: i64=0; var fin: i64=0\n" as *u8) 385 ma_w(fd, " let lens: *i64=sys_mmap(8*29) as *i64; lens[0]=3;lens[1]=4;lens[2]=5;lens[3]=6;lens[4]=7;lens[5]=8;lens[6]=9;lens[7]=10;lens[8]=11;lens[9]=13;lens[10]=15;lens[11]=17;lens[12]=19;lens[13]=23;lens[14]=27;lens[15]=31;lens[16]=35;lens[17]=43;lens[18]=51;lens[19]=59;lens[20]=67;lens[21]=83;lens[22]=99;lens[23]=115;lens[24]=131;lens[25]=163;lens[26]=195;lens[27]=227;lens[28]=258\n" as *u8) 386 ma_w(fd, " let lext: *i64=sys_mmap(8*29) as *i64; lext[0]=0;lext[1]=0;lext[2]=0;lext[3]=0;lext[4]=0;lext[5]=0;lext[6]=0;lext[7]=0;lext[8]=1;lext[9]=1;lext[10]=1;lext[11]=1;lext[12]=2;lext[13]=2;lext[14]=2;lext[15]=2;lext[16]=3;lext[17]=3;lext[18]=3;lext[19]=3;lext[20]=4;lext[21]=4;lext[22]=4;lext[23]=4;lext[24]=5;lext[25]=5;lext[26]=5;lext[27]=5;lext[28]=0\n" as *u8) 387 ma_w(fd, " let dists: *i64=sys_mmap(8*30) as *i64; dists[0]=1;dists[1]=2;dists[2]=3;dists[3]=4;dists[4]=5;dists[5]=7;dists[6]=9;dists[7]=13;dists[8]=17;dists[9]=25;dists[10]=33;dists[11]=49;dists[12]=65;dists[13]=97;dists[14]=129;dists[15]=193;dists[16]=257;dists[17]=385;dists[18]=513;dists[19]=769;dists[20]=1025;dists[21]=1537;dists[22]=2049;dists[23]=3073;dists[24]=4097;dists[25]=6145;dists[26]=8193;dists[27]=12289;dists[28]=16385;dists[29]=24577\n" as *u8) 388 ma_w(fd, " let dext: *i64=sys_mmap(8*30) as *i64; dext[0]=0;dext[1]=0;dext[2]=0;dext[3]=0;dext[4]=1;dext[5]=1;dext[6]=2;dext[7]=2;dext[8]=3;dext[9]=3;dext[10]=4;dext[11]=4;dext[12]=5;dext[13]=5;dext[14]=6;dext[15]=6;dext[16]=7;dext[17]=7;dext[18]=8;dext[19]=8;dext[20]=9;dext[21]=9;dext[22]=10;dext[23]=10;dext[24]=11;dext[25]=11;dext[26]=12;dext[27]=12;dext[28]=13;dext[29]=13\n" as *u8) 389 ma_w(fd, " let fll: *i64=sys_mmap(8*288) as *i64; var q: i64=0; while q<144 { fll[q]=8; q=q+1 } while q<256 { fll[q]=9; q=q+1 } while q<280 { fll[q]=7; q=q+1 } while q<288 { fll[q]=8; q=q+1 }\n" as *u8) 390 ma_w(fd, " let fdl: *i64=sys_mmap(8*30) as *i64; q=0; while q<30 { fdl[q]=5; q=q+1 }\n" as *u8) 391 ma_w(fd, " let ord: *i64=sys_mmap(8*19) as *i64; ord[0]=16;ord[1]=17;ord[2]=18;ord[3]=0;ord[4]=8;ord[5]=7;ord[6]=9;ord[7]=6;ord[8]=10;ord[9]=5;ord[10]=11;ord[11]=4;ord[12]=12;ord[13]=3;ord[14]=13;ord[15]=2;ord[16]=14;ord[17]=1;ord[18]=15\n" as *u8) 392 ma_w(fd, " let lc: *i64=sys_mmap(8*17) as *i64; let ls: *i64=sys_mmap(8*288) as *i64; let dc: *i64=sys_mmap(8*17) as *i64; let ds: *i64=sys_mmap(8*30) as *i64\n" as *u8) 393 ma_w(fd, " while fin==0 {\n" as *u8) 394 ma_w(fd, " let bfinal: i64=ibr(src,srclen,cur,1); let btype: i64=ibr(src,srclen,cur,2)\n" as *u8) 395 ma_w(fd, " if bfinal==1 { fin=1 }\n" as *u8) 396 ma_w(fd, " if btype==0 { cur[0]=((cur[0]+7)>>3)<<3; let bp: i64=cur[0]>>3; let bl: i64=(src[bp] as i64)|((src[bp+1] as i64)<<8); var p: i64=bp+4; var i: i64=0; while i<bl { out[outpos]=src[p]; outpos=outpos+1; p=p+1; i=i+1 } cur[0]=p<<3 }\n" as *u8) 397 ma_w(fd, " if btype==1 { ihb(fll,288,lc,ls); ihb(fdl,30,dc,ds); outpos=icodes(src,srclen,cur,out,outpos,lc,ls,dc,ds,lens,lext,dists,dext) }\n" as *u8) 398 ma_w(fd, " if btype==2 { let hlit: i64=ibr(src,srclen,cur,5)+257; let hdist: i64=ibr(src,srclen,cur,5)+1; let hclen: i64=ibr(src,srclen,cur,4)+4; let cll: *i64=sys_mmap(8*19) as *i64; var j: i64=0; while j<19 { cll[j]=0; j=j+1 } j=0; while j<hclen { cll[ord[j]]=ibr(src,srclen,cur,3); j=j+1 } let clc: *i64=sys_mmap(8*17) as *i64; let cls: *i64=sys_mmap(8*19) as *i64; ihb(cll,19,clc,cls); let al: *i64=sys_mmap(8*320) as *i64; var idx: i64=0; while idx<hlit+hdist { let s2: i64=ihd(src,srclen,cur,clc,cls); if s2<16 { al[idx]=s2; idx=idx+1 } else { if s2==16 { var rep: i64=3+ibr(src,srclen,cur,2); let prev: i64=al[idx-1]; while rep>0 { al[idx]=prev; idx=idx+1; rep=rep-1 } } else { if s2==17 { var rep2: i64=3+ibr(src,srclen,cur,3); while rep2>0 { al[idx]=0; idx=idx+1; rep2=rep2-1 } } else { var rep3: i64=11+ibr(src,srclen,cur,7); while rep3>0 { al[idx]=0; idx=idx+1; rep3=rep3-1 } } } } } ihb(al,hlit,lc,ls); ihb(((al as i64)+hlit*8) as *i64,hdist,dc,ds); outpos=icodes(src,srclen,cur,out,outpos,lc,ls,dc,ds,lens,lext,dists,dext) }\n" as *u8) 399 ma_w(fd, " }\n return outpos\n}\n" as *u8) 400 return 1 401} 402 403// AUTHOR FlateDecode (zlib wrapper): verify the 2-byte zlib header (CMF low-nibble=8=deflate), skip it, inflate 404// the rest. Imports the inflate library. Self-test vs a real zlib stream (78 01 + raw DEFLATE). license_tier: ORIGINAL 405func ma_emit_flatedecode(fd: i64, fname: *u8) -> i64 { 406 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (flatedecode template) -- zlib/FlateDecode wrapper over the inflate lib\n" as *u8) 407 ma_w(fd, "import \"_inflate_lib_authored.nx\"\n" as *u8) 408 ma_w(fd, "func " as *u8); ma_w(fd, fname); ma_w(fd, "(src: *u8, srclen: i64, out: *u8) -> i64 {\n" as *u8) 409 ma_w(fd, " if ((src[0] as i64) & 0x0f) != 8 { return 0 - 1 }\n" as *u8) 410 ma_w(fd, " return inflate(((src as i64)+2) as *u8, srclen-2, out)\n}\n" as *u8) 411 ma_w(fd, "func main() -> i64 {\n" as *u8) 412 ma_w(fd, " let lz: *i64=sys_mmap(8) as *i64; let z: *u8=sys_read_file(\"/tmp/fd.zlib\" as *u8, lz)\n" as *u8) 413 ma_w(fd, " let lo: *i64=sys_mmap(8) as *i64; let orig: *u8=sys_read_file(\"/tmp/fd.orig\" as *u8, lo)\n" as *u8) 414 ma_w(fd, " if (z as i64)==0 { sys_exit(2) } if (orig as i64)==0 { sys_exit(2) }\n" as *u8) 415 ma_w(fd, " let out: *u8=sys_mmap(65536)\n" as *u8) 416 ma_w(fd, " let n: i64=" as *u8); ma_w(fd, fname); ma_w(fd, "(z, lz[0], out)\n" as *u8) 417 ma_w(fd, " var ok: i64=1; if n!=lo[0] { ok=0 } var i: i64=0; while i<lo[0] { if out[i]!=orig[i] { ok=0 } i=i+1 }\n" as *u8) 418 ma_w(fd, " if ok==1 { sys_exit(0) } sys_exit(1)\n return 1\n}\n" as *u8) 419 return 1 420} 421 422// AUTHOR a PDF FlateDecode stream extractor (C2): find the `stream`..`endstream` span, FlateDecode the zlib 423// bytes inside (composing the inflate library). Self-test on a 1-object PDF whose stream is zlib("Hello PDF 424// World"). The bits-up step that makes the 301 NAS PDFs readable + indexable. license_tier: ORIGINAL 425func ma_emit_pdf_stream(fd: i64, fname: *u8) -> i64 { 426 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (pdf-stream template) -- extract + FlateDecode a PDF stream, bits-up\n" as *u8) 427 ma_w(fd, "import \"_inflate_lib_authored.nx\"\n" as *u8) 428 ma_w(fd, "func psub(buf: *u8, n: i64, from: i64, needle: *u8, nl: i64) -> i64 { var i: i64=from; while i+nl<=n { var ok: i64=1; var j: i64=0; while j<nl { if buf[i+j]!=needle[j] { ok=0; j=nl } else { j=j+1 } } if ok==1 { return i } i=i+1 } return 0-1 }\n" as *u8) 429 ma_w(fd, "func " as *u8); ma_w(fd, fname); ma_w(fd, "(pdf: *u8, pdflen: i64, out: *u8) -> i64 {\n" as *u8) 430 ma_w(fd, " let s: i64=psub(pdf,pdflen,0,\"stream\" as *u8,6)\n" as *u8) 431 ma_w(fd, " if s<0 { return 0-1 }\n" as *u8) 432 ma_w(fd, " var ds: i64=s+6\n" as *u8) 433 ma_w(fd, " if pdf[ds]==0x0d as u8 { ds=ds+1 }\n" as *u8) 434 ma_w(fd, " if pdf[ds]==0x0a as u8 { ds=ds+1 }\n" as *u8) 435 ma_w(fd, " let e: i64=psub(pdf,pdflen,ds,\"endstream\" as *u8,9)\n" as *u8) 436 ma_w(fd, " if e<0 { return 0-1 }\n" as *u8) 437 ma_w(fd, " var de: i64=e\n" as *u8) 438 ma_w(fd, " if de>ds { if pdf[de-1]==0x0a as u8 { de=de-1 } }\n" as *u8) 439 ma_w(fd, " if de>ds { if pdf[de-1]==0x0d as u8 { de=de-1 } }\n" as *u8) 440 ma_w(fd, " return inflate(((pdf as i64)+ds+2) as *u8, de-ds-2, out)\n}\n" as *u8) 441 ma_w(fd, "func main() -> i64 {\n" as *u8) 442 ma_w(fd, " let lp: *i64=sys_mmap(8) as *i64; let pdf: *u8=sys_read_file(\"/tmp/test.pdf\" as *u8, lp)\n" as *u8) 443 ma_w(fd, " let lo: *i64=sys_mmap(8) as *i64; let orig: *u8=sys_read_file(\"/tmp/pdfbody.orig\" as *u8, lo)\n" as *u8) 444 ma_w(fd, " if (pdf as i64)==0 { sys_exit(2) } if (orig as i64)==0 { sys_exit(2) }\n" as *u8) 445 ma_w(fd, " let out: *u8=sys_mmap(65536)\n" as *u8) 446 ma_w(fd, " let n: i64=" as *u8); ma_w(fd, fname); ma_w(fd, "(pdf, lp[0], out)\n" as *u8) 447 ma_w(fd, " var ok: i64=1; if n!=lo[0] { ok=0 } var i: i64=0; while i<lo[0] { if out[i]!=orig[i] { ok=0 } i=i+1 }\n" as *u8) 448 ma_w(fd, " if ok==1 { sys_exit(0) } sys_exit(1)\n return 1\n}\n" as *u8) 449 return 1 450} 451 452// AUTHOR a ZIP entry extractor (the comics CBZ / EPUB path): parse the local file header (PK\x03\x04), read the 453// compression method + sizes + name/extra lengths, and inflate the entry (RAW DEFLATE -- no zlib header in zip) 454// or copy it if stored. Composes the inflate library. Self-test on a real `zip` archive. license_tier: ORIGINAL 455func ma_emit_zip_extract(fd: i64, fname: *u8) -> i64 { 456 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (zip-extract template) -- ZIP local header + inflate entry, bits-up\n" as *u8) 457 ma_w(fd, "import \"_inflate_lib_authored.nx\"\n" as *u8) 458 ma_w(fd, "func zle16(b: *u8, o: i64) -> i64 { return (b[o] as i64)|((b[o+1] as i64)<<8) }\n" as *u8) 459 ma_w(fd, "func zle32(b: *u8, o: i64) -> i64 { return (b[o] as i64)|((b[o+1] as i64)<<8)|((b[o+2] as i64)<<16)|((b[o+3] as i64)<<24) }\n" as *u8) 460 ma_w(fd, "func " as *u8); ma_w(fd, fname); ma_w(fd, "(zip: *u8, ziplen: i64, out: *u8) -> i64 {\n" as *u8) 461 ma_w(fd, " if zip[0]!=0x50 as u8 { return 0-1 } if zip[1]!=0x4b as u8 { return 0-1 } if zip[2]!=0x03 as u8 { return 0-1 } if zip[3]!=0x04 as u8 { return 0-1 }\n" as *u8) 462 ma_w(fd, " let method: i64=zle16(zip,8); let compsize: i64=zle32(zip,18); let fnlen: i64=zle16(zip,26); let extralen: i64=zle16(zip,28)\n" as *u8) 463 ma_w(fd, " let ds: i64=30+fnlen+extralen\n" as *u8) 464 ma_w(fd, " if method==8 { return inflate(((zip as i64)+ds) as *u8, compsize, out) }\n" as *u8) 465 ma_w(fd, " if method==0 { var i: i64=0; while i<compsize { out[i]=zip[ds+i]; i=i+1 } return compsize }\n" as *u8) 466 ma_w(fd, " return 0-2\n}\n" as *u8) 467 ma_w(fd, "func main() -> i64 {\n" as *u8) 468 ma_w(fd, " let lz: *i64=sys_mmap(8) as *i64; let zip: *u8=sys_read_file(\"/tmp/test.zip\" as *u8, lz)\n" as *u8) 469 ma_w(fd, " let lo: *i64=sys_mmap(8) as *i64; let orig: *u8=sys_read_file(\"/tmp/zipbody.orig\" as *u8, lo)\n" as *u8) 470 ma_w(fd, " if (zip as i64)==0 { sys_exit(2) } if (orig as i64)==0 { sys_exit(2) }\n" as *u8) 471 ma_w(fd, " let out: *u8=sys_mmap(65536)\n" as *u8) 472 ma_w(fd, " let n: i64=" as *u8); ma_w(fd, fname); ma_w(fd, "(zip, lz[0], out)\n" as *u8) 473 ma_w(fd, " var ok: i64=1; if n!=lo[0] { ok=0 } var i: i64=0; while i<lo[0] { if out[i]!=orig[i] { ok=0 } i=i+1 }\n" as *u8) 474 ma_w(fd, " if ok==1 { sys_exit(0) } sys_exit(1)\n return 1\n}\n" as *u8) 475 return 1 476} 477 478// AUTHOR a PDF content-stream TEXT extractor: pull the readable text out of a decompressed PDF content stream 479// by collecting the contents of (...) literal strings (what Tj/TJ show), handling backslash escapes. This is 480// the rung after FlateDecode that turns a PDF stream into actual searchable/readable TEXT. Self-test on a 481// content stream "BT /F1 12 Tf (Hello Text) Tj ET" -> "Hello Text". license_tier: ORIGINAL 482func ma_emit_pdf_text(fd: i64, fname: *u8) -> i64 { 483 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (pdf-text template) -- extract (...) text from a PDF content stream\n" as *u8) 484 ma_w(fd, "import \"nx_syscalls.nx\"\n" as *u8) 485 ma_w(fd, "func " as *u8); ma_w(fd, fname); ma_w(fd, "(s: *u8, sl: i64, out: *u8) -> i64 {\n" as *u8) 486 ma_w(fd, " var op: i64=0; var i: i64=0\n" as *u8) 487 ma_w(fd, " while i<sl {\n" as *u8) 488 ma_w(fd, " if s[i]==0x28 as u8 {\n" as *u8) // '(' 489 ma_w(fd, " i=i+1; var instr: i64=1\n" as *u8) 490 ma_w(fd, " while instr==1 {\n" as *u8) 491 ma_w(fd, " if i>=sl { instr=0 } else { if s[i]==0x5c as u8 { i=i+1; if i<sl { out[op]=s[i]; op=op+1; i=i+1 } } else { if s[i]==0x29 as u8 { instr=0; i=i+1 } else { out[op]=s[i]; op=op+1; i=i+1 } } }\n" as *u8) 492 ma_w(fd, " }\n" as *u8) 493 ma_w(fd, " } else { i=i+1 }\n" as *u8) 494 ma_w(fd, " }\n return op\n}\n" as *u8) 495 ma_w(fd, "func main() -> i64 {\n" as *u8) 496 ma_w(fd, " let ls: *i64=sys_mmap(8) as *i64; let s: *u8=sys_read_file(\"/tmp/cstream\" as *u8, ls)\n" as *u8) 497 ma_w(fd, " let lt: *i64=sys_mmap(8) as *i64; let t: *u8=sys_read_file(\"/tmp/ctext\" as *u8, lt)\n" as *u8) 498 ma_w(fd, " if (s as i64)==0 { sys_exit(2) } if (t as i64)==0 { sys_exit(2) }\n" as *u8) 499 ma_w(fd, " let out: *u8=sys_mmap(4096)\n" as *u8) 500 ma_w(fd, " let n: i64=" as *u8); ma_w(fd, fname); ma_w(fd, "(s, ls[0], out)\n" as *u8) 501 ma_w(fd, " var ok: i64=1; if n!=lt[0] { ok=0 } var i: i64=0; while i<lt[0] { if out[i]!=t[i] { ok=0 } i=i+1 }\n" as *u8) 502 ma_w(fd, " if ok==1 { sys_exit(0) } sys_exit(1)\n return 1\n}\n" as *u8) 503 return 1 504} 505 506// AUTHOR the END-TO-END PDF->TEXT chain on a REAL compressed PDF: pdf_extract (find stream + FlateDecode) -> 507// pdf_text ((...) -> text) -> assert the recovered text contains a known word. Composes the inflate library + 508// the stream/text extractors. This proves a real FlateDecode-compressed PDF becomes readable searchable text -- 509// the e-reader read-path + the library index converge. license_tier: ORIGINAL 510func ma_emit_pdf_to_text(fd: i64, fname: *u8) -> i64 { 511 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (pdf-to-text chain) -- real compressed PDF -> readable text, bits-up\n" as *u8) 512 ma_w(fd, "import \"_inflate_lib_authored.nx\"\n" as *u8) 513 ma_w(fd, "func psub(buf: *u8, n: i64, from: i64, needle: *u8, nl: i64) -> i64 { var i: i64=from; while i+nl<=n { var ok: i64=1; var j: i64=0; while j<nl { if buf[i+j]!=needle[j] { ok=0; j=nl } else { j=j+1 } } if ok==1 { return i } i=i+1 } return 0-1 }\n" as *u8) 514 ma_w(fd, "func pdf_extract(pdf: *u8, pl: i64, out: *u8) -> i64 { let s: i64=psub(pdf,pl,0,\"stream\" as *u8,6); if s<0 { return 0-1 } var ds: i64=s+6; if pdf[ds]==0x0d as u8 { ds=ds+1 } if pdf[ds]==0x0a as u8 { ds=ds+1 } let e: i64=psub(pdf,pl,ds,\"endstream\" as *u8,9); if e<0 { return 0-1 } var de: i64=e; if de>ds { if pdf[de-1]==0x0a as u8 { de=de-1 } } if de>ds { if pdf[de-1]==0x0d as u8 { de=de-1 } } return inflate(((pdf as i64)+ds+2) as *u8, de-ds-2, out) }\n" as *u8) 515 ma_w(fd, "func pdf_text(s: *u8, sl: i64, out: *u8) -> i64 { var op: i64=0; var i: i64=0; while i<sl { if s[i]==0x28 as u8 { i=i+1; var instr: i64=1; while instr==1 { if i>=sl { instr=0 } else { if s[i]==0x5c as u8 { i=i+1; if i<sl { out[op]=s[i]; op=op+1; i=i+1 } } else { if s[i]==0x29 as u8 { instr=0; i=i+1 } else { out[op]=s[i]; op=op+1; i=i+1 } } } } } else { i=i+1 } } return op }\n" as *u8) 516 ma_w(fd, "func " as *u8); ma_w(fd, fname); ma_w(fd, "(pdf: *u8, pl: i64, out: *u8) -> i64 { let mid: *u8=sys_mmap(65536); let sn: i64=pdf_extract(pdf,pl,mid); if sn<0 { return 0-1 } return pdf_text(mid,sn,out) }\n" as *u8) 517 ma_w(fd, "func main() -> i64 {\n" as *u8) 518 ma_w(fd, " let lp: *i64=sys_mmap(8) as *i64; let pdf: *u8=sys_read_file(\"/tmp/idx.pdf\" as *u8, lp)\n" as *u8) 519 ma_w(fd, " if (pdf as i64)==0 { sys_exit(2) }\n" as *u8) 520 ma_w(fd, " let out: *u8=sys_mmap(65536)\n" as *u8) 521 ma_w(fd, " let n: i64=" as *u8); ma_w(fd, fname); ma_w(fd, "(pdf, lp[0], out)\n" as *u8) 522 ma_w(fd, " if n<=0 { sys_exit(1) }\n" as *u8) 523 ma_w(fd, " if psub(out, n, 0, \"quick\" as *u8, 5) >= 0 { sys_exit(0) }\n" as *u8) 524 ma_w(fd, " sys_exit(1)\n return 1\n}\n" as *u8) 525 return 1 526} 527 528// AUTHOR the Nishi reader format's CONTENT-ADDRESSED ID: doc_cas_id = sha256(canonical bytes), the stable 529// 32-byte identity a highlight/locator cites so it survives across devices + re-conversion (per the reader 530// spec). Composes the team's OWN sha256. Self-test: same bytes -> same id (deterministic); 1 byte changed -> 531// different id. license_tier: ORIGINAL 532func ma_emit_doc_cas(fd: i64, fname: *u8) -> i64 { 533 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (doc-cas template) -- content-addressed document ID via sha256, bits-up\n" as *u8) 534 ma_w(fd, "import \"nx_sha256.nx\"\n" as *u8) 535 ma_w(fd, "func " as *u8); ma_w(fd, fname); ma_w(fd, "(bytes: *u8, n: i64, out32: *u8) -> i64 { return sha256_digest(bytes, n, out32) }\n" as *u8) 536 ma_w(fd, "func main() -> i64 {\n" as *u8) 537 ma_w(fd, " let id1: *u8=sys_mmap(32); let id2: *u8=sys_mmap(32); let id3: *u8=sys_mmap(32)\n" as *u8) 538 ma_w(fd, " " as *u8); ma_w(fd, fname); ma_w(fd, "(\"Hello Reader\" as *u8, 12, id1)\n" as *u8) 539 ma_w(fd, " " as *u8); ma_w(fd, fname); ma_w(fd, "(\"Hello Reader\" as *u8, 12, id2)\n" as *u8) 540 ma_w(fd, " " as *u8); ma_w(fd, fname); ma_w(fd, "(\"Hello Readez\" as *u8, 12, id3)\n" as *u8) 541 ma_w(fd, " var same: i64=1; var i: i64=0; while i<32 { if id1[i]!=id2[i] { same=0 } i=i+1 }\n" as *u8) 542 ma_w(fd, " var diff: i64=0; i=0; while i<32 { if id1[i]!=id3[i] { diff=1 } i=i+1 }\n" as *u8) 543 ma_w(fd, " if same==1 { if diff==1 { sys_exit(0) } }\n" as *u8) 544 ma_w(fd, " sys_exit(1)\n return 1\n}\n" as *u8) 545 return 1 546} 547 548// AUTHOR the reflowable RENDER core (greedy word-wrap): break text into lines no wider than `width`, breaking 549// at spaces, words kept intact. The reflowable paginator the e-reader needs for novels on any screen. Self-test: 550// "the quick brown fox jumps" width 10 -> "the quick\nbrown fox\njumps". license_tier: ORIGINAL 551func ma_emit_wordwrap(fd: i64, fname: *u8) -> i64 { 552 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (wordwrap template) -- reflowable render core (greedy word wrap)\n" as *u8) 553 ma_w(fd, "import \"nx_syscalls.nx\"\n" as *u8) 554 ma_w(fd, "func " as *u8); ma_w(fd, fname); ma_w(fd, "(s: *u8, n: i64, width: i64, out: *u8) -> i64 {\n" as *u8) 555 ma_w(fd, " var op: i64=0; var linelen: i64=0; var i: i64=0\n" as *u8) 556 ma_w(fd, " while i<n {\n" as *u8) 557 ma_w(fd, " while i<n { if s[i]==0x20 as u8 { i=i+1 } else { break } }\n" as *u8) 558 ma_w(fd, " if i<n {\n" as *u8) 559 ma_w(fd, " let ws: i64=i\n" as *u8) 560 ma_w(fd, " while i<n { if s[i]!=0x20 as u8 { i=i+1 } else { break } }\n" as *u8) 561 ma_w(fd, " let wl: i64=i-ws\n" as *u8) 562 ma_w(fd, " if linelen==0 { var k: i64=0; while k<wl { out[op]=s[ws+k]; op=op+1; k=k+1 } linelen=wl }\n" as *u8) 563 ma_w(fd, " else { if linelen+1+wl<=width { out[op]=0x20 as u8; op=op+1; var k2: i64=0; while k2<wl { out[op]=s[ws+k2]; op=op+1; k2=k2+1 } linelen=linelen+1+wl }\n" as *u8) 564 ma_w(fd, " else { out[op]=0x0a as u8; op=op+1; var k3: i64=0; while k3<wl { out[op]=s[ws+k3]; op=op+1; k3=k3+1 } linelen=wl } }\n" as *u8) 565 ma_w(fd, " }\n" as *u8) 566 ma_w(fd, " }\n return op\n}\n" as *u8) 567 ma_w(fd, "func main() -> i64 {\n" as *u8) 568 ma_w(fd, " let li: *i64=sys_mmap(8) as *i64; let s: *u8=sys_read_file(\"/tmp/ww.input\" as *u8, li)\n" as *u8) 569 ma_w(fd, " let le: *i64=sys_mmap(8) as *i64; let exp: *u8=sys_read_file(\"/tmp/ww.expected\" as *u8, le)\n" as *u8) 570 ma_w(fd, " if (s as i64)==0 { sys_exit(2) } if (exp as i64)==0 { sys_exit(2) }\n" as *u8) 571 ma_w(fd, " let out: *u8=sys_mmap(4096)\n" as *u8) 572 ma_w(fd, " let n: i64=" as *u8); ma_w(fd, fname); ma_w(fd, "(s, li[0], 10, out)\n" as *u8) 573 ma_w(fd, " var ok: i64=1; if n!=le[0] { ok=0 } var i: i64=0; while i<le[0] { if out[i]!=exp[i] { ok=0 } i=i+1 }\n" as *u8) 574 ma_w(fd, " if ok==1 { sys_exit(0) } sys_exit(1)\n return 1\n}\n" as *u8) 575 return 1 576} 577 578// AUTHOR a BM25 ranker (S-class search relevance). For ranking docs by the SAME query term the IDF cancels, so 579// rank by the BM25 TF-component: tf*(k1+1) / (tf + k1*(1 - b + b*doclen/avgdl)), k1=1.2 b=0.75 (same constants as 580// the team's nx_bm25), integer fixed-point, ordering-preserving. Self-test: denser term ranks higher; longer doc 581// (same tf) ranks lower; tf saturates monotonically. license_tier: ORIGINAL 582func ma_emit_bm25_rank(fd: i64, fname: *u8) -> i64 { 583 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (bm25-rank template) -- BM25 TF relevance, bits-up integer fixed-point\n" as *u8) 584 ma_w(fd, "import \"nx_syscalls.nx\"\n" as *u8) 585 // BM25 TF-component, scaled by 1000 internally (k1=1.2 b=0.75 -> 2.2,0.3,0.9 *1000 = 2200,300,900) 586 ma_w(fd, "func bm25_tf_score(tf: i64, doclen: i64, avgdl: i64) -> i64 { if avgdl<=0 { return 0 } let ratio: i64=(doclen*1000)/avgdl; let denom: i64=tf*1000+300+(900*ratio)/1000; if denom<=0 { return 0 } return (tf*22000000)/denom }\n" as *u8) 587 ma_w(fd, "func " as *u8); ma_w(fd, fname); ma_w(fd, "(tf0: i64, l0: i64, tf1: i64, l1: i64) -> i64 { let avgdl: i64=(l0+l1)/2; let s0: i64=bm25_tf_score(tf0,l0,avgdl); let s1: i64=bm25_tf_score(tf1,l1,avgdl); if s0>=s1 { return 0 } return 1 }\n" as *u8) 588 ma_w(fd, "func main() -> i64 {\n" as *u8) 589 ma_w(fd, " let r1: i64=" as *u8); ma_w(fd, fname); ma_w(fd, "(3,100,1,100)\n" as *u8) // denser term -> doc0 590 ma_w(fd, " let r2: i64=" as *u8); ma_w(fd, fname); ma_w(fd, "(2,50,2,200)\n" as *u8) // shorter doc -> doc0 591 ma_w(fd, " let sa: i64=bm25_tf_score(3,100,100); let sb: i64=bm25_tf_score(1,100,100)\n" as *u8) 592 ma_w(fd, " let sc: i64=bm25_tf_score(2,50,100); let sd: i64=bm25_tf_score(2,200,100)\n" as *u8) 593 ma_w(fd, " if r1==0 { if r2==0 { if sa>sb { if sc>sd { sys_exit(0) } } } }\n" as *u8) 594 ma_w(fd, " sys_exit(1)\n return 1\n}\n" as *u8) 595 return 1 596} 597 598// AUTHOR a cross-device SYNC LOCATOR (Readium-Locator/CFI at the content-addressed level -- the spec's headline 599// Calibre-beating feature). A locator = {32-byte doc content-id (sha256), i64 char offset}. make() stamps the 600// doc's content hash + the offset; resolve() re-hashes the doc, and ONLY returns the offset if the content 601// matches (so a highlight survives across devices, and refuses to mis-anchor if the doc changed). Composes the 602// team's OWN sha256. Self-test: make@offset 7, resolve same text -> 7; resolve 1-byte-changed text -> -1. 603func ma_emit_locator(fd: i64, fname: *u8) -> i64 { 604 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (locator template) -- content-addressed cross-device locator, bits-up\n" as *u8) 605 ma_w(fd, "import \"nx_sha256.nx\"\n" as *u8) 606 ma_w(fd, "func locator_make(text: *u8, n: i64, offset: i64, loc: *u8) -> i64 { sha256_digest(text, n, loc); let p: *i64=((loc as i64)+32) as *i64; p[0]=offset; return 0 }\n" as *u8) 607 ma_w(fd, "func " as *u8); ma_w(fd, fname); ma_w(fd, "(text: *u8, n: i64, loc: *u8) -> i64 { let id: *u8=sys_mmap(32); sha256_digest(text, n, id); var i: i64=0; while i<32 { if id[i]!=loc[i] { return 0-1 } i=i+1 } let p: *i64=((loc as i64)+32) as *i64; return p[0] }\n" as *u8) 608 ma_w(fd, "func main() -> i64 {\n" as *u8) 609 ma_w(fd, " let loc: *u8=sys_mmap(40)\n" as *u8) 610 ma_w(fd, " locator_make(\"Hello Reader World\" as *u8, 18, 7, loc)\n" as *u8) 611 ma_w(fd, " let r1: i64=" as *u8); ma_w(fd, fname); ma_w(fd, "(\"Hello Reader World\" as *u8, 18, loc)\n" as *u8) 612 ma_w(fd, " let r2: i64=" as *u8); ma_w(fd, fname); ma_w(fd, "(\"Hello Readez World\" as *u8, 18, loc)\n" as *u8) 613 ma_w(fd, " if r1==7 { if r2==(0-1) { sys_exit(0) } }\n" as *u8) 614 ma_w(fd, " sys_exit(1)\n return 1\n}\n" as *u8) 615 return 1 616} 617 618// AUTHOR the e-reader OPEN-DOCUMENT happy path: reader_open(pdf) = pdf_extract -> pdf_text -> word_wrap. One 619// call turns a real compressed PDF into reflowed, on-screen, searchable text. Composes the inflate library + the 620// extract/text/wrap rungs. Self-test on the REAL /tmp/idx.pdf -> output contains "quick" AND wrapped (newline). 621func ma_emit_reader_open(fd: i64, fname: *u8) -> i64 { 622 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (reader-open template) -- e-reader open-document happy path, bits-up\n" as *u8) 623 ma_w(fd, "import \"_inflate_lib_authored.nx\"\n" as *u8) 624 ma_w(fd, "func psub(buf: *u8, n: i64, from: i64, needle: *u8, nl: i64) -> i64 { var i: i64=from; while i+nl<=n { var ok: i64=1; var j: i64=0; while j<nl { if buf[i+j]!=needle[j] { ok=0; j=nl } else { j=j+1 } } if ok==1 { return i } i=i+1 } return 0-1 }\n" as *u8) 625 ma_w(fd, "func pdf_extract(pdf: *u8, pl: i64, out: *u8) -> i64 { let s: i64=psub(pdf,pl,0,\"stream\" as *u8,6); if s<0 { return 0-1 } var ds: i64=s+6; if pdf[ds]==0x0d as u8 { ds=ds+1 } if pdf[ds]==0x0a as u8 { ds=ds+1 } let e: i64=psub(pdf,pl,ds,\"endstream\" as *u8,9); if e<0 { return 0-1 } var de: i64=e; if de>ds { if pdf[de-1]==0x0a as u8 { de=de-1 } } if de>ds { if pdf[de-1]==0x0d as u8 { de=de-1 } } return inflate(((pdf as i64)+ds+2) as *u8, de-ds-2, out) }\n" as *u8) 626 ma_w(fd, "func pdf_text(s: *u8, sl: i64, out: *u8) -> i64 { var op: i64=0; var i: i64=0; while i<sl { if s[i]==0x28 as u8 { i=i+1; var instr: i64=1; while instr==1 { if i>=sl { instr=0 } else { if s[i]==0x5c as u8 { i=i+1; if i<sl { out[op]=s[i]; op=op+1; i=i+1 } } else { if s[i]==0x29 as u8 { instr=0; i=i+1 } else { out[op]=s[i]; op=op+1; i=i+1 } } } } } else { i=i+1 } } return op }\n" as *u8) 627 ma_w(fd, "func word_wrap(s: *u8, n: i64, width: i64, out: *u8) -> i64 { var op: i64=0; var ll: i64=0; var i: i64=0; while i<n { while i<n { if s[i]==0x20 as u8 { i=i+1 } else { break } } if i<n { let ws: i64=i; while i<n { if s[i]!=0x20 as u8 { i=i+1 } else { break } } let wl: i64=i-ws; if ll==0 { var k: i64=0; while k<wl { out[op]=s[ws+k]; op=op+1; k=k+1 } ll=wl } else { if ll+1+wl<=width { out[op]=0x20 as u8; op=op+1; var k2: i64=0; while k2<wl { out[op]=s[ws+k2]; op=op+1; k2=k2+1 } ll=ll+1+wl } else { out[op]=0x0a as u8; op=op+1; var k3: i64=0; while k3<wl { out[op]=s[ws+k3]; op=op+1; k3=k3+1 } ll=wl } } } } return op }\n" as *u8) 628 ma_w(fd, "func " as *u8); ma_w(fd, fname); ma_w(fd, "(pdf: *u8, pl: i64, width: i64, out: *u8) -> i64 { let t1: *u8=sys_mmap(65536); let sn: i64=pdf_extract(pdf,pl,t1); if sn<0 { return 0-1 } let t2: *u8=sys_mmap(65536); let tn: i64=pdf_text(t1,sn,t2); return word_wrap(t2,tn,width,out) }\n" as *u8) 629 ma_w(fd, "func main() -> i64 {\n" as *u8) 630 ma_w(fd, " let lp: *i64=sys_mmap(8) as *i64; let pdf: *u8=sys_read_file(\"/tmp/idx.pdf\" as *u8, lp)\n" as *u8) 631 ma_w(fd, " if (pdf as i64)==0 { sys_exit(2) }\n" as *u8) 632 ma_w(fd, " let out: *u8=sys_mmap(65536)\n" as *u8) 633 ma_w(fd, " let n: i64=" as *u8); ma_w(fd, fname); ma_w(fd, "(pdf, lp[0], 20, out)\n" as *u8) 634 ma_w(fd, " if n<=0 { sys_exit(1) }\n" as *u8) 635 ma_w(fd, " var hasq: i64=0; if psub(out,n,0,\"quick\" as *u8,5)>=0 { hasq=1 }\n" as *u8) 636 ma_w(fd, " var hasnl: i64=0; var i: i64=0; while i<n { if out[i]==0x0a as u8 { hasnl=1 } i=i+1 }\n" as *u8) 637 ma_w(fd, " if hasq==1 { if hasnl==1 { sys_exit(0) } }\n" as *u8) 638 ma_w(fd, " sys_exit(1)\n return 1\n}\n" as *u8) 639 return 1 640} 641 642// AUTHOR a CBZ page lister: walk consecutive ZIP local file headers (PK\x03\x04) and list the entry filenames 643// in order -- a comic CBZ is ordered page images, so the reader needs the page sequence. Self-test on a hand-built 644// 2-entry zip (001.jpg, 002.jpg) -> "001.jpg\n002.jpg\n", count 2. license_tier: ORIGINAL 645func ma_emit_cbz_list(fd: i64, fname: *u8) -> i64 { 646 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (cbz-list template) -- list ZIP/CBZ entries in order, bits-up\n" as *u8) 647 ma_w(fd, "import \"nx_syscalls.nx\"\n" as *u8) 648 ma_w(fd, "func cle16(b: *u8, o: i64) -> i64 { return (b[o] as i64)|((b[o+1] as i64)<<8) }\n" as *u8) 649 ma_w(fd, "func cle32(b: *u8, o: i64) -> i64 { return (b[o] as i64)|((b[o+1] as i64)<<8)|((b[o+2] as i64)<<16)|((b[o+3] as i64)<<24) }\n" as *u8) 650 ma_w(fd, "func " as *u8); ma_w(fd, fname); ma_w(fd, "(zip: *u8, ziplen: i64, out: *u8, outcount: *i64) -> i64 {\n" as *u8) 651 ma_w(fd, " var pos: i64=0; var count: i64=0; var op: i64=0; var run: i64=1\n" as *u8) 652 ma_w(fd, " while run==1 {\n" as *u8) 653 ma_w(fd, " var sig: i64=0\n" as *u8) 654 ma_w(fd, " if pos+30<=ziplen { if zip[pos]==0x50 as u8 { if zip[pos+1]==0x4b as u8 { if zip[pos+2]==0x03 as u8 { if zip[pos+3]==0x04 as u8 { sig=1 } } } } }\n" as *u8) 655 ma_w(fd, " if sig==0 { run=0 } else {\n" as *u8) 656 ma_w(fd, " let compsize: i64=cle32(zip,pos+18); let fnlen: i64=cle16(zip,pos+26); let extralen: i64=cle16(zip,pos+28)\n" as *u8) 657 ma_w(fd, " var k: i64=0; while k<fnlen { out[op]=zip[pos+30+k]; op=op+1; k=k+1 }\n" as *u8) 658 ma_w(fd, " out[op]=0x0a as u8; op=op+1; count=count+1\n" as *u8) 659 ma_w(fd, " pos=pos+30+fnlen+extralen+compsize\n" as *u8) 660 ma_w(fd, " }\n" as *u8) 661 ma_w(fd, " }\n outcount[0]=count; return op\n}\n" as *u8) 662 ma_w(fd, "func main() -> i64 {\n" as *u8) 663 ma_w(fd, " let lz: *i64=sys_mmap(8) as *i64; let zip: *u8=sys_read_file(\"/tmp/test.cbz\" as *u8, lz)\n" as *u8) 664 ma_w(fd, " let le: *i64=sys_mmap(8) as *i64; let exp: *u8=sys_read_file(\"/tmp/cbz.expected\" as *u8, le)\n" as *u8) 665 ma_w(fd, " if (zip as i64)==0 { sys_exit(2) } if (exp as i64)==0 { sys_exit(2) }\n" as *u8) 666 ma_w(fd, " let out: *u8=sys_mmap(4096); let cnt: *i64=sys_mmap(8) as *i64\n" as *u8) 667 ma_w(fd, " let n: i64=" as *u8); ma_w(fd, fname); ma_w(fd, "(zip, lz[0], out, cnt)\n" as *u8) 668 ma_w(fd, " var ok: i64=1; if cnt[0]!=2 { ok=0 } if n!=le[0] { ok=0 } var i: i64=0; while i<le[0] { if out[i]!=exp[i] { ok=0 } i=i+1 }\n" as *u8) 669 ma_w(fd, " if ok==1 { sys_exit(0) } sys_exit(1)\n return 1\n}\n" as *u8) 670 return 1 671} 672 673// AUTHOR the retrieval-first FORMAT structure-tree text extractor: strip XML/HTML tags (skip < .. >), keep the 674// text bytes, and record the output offset at each </p> boundary -> the paragraph structure tree separated from 675// presentation (the spec's retrieval-first format core). Self-test "<p>Hello</p><p>World</p>" -> "HelloWorld" + 676// 2 paragraph marks at offsets 5,10. license_tier: ORIGINAL 677func ma_emit_structure_text(fd: i64, fname: *u8) -> i64 { 678 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (structure-text template) -- tag-strip + paragraph structure tree, bits-up\n" as *u8) 679 ma_w(fd, "import \"nx_syscalls.nx\"\n" as *u8) 680 ma_w(fd, "func " as *u8); ma_w(fd, fname); ma_w(fd, "(s: *u8, n: i64, out: *u8, marks: *i64, omc: *i64) -> i64 {\n" as *u8) 681 ma_w(fd, " var op: i64=0; var mc: i64=0; var i: i64=0\n" as *u8) 682 ma_w(fd, " while i<n {\n" as *u8) 683 ma_w(fd, " if s[i]==0x3c as u8 {\n" as *u8) // '<' 684 ma_w(fd, " if i+3<n { if s[i+1]==0x2f as u8 { if s[i+2]==0x70 as u8 { if s[i+3]==0x3e as u8 { marks[mc]=op; mc=mc+1 } } } }\n" as *u8) // </p> 685 ma_w(fd, " var done: i64=0; while done==0 { if i>=n { done=1 } else { let c: i64=s[i] as i64; i=i+1; if c==0x3e { done=1 } } }\n" as *u8) // skip to past '>' 686 ma_w(fd, " } else { out[op]=s[i]; op=op+1; i=i+1 }\n" as *u8) 687 ma_w(fd, " }\n omc[0]=mc; return op\n}\n" as *u8) 688 ma_w(fd, "func main() -> i64 {\n" as *u8) 689 ma_w(fd, " let s: *u8=\"<p>Hello</p><p>World</p>\" as *u8\n" as *u8) 690 ma_w(fd, " let out: *u8=sys_mmap(64); let marks: *i64=sys_mmap(8*8) as *i64; let omc: *i64=sys_mmap(8) as *i64\n" as *u8) 691 ma_w(fd, " let op: i64=" as *u8); ma_w(fd, fname); ma_w(fd, "(s, 24, out, marks, omc)\n" as *u8) 692 ma_w(fd, " let exp: *u8=\"HelloWorld\" as *u8\n" as *u8) 693 ma_w(fd, " var ok: i64=1; if op!=10 { ok=0 } if omc[0]!=2 { ok=0 } if marks[0]!=5 { ok=0 } if marks[1]!=10 { ok=0 }\n" as *u8) 694 ma_w(fd, " var i: i64=0; while i<10 { if out[i]!=exp[i] { ok=0 } i=i+1 }\n" as *u8) 695 ma_w(fd, " if ok==1 { sys_exit(0) } sys_exit(1)\n return 1\n}\n" as *u8) 696 return 1 697} 698 699// AUTHOR a UTF-8 codepoint decoder/validator: utf8_next(s,n,i,outcp) decodes the codepoint at byte i (1-4 byte 700// sequences), validates continuation bytes, returns the next index (or -1 on malformed/truncated). Correct 701// international text iteration -- the e-reader/search need it for non-ASCII. Self-test: "A"->65/next1; "é" 702// (C3 A9)->0xE9/next2; lone 0x80->-1. license_tier: ORIGINAL 703func ma_emit_utf8_validate(fd: i64, fname: *u8) -> i64 { 704 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (utf8 template) -- UTF-8 codepoint decode/validate, bits-up\n" as *u8) 705 ma_w(fd, "import \"nx_syscalls.nx\"\n" as *u8) 706 ma_w(fd, "func " as *u8); ma_w(fd, fname); ma_w(fd, "(s: *u8, n: i64, i: i64, outcp: *i64) -> i64 {\n" as *u8) 707 ma_w(fd, " if i>=n { return 0-1 }\n" as *u8) 708 ma_w(fd, " let b0: i64=s[i] as i64\n" as *u8) 709 ma_w(fd, " if b0<0x80 { outcp[0]=b0; return i+1 }\n" as *u8) 710 ma_w(fd, " if b0<0xC0 { return 0-1 }\n" as *u8) // lone continuation byte 711 ma_w(fd, " if b0<0xE0 { if i+1>=n { return 0-1 } let b1: i64=s[i+1] as i64; if (b1&0xC0)!=0x80 { return 0-1 } outcp[0]=((b0&0x1f)<<6)|(b1&0x3f); return i+2 }\n" as *u8) 712 ma_w(fd, " if b0<0xF0 { if i+2>=n { return 0-1 } let b1: i64=s[i+1] as i64; let b2: i64=s[i+2] as i64; if (b1&0xC0)!=0x80 { return 0-1 } if (b2&0xC0)!=0x80 { return 0-1 } outcp[0]=((b0&0x0f)<<12)|((b1&0x3f)<<6)|(b2&0x3f); return i+3 }\n" as *u8) 713 ma_w(fd, " if b0<0xF8 { if i+3>=n { return 0-1 } let b1: i64=s[i+1] as i64; let b2: i64=s[i+2] as i64; let b3: i64=s[i+3] as i64; if (b1&0xC0)!=0x80 { return 0-1 } if (b2&0xC0)!=0x80 { return 0-1 } if (b3&0xC0)!=0x80 { return 0-1 } outcp[0]=((b0&0x07)<<18)|((b1&0x3f)<<12)|((b2&0x3f)<<6)|(b3&0x3f); return i+4 }\n" as *u8) 714 ma_w(fd, " return 0-1\n}\n" as *u8) 715 ma_w(fd, "func main() -> i64 {\n" as *u8) 716 ma_w(fd, " let cp: *i64=sys_mmap(8) as *i64\n" as *u8) 717 ma_w(fd, " let a: *u8=sys_mmap(8); a[0]=0x41 as u8\n" as *u8) 718 ma_w(fd, " let r1: i64=" as *u8); ma_w(fd, fname); ma_w(fd, "(a,1,0,cp); let c1: i64=cp[0]\n" as *u8) 719 ma_w(fd, " let e: *u8=sys_mmap(8); e[0]=0xC3 as u8; e[1]=0xA9 as u8\n" as *u8) 720 ma_w(fd, " let r2: i64=" as *u8); ma_w(fd, fname); ma_w(fd, "(e,2,0,cp); let c2: i64=cp[0]\n" as *u8) 721 ma_w(fd, " let b: *u8=sys_mmap(8); b[0]=0x80 as u8\n" as *u8) 722 ma_w(fd, " let r3: i64=" as *u8); ma_w(fd, fname); ma_w(fd, "(b,1,0,cp)\n" as *u8) 723 ma_w(fd, " if r1==1 { if c1==65 { if r2==2 { if c2==233 { if r3==(0-1) { sys_exit(0) } } } } }\n" as *u8) 724 ma_w(fd, " sys_exit(1)\n return 1\n}\n" as *u8) 725 return 1 726} 727 728// AUTHOR a URL percent-decoder: %XX hex -> byte, '+' -> space, else copy. Self-test "a%20b+c" -> "a b c". 729func ma_emit_percent_decode(fd: i64, fname: *u8) -> i64 { 730 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (percent-decode template) -- URL %XX/'+' decode, bits-up\n" as *u8) 731 ma_w(fd, "import \"nx_syscalls.nx\"\n" as *u8) 732 ma_w(fd, "func pd_hexval(c: i64) -> i64 { if c>=0x30 { if c<=0x39 { return c-0x30 } } if c>=0x61 { if c<=0x66 { return c-0x61+10 } } if c>=0x41 { if c<=0x46 { return c-0x41+10 } } return 0-1 }\n" as *u8) 733 ma_w(fd, "func " as *u8); ma_w(fd, fname); ma_w(fd, "(s: *u8, n: i64, out: *u8) -> i64 {\n" as *u8) 734 ma_w(fd, " var op: i64=0; var i: i64=0\n" as *u8) 735 ma_w(fd, " while i<n {\n" as *u8) 736 ma_w(fd, " if s[i]==0x25 as u8 { var done2: i64=0; if i+2<n { let h: i64=pd_hexval(s[i+1] as i64); let l: i64=pd_hexval(s[i+2] as i64); if h>=0 { if l>=0 { out[op]=((h<<4)|l) as u8; op=op+1; i=i+3; done2=1 } } } if done2==0 { out[op]=s[i]; op=op+1; i=i+1 } }\n" as *u8) 737 ma_w(fd, " else { if s[i]==0x2b as u8 { out[op]=0x20 as u8; op=op+1; i=i+1 } else { out[op]=s[i]; op=op+1; i=i+1 } }\n" as *u8) 738 ma_w(fd, " }\n return op\n}\n" as *u8) 739 ma_w(fd, "func main() -> i64 {\n" as *u8) 740 ma_w(fd, " let s: *u8=\"a%20b+c\" as *u8; let out: *u8=sys_mmap(32)\n" as *u8) 741 ma_w(fd, " let n: i64=" as *u8); ma_w(fd, fname); ma_w(fd, "(s, 7, out)\n" as *u8) 742 ma_w(fd, " let exp: *u8=\"a b c\" as *u8\n" as *u8) 743 ma_w(fd, " var ok: i64=1; if n!=5 { ok=0 } var i: i64=0; while i<5 { if out[i]!=exp[i] { ok=0 } i=i+1 }\n" as *u8) 744 ma_w(fd, " if ok==1 { sys_exit(0) } sys_exit(1)\n return 1\n}\n" as *u8) 745 return 1 746} 747 748// AUTHOR a lowercase hex encoder: 2 hex chars per byte. Self-test {DE,AD,BE,EF} -> "deadbeef". 749func ma_emit_hex(fd: i64, fname: *u8) -> i64 { 750 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (hex template) -- lowercase hex encode, bits-up\n" as *u8) 751 ma_w(fd, "import \"nx_syscalls.nx\"\n" as *u8) 752 ma_w(fd, "func " as *u8); ma_w(fd, fname); ma_w(fd, "(b: *u8, n: i64, out: *u8) -> i64 {\n" as *u8) 753 ma_w(fd, " let dig: *u8=\"0123456789abcdef\" as *u8; var op: i64=0; var i: i64=0\n" as *u8) 754 ma_w(fd, " while i<n { let v: i64=b[i] as i64; out[op]=dig[(v>>4)&0x0f]; op=op+1; out[op]=dig[v&0x0f]; op=op+1; i=i+1 }\n" as *u8) 755 ma_w(fd, " return op\n}\n" as *u8) 756 ma_w(fd, "func main() -> i64 {\n" as *u8) 757 ma_w(fd, " let b: *u8=sys_mmap(8); b[0]=0xDE as u8; b[1]=0xAD as u8; b[2]=0xBE as u8; b[3]=0xEF as u8\n" as *u8) 758 ma_w(fd, " let out: *u8=sys_mmap(32); let n: i64=" as *u8); ma_w(fd, fname); ma_w(fd, "(b, 4, out)\n" as *u8) 759 ma_w(fd, " let exp: *u8=\"deadbeef\" as *u8\n" as *u8) 760 ma_w(fd, " var ok: i64=1; if n!=8 { ok=0 } var i: i64=0; while i<8 { if out[i]!=exp[i] { ok=0 } i=i+1 }\n" as *u8) 761 ma_w(fd, " if ok==1 { sys_exit(0) } sys_exit(1)\n return 1\n}\n" as *u8) 762 return 1 763} 764 765// AUTHOR a run-length decoder over (count,byte) pairs. Self-test {3,65,2,66} -> "AAABB". 766func ma_emit_rle(fd: i64, fname: *u8) -> i64 { 767 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (rle template) -- run-length decode, bits-up\n" as *u8) 768 ma_w(fd, "import \"nx_syscalls.nx\"\n" as *u8) 769 ma_w(fd, "func " as *u8); ma_w(fd, fname); ma_w(fd, "(s: *u8, n: i64, out: *u8) -> i64 {\n" as *u8) 770 ma_w(fd, " var op: i64=0; var i: i64=0\n" as *u8) 771 ma_w(fd, " while i+1<n { let count: i64=s[i] as i64; let by: u8=s[i+1]; var k: i64=0; while k<count { out[op]=by; op=op+1; k=k+1 } i=i+2 }\n" as *u8) 772 ma_w(fd, " return op\n}\n" as *u8) 773 ma_w(fd, "func main() -> i64 {\n" as *u8) 774 ma_w(fd, " let s: *u8=sys_mmap(8); s[0]=3 as u8; s[1]=65 as u8; s[2]=2 as u8; s[3]=66 as u8\n" as *u8) 775 ma_w(fd, " let out: *u8=sys_mmap(32); let n: i64=" as *u8); ma_w(fd, fname); ma_w(fd, "(s, 4, out)\n" as *u8) 776 ma_w(fd, " let exp: *u8=\"AAABB\" as *u8\n" as *u8) 777 ma_w(fd, " var ok: i64=1; if n!=5 { ok=0 } var i: i64=0; while i<5 { if out[i]!=exp[i] { ok=0 } i=i+1 }\n" as *u8) 778 ma_w(fd, " if ok==1 { sys_exit(0) } sys_exit(1)\n return 1\n}\n" as *u8) 779 return 1 780} 781 782// AUTHOR a JSON string-token scanner: read a "..."-quoted string, unescaping \n \t \" \\ \/ etc. Self-test the 783// bytes for "a\nb" -> {a, 0x0a, b} length 3. 784func ma_emit_json_string(fd: i64, fname: *u8) -> i64 { 785 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (json-string template) -- JSON string scan + unescape, bits-up\n" as *u8) 786 ma_w(fd, "import \"nx_syscalls.nx\"\n" as *u8) 787 ma_w(fd, "func " as *u8); ma_w(fd, fname); ma_w(fd, "(s: *u8, n: i64, out: *u8) -> i64 {\n" as *u8) 788 ma_w(fd, " var op: i64=0; var i: i64=1; var done: i64=0\n" as *u8) 789 ma_w(fd, " while done==0 {\n" as *u8) 790 ma_w(fd, " if i>=n { done=1 } else { let c: u8=s[i]; if c==0x22 as u8 { done=1; i=i+1 } else { if c==0x5c as u8 { i=i+1; if i<n { let e: u8=s[i]; if e==0x6e as u8 { out[op]=0x0a as u8 } else { if e==0x74 as u8 { out[op]=0x09 as u8 } else { out[op]=e } } op=op+1; i=i+1 } } else { out[op]=c; op=op+1; i=i+1 } } }\n" as *u8) 791 ma_w(fd, " }\n return op\n}\n" as *u8) 792 ma_w(fd, "func main() -> i64 {\n" as *u8) 793 ma_w(fd, " let s: *u8=sys_mmap(8); s[0]=34 as u8; s[1]=97 as u8; s[2]=92 as u8; s[3]=110 as u8; s[4]=98 as u8; s[5]=34 as u8\n" as *u8) 794 ma_w(fd, " let out: *u8=sys_mmap(32); let n: i64=" as *u8); ma_w(fd, fname); ma_w(fd, "(s, 6, out)\n" as *u8) 795 ma_w(fd, " var ok: i64=1; if n!=3 { ok=0 } if out[0]!=97 as u8 { ok=0 } if out[1]!=10 as u8 { ok=0 } if out[2]!=98 as u8 { ok=0 }\n" as *u8) 796 ma_w(fd, " if ok==1 { sys_exit(0) } sys_exit(1)\n return 1\n}\n" as *u8) 797 return 1 798} 799 800// AUTHOR a CSV first-field parser: quoted ("" = literal quote, comma kept inside quotes) or unquoted (to comma). 801// Self-test `"a,b",c` -> "a,b". 802func ma_emit_csv_field(fd: i64, fname: *u8) -> i64 { 803 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (csv-field template) -- parse one CSV field, bits-up\n" as *u8) 804 ma_w(fd, "import \"nx_syscalls.nx\"\n" as *u8) 805 ma_w(fd, "func " as *u8); ma_w(fd, fname); ma_w(fd, "(s: *u8, n: i64, out: *u8) -> i64 {\n" as *u8) 806 ma_w(fd, " var op: i64=0\n" as *u8) 807 ma_w(fd, " if n>0 { if s[0]==0x22 as u8 {\n" as *u8) 808 ma_w(fd, " var i: i64=1; var done: i64=0\n" as *u8) 809 ma_w(fd, " while done==0 { if i>=n { done=1 } else { if s[i]==0x22 as u8 { if i+1<n { if s[i+1]==0x22 as u8 { out[op]=0x22 as u8; op=op+1; i=i+2 } else { done=1; i=i+1 } } else { done=1; i=i+1 } } else { out[op]=s[i]; op=op+1; i=i+1 } } }\n" as *u8) 810 ma_w(fd, " return op\n } }\n" as *u8) 811 ma_w(fd, " var j: i64=0; while j<n { if s[j]==0x2c as u8 { j=n } else { out[op]=s[j]; op=op+1; j=j+1 } }\n" as *u8) 812 ma_w(fd, " return op\n}\n" as *u8) 813 ma_w(fd, "func main() -> i64 {\n" as *u8) 814 ma_w(fd, " let s: *u8=sys_mmap(8); s[0]=34 as u8; s[1]=97 as u8; s[2]=44 as u8; s[3]=98 as u8; s[4]=34 as u8; s[5]=44 as u8; s[6]=99 as u8\n" as *u8) 815 ma_w(fd, " let out: *u8=sys_mmap(32); let n: i64=" as *u8); ma_w(fd, fname); ma_w(fd, "(s, 7, out)\n" as *u8) 816 ma_w(fd, " var ok: i64=1; if n!=3 { ok=0 } if out[0]!=97 as u8 { ok=0 } if out[1]!=44 as u8 { ok=0 } if out[2]!=98 as u8 { ok=0 }\n" as *u8) 817 ma_w(fd, " if ok==1 { sys_exit(0) } sys_exit(1)\n return 1\n}\n" as *u8) 818 return 1 819} 820 821// the spec is SATISFIABLE by the template iff the expected result matches the predicate the template emits 822// (the author checks its own spec before writing -- it won't author a self-contradictory module). 823func ma_spec_consistent(t1: i64, t2: i64, ta: i64, tb: i64, expected: i64) -> i64 { 824 var pred: i64 = 0 825 if ta >= t1 { if tb <= t2 { pred = 1 } } 826 if pred == expected { return 1 } 827 return 0 828} 829 830// AUTHOR a multi-dimension SCORER / qualitative-referee module from a spec: pass iff EVERY dimension >= solid 831// AND at least one >= exceptional. Emits the scorer function + a self-test main. (The Builder authors the 832// qualitative referee with this; Claude evaluates the Builder's output.) 833func ma_emit_scorer(fd: i64, fname: *u8, solid: i64, exceptional: i64) -> i64 { 834 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (nx_module_author scorer template) -- a qualitative referee from a spec\n" as *u8) 835 ma_w(fd, "import \"nx_syscalls.nx\"\n" as *u8) 836 ma_w(fd, "func " as *u8); ma_w(fd, fname); ma_w(fd, "(scores: *i64, n: i64) -> i64 {\n" as *u8) 837 ma_w(fd, " var has_exc: i64 = 0; var i: i64 = 0\n" as *u8) 838 ma_w(fd, " while i < n {\n" as *u8) 839 ma_w(fd, " if scores[i] < " as *u8); ma_wn(fd, solid); ma_w(fd, " { return 0 }\n" as *u8) 840 ma_w(fd, " if scores[i] >= " as *u8); ma_wn(fd, exceptional); ma_w(fd, " { has_exc = 1 }\n" as *u8) 841 ma_w(fd, " i = i + 1\n }\n return has_exc\n}\n" as *u8) 842 ma_w(fd, "func main() -> i64 {\n" as *u8) 843 ma_w(fd, " let g: *i64 = sys_mmap(64) as *i64; g[0]=" as *u8); ma_wn(fd, exceptional); ma_w(fd, "; g[1]=" as *u8); ma_wn(fd, solid); ma_w(fd, "; g[2]=" as *u8); ma_wn(fd, solid); ma_w(fd, "; g[3]=" as *u8); ma_wn(fd, solid); ma_w(fd, "\n" as *u8) 844 ma_w(fd, " let b: *i64 = sys_mmap(64) as *i64; b[0]=0; b[1]=" as *u8); ma_wn(fd, solid); ma_w(fd, "; b[2]=" as *u8); ma_wn(fd, solid); ma_w(fd, "; b[3]=" as *u8); ma_wn(fd, solid); ma_w(fd, "\n" as *u8) 845 ma_w(fd, " if " as *u8); ma_w(fd, fname); ma_w(fd, "(g, 4) == 1 { if " as *u8); ma_w(fd, fname); ma_w(fd, "(b, 4) == 0 { sys_exit(0) } }\n" as *u8) 846 ma_w(fd, " sys_exit(1)\n return 0\n}\n" as *u8) 847 return 1 848} 849 850// AUTHOR the S3 SIGNATURE INDEX (the component catalog of the code-synthesis ladder, 851// knowledge/specs/2026-06-09-tutoring-code-synthesis-rung1.md PART A). Walks <dirpath>/*.nx via 852// nx_dirent, parses every top-level `func name(params) -> ret` (MULTI-LINE signatures included -- 853// nx_dns_build_query proved that case) into stride-8 typed records {name_off, arity, ret, t1..t4, 0} 854// + a name pool, writes the index to <outpath>, and self-tests: corpus >= minfuncs, 5 spot-KATs 855// pinned against the real sources, and a FULL SECOND PASS determinism check (count+hash identical). 856// Rung-1 laws baked in: tree-order output (deterministic on an unchanged tree), BOUNDED reads (one 857// reused 4MB buffer, never sys_read_file's 4GiB map per file), honest KAT failure prints. 858func ma_emit_sig_index(fd: i64, dirpath: *u8, outpath: *u8, minfuncs: i64) -> i64 { 859 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (nx_module_author sig-index template) -- S3 component catalog.\n" as *u8) 860 ma_w(fd, "// Typed signature table of every func in " as *u8); ma_w(fd, dirpath); ma_w(fd, "/*.nx; tutoring: specs/2026-06-09-tutoring-code-synthesis-rung1.md\n" as *u8) 861 ma_w(fd, "// STRUCT-FREE dirent walk by LAW: NxDirent struct-on-stack miscompiles under nx_cc_sovereign\n" as *u8) 862 ma_w(fd, "// (sig11, issue filed 2026-06-09, repro _si_walk_probe vs _si_walk_probe2) -- raw-offset helpers instead.\n" as *u8) 863 ma_w(fd, "import \"nx_syscalls.nx\"\n" as *u8) 864 ma_w(fd, "func si_slen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }\n" as *u8) 865 ma_w(fd, "func _si_puts(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 }\n" as *u8) 866 ma_w(fd, "func _si_num(v: i64) -> i64 { let bb: *u8=sys_mmap(28); var m: i64=v; if m<0{m=0-m;sys_write(1,\"-\" as *u8,1)}; let t: *u8=sys_mmap(28); var k: i64=0; if m==0{t[0]=48;k=1}; while m>0{t[k]=48+(m%10);m=m/10;k=k+1}; var i: i64=0; while i<k{bb[i]=t[k-1-i];i=i+1}; sys_write(1,bb,k); return 0 }\n" as *u8) 867 ma_w(fd, "func _si_fputs(fd2: i64, s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(fd2,s,n); return 0 }\n" as *u8) 868 ma_w(fd, "func _si_fnum(fd2: i64, v: i64) -> i64 { let bb: *u8=sys_mmap(28); var m: i64=v; if m<0{m=0-m;sys_write(fd2,\"-\" as *u8,1)}; let t: *u8=sys_mmap(28); var k: i64=0; if m==0{t[0]=48;k=1}; while m>0{t[k]=48+(m%10);m=m/10;k=k+1}; var i: i64=0; while i<k{bb[i]=t[k-1-i];i=i+1}; sys_write(fd2,bb,k); return 0 }\n" as *u8) 869 ma_w(fd, "func si_ws(c: i64) -> i64 { if c == 32 { return 1 } if c == 9 { return 1 } if c == 13 { return 1 } if c == 10 { return 1 } return 0 }\n" as *u8) 870 ma_w(fd, "func si_tok_eq(buf: *u8, i: i64, e: i64, t: *u8) -> i64 {\n" as *u8) 871 ma_w(fd, " var k: i64 = 0\n while i + k < e {\n if t[k] == (0 as u8) { return 0 }\n if buf[i + k] != t[k] { return 0 }\n k = k + 1\n }\n" as *u8) 872 ma_w(fd, " if t[k] == (0 as u8) { return 1 }\n return 0\n}\n" as *u8) 873 // the TYPE TABLE -- data-driven: extend HERE only (rule: thresholds/tables never inline) 874 ma_w(fd, "func si_type_code(buf: *u8, i: i64, e: i64) -> i64 {\n" as *u8) 875 ma_w(fd, " if si_tok_eq(buf, i, e, \"i64\" as *u8) == 1 { return 1 }\n" as *u8) 876 ma_w(fd, " if si_tok_eq(buf, i, e, \"*u8\" as *u8) == 1 { return 2 }\n" as *u8) 877 ma_w(fd, " if si_tok_eq(buf, i, e, \"*i64\" as *u8) == 1 { return 3 }\n" as *u8) 878 ma_w(fd, " if si_tok_eq(buf, i, e, \"u8\" as *u8) == 1 { return 4 }\n" as *u8) 879 ma_w(fd, " if si_tok_eq(buf, i, e, \"nx_int\" as *u8) == 1 { return 5 }\n" as *u8) 880 ma_w(fd, " if si_tok_eq(buf, i, e, \"nx_size\" as *u8) == 1 { return 6 }\n" as *u8) 881 ma_w(fd, " if si_tok_eq(buf, i, e, \"nx_idx\" as *u8) == 1 { return 7 }\n" as *u8) 882 ma_w(fd, " if si_tok_eq(buf, i, e, \"nx_exit\" as *u8) == 1 { return 8 }\n" as *u8) 883 ma_w(fd, " if si_tok_eq(buf, i, e, \"*nx_int\" as *u8) == 1 { return 9 }\n" as *u8) 884 ma_w(fd, " return 99\n}\n" as *u8) 885 // bounded reader -- ONE reused buffer, not a 4GiB map per file 886 ma_w(fd, "func si_read(path: *u8, buf: *u8, cap: i64) -> i64 {\n" as *u8) 887 ma_w(fd, " let fd2: i64 = sys_openat_rd(path)\n if fd2 < 0 { return 0 - 1 }\n var total: i64 = 0\n var go: i64 = 1\n" as *u8) 888 ma_w(fd, " while go == 1 {\n let base: i64 = buf as i64\n let n: i64 = sys_read(fd2, (base + total) as *u8, cap - total)\n" as *u8) 889 ma_w(fd, " if n <= 0 { go = 0 } else { total = total + n }\n if total >= cap { go = 0 }\n }\n sys_close(fd2)\n return total\n}\n" as *u8) 890 // the scanner: top-level `func ` lines; params parsed ACROSS newlines (multi-line signatures) 891 ma_w(fd, "func si_scan(buf: *u8, n: i64, recs: *i64, maxrec: i64, pool: *u8, poolmax: i64, state: *i64) -> i64 {\n" as *u8) 892 ma_w(fd, " var added: i64 = 0\n var i: i64 = 0\n" as *u8) 893 ma_w(fd, " while i < n {\n" as *u8) 894 ma_w(fd, " var matched: i64 = 0\n" as *u8) 895 ma_w(fd, " if i + 5 < n {\n" as *u8) 896 ma_w(fd, " if buf[i] == (102 as u8) { if buf[i+1] == (117 as u8) { if buf[i+2] == (110 as u8) { if buf[i+3] == (99 as u8) { if buf[i+4] == (32 as u8) { matched = 1 } } } } }\n" as *u8) 897 ma_w(fd, " }\n" as *u8) 898 ma_w(fd, " if matched == 1 {\n" as *u8) 899 ma_w(fd, " var j: i64 = i + 5\n" as *u8) 900 ma_w(fd, " while j < n { if si_ws(buf[j] as i64) == 0 { break } j = j + 1 }\n" as *u8) 901 ma_w(fd, " let ns: i64 = j\n" as *u8) 902 ma_w(fd, " while j < n { if buf[j] == (40 as u8) { break } if si_ws(buf[j] as i64) == 1 { break } j = j + 1 }\n" as *u8) 903 ma_w(fd, " let ne: i64 = j\n" as *u8) 904 ma_w(fd, " while j < n { if si_ws(buf[j] as i64) == 0 { break } j = j + 1 }\n" as *u8) 905 ma_w(fd, " var ok: i64 = 0\n" as *u8) 906 ma_w(fd, " if j < n { if buf[j] == (40 as u8) { ok = 1 } }\n" as *u8) 907 ma_w(fd, " if ne <= ns { ok = 0 }\n if ne - ns > 120 { ok = 0 }\n" as *u8) 908 ma_w(fd, " if ok == 1 {\n" as *u8) 909 ma_w(fd, " j = j + 1\n" as *u8) 910 ma_w(fd, " var arity: i64 = 0\n var t1: i64 = 0\n var t2: i64 = 0\n var t3: i64 = 0\n var t4: i64 = 0\n" as *u8) 911 ma_w(fd, " var stop: i64 = 0\n" as *u8) 912 ma_w(fd, " let lim: i64 = j + 2400\n" as *u8) 913 ma_w(fd, " while stop == 0 {\n" as *u8) 914 ma_w(fd, " if j >= n { stop = 2 }\n" as *u8) 915 ma_w(fd, " if stop == 0 { if j > lim { stop = 2 } }\n" as *u8) 916 ma_w(fd, " if stop == 0 {\n" as *u8) 917 ma_w(fd, " let c: i64 = buf[j] as i64\n" as *u8) 918 ma_w(fd, " if si_ws(c) == 1 { j = j + 1 }\n" as *u8) 919 ma_w(fd, " else { if c == 44 { j = j + 1 }\n" as *u8) 920 ma_w(fd, " else { if c == 41 { stop = 1 }\n" as *u8) 921 ma_w(fd, " else {\n" as *u8) 922 ma_w(fd, " var guard: i64 = 0\n var cont: i64 = 1\n" as *u8) 923 ma_w(fd, " while cont == 1 {\n" as *u8) 924 ma_w(fd, " if j >= n { cont = 0 } else {\n" as *u8) 925 ma_w(fd, " if buf[j] == (58 as u8) { cont = 0 } else {\n" as *u8) 926 ma_w(fd, " if buf[j] == (41 as u8) { cont = 0 } else {\n" as *u8) 927 ma_w(fd, " if guard > 240 { cont = 0 } else { j = j + 1; guard = guard + 1 } } } }\n" as *u8) 928 ma_w(fd, " }\n" as *u8) 929 ma_w(fd, " var okc: i64 = 0\n" as *u8) 930 ma_w(fd, " if j < n { if buf[j] == (58 as u8) { okc = 1 } }\n" as *u8) 931 ma_w(fd, " if okc == 0 { stop = 2 }\n" as *u8) 932 ma_w(fd, " else {\n" as *u8) 933 ma_w(fd, " j = j + 1\n" as *u8) 934 ma_w(fd, " while j < n { if si_ws(buf[j] as i64) == 0 { break } j = j + 1 }\n" as *u8) 935 ma_w(fd, " let ts: i64 = j\n" as *u8) 936 ma_w(fd, " while j < n { if buf[j] == (44 as u8) { break } if buf[j] == (41 as u8) { break } if si_ws(buf[j] as i64) == 1 { break } j = j + 1 }\n" as *u8) 937 ma_w(fd, " let code: i64 = si_type_code(buf, ts, j)\n" as *u8) 938 ma_w(fd, " arity = arity + 1\n" as *u8) 939 ma_w(fd, " if arity == 1 { t1 = code }\n if arity == 2 { t2 = code }\n if arity == 3 { t3 = code }\n if arity == 4 { t4 = code }\n" as *u8) 940 ma_w(fd, " }\n" as *u8) 941 ma_w(fd, " } } }\n" as *u8) 942 ma_w(fd, " }\n" as *u8) 943 ma_w(fd, " }\n" as *u8) 944 ma_w(fd, " if stop == 1 {\n" as *u8) 945 ma_w(fd, " j = j + 1\n" as *u8) 946 ma_w(fd, " while j < n { if buf[j] == (32 as u8) { j = j + 1 } else { break } }\n" as *u8) 947 ma_w(fd, " var ret: i64 = 0\n" as *u8) 948 ma_w(fd, " if j + 1 < n { if buf[j] == (45 as u8) { if buf[j+1] == (62 as u8) {\n" as *u8) 949 ma_w(fd, " j = j + 2\n" as *u8) 950 ma_w(fd, " while j < n { if buf[j] == (32 as u8) { j = j + 1 } else { break } }\n" as *u8) 951 ma_w(fd, " let rs: i64 = j\n" as *u8) 952 ma_w(fd, " while j < n { if si_ws(buf[j] as i64) == 1 { break } if buf[j] == (123 as u8) { break } j = j + 1 }\n" as *u8) 953 ma_w(fd, " ret = si_type_code(buf, rs, j)\n" as *u8) 954 ma_w(fd, " } } }\n" as *u8) 955 ma_w(fd, " if state[0] < maxrec { if state[1] + (ne - ns) + 2 < poolmax {\n" as *u8) 956 ma_w(fd, " let r: i64 = state[0]\n" as *u8) 957 ma_w(fd, " recs[r*8+0] = state[1]\n recs[r*8+1] = arity\n recs[r*8+2] = ret\n recs[r*8+3] = t1\n recs[r*8+4] = t2\n recs[r*8+5] = t3\n recs[r*8+6] = t4\n recs[r*8+7] = 0\n" as *u8) 958 ma_w(fd, " var q: i64 = ns\n var p: i64 = state[1]\n" as *u8) 959 ma_w(fd, " while q < ne { pool[p] = buf[q]; p = p + 1; q = q + 1 }\n" as *u8) 960 ma_w(fd, " pool[p] = 0 as u8\n" as *u8) 961 ma_w(fd, " state[1] = p + 1\n state[0] = r + 1\n added = added + 1\n" as *u8) 962 ma_w(fd, " var h: i64 = state[2]\n" as *u8) 963 ma_w(fd, " q = ns\n while q < ne { h = h * 131 + (buf[q] as i64); q = q + 1 }\n" as *u8) 964 ma_w(fd, " h = h * 31 + arity\n h = h * 31 + ret\n h = h * 31 + t1\n h = h * 31 + t2\n h = h * 31 + t3\n h = h * 31 + t4\n" as *u8) 965 ma_w(fd, " state[2] = h\n" as *u8) 966 ma_w(fd, " } }\n" as *u8) 967 ma_w(fd, " }\n" as *u8) 968 ma_w(fd, " }\n" as *u8) 969 ma_w(fd, " }\n" as *u8) 970 ma_w(fd, " while i < n { if buf[i] == (10 as u8) { break } i = i + 1 }\n" as *u8) 971 ma_w(fd, " i = i + 1\n" as *u8) 972 ma_w(fd, " }\n" as *u8) 973 ma_w(fd, " return added\n}\n" as *u8) 974 // the full walk pass -- callable twice for the determinism KAT 975 ma_w(fd, "func si_build(recs: *i64, maxrec: i64, pool: *u8, poolmax: i64, state: *i64, fstate: *i64) -> i64 {\n" as *u8) 976 ma_w(fd, " state[0] = 0\n state[1] = 0\n state[2] = 0\n fstate[0] = 0\n" as *u8) 977 ma_w(fd, " let dfd: i64 = sys_openat_rd(\"" as *u8); ma_w(fd, dirpath); ma_w(fd, "\" as *u8)\n" as *u8) 978 ma_w(fd, " if dfd < 0 { return 0 - 1 }\n" as *u8) 979 ma_w(fd, " let dirbuf: *u8 = sys_mmap(1048640)\n let pathbuf: *u8 = sys_mmap(4096)\n let filebuf: *u8 = sys_mmap(4194320)\n" as *u8) 980 ma_w(fd, " var done: i64 = 0\n" as *u8) 981 ma_w(fd, " while done == 0 {\n" as *u8) 982 ma_w(fd, " let nb: i64 = sys_getdents64(dfd, dirbuf, 1048576)\n" as *u8) 983 ma_w(fd, " if nb <= 0 { done = 1 }\n" as *u8) 984 ma_w(fd, " else {\n" as *u8) 985 ma_w(fd, " var off: i64 = 0\n" as *u8) 986 ma_w(fd, " while off < nb {\n" as *u8) 987 ma_w(fd, " let dbase: i64 = dirbuf as i64\n" as *u8) 988 ma_w(fd, " let rec: *u8 = (dbase + off) as *u8\n" as *u8) 989 ma_w(fd, " let rl: i64 = dirent_reclen(rec)\n" as *u8) 990 ma_w(fd, " if rl <= 0 { off = nb }\n" as *u8) 991 ma_w(fd, " else {\n" as *u8) 992 ma_w(fd, " let name: *u8 = dirent_name(rec)\n" as *u8) 993 ma_w(fd, " let nl: i64 = si_slen(name)\n" as *u8) 994 ma_w(fd, " var isnx: i64 = 0\n" as *u8) 995 ma_w(fd, " if nl > 3 {\n" as *u8) 996 ma_w(fd, " if name[nl-3] == (46 as u8) { if name[nl-2] == (110 as u8) { if name[nl-1] == (120 as u8) { isnx = 1 } } }\n" as *u8) 997 ma_w(fd, " }\n" as *u8) 998 ma_w(fd, " if isnx == 1 {\n" as *u8) 999 ma_w(fd, " var p: i64 = 0\n" as *u8) 1000 ma_w(fd, " let pre: *u8 = \"" as *u8); ma_w(fd, dirpath); ma_w(fd, "/\" as *u8\n" as *u8) 1001 ma_w(fd, " while pre[p] != (0 as u8) { pathbuf[p] = pre[p]; p = p + 1 }\n" as *u8) 1002 ma_w(fd, " var q: i64 = 0\n" as *u8) 1003 ma_w(fd, " while q < nl { pathbuf[p] = name[q]; p = p + 1; q = q + 1 }\n" as *u8) 1004 ma_w(fd, " pathbuf[p] = 0 as u8\n" as *u8) 1005 ma_w(fd, " let fl: i64 = si_read(pathbuf, filebuf, 4194304)\n" as *u8) 1006 ma_w(fd, " if fl > 0 {\n" as *u8) 1007 ma_w(fd, " si_scan(filebuf, fl, recs, maxrec, pool, poolmax, state)\n" as *u8) 1008 ma_w(fd, " fstate[0] = fstate[0] + 1\n" as *u8) 1009 ma_w(fd, " }\n" as *u8) 1010 ma_w(fd, " }\n" as *u8) 1011 ma_w(fd, " off = off + rl\n" as *u8) 1012 ma_w(fd, " }\n" as *u8) 1013 ma_w(fd, " }\n" as *u8) 1014 ma_w(fd, " }\n" as *u8) 1015 ma_w(fd, " }\n" as *u8) 1016 ma_w(fd, " sys_close(dfd)\n return 0\n}\n" as *u8) 1017 // spot-KAT helpers 1018 ma_w(fd, "func si_name_eq(pool: *u8, off: i64, name: *u8) -> i64 {\n" as *u8) 1019 ma_w(fd, " var k: i64 = 0\n" as *u8) 1020 ma_w(fd, " while name[k] != (0 as u8) { if pool[off+k] != name[k] { return 0 } k = k + 1 }\n" as *u8) 1021 ma_w(fd, " if pool[off+k] == (0 as u8) { return 1 }\n return 0\n}\n" as *u8) 1022 ma_w(fd, "func si_find(recs: *i64, m: i64, pool: *u8, name: *u8) -> i64 {\n" as *u8) 1023 ma_w(fd, " var r: i64 = 0\n" as *u8) 1024 ma_w(fd, " while r < m { if si_name_eq(pool, recs[r*8+0], name) == 1 { return r } r = r + 1 }\n" as *u8) 1025 ma_w(fd, " return 0 - 1\n}\n" as *u8) 1026 ma_w(fd, "func si_check(recs: *i64, m: i64, pool: *u8, name: *u8, arity: i64, ret: i64, t1: i64) -> i64 {\n" as *u8) 1027 ma_w(fd, " let r: i64 = si_find(recs, m, pool, name)\n" as *u8) 1028 ma_w(fd, " if r < 0 { _si_puts(\" KAT MISS \" as *u8); _si_puts(name); _si_puts(\"\\n\" as *u8); return 0 }\n" as *u8) 1029 ma_w(fd, " var ok: i64 = 1\n" as *u8) 1030 ma_w(fd, " if recs[r*8+1] != arity { ok = 0 }\n if recs[r*8+2] != ret { ok = 0 }\n if recs[r*8+3] != t1 { ok = 0 }\n" as *u8) 1031 ma_w(fd, " if ok == 0 { _si_puts(\" KAT BAD \" as *u8); _si_puts(name); _si_puts(\" arity=\" as *u8); _si_num(recs[r*8+1]); _si_puts(\" ret=\" as *u8); _si_num(recs[r*8+2]); _si_puts(\" t1=\" as *u8); _si_num(recs[r*8+3]); _si_puts(\"\\n\" as *u8) }\n" as *u8) 1032 ma_w(fd, " return ok\n}\n" as *u8) 1033 // main: build -> write index -> spot-KATs -> determinism second pass -> honest verdict 1034 ma_w(fd, "func main() -> i64 {\n" as *u8) 1035 ma_w(fd, " _si_puts(\"=== BUILDER-AUTHORED SIG-INDEX: S3 component catalog (typed func signatures) ===\\n\" as *u8)\n" as *u8) 1036 ma_w(fd, " let recs: *i64 = sys_mmap(16777216) as *i64\n" as *u8) 1037 ma_w(fd, " let pool: *u8 = sys_mmap(16777216)\n" as *u8) 1038 ma_w(fd, " let state: *i64 = sys_mmap(64) as *i64\n let fstate: *i64 = sys_mmap(64) as *i64\n" as *u8) 1039 ma_w(fd, " if si_build(recs, 262144, pool, 16777216, state, fstate) < 0 { _si_puts(\" open dir FAILED\\n\" as *u8); sys_exit(1); return 1 }\n" as *u8) 1040 ma_w(fd, " let m: i64 = state[0]\n let h1: i64 = state[2]\n" as *u8) 1041 ma_w(fd, " _si_puts(\" pass1: files=\" as *u8); _si_num(fstate[0]); _si_puts(\" funcs=\" as *u8); _si_num(m); _si_puts(\" poolB=\" as *u8); _si_num(state[1]); _si_puts(\"\\n\" as *u8)\n" as *u8) 1042 ma_w(fd, " let ofd: i64 = sys_openat_wr(\"" as *u8); ma_w(fd, outpath); ma_w(fd, "\" as *u8, 0x1a4)\n" as *u8) 1043 ma_w(fd, " if ofd >= 0 {\n" as *u8) 1044 ma_w(fd, " var r: i64 = 0\n" as *u8) 1045 ma_w(fd, " while r < m {\n" as *u8) 1046 ma_w(fd, " let base: i64 = pool as i64\n" as *u8) 1047 ma_w(fd, " _si_fputs(ofd, (base + recs[r*8+0]) as *u8)\n" as *u8) 1048 ma_w(fd, " _si_fputs(ofd, \"|\" as *u8); _si_fnum(ofd, recs[r*8+1])\n" as *u8) 1049 ma_w(fd, " _si_fputs(ofd, \"|\" as *u8); _si_fnum(ofd, recs[r*8+2])\n" as *u8) 1050 ma_w(fd, " _si_fputs(ofd, \"|\" as *u8); _si_fnum(ofd, recs[r*8+3])\n" as *u8) 1051 ma_w(fd, " _si_fputs(ofd, \",\" as *u8); _si_fnum(ofd, recs[r*8+4])\n" as *u8) 1052 ma_w(fd, " _si_fputs(ofd, \",\" as *u8); _si_fnum(ofd, recs[r*8+5])\n" as *u8) 1053 ma_w(fd, " _si_fputs(ofd, \",\" as *u8); _si_fnum(ofd, recs[r*8+6])\n" as *u8) 1054 ma_w(fd, " _si_fputs(ofd, \"\\n\" as *u8)\n" as *u8) 1055 ma_w(fd, " r = r + 1\n" as *u8) 1056 ma_w(fd, " }\n" as *u8) 1057 ma_w(fd, " sys_close(ofd)\n" as *u8) 1058 ma_w(fd, " _si_puts(\" index written: " as *u8); ma_w(fd, outpath); ma_w(fd, "\\n\" as *u8)\n" as *u8) 1059 ma_w(fd, " }\n" as *u8) 1060 ma_w(fd, " var pass: i64 = 1\n" as *u8) 1061 ma_w(fd, " if m < " as *u8); ma_wn(fd, minfuncs); ma_w(fd, " { pass = 0; _si_puts(\" KAT BAD corpus too small\\n\" as *u8) }\n" as *u8) 1062 ma_w(fd, " if si_check(recs, m, pool, \"nx_dns_build_query\" as *u8, 6, 1, 2) == 0 { pass = 0 }\n" as *u8) 1063 ma_w(fd, " if si_check(recs, m, pool, \"sys_getdents64\" as *u8, 3, 1, 1) == 0 { pass = 0 }\n" as *u8) 1064 ma_w(fd, " if si_check(recs, m, pool, \"nx_open_rd\" as *u8, 1, 1, 2) == 0 { pass = 0 }\n" as *u8) 1065 ma_w(fd, " if si_check(recs, m, pool, \"nx_bm25_doclen\" as *u8, 2, 1, 2) == 0 { pass = 0 }\n" as *u8) 1066 ma_w(fd, " if si_check(recs, m, pool, \"nx_dirent_name_len\" as *u8, 1, 1, 99) == 0 { pass = 0 }\n" as *u8) 1067 ma_w(fd, " let recs2: *i64 = sys_mmap(16777216) as *i64\n" as *u8) 1068 ma_w(fd, " let pool2: *u8 = sys_mmap(16777216)\n" as *u8) 1069 ma_w(fd, " let state2: *i64 = sys_mmap(64) as *i64\n let fstate2: *i64 = sys_mmap(64) as *i64\n" as *u8) 1070 ma_w(fd, " si_build(recs2, 262144, pool2, 16777216, state2, fstate2)\n" as *u8) 1071 ma_w(fd, " if state2[0] != m { pass = 0; _si_puts(\" KAT BAD pass2 count differs\\n\" as *u8) }\n" as *u8) 1072 ma_w(fd, " if state2[2] != h1 { pass = 0; _si_puts(\" KAT BAD pass2 hash differs\\n\" as *u8) }\n" as *u8) 1073 ma_w(fd, " _si_puts(\" determinism pass2: funcs=\" as *u8); _si_num(state2[0]); _si_puts(\" hash-match=\" as *u8)\n" as *u8) 1074 ma_w(fd, " if state2[2] == h1 { _si_puts(\"Y\\n\" as *u8) } else { _si_puts(\"N\\n\" as *u8) }\n" as *u8) 1075 ma_w(fd, " if pass == 1 { _si_puts(\" SIG-INDEX GATE: PASS (catalog + spot-KATs + determinism)\\n\" as *u8); sys_exit(0); return 0 }\n" as *u8) 1076 ma_w(fd, " _si_puts(\" SIG-INDEX GATE: FAIL\\n\" as *u8)\n" as *u8) 1077 ma_w(fd, " sys_exit(1)\n return 1\n}\n" as *u8) 1078 return 1 1079} 1080 1081// AUTHOR the S3 TYPE-DIRECTED SYNTHESIZER (the NOVEL rung of the code-synthesis ladder, 1082// knowledge/specs/2026-06-09-tutoring-code-synthesis-rung1.md PART B). Bottom-up enumeration with 1083// OBSERVATIONAL-EQUIVALENCE pruning: a term's behavior = its K-vector of outputs on the spec's KAT 1084// examples; one representative per distinct vector is kept (the hash table collapses the syntax 1085// space to the behavior space). Accept = exact target-vector match; the found term is EMITTED as a 1086// real .nx module whose own main re-verifies every KAT (the Engineer's gate). ANTICHEAT BY 1087// CONSTRUCTION: the component pool holds arithmetic/bit primitives ONLY, no team function bodies -- 1088// retrieval is impossible, every accept is derived. HONESTY: budget/term-cap exhaustion prints 1089// SEARCH-EXHAUSTED with real counts; a near-miss is never emitted. The gate main re-synthesizes 3 1090// HELD-OUT cores the team already owns (validator threshold / bit-field extract / clamp). 1091func ma_emit_type_search(fd: i64) -> i64 { 1092 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (nx_module_author type-search template) -- S3 rung-1 synthesizer.\n" as *u8) 1093 ma_w(fd, "// Obs-equiv bottom-up search; tutoring: specs/2026-06-09-tutoring-code-synthesis-rung1.md PART B.\n" as *u8) 1094 ma_w(fd, "import \"nx_syscalls.nx\"\n" as *u8) 1095 ma_w(fd, "func _ts_puts(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 }\n" as *u8) 1096 ma_w(fd, "func _ts_num(v: i64) -> i64 { let bb: *u8=sys_mmap(28); var m: i64=v; if m<0{m=0-m;sys_write(1,\"-\" as *u8,1)}; let t: *u8=sys_mmap(28); var k: i64=0; if m==0{t[0]=48;k=1}; while m>0{t[k]=48+(m%10);m=m/10;k=k+1}; var i: i64=0; while i<k{bb[i]=t[k-1-i];i=i+1}; sys_write(1,bb,k); return 0 }\n" as *u8) 1097 ma_w(fd, "func _ts_fputs(fd2: i64, s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(fd2,s,n); return 0 }\n" as *u8) 1098 ma_w(fd, "func _ts_fnum(fd2: i64, v: i64) -> i64 { let bb: *u8=sys_mmap(28); var m: i64=v; if m<0{m=0-m;sys_write(fd2,\"-\" as *u8,1)}; let t: *u8=sys_mmap(28); var k: i64=0; if m==0{t[0]=48;k=1}; while m>0{t[k]=48+(m%10);m=m/10;k=k+1}; var i: i64=0; while i<k{bb[i]=t[k-1-i];i=i+1}; sys_write(fd2,bb,k); return 0 }\n" as *u8) 1099 ma_w(fd, "func _ts_fsig(fd2: i64, v: i64) -> i64 { if v < 0 { _ts_fputs(fd2, \"0 - \" as *u8); _ts_fnum(fd2, 0 - v) } else { _ts_fnum(fd2, v) } return 0 }\n" as *u8) 1100 ma_w(fd, "const TS_K: i64 = 8\nconst TS_NCOMP: i64 = 12\nconst TS_MAXTERM: i64 = 30000\nconst TS_MAXLVL: i64 = 4\nconst TS_HCAP: i64 = 131072\nconst TS_BUDGET: i64 = 8000000\n" as *u8) 1101 // the whitelisted primitive pool -- comp ids ordered so the gate specs' operators come early 1102 ma_w(fd, "func ts_arity(c: i64) -> i64 { if c == 12 { return 1 } return 2 }\n" as *u8) 1103 // normalization rule 2 (literature-standard): commutative comps enumerate canonical x<=y only 1104 ma_w(fd, "func ts_comm(c: i64) -> i64 { if c == 2 { return 1 } if c == 4 { return 1 } if c == 5 { return 1 } if c == 6 { return 1 } if c == 8 { return 1 } return 0 }\n" as *u8) 1105 ma_w(fd, "func ts_apply(c: i64, a: i64, b: i64) -> i64 {\n" as *u8) 1106 ma_w(fd, " if c == 1 { if a <= b { return 1 } return 0 }\n" as *u8) 1107 ma_w(fd, " if c == 2 { return a & b }\n" as *u8) 1108 ma_w(fd, " if c == 3 { return a >> (b & 63) }\n" as *u8) 1109 ma_w(fd, " if c == 4 { if a < b { return a } return b }\n" as *u8) 1110 ma_w(fd, " if c == 5 { if a > b { return a } return b }\n" as *u8) 1111 ma_w(fd, " if c == 6 { return a + b }\n" as *u8) 1112 ma_w(fd, " if c == 7 { return a - b }\n" as *u8) 1113 ma_w(fd, " if c == 8 { return a * b }\n" as *u8) 1114 ma_w(fd, " if c == 9 { return a << (b & 63) }\n" as *u8) 1115 ma_w(fd, " if c == 10 { if b == 0 { return 0 } return a / b }\n" as *u8) 1116 ma_w(fd, " if c == 11 { if b == 0 { return 0 } return a % b }\n" as *u8) 1117 ma_w(fd, " if c == 12 { if a < 0 { return 0 - a } return a }\n" as *u8) 1118 ma_w(fd, " return 0\n}\n" as *u8) 1119 // behavior-vector hash + equality (the obs-equiv pruning core) 1120 ma_w(fd, "func ts_vech(vecs: *i64, ix: i64) -> i64 {\n" as *u8) 1121 ma_w(fd, " var h: i64 = 1469\n var k: i64 = 0\n" as *u8) 1122 ma_w(fd, " while k < TS_K { h = h * 131 + vecs[ix*TS_K+k]; k = k + 1 }\n" as *u8) 1123 ma_w(fd, " if h < 0 { h = 0 - h }\n return h\n}\n" as *u8) 1124 ma_w(fd, "func ts_vec_eq(vecs: *i64, x: i64, y: i64) -> i64 {\n" as *u8) 1125 ma_w(fd, " var k: i64 = 0\n" as *u8) 1126 ma_w(fd, " while k < TS_K { if vecs[x*TS_K+k] != vecs[y*TS_K+k] { return 0 } k = k + 1 }\n" as *u8) 1127 ma_w(fd, " return 1\n}\n" as *u8) 1128 ma_w(fd, "func ts_insert(vecs: *i64, hash: *i64, nterm: i64) -> i64 {\n" as *u8) 1129 ma_w(fd, " let h0: i64 = ts_vech(vecs, nterm) & (TS_HCAP - 1)\n" as *u8) 1130 ma_w(fd, " var s: i64 = h0\n" as *u8) 1131 ma_w(fd, " var go: i64 = 1\n" as *u8) 1132 ma_w(fd, " while go == 1 {\n" as *u8) 1133 ma_w(fd, " if hash[s] == 0 { hash[s] = nterm + 1; return 1 }\n" as *u8) 1134 ma_w(fd, " if ts_vec_eq(vecs, hash[s] - 1, nterm) == 1 { return 0 }\n" as *u8) 1135 ma_w(fd, " s = s + 1\n" as *u8) 1136 ma_w(fd, " if s >= TS_HCAP { s = 0 }\n" as *u8) 1137 ma_w(fd, " if s == h0 { return 0 }\n" as *u8) 1138 ma_w(fd, " }\n return 0\n}\n" as *u8) 1139 ma_w(fd, "func ts_is_target(vecs: *i64, ix: i64, kx: *i64) -> i64 {\n" as *u8) 1140 ma_w(fd, " var k: i64 = 0\n" as *u8) 1141 ma_w(fd, " while k < TS_K { if vecs[ix*TS_K+k] != kx[k] { return 0 } k = k + 1 }\n" as *u8) 1142 ma_w(fd, " return 1\n}\n" as *u8) 1143 // the search: terms stride 5 {kind, val/comp, left, right, level}; kind 0=input 1=const 2=app 1144 ma_w(fd, "func ts_search(ka: *i64, kb: *i64, kx: *i64, cons: *i64, ncon: i64, terms: *i64, vecs: *i64, hash: *i64, stats: *i64) -> i64 {\n" as *u8) 1145 ma_w(fd, " var s: i64 = 0\n while s < TS_HCAP { hash[s] = 0; s = s + 1 }\n" as *u8) 1146 ma_w(fd, " var nt: i64 = 0\n var cand: i64 = 0\n var k: i64 = 0\n" as *u8) 1147 // seed: input a, input b, the const pool -- each checked against the target too 1148 ma_w(fd, " k = 0\n while k < TS_K { vecs[nt*TS_K+k] = ka[k]; k = k + 1 }\n" as *u8) 1149 ma_w(fd, " terms[nt*5+0] = 0\n terms[nt*5+1] = 0\n terms[nt*5+2] = 0\n terms[nt*5+3] = 0\n terms[nt*5+4] = 1\n" as *u8) 1150 ma_w(fd, " if ts_insert(vecs, hash, nt) == 1 { if ts_is_target(vecs, nt, kx) == 1 { stats[0]=cand; stats[1]=nt+1; stats[2]=1; return nt } nt = nt + 1 }\n" as *u8) 1151 ma_w(fd, " k = 0\n while k < TS_K { vecs[nt*TS_K+k] = kb[k]; k = k + 1 }\n" as *u8) 1152 ma_w(fd, " terms[nt*5+0] = 0\n terms[nt*5+1] = 1\n terms[nt*5+2] = 0\n terms[nt*5+3] = 0\n terms[nt*5+4] = 1\n" as *u8) 1153 ma_w(fd, " if ts_insert(vecs, hash, nt) == 1 { if ts_is_target(vecs, nt, kx) == 1 { stats[0]=cand; stats[1]=nt+1; stats[2]=1; return nt } nt = nt + 1 }\n" as *u8) 1154 ma_w(fd, " var ci: i64 = 0\n" as *u8) 1155 ma_w(fd, " while ci < ncon {\n" as *u8) 1156 ma_w(fd, " k = 0\n while k < TS_K { vecs[nt*TS_K+k] = cons[ci]; k = k + 1 }\n" as *u8) 1157 ma_w(fd, " terms[nt*5+0] = 1\n terms[nt*5+1] = cons[ci]\n terms[nt*5+2] = 0\n terms[nt*5+3] = 0\n terms[nt*5+4] = 1\n" as *u8) 1158 ma_w(fd, " if ts_insert(vecs, hash, nt) == 1 { if ts_is_target(vecs, nt, kx) == 1 { stats[0]=cand; stats[1]=nt+1; stats[2]=1; return nt } nt = nt + 1 }\n" as *u8) 1159 ma_w(fd, " ci = ci + 1\n" as *u8) 1160 ma_w(fd, " }\n" as *u8) 1161 // level loop: candidates whose deepest child sits exactly one level down 1162 ma_w(fd, " var lvl: i64 = 2\n" as *u8) 1163 ma_w(fd, " while lvl <= TS_MAXLVL {\n" as *u8) 1164 ma_w(fd, " let n0: i64 = nt\n" as *u8) 1165 ma_w(fd, " var c: i64 = 1\n" as *u8) 1166 ma_w(fd, " while c <= TS_NCOMP {\n" as *u8) 1167 ma_w(fd, " var x: i64 = 0\n" as *u8) 1168 ma_w(fd, " while x < n0 {\n" as *u8) 1169 ma_w(fd, " if ts_arity(c) == 1 {\n" as *u8) 1170 ma_w(fd, " if terms[x*5+4] == lvl - 1 {\n" as *u8) 1171 ma_w(fd, " if nt >= TS_MAXTERM { stats[0]=cand; stats[1]=nt; stats[2]=lvl; stats[3]=1; return 0 - 1 }\n" as *u8) 1172 ma_w(fd, " if cand > TS_BUDGET { stats[0]=cand; stats[1]=nt; stats[2]=lvl; stats[3]=1; return 0 - 1 }\n" as *u8) 1173 ma_w(fd, " cand = cand + 1\n" as *u8) 1174 ma_w(fd, " k = 0\n while k < TS_K { vecs[nt*TS_K+k] = ts_apply(c, vecs[x*TS_K+k], 0); k = k + 1 }\n" as *u8) 1175 ma_w(fd, " if ts_insert(vecs, hash, nt) == 1 {\n" as *u8) 1176 ma_w(fd, " terms[nt*5+0] = 2\n terms[nt*5+1] = c\n terms[nt*5+2] = x\n terms[nt*5+3] = 0\n terms[nt*5+4] = lvl\n" as *u8) 1177 ma_w(fd, " if ts_is_target(vecs, nt, kx) == 1 { stats[0]=cand; stats[1]=nt+1; stats[2]=lvl; return nt }\n" as *u8) 1178 ma_w(fd, " nt = nt + 1\n" as *u8) 1179 ma_w(fd, " }\n" as *u8) 1180 ma_w(fd, " }\n" as *u8) 1181 ma_w(fd, " }\n" as *u8) 1182 ma_w(fd, " else {\n" as *u8) 1183 ma_w(fd, " var y: i64 = 0\n" as *u8) 1184 ma_w(fd, " while y < n0 {\n" as *u8) 1185 ma_w(fd, " var mx: i64 = terms[x*5+4]\n" as *u8) 1186 ma_w(fd, " if terms[y*5+4] > mx { mx = terms[y*5+4] }\n" as *u8) 1187 ma_w(fd, " if terms[x*5+0] == 1 { if terms[y*5+0] == 1 { mx = 0 - 1 } }\n" as *u8) 1188 ma_w(fd, " if ts_comm(c) == 1 { if x > y { mx = 0 - 1 } }\n" as *u8) 1189 ma_w(fd, " if mx == lvl - 1 {\n" as *u8) 1190 ma_w(fd, " if nt >= TS_MAXTERM { stats[0]=cand; stats[1]=nt; stats[2]=lvl; stats[3]=1; return 0 - 1 }\n" as *u8) 1191 ma_w(fd, " if cand > TS_BUDGET { stats[0]=cand; stats[1]=nt; stats[2]=lvl; stats[3]=1; return 0 - 1 }\n" as *u8) 1192 ma_w(fd, " cand = cand + 1\n" as *u8) 1193 ma_w(fd, " k = 0\n while k < TS_K { vecs[nt*TS_K+k] = ts_apply(c, vecs[x*TS_K+k], vecs[y*TS_K+k]); k = k + 1 }\n" as *u8) 1194 ma_w(fd, " if ts_insert(vecs, hash, nt) == 1 {\n" as *u8) 1195 ma_w(fd, " terms[nt*5+0] = 2\n terms[nt*5+1] = c\n terms[nt*5+2] = x\n terms[nt*5+3] = y\n terms[nt*5+4] = lvl\n" as *u8) 1196 ma_w(fd, " if ts_is_target(vecs, nt, kx) == 1 { stats[0]=cand; stats[1]=nt+1; stats[2]=lvl; return nt }\n" as *u8) 1197 ma_w(fd, " nt = nt + 1\n" as *u8) 1198 ma_w(fd, " }\n" as *u8) 1199 ma_w(fd, " }\n" as *u8) 1200 ma_w(fd, " y = y + 1\n" as *u8) 1201 ma_w(fd, " }\n" as *u8) 1202 ma_w(fd, " }\n" as *u8) 1203 ma_w(fd, " x = x + 1\n" as *u8) 1204 ma_w(fd, " }\n" as *u8) 1205 ma_w(fd, " c = c + 1\n" as *u8) 1206 ma_w(fd, " }\n" as *u8) 1207 ma_w(fd, " lvl = lvl + 1\n" as *u8) 1208 ma_w(fd, " }\n" as *u8) 1209 ma_w(fd, " stats[0]=cand\n stats[1]=nt\n stats[2]=TS_MAXLVL\n stats[3]=0\n return 0 - 1\n}\n" as *u8) 1210 // expression reconstruction -> a real .nx module (silent main: exit code IS the verdict) 1211 ma_w(fd, "func ts_comp_name(c: i64) -> *u8 {\n" as *u8) 1212 ma_w(fd, " if c == 1 { return \"_c_le\" as *u8 }\n" as *u8) 1213 ma_w(fd, " if c == 2 { return \"_c_and\" as *u8 }\n" as *u8) 1214 ma_w(fd, " if c == 3 { return \"_c_shr\" as *u8 }\n" as *u8) 1215 ma_w(fd, " if c == 4 { return \"_c_min\" as *u8 }\n" as *u8) 1216 ma_w(fd, " if c == 5 { return \"_c_max\" as *u8 }\n" as *u8) 1217 ma_w(fd, " if c == 6 { return \"_c_add\" as *u8 }\n" as *u8) 1218 ma_w(fd, " if c == 7 { return \"_c_sub\" as *u8 }\n" as *u8) 1219 ma_w(fd, " if c == 8 { return \"_c_mul\" as *u8 }\n" as *u8) 1220 ma_w(fd, " if c == 9 { return \"_c_shl\" as *u8 }\n" as *u8) 1221 ma_w(fd, " if c == 10 { return \"_c_div\" as *u8 }\n" as *u8) 1222 ma_w(fd, " if c == 11 { return \"_c_mod\" as *u8 }\n" as *u8) 1223 ma_w(fd, " return \"_c_abs\" as *u8\n}\n" as *u8) 1224 ma_w(fd, "func ts_emit_term(ofd: i64, terms: *i64, ix: i64) -> i64 {\n" as *u8) 1225 ma_w(fd, " let kind: i64 = terms[ix*5+0]\n" as *u8) 1226 ma_w(fd, " if kind == 0 { if terms[ix*5+1] == 0 { _ts_fputs(ofd, \"a\" as *u8) } else { _ts_fputs(ofd, \"b\" as *u8) } return 0 }\n" as *u8) 1227 ma_w(fd, " if kind == 1 { _ts_fsig(ofd, terms[ix*5+1]); return 0 }\n" as *u8) 1228 ma_w(fd, " _ts_fputs(ofd, ts_comp_name(terms[ix*5+1])); _ts_fputs(ofd, \"(\" as *u8)\n" as *u8) 1229 ma_w(fd, " ts_emit_term(ofd, terms, terms[ix*5+2])\n" as *u8) 1230 ma_w(fd, " if ts_arity(terms[ix*5+1]) == 2 { _ts_fputs(ofd, \", \" as *u8); ts_emit_term(ofd, terms, terms[ix*5+3]) }\n" as *u8) 1231 ma_w(fd, " _ts_fputs(ofd, \")\" as *u8)\n" as *u8) 1232 ma_w(fd, " return 0\n}\n" as *u8) 1233 ma_w(fd, "func ts_emit_module(path: *u8, terms: *i64, ix: i64, ka: *i64, kb: *i64, kx: *i64) -> i64 {\n" as *u8) 1234 ma_w(fd, " let ofd: i64 = sys_openat_wr(path, 0x1a4)\n" as *u8) 1235 ma_w(fd, " if ofd < 0 { return 0 - 1 }\n" as *u8) 1236 ma_w(fd, " _ts_fputs(ofd, \"// RE-SYNTHESIZED BY THE NISHI TEAM (_type_search_authored): derived from KATs by\\n\" as *u8)\n" as *u8) 1237 ma_w(fd, " _ts_fputs(ofd, \"// observational-equivalence search over a primitive pool. NOT retrieved -- the pool\\n\" as *u8)\n" as *u8) 1238 ma_w(fd, " _ts_fputs(ofd, \"// holds no team function bodies. Silent main: exit 0 iff every KAT passes.\\n\" as *u8)\n" as *u8) 1239 ma_w(fd, " _ts_fputs(ofd, \"import \\\"nx_syscalls.nx\\\"\\n\" as *u8)\n" as *u8) 1240 ma_w(fd, " _ts_fputs(ofd, \"func _c_le(a: i64, b: i64) -> i64 { if a <= b { return 1 } return 0 }\\n\" as *u8)\n" as *u8) 1241 ma_w(fd, " _ts_fputs(ofd, \"func _c_and(a: i64, b: i64) -> i64 { return a & b }\\n\" as *u8)\n" as *u8) 1242 ma_w(fd, " _ts_fputs(ofd, \"func _c_shr(a: i64, b: i64) -> i64 { return a >> (b & 63) }\\n\" as *u8)\n" as *u8) 1243 ma_w(fd, " _ts_fputs(ofd, \"func _c_min(a: i64, b: i64) -> i64 { if a < b { return a } return b }\\n\" as *u8)\n" as *u8) 1244 ma_w(fd, " _ts_fputs(ofd, \"func _c_max(a: i64, b: i64) -> i64 { if a > b { return a } return b }\\n\" as *u8)\n" as *u8) 1245 ma_w(fd, " _ts_fputs(ofd, \"func _c_add(a: i64, b: i64) -> i64 { return a + b }\\n\" as *u8)\n" as *u8) 1246 ma_w(fd, " _ts_fputs(ofd, \"func _c_sub(a: i64, b: i64) -> i64 { return a - b }\\n\" as *u8)\n" as *u8) 1247 ma_w(fd, " _ts_fputs(ofd, \"func _c_mul(a: i64, b: i64) -> i64 { return a * b }\\n\" as *u8)\n" as *u8) 1248 ma_w(fd, " _ts_fputs(ofd, \"func _c_shl(a: i64, b: i64) -> i64 { return a << (b & 63) }\\n\" as *u8)\n" as *u8) 1249 ma_w(fd, " _ts_fputs(ofd, \"func _c_div(a: i64, b: i64) -> i64 { if b == 0 { return 0 } return a / b }\\n\" as *u8)\n" as *u8) 1250 ma_w(fd, " _ts_fputs(ofd, \"func _c_mod(a: i64, b: i64) -> i64 { if b == 0 { return 0 } return a % b }\\n\" as *u8)\n" as *u8) 1251 ma_w(fd, " _ts_fputs(ofd, \"func _c_abs(a: i64) -> i64 { if a < 0 { return 0 - a } return a }\\n\" as *u8)\n" as *u8) 1252 ma_w(fd, " _ts_fputs(ofd, \"func resynth(a: i64, b: i64) -> i64 { return \" as *u8)\n" as *u8) 1253 ma_w(fd, " ts_emit_term(ofd, terms, ix)\n" as *u8) 1254 ma_w(fd, " _ts_fputs(ofd, \" }\\n\" as *u8)\n" as *u8) 1255 ma_w(fd, " _ts_fputs(ofd, \"func main() -> i64 {\\n\" as *u8)\n" as *u8) 1256 ma_w(fd, " _ts_fputs(ofd, \" let ka: *i64 = sys_mmap(64) as *i64\\n\" as *u8)\n" as *u8) 1257 ma_w(fd, " _ts_fputs(ofd, \" let kb: *i64 = sys_mmap(64) as *i64\\n\" as *u8)\n" as *u8) 1258 ma_w(fd, " _ts_fputs(ofd, \" let kx: *i64 = sys_mmap(64) as *i64\\n\" as *u8)\n" as *u8) 1259 ma_w(fd, " var k: i64 = 0\n" as *u8) 1260 ma_w(fd, " while k < TS_K {\n" as *u8) 1261 ma_w(fd, " _ts_fputs(ofd, \" ka[\" as *u8); _ts_fnum(ofd, k); _ts_fputs(ofd, \"] = \" as *u8); _ts_fsig(ofd, ka[k]); _ts_fputs(ofd, \"\\n\" as *u8)\n" as *u8) 1262 ma_w(fd, " _ts_fputs(ofd, \" kb[\" as *u8); _ts_fnum(ofd, k); _ts_fputs(ofd, \"] = \" as *u8); _ts_fsig(ofd, kb[k]); _ts_fputs(ofd, \"\\n\" as *u8)\n" as *u8) 1263 ma_w(fd, " _ts_fputs(ofd, \" kx[\" as *u8); _ts_fnum(ofd, k); _ts_fputs(ofd, \"] = \" as *u8); _ts_fsig(ofd, kx[k]); _ts_fputs(ofd, \"\\n\" as *u8)\n" as *u8) 1264 ma_w(fd, " k = k + 1\n" as *u8) 1265 ma_w(fd, " }\n" as *u8) 1266 ma_w(fd, " _ts_fputs(ofd, \" var i: i64 = 0\\n\" as *u8)\n" as *u8) 1267 ma_w(fd, " _ts_fputs(ofd, \" while i < 8 {\\n\" as *u8)\n" as *u8) 1268 ma_w(fd, " _ts_fputs(ofd, \" if resynth(ka[i], kb[i]) != kx[i] { sys_exit(1) }\\n\" as *u8)\n" as *u8) 1269 ma_w(fd, " _ts_fputs(ofd, \" i = i + 1\\n\" as *u8)\n" as *u8) 1270 ma_w(fd, " _ts_fputs(ofd, \" }\\n\" as *u8)\n" as *u8) 1271 ma_w(fd, " _ts_fputs(ofd, \" sys_exit(0)\\n return 0\\n}\\n\" as *u8)\n" as *u8) 1272 ma_w(fd, " sys_close(ofd)\n" as *u8) 1273 ma_w(fd, " return 0\n}\n" as *u8) 1274 // S5 corpus seed: bank a SYNTH record per round (flat file until the L6 store gates) 1275 ma_w(fd, "func ts_corpus_line(label: *u8, verdict: *u8, terms: *i64, ix: i64, kept: i64, cand: i64) -> i64 {\n" as *u8) 1276 ma_w(fd, " let cfd: i64 = sys_openat_append(\"knowledge/library/synth_corpus.log\" as *u8, 0x1a4)\n" as *u8) 1277 ma_w(fd, " if cfd < 0 { return 0 - 1 }\n" as *u8) 1278 ma_w(fd, " _ts_fputs(cfd, \"SYNTH engine=type-search spec=\" as *u8); _ts_fputs(cfd, label)\n" as *u8) 1279 ma_w(fd, " _ts_fputs(cfd, \" verdict=\" as *u8); _ts_fputs(cfd, verdict)\n" as *u8) 1280 ma_w(fd, " _ts_fputs(cfd, \" kept=\" as *u8); _ts_fnum(cfd, kept)\n" as *u8) 1281 ma_w(fd, " _ts_fputs(cfd, \" cand=\" as *u8); _ts_fnum(cfd, cand)\n" as *u8) 1282 ma_w(fd, " _ts_fputs(cfd, \" expr=\" as *u8)\n" as *u8) 1283 ma_w(fd, " if ix >= 0 { ts_emit_term(cfd, terms, ix) } else { _ts_fputs(cfd, \"none\" as *u8) }\n" as *u8) 1284 ma_w(fd, " _ts_fputs(cfd, \"\\n\" as *u8)\n" as *u8) 1285 ma_w(fd, " sys_close(cfd)\n return 0\n}\n" as *u8) 1286 // one spec round: search -> honest TSRCH line -> emit on accept 1287 ma_w(fd, "func ts_round(label: *u8, path: *u8, ka: *i64, kb: *i64, kx: *i64, cons: *i64, ncon: i64, terms: *i64, vecs: *i64, hash: *i64) -> i64 {\n" as *u8) 1288 ma_w(fd, " let stats: *i64 = sys_mmap(64) as *i64\n" as *u8) 1289 ma_w(fd, " stats[3] = 0\n" as *u8) 1290 ma_w(fd, " let r: i64 = ts_search(ka, kb, kx, cons, ncon, terms, vecs, hash, stats)\n" as *u8) 1291 ma_w(fd, " _ts_puts(\"TSRCH spec=\" as *u8); _ts_puts(label)\n" as *u8) 1292 ma_w(fd, " _ts_puts(\" cand=\" as *u8); _ts_num(stats[0])\n" as *u8) 1293 ma_w(fd, " _ts_puts(\" kept=\" as *u8); _ts_num(stats[1])\n" as *u8) 1294 ma_w(fd, " _ts_puts(\" lvl=\" as *u8); _ts_num(stats[2])\n" as *u8) 1295 ma_w(fd, " if r < 0 {\n" as *u8) 1296 ma_w(fd, " if stats[3] == 1 { _ts_puts(\" SEARCH-EXHAUSTED (budget/term-cap)\\n\" as *u8) } else { _ts_puts(\" SEARCH-EXHAUSTED (depth)\\n\" as *u8) }\n" as *u8) 1297 ma_w(fd, " ts_corpus_line(label, \"EXHAUSTED\" as *u8, terms, 0 - 1, stats[1], stats[0])\n" as *u8) 1298 ma_w(fd, " return 0\n" as *u8) 1299 ma_w(fd, " }\n" as *u8) 1300 ma_w(fd, " _ts_puts(\" FOUND -> \" as *u8); _ts_puts(path); _ts_puts(\"\\n\" as *u8)\n" as *u8) 1301 ma_w(fd, " ts_emit_module(path, terms, r, ka, kb, kx)\n" as *u8) 1302 ma_w(fd, " ts_corpus_line(label, \"FOUND\" as *u8, terms, r, stats[1], stats[0])\n" as *u8) 1303 ma_w(fd, " return 1\n}\n" as *u8) 1304 // the gate main: 3 held-out cores (validator threshold / bit-field extract / clamp) 1305 ma_w(fd, "func main() -> i64 {\n" as *u8) 1306 ma_w(fd, " _ts_puts(\"=== BUILDER-AUTHORED TYPE-SEARCH: obs-equiv synthesis, 3 held-out re-derivations ===\\n\" as *u8)\n" as *u8) 1307 ma_w(fd, " let terms: *i64 = sys_mmap(1310720) as *i64\n" as *u8) 1308 ma_w(fd, " let vecs: *i64 = sys_mmap(2097152) as *i64\n" as *u8) 1309 ma_w(fd, " let hash: *i64 = sys_mmap(1048576) as *i64\n" as *u8) 1310 ma_w(fd, " let cons: *i64 = sys_mmap(64) as *i64\n" as *u8) 1311 ma_w(fd, " cons[0] = 0\n cons[1] = 1\n cons[2] = 3\n cons[3] = 7\n cons[4] = 10\n cons[5] = 99\n" as *u8) 1312 ma_w(fd, " let ka: *i64 = sys_mmap(64) as *i64\n let kb: *i64 = sys_mmap(64) as *i64\n let kx: *i64 = sys_mmap(64) as *i64\n" as *u8) 1313 ma_w(fd, " var won: i64 = 0\n" as *u8) 1314 // spec 1: validator threshold core f(a,b) = (a>=10) AND (b<=99) 1315 // ka[3]/kb[3] is the CEGIS counterexample (20,40)->1: round 1 accepted the obs-equivalent 1316 // impostor le(1, mod(b,a)) which passes the other 7; (20,40) kills it (mod(40,20)=0). 1317 ma_w(fd, " ka[0]=10\n ka[1]=9\n ka[2]=10\n ka[3]=20\n ka[4]=50\n ka[5]=100\n ka[6]=9\n ka[7]=10\n" as *u8) 1318 ma_w(fd, " kb[0]=99\n kb[1]=99\n kb[2]=100\n kb[3]=40\n kb[4]=42\n kb[5]=99\n kb[6]=0\n kb[7]=1000\n" as *u8) 1319 ma_w(fd, " kx[0]=1\n kx[1]=0\n kx[2]=0\n kx[3]=1\n kx[4]=1\n kx[5]=1\n kx[6]=0\n kx[7]=0\n" as *u8) 1320 ma_w(fd, " won = won + ts_round(\"validator-core\" as *u8, \"runtime/_hdl_build/_resynth_validator.nx\" as *u8, ka, kb, kx, cons, 6, terms, vecs, hash)\n" as *u8) 1321 // spec 2: bit-field extract f(a,b) = (a>>b)&7 (the bitreader core) 1322 ma_w(fd, " ka[0]=180\n ka[1]=255\n ka[2]=8\n ka[3]=1023\n ka[4]=64\n ka[5]=7\n ka[6]=256\n ka[7]=5\n" as *u8) 1323 ma_w(fd, " kb[0]=2\n kb[1]=0\n kb[2]=3\n kb[3]=7\n kb[4]=6\n kb[5]=0\n kb[6]=8\n kb[7]=1\n" as *u8) 1324 ma_w(fd, " kx[0]=5\n kx[1]=7\n kx[2]=1\n kx[3]=7\n kx[4]=1\n kx[5]=7\n kx[6]=1\n kx[7]=2\n" as *u8) 1325 ma_w(fd, " won = won + ts_round(\"bitfield-extract\" as *u8, \"runtime/_hdl_build/_resynth_bitfield.nx\" as *u8, ka, kb, kx, cons, 6, terms, vecs, hash)\n" as *u8) 1326 // spec 3: clamp f(a,b) = min(max(a,0), b) 1327 ma_w(fd, " ka[0]=5\n ka[1]=0-3\n ka[2]=15\n ka[3]=0\n ka[4]=0-100\n ka[5]=7\n ka[6]=100\n ka[7]=0-1\n" as *u8) 1328 ma_w(fd, " kb[0]=10\n kb[1]=10\n kb[2]=10\n kb[3]=0\n kb[4]=50\n kb[5]=7\n kb[6]=3\n kb[7]=0\n" as *u8) 1329 ma_w(fd, " kx[0]=5\n kx[1]=0\n kx[2]=10\n kx[3]=0\n kx[4]=0\n kx[5]=7\n kx[6]=3\n kx[7]=0\n" as *u8) 1330 ma_w(fd, " won = won + ts_round(\"clamp\" as *u8, \"runtime/_hdl_build/_resynth_clamp.nx\" as *u8, ka, kb, kx, cons, 6, terms, vecs, hash)\n" as *u8) 1331 ma_w(fd, " _ts_puts(\"TYPE-SEARCH GATE: \" as *u8); _ts_num(won); _ts_puts(\"/3 re-synthesized (Engineer builds+runs the emitted modules next)\\n\" as *u8)\n" as *u8) 1332 ma_w(fd, " if won == 3 { sys_exit(0); return 0 }\n" as *u8) 1333 ma_w(fd, " sys_exit(1)\n return 1\n}\n" as *u8) 1334 return 1 1335} 1336 1337// AUTHOR the S3.5 MECHANIZED CEGIS LOOP (counterexample-guided inductive synthesis -- the rung the 1338// S3 round PROVED necessary: hand-picked examples accepted mod-impostors twice). The loop: search a 1339// candidate consistent with the current examples -> probe it against the ORACLE over a deterministic 1340// grid -> the first disagreement becomes a new example -> re-search; CONVERGED when zero 1341// disagreements on the whole probe domain. The search never sees the oracle's structure -- only 1342// input/output queries (anticheat preserved); equivalence is claimed ON THE PROBE DOMAIN, not 1343// universally (universal proof = an SMT rung, flagged not faked). Variable-K search (K grows per 1344// round, capped); honest stops: SEARCH-EXHAUSTED / ROUNDS-CAP / K-CAP. 1345func ma_emit_cegis(fd: i64) -> i64 { 1346 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (nx_module_author cegis template) -- S3.5 mechanized CEGIS.\n" as *u8) 1347 ma_w(fd, "// search<->oracle counterexample loop; tutoring: specs/2026-06-09-tutoring-code-synthesis-rung1.md\n" as *u8) 1348 ma_w(fd, "// + the S3 impostor lesson in projects/2026-06-09-code-synthesis-sclass-exceed-roadmap.md.\n" as *u8) 1349 ma_w(fd, "import \"nx_syscalls.nx\"\n" as *u8) 1350 ma_w(fd, "func _cg_puts(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 }\n" as *u8) 1351 ma_w(fd, "func _cg_num(v: i64) -> i64 { let bb: *u8=sys_mmap(28); var m: i64=v; if m<0{m=0-m;sys_write(1,\"-\" as *u8,1)}; let t: *u8=sys_mmap(28); var k: i64=0; if m==0{t[0]=48;k=1}; while m>0{t[k]=48+(m%10);m=m/10;k=k+1}; var i: i64=0; while i<k{bb[i]=t[k-1-i];i=i+1}; sys_write(1,bb,k); return 0 }\n" as *u8) 1352 ma_w(fd, "func _cg_fputs(fd2: i64, s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(fd2,s,n); return 0 }\n" as *u8) 1353 ma_w(fd, "func _cg_fnum(fd2: i64, v: i64) -> i64 { let bb: *u8=sys_mmap(28); var m: i64=v; if m<0{m=0-m;sys_write(fd2,\"-\" as *u8,1)}; let t: *u8=sys_mmap(28); var k: i64=0; if m==0{t[0]=48;k=1}; while m>0{t[k]=48+(m%10);m=m/10;k=k+1}; var i: i64=0; while i<k{bb[i]=t[k-1-i];i=i+1}; sys_write(fd2,bb,k); return 0 }\n" as *u8) 1354 ma_w(fd, "func _cg_fsig(fd2: i64, v: i64) -> i64 { if v < 0 { _cg_fputs(fd2, \"0 - \" as *u8); _cg_fnum(fd2, 0 - v) } else { _cg_fnum(fd2, v) } return 0 }\n" as *u8) 1355 ma_w(fd, "const CG_KMAX: i64 = 32\nconst CG_NCOMP: i64 = 12\nconst CG_MAXTERM: i64 = 30000\nconst CG_MAXLVL: i64 = 4\nconst CG_HCAP: i64 = 131072\nconst CG_BUDGET: i64 = 8000000\nconst CG_MAXROUND: i64 = 10\n" as *u8) 1356 ma_w(fd, "func cg_arity(c: i64) -> i64 { if c == 12 { return 1 } return 2 }\n" as *u8) 1357 ma_w(fd, "func cg_comm(c: i64) -> i64 { if c == 2 { return 1 } if c == 4 { return 1 } if c == 5 { return 1 } if c == 6 { return 1 } if c == 8 { return 1 } return 0 }\n" as *u8) 1358 ma_w(fd, "func cg_apply(c: i64, a: i64, b: i64) -> i64 {\n" as *u8) 1359 ma_w(fd, " if c == 1 { if a <= b { return 1 } return 0 }\n" as *u8) 1360 ma_w(fd, " if c == 2 { return a & b }\n" as *u8) 1361 ma_w(fd, " if c == 3 { return a >> (b & 63) }\n" as *u8) 1362 ma_w(fd, " if c == 4 { if a < b { return a } return b }\n" as *u8) 1363 ma_w(fd, " if c == 5 { if a > b { return a } return b }\n" as *u8) 1364 ma_w(fd, " if c == 6 { return a + b }\n" as *u8) 1365 ma_w(fd, " if c == 7 { return a - b }\n" as *u8) 1366 ma_w(fd, " if c == 8 { return a * b }\n" as *u8) 1367 ma_w(fd, " if c == 9 { return a << (b & 63) }\n" as *u8) 1368 ma_w(fd, " if c == 10 { if b == 0 { return 0 } return a / b }\n" as *u8) 1369 ma_w(fd, " if c == 11 { if b == 0 { return 0 } return a % b }\n" as *u8) 1370 ma_w(fd, " if c == 12 { if a < 0 { return 0 - a } return a }\n" as *u8) 1371 ma_w(fd, " return 0\n}\n" as *u8) 1372 // variable-K behavior vectors: stride CG_KMAX, live length kk 1373 ma_w(fd, "func cg_vech(vecs: *i64, ix: i64, kk: i64) -> i64 {\n" as *u8) 1374 ma_w(fd, " var h: i64 = 1469\n var q: i64 = 0\n" as *u8) 1375 ma_w(fd, " while q < kk { h = h * 131 + vecs[ix*CG_KMAX+q]; q = q + 1 }\n" as *u8) 1376 ma_w(fd, " if h < 0 { h = 0 - h }\n return h\n}\n" as *u8) 1377 ma_w(fd, "func cg_vec_eq(vecs: *i64, x: i64, y: i64, kk: i64) -> i64 {\n" as *u8) 1378 ma_w(fd, " var q: i64 = 0\n" as *u8) 1379 ma_w(fd, " while q < kk { if vecs[x*CG_KMAX+q] != vecs[y*CG_KMAX+q] { return 0 } q = q + 1 }\n" as *u8) 1380 ma_w(fd, " return 1\n}\n" as *u8) 1381 ma_w(fd, "func cg_insert(vecs: *i64, hash: *i64, nterm: i64, kk: i64) -> i64 {\n" as *u8) 1382 ma_w(fd, " let h0: i64 = cg_vech(vecs, nterm, kk) & (CG_HCAP - 1)\n" as *u8) 1383 ma_w(fd, " var s: i64 = h0\n var go: i64 = 1\n" as *u8) 1384 ma_w(fd, " while go == 1 {\n" as *u8) 1385 ma_w(fd, " if hash[s] == 0 { hash[s] = nterm + 1; return 1 }\n" as *u8) 1386 ma_w(fd, " if cg_vec_eq(vecs, hash[s] - 1, nterm, kk) == 1 { return 0 }\n" as *u8) 1387 ma_w(fd, " s = s + 1\n" as *u8) 1388 ma_w(fd, " if s >= CG_HCAP { s = 0 }\n" as *u8) 1389 ma_w(fd, " if s == h0 { return 0 }\n" as *u8) 1390 ma_w(fd, " }\n return 0\n}\n" as *u8) 1391 ma_w(fd, "func cg_is_target(vecs: *i64, ix: i64, kx: *i64, kk: i64) -> i64 {\n" as *u8) 1392 ma_w(fd, " var q: i64 = 0\n" as *u8) 1393 ma_w(fd, " while q < kk { if vecs[ix*CG_KMAX+q] != kx[q] { return 0 } q = q + 1 }\n" as *u8) 1394 ma_w(fd, " return 1\n}\n" as *u8) 1395 // the search (same obs-equiv core as S3, K now a parameter) 1396 ma_w(fd, "func cg_search(ka: *i64, kb: *i64, kx: *i64, kk: i64, cons: *i64, ncon: i64, terms: *i64, vecs: *i64, hash: *i64, stats: *i64) -> i64 {\n" as *u8) 1397 ma_w(fd, " var s: i64 = 0\n while s < CG_HCAP { hash[s] = 0; s = s + 1 }\n" as *u8) 1398 ma_w(fd, " var nt: i64 = 0\n var cand: i64 = 0\n var q: i64 = 0\n" as *u8) 1399 ma_w(fd, " q = 0\n while q < kk { vecs[nt*CG_KMAX+q] = ka[q]; q = q + 1 }\n" as *u8) 1400 ma_w(fd, " terms[nt*5+0] = 0\n terms[nt*5+1] = 0\n terms[nt*5+2] = 0\n terms[nt*5+3] = 0\n terms[nt*5+4] = 1\n" as *u8) 1401 ma_w(fd, " if cg_insert(vecs, hash, nt, kk) == 1 { if cg_is_target(vecs, nt, kx, kk) == 1 { stats[0]=cand; stats[1]=nt+1; stats[2]=1; return nt } nt = nt + 1 }\n" as *u8) 1402 ma_w(fd, " q = 0\n while q < kk { vecs[nt*CG_KMAX+q] = kb[q]; q = q + 1 }\n" as *u8) 1403 ma_w(fd, " terms[nt*5+0] = 0\n terms[nt*5+1] = 1\n terms[nt*5+2] = 0\n terms[nt*5+3] = 0\n terms[nt*5+4] = 1\n" as *u8) 1404 ma_w(fd, " if cg_insert(vecs, hash, nt, kk) == 1 { if cg_is_target(vecs, nt, kx, kk) == 1 { stats[0]=cand; stats[1]=nt+1; stats[2]=1; return nt } nt = nt + 1 }\n" as *u8) 1405 ma_w(fd, " var ci: i64 = 0\n" as *u8) 1406 ma_w(fd, " while ci < ncon {\n" as *u8) 1407 ma_w(fd, " q = 0\n while q < kk { vecs[nt*CG_KMAX+q] = cons[ci]; q = q + 1 }\n" as *u8) 1408 ma_w(fd, " terms[nt*5+0] = 1\n terms[nt*5+1] = cons[ci]\n terms[nt*5+2] = 0\n terms[nt*5+3] = 0\n terms[nt*5+4] = 1\n" as *u8) 1409 ma_w(fd, " if cg_insert(vecs, hash, nt, kk) == 1 { if cg_is_target(vecs, nt, kx, kk) == 1 { stats[0]=cand; stats[1]=nt+1; stats[2]=1; return nt } nt = nt + 1 }\n" as *u8) 1410 ma_w(fd, " ci = ci + 1\n" as *u8) 1411 ma_w(fd, " }\n" as *u8) 1412 ma_w(fd, " var lvl: i64 = 2\n" as *u8) 1413 ma_w(fd, " while lvl <= CG_MAXLVL {\n" as *u8) 1414 ma_w(fd, " let n0: i64 = nt\n" as *u8) 1415 ma_w(fd, " var c: i64 = 1\n" as *u8) 1416 ma_w(fd, " while c <= CG_NCOMP {\n" as *u8) 1417 ma_w(fd, " var x: i64 = 0\n" as *u8) 1418 ma_w(fd, " while x < n0 {\n" as *u8) 1419 ma_w(fd, " if cg_arity(c) == 1 {\n" as *u8) 1420 ma_w(fd, " if terms[x*5+4] == lvl - 1 {\n" as *u8) 1421 ma_w(fd, " if nt >= CG_MAXTERM { stats[0]=cand; stats[1]=nt; stats[2]=lvl; stats[3]=1; return 0 - 1 }\n" as *u8) 1422 ma_w(fd, " if cand > CG_BUDGET { stats[0]=cand; stats[1]=nt; stats[2]=lvl; stats[3]=1; return 0 - 1 }\n" as *u8) 1423 ma_w(fd, " cand = cand + 1\n" as *u8) 1424 ma_w(fd, " q = 0\n while q < kk { vecs[nt*CG_KMAX+q] = cg_apply(c, vecs[x*CG_KMAX+q], 0); q = q + 1 }\n" as *u8) 1425 ma_w(fd, " if cg_insert(vecs, hash, nt, kk) == 1 {\n" as *u8) 1426 ma_w(fd, " terms[nt*5+0] = 2\n terms[nt*5+1] = c\n terms[nt*5+2] = x\n terms[nt*5+3] = 0\n terms[nt*5+4] = lvl\n" as *u8) 1427 ma_w(fd, " if cg_is_target(vecs, nt, kx, kk) == 1 { stats[0]=cand; stats[1]=nt+1; stats[2]=lvl; return nt }\n" as *u8) 1428 ma_w(fd, " nt = nt + 1\n" as *u8) 1429 ma_w(fd, " }\n" as *u8) 1430 ma_w(fd, " }\n" as *u8) 1431 ma_w(fd, " }\n" as *u8) 1432 ma_w(fd, " else {\n" as *u8) 1433 ma_w(fd, " var y: i64 = 0\n" as *u8) 1434 ma_w(fd, " while y < n0 {\n" as *u8) 1435 ma_w(fd, " var mx: i64 = terms[x*5+4]\n" as *u8) 1436 ma_w(fd, " if terms[y*5+4] > mx { mx = terms[y*5+4] }\n" as *u8) 1437 ma_w(fd, " if terms[x*5+0] == 1 { if terms[y*5+0] == 1 { mx = 0 - 1 } }\n" as *u8) 1438 ma_w(fd, " if cg_comm(c) == 1 { if x > y { mx = 0 - 1 } }\n" as *u8) 1439 ma_w(fd, " if mx == lvl - 1 {\n" as *u8) 1440 ma_w(fd, " if nt >= CG_MAXTERM { stats[0]=cand; stats[1]=nt; stats[2]=lvl; stats[3]=1; return 0 - 1 }\n" as *u8) 1441 ma_w(fd, " if cand > CG_BUDGET { stats[0]=cand; stats[1]=nt; stats[2]=lvl; stats[3]=1; return 0 - 1 }\n" as *u8) 1442 ma_w(fd, " cand = cand + 1\n" as *u8) 1443 ma_w(fd, " q = 0\n while q < kk { vecs[nt*CG_KMAX+q] = cg_apply(c, vecs[x*CG_KMAX+q], vecs[y*CG_KMAX+q]); q = q + 1 }\n" as *u8) 1444 ma_w(fd, " if cg_insert(vecs, hash, nt, kk) == 1 {\n" as *u8) 1445 ma_w(fd, " terms[nt*5+0] = 2\n terms[nt*5+1] = c\n terms[nt*5+2] = x\n terms[nt*5+3] = y\n terms[nt*5+4] = lvl\n" as *u8) 1446 ma_w(fd, " if cg_is_target(vecs, nt, kx, kk) == 1 { stats[0]=cand; stats[1]=nt+1; stats[2]=lvl; return nt }\n" as *u8) 1447 ma_w(fd, " nt = nt + 1\n" as *u8) 1448 ma_w(fd, " }\n" as *u8) 1449 ma_w(fd, " }\n" as *u8) 1450 ma_w(fd, " y = y + 1\n" as *u8) 1451 ma_w(fd, " }\n" as *u8) 1452 ma_w(fd, " }\n" as *u8) 1453 ma_w(fd, " x = x + 1\n" as *u8) 1454 ma_w(fd, " }\n" as *u8) 1455 ma_w(fd, " c = c + 1\n" as *u8) 1456 ma_w(fd, " }\n" as *u8) 1457 ma_w(fd, " lvl = lvl + 1\n" as *u8) 1458 ma_w(fd, " }\n" as *u8) 1459 ma_w(fd, " stats[0]=cand\n stats[1]=nt\n stats[2]=CG_MAXLVL\n stats[3]=0\n return 0 - 1\n}\n" as *u8) 1460 // the term-tree interpreter (the candidate side of every oracle probe) 1461 ma_w(fd, "func cg_eval(terms: *i64, ix: i64, a: i64, b: i64) -> i64 {\n" as *u8) 1462 ma_w(fd, " let kind: i64 = terms[ix*5+0]\n" as *u8) 1463 ma_w(fd, " if kind == 0 { if terms[ix*5+1] == 0 { return a } return b }\n" as *u8) 1464 ma_w(fd, " if kind == 1 { return terms[ix*5+1] }\n" as *u8) 1465 ma_w(fd, " let c: i64 = terms[ix*5+1]\n" as *u8) 1466 ma_w(fd, " let lv: i64 = cg_eval(terms, terms[ix*5+2], a, b)\n" as *u8) 1467 ma_w(fd, " var rv: i64 = 0\n" as *u8) 1468 ma_w(fd, " if cg_arity(c) == 2 { rv = cg_eval(terms, terms[ix*5+3], a, b) }\n" as *u8) 1469 ma_w(fd, " return cg_apply(c, lv, rv)\n}\n" as *u8) 1470 // the ORACLES (the specs under re-derivation; the search sees only their answers) 1471 ma_w(fd, "func cg_oracle(oid: i64, a: i64, b: i64) -> i64 {\n" as *u8) 1472 ma_w(fd, " if oid == 1 { if a >= 10 { if b <= 99 { return 1 } } return 0 }\n" as *u8) 1473 ma_w(fd, " if oid == 2 { return (a >> (b & 63)) & 7 }\n" as *u8) 1474 ma_w(fd, " var x: i64 = a\n if x < 0 { x = 0 }\n if x > b { x = b }\n return x\n}\n" as *u8) 1475 // probe sweep: deterministic grid; first disagreement -> new example. 0=converged 1=added 2=k-cap 1476 ma_w(fd, "func cg_find_cex(terms: *i64, r: i64, oid: i64, ka: *i64, kb: *i64, kx: *i64, kbox: *i64) -> i64 {\n" as *u8) 1477 ma_w(fd, " var pa: i64 = 0 - 60\n" as *u8) 1478 ma_w(fd, " while pa <= 140 {\n" as *u8) 1479 ma_w(fd, " var pb: i64 = 0 - 60\n" as *u8) 1480 ma_w(fd, " while pb <= 140 {\n" as *u8) 1481 ma_w(fd, " let want: i64 = cg_oracle(oid, pa, pb)\n" as *u8) 1482 ma_w(fd, " let got: i64 = cg_eval(terms, r, pa, pb)\n" as *u8) 1483 ma_w(fd, " if got != want {\n" as *u8) 1484 ma_w(fd, " let kk: i64 = kbox[0]\n" as *u8) 1485 ma_w(fd, " if kk >= CG_KMAX { return 2 }\n" as *u8) 1486 ma_w(fd, " ka[kk] = pa\n kb[kk] = pb\n kx[kk] = want\n" as *u8) 1487 ma_w(fd, " kbox[0] = kk + 1\n" as *u8) 1488 ma_w(fd, " return 1\n" as *u8) 1489 ma_w(fd, " }\n" as *u8) 1490 ma_w(fd, " pb = pb + 1\n" as *u8) 1491 ma_w(fd, " }\n" as *u8) 1492 ma_w(fd, " pa = pa + 1\n" as *u8) 1493 ma_w(fd, " }\n" as *u8) 1494 ma_w(fd, " return 0\n}\n" as *u8) 1495 // emit the CONVERGED candidate as a real .nx module (KATs = the final example set) 1496 ma_w(fd, "func cg_comp_name(c: i64) -> *u8 {\n" as *u8) 1497 ma_w(fd, " if c == 1 { return \"_c_le\" as *u8 }\n" as *u8) 1498 ma_w(fd, " if c == 2 { return \"_c_and\" as *u8 }\n" as *u8) 1499 ma_w(fd, " if c == 3 { return \"_c_shr\" as *u8 }\n" as *u8) 1500 ma_w(fd, " if c == 4 { return \"_c_min\" as *u8 }\n" as *u8) 1501 ma_w(fd, " if c == 5 { return \"_c_max\" as *u8 }\n" as *u8) 1502 ma_w(fd, " if c == 6 { return \"_c_add\" as *u8 }\n" as *u8) 1503 ma_w(fd, " if c == 7 { return \"_c_sub\" as *u8 }\n" as *u8) 1504 ma_w(fd, " if c == 8 { return \"_c_mul\" as *u8 }\n" as *u8) 1505 ma_w(fd, " if c == 9 { return \"_c_shl\" as *u8 }\n" as *u8) 1506 ma_w(fd, " if c == 10 { return \"_c_div\" as *u8 }\n" as *u8) 1507 ma_w(fd, " if c == 11 { return \"_c_mod\" as *u8 }\n" as *u8) 1508 ma_w(fd, " return \"_c_abs\" as *u8\n}\n" as *u8) 1509 ma_w(fd, "func cg_emit_term(ofd: i64, terms: *i64, ix: i64) -> i64 {\n" as *u8) 1510 ma_w(fd, " let kind: i64 = terms[ix*5+0]\n" as *u8) 1511 ma_w(fd, " if kind == 0 { if terms[ix*5+1] == 0 { _cg_fputs(ofd, \"a\" as *u8) } else { _cg_fputs(ofd, \"b\" as *u8) } return 0 }\n" as *u8) 1512 ma_w(fd, " if kind == 1 { _cg_fsig(ofd, terms[ix*5+1]); return 0 }\n" as *u8) 1513 ma_w(fd, " _cg_fputs(ofd, cg_comp_name(terms[ix*5+1])); _cg_fputs(ofd, \"(\" as *u8)\n" as *u8) 1514 ma_w(fd, " cg_emit_term(ofd, terms, terms[ix*5+2])\n" as *u8) 1515 ma_w(fd, " if cg_arity(terms[ix*5+1]) == 2 { _cg_fputs(ofd, \", \" as *u8); cg_emit_term(ofd, terms, terms[ix*5+3]) }\n" as *u8) 1516 ma_w(fd, " _cg_fputs(ofd, \")\" as *u8)\n" as *u8) 1517 ma_w(fd, " return 0\n}\n" as *u8) 1518 ma_w(fd, "func cg_emit_module(path: *u8, terms: *i64, ix: i64, ka: *i64, kb: *i64, kx: *i64, kk: i64) -> i64 {\n" as *u8) 1519 ma_w(fd, " let ofd: i64 = sys_openat_wr(path, 0x1a4)\n" as *u8) 1520 ma_w(fd, " if ofd < 0 { return 0 - 1 }\n" as *u8) 1521 ma_w(fd, " _cg_fputs(ofd, \"// CONVERGED BY THE NISHI TEAM CEGIS LOOP (_cegis_authored): counterexample-guided,\\n\" as *u8)\n" as *u8) 1522 ma_w(fd, " _cg_fputs(ofd, \"// zero disagreements with the oracle on the full probe domain. NOT retrieved.\\n\" as *u8)\n" as *u8) 1523 ma_w(fd, " _cg_fputs(ofd, \"import \\\"nx_syscalls.nx\\\"\\n\" as *u8)\n" as *u8) 1524 ma_w(fd, " _cg_fputs(ofd, \"func _c_le(a: i64, b: i64) -> i64 { if a <= b { return 1 } return 0 }\\n\" as *u8)\n" as *u8) 1525 ma_w(fd, " _cg_fputs(ofd, \"func _c_and(a: i64, b: i64) -> i64 { return a & b }\\n\" as *u8)\n" as *u8) 1526 ma_w(fd, " _cg_fputs(ofd, \"func _c_shr(a: i64, b: i64) -> i64 { return a >> (b & 63) }\\n\" as *u8)\n" as *u8) 1527 ma_w(fd, " _cg_fputs(ofd, \"func _c_min(a: i64, b: i64) -> i64 { if a < b { return a } return b }\\n\" as *u8)\n" as *u8) 1528 ma_w(fd, " _cg_fputs(ofd, \"func _c_max(a: i64, b: i64) -> i64 { if a > b { return a } return b }\\n\" as *u8)\n" as *u8) 1529 ma_w(fd, " _cg_fputs(ofd, \"func _c_add(a: i64, b: i64) -> i64 { return a + b }\\n\" as *u8)\n" as *u8) 1530 ma_w(fd, " _cg_fputs(ofd, \"func _c_sub(a: i64, b: i64) -> i64 { return a - b }\\n\" as *u8)\n" as *u8) 1531 ma_w(fd, " _cg_fputs(ofd, \"func _c_mul(a: i64, b: i64) -> i64 { return a * b }\\n\" as *u8)\n" as *u8) 1532 ma_w(fd, " _cg_fputs(ofd, \"func _c_shl(a: i64, b: i64) -> i64 { return a << (b & 63) }\\n\" as *u8)\n" as *u8) 1533 ma_w(fd, " _cg_fputs(ofd, \"func _c_div(a: i64, b: i64) -> i64 { if b == 0 { return 0 } return a / b }\\n\" as *u8)\n" as *u8) 1534 ma_w(fd, " _cg_fputs(ofd, \"func _c_mod(a: i64, b: i64) -> i64 { if b == 0 { return 0 } return a % b }\\n\" as *u8)\n" as *u8) 1535 ma_w(fd, " _cg_fputs(ofd, \"func _c_abs(a: i64) -> i64 { if a < 0 { return 0 - a } return a }\\n\" as *u8)\n" as *u8) 1536 ma_w(fd, " _cg_fputs(ofd, \"func resynth(a: i64, b: i64) -> i64 { return \" as *u8)\n" as *u8) 1537 ma_w(fd, " cg_emit_term(ofd, terms, ix)\n" as *u8) 1538 ma_w(fd, " _cg_fputs(ofd, \" }\\n\" as *u8)\n" as *u8) 1539 ma_w(fd, " _cg_fputs(ofd, \"func main() -> i64 {\\n\" as *u8)\n" as *u8) 1540 ma_w(fd, " _cg_fputs(ofd, \" let ka: *i64 = sys_mmap(256) as *i64\\n\" as *u8)\n" as *u8) 1541 ma_w(fd, " _cg_fputs(ofd, \" let kb: *i64 = sys_mmap(256) as *i64\\n\" as *u8)\n" as *u8) 1542 ma_w(fd, " _cg_fputs(ofd, \" let kx: *i64 = sys_mmap(256) as *i64\\n\" as *u8)\n" as *u8) 1543 ma_w(fd, " var q: i64 = 0\n" as *u8) 1544 ma_w(fd, " while q < kk {\n" as *u8) 1545 ma_w(fd, " _cg_fputs(ofd, \" ka[\" as *u8); _cg_fnum(ofd, q); _cg_fputs(ofd, \"] = \" as *u8); _cg_fsig(ofd, ka[q]); _cg_fputs(ofd, \"\\n\" as *u8)\n" as *u8) 1546 ma_w(fd, " _cg_fputs(ofd, \" kb[\" as *u8); _cg_fnum(ofd, q); _cg_fputs(ofd, \"] = \" as *u8); _cg_fsig(ofd, kb[q]); _cg_fputs(ofd, \"\\n\" as *u8)\n" as *u8) 1547 ma_w(fd, " _cg_fputs(ofd, \" kx[\" as *u8); _cg_fnum(ofd, q); _cg_fputs(ofd, \"] = \" as *u8); _cg_fsig(ofd, kx[q]); _cg_fputs(ofd, \"\\n\" as *u8)\n" as *u8) 1548 ma_w(fd, " q = q + 1\n" as *u8) 1549 ma_w(fd, " }\n" as *u8) 1550 ma_w(fd, " _cg_fputs(ofd, \" var i: i64 = 0\\n\" as *u8)\n" as *u8) 1551 ma_w(fd, " _cg_fputs(ofd, \" while i < \" as *u8); _cg_fnum(ofd, kk); _cg_fputs(ofd, \" {\\n\" as *u8)\n" as *u8) 1552 ma_w(fd, " _cg_fputs(ofd, \" if resynth(ka[i], kb[i]) != kx[i] { sys_exit(1) }\\n\" as *u8)\n" as *u8) 1553 ma_w(fd, " _cg_fputs(ofd, \" i = i + 1\\n\" as *u8)\n" as *u8) 1554 ma_w(fd, " _cg_fputs(ofd, \" }\\n\" as *u8)\n" as *u8) 1555 ma_w(fd, " _cg_fputs(ofd, \" sys_exit(0)\\n return 0\\n}\\n\" as *u8)\n" as *u8) 1556 ma_w(fd, " sys_close(ofd)\n" as *u8) 1557 ma_w(fd, " return 0\n}\n" as *u8) 1558 // S5 corpus seed: every run banks a SYNTH record (the future Nishi LLM's training rows). 1559 // Flat file now; migrates to the L6 content-addressed store when that rung gates (additive law). 1560 ma_w(fd, "func cg_corpus_line(label: *u8, verdict: *u8, terms: *i64, ix: i64, rounds: i64, kk: i64, cand: i64) -> i64 {\n" as *u8) 1561 ma_w(fd, " let cfd: i64 = sys_openat_append(\"knowledge/library/synth_corpus.log\" as *u8, 0x1a4)\n" as *u8) 1562 ma_w(fd, " if cfd < 0 { return 0 - 1 }\n" as *u8) 1563 ma_w(fd, " _cg_fputs(cfd, \"SYNTH engine=cegis spec=\" as *u8); _cg_fputs(cfd, label)\n" as *u8) 1564 ma_w(fd, " _cg_fputs(cfd, \" verdict=\" as *u8); _cg_fputs(cfd, verdict)\n" as *u8) 1565 ma_w(fd, " _cg_fputs(cfd, \" rounds=\" as *u8); _cg_fnum(cfd, rounds)\n" as *u8) 1566 ma_w(fd, " _cg_fputs(cfd, \" k=\" as *u8); _cg_fnum(cfd, kk)\n" as *u8) 1567 ma_w(fd, " _cg_fputs(cfd, \" cand=\" as *u8); _cg_fnum(cfd, cand)\n" as *u8) 1568 ma_w(fd, " _cg_fputs(cfd, \" expr=\" as *u8)\n" as *u8) 1569 ma_w(fd, " if ix >= 0 { cg_emit_term(cfd, terms, ix) } else { _cg_fputs(cfd, \"none\" as *u8) }\n" as *u8) 1570 ma_w(fd, " _cg_fputs(cfd, \"\\n\" as *u8)\n" as *u8) 1571 ma_w(fd, " sys_close(cfd)\n return 0\n}\n" as *u8) 1572 // one CEGIS run: seed -> (search -> probe -> append) until converged / honest stop 1573 ma_w(fd, "func cg_solve(label: *u8, path: *u8, oid: i64, cons: *i64, ncon: i64, terms: *i64, vecs: *i64, hash: *i64) -> i64 {\n" as *u8) 1574 ma_w(fd, " let ka: *i64 = sys_mmap(256) as *i64\n let kb: *i64 = sys_mmap(256) as *i64\n let kx: *i64 = sys_mmap(256) as *i64\n" as *u8) 1575 ma_w(fd, " let kbox: *i64 = sys_mmap(16) as *i64\n let stats: *i64 = sys_mmap(64) as *i64\n" as *u8) 1576 ma_w(fd, " ka[0] = 0\n kb[0] = 0\n ka[1] = 1\n kb[1] = 1\n ka[2] = 16\n kb[2] = 8\n ka[3] = 100\n kb[3] = 50\n" as *u8) 1577 ma_w(fd, " var s: i64 = 0\n while s < 4 { kx[s] = cg_oracle(oid, ka[s], kb[s]); s = s + 1 }\n" as *u8) 1578 ma_w(fd, " kbox[0] = 4\n" as *u8) 1579 ma_w(fd, " var round: i64 = 0\n var won: i64 = 0\n var done: i64 = 0\n" as *u8) 1580 ma_w(fd, " while done == 0 {\n" as *u8) 1581 ma_w(fd, " round = round + 1\n" as *u8) 1582 ma_w(fd, " if round > CG_MAXROUND { _cg_puts(\"CEGIS spec=\" as *u8); _cg_puts(label); _cg_puts(\" ROUNDS-CAP (honest stop)\\n\" as *u8); cg_corpus_line(label, \"ROUNDS-CAP\" as *u8, terms, 0 - 1, round, kbox[0], stats[0]); done = 1 }\n" as *u8) 1583 ma_w(fd, " else {\n" as *u8) 1584 ma_w(fd, " stats[3] = 0\n" as *u8) 1585 ma_w(fd, " let r: i64 = cg_search(ka, kb, kx, kbox[0], cons, ncon, terms, vecs, hash, stats)\n" as *u8) 1586 ma_w(fd, " if r < 0 { _cg_puts(\"CEGIS spec=\" as *u8); _cg_puts(label); _cg_puts(\" SEARCH-EXHAUSTED round=\" as *u8); _cg_num(round); _cg_puts(\"\\n\" as *u8); cg_corpus_line(label, \"EXHAUSTED\" as *u8, terms, 0 - 1, round, kbox[0], stats[0]); done = 1 }\n" as *u8) 1587 ma_w(fd, " else {\n" as *u8) 1588 ma_w(fd, " let cx: i64 = cg_find_cex(terms, r, oid, ka, kb, kx, kbox)\n" as *u8) 1589 ma_w(fd, " if cx == 0 {\n" as *u8) 1590 ma_w(fd, " _cg_puts(\"CEGIS spec=\" as *u8); _cg_puts(label)\n" as *u8) 1591 ma_w(fd, " _cg_puts(\" CONVERGED rounds=\" as *u8); _cg_num(round)\n" as *u8) 1592 ma_w(fd, " _cg_puts(\" k=\" as *u8); _cg_num(kbox[0])\n" as *u8) 1593 ma_w(fd, " _cg_puts(\" cand=\" as *u8); _cg_num(stats[0])\n" as *u8) 1594 ma_w(fd, " _cg_puts(\" -> \" as *u8); _cg_puts(path); _cg_puts(\"\\n\" as *u8)\n" as *u8) 1595 ma_w(fd, " cg_emit_module(path, terms, r, ka, kb, kx, kbox[0])\n" as *u8) 1596 ma_w(fd, " cg_corpus_line(label, \"CONVERGED\" as *u8, terms, r, round, kbox[0], stats[0])\n" as *u8) 1597 ma_w(fd, " won = 1\n done = 1\n" as *u8) 1598 ma_w(fd, " }\n" as *u8) 1599 ma_w(fd, " else { if cx == 2 { _cg_puts(\"CEGIS spec=\" as *u8); _cg_puts(label); _cg_puts(\" K-CAP (honest stop)\\n\" as *u8); cg_corpus_line(label, \"K-CAP\" as *u8, terms, 0 - 1, round, kbox[0], stats[0]); done = 1 } }\n" as *u8) 1600 ma_w(fd, " }\n" as *u8) 1601 ma_w(fd, " }\n" as *u8) 1602 ma_w(fd, " }\n" as *u8) 1603 ma_w(fd, " return won\n}\n" as *u8) 1604 // the gate main: the spec hand-CEGIS FAILED on (validator) + the two it passed, all via the oracle loop 1605 ma_w(fd, "func main() -> i64 {\n" as *u8) 1606 ma_w(fd, " _cg_puts(\"=== BUILDER-AUTHORED CEGIS: oracle-driven counterexample loop, 3 convergences ===\\n\" as *u8)\n" as *u8) 1607 ma_w(fd, " let terms: *i64 = sys_mmap(2097152) as *i64\n" as *u8) 1608 ma_w(fd, " let vecs: *i64 = sys_mmap(8388608) as *i64\n" as *u8) 1609 ma_w(fd, " let hash: *i64 = sys_mmap(1048576) as *i64\n" as *u8) 1610 ma_w(fd, " let cons: *i64 = sys_mmap(64) as *i64\n" as *u8) 1611 ma_w(fd, " cons[0] = 0\n cons[1] = 1\n cons[2] = 3\n cons[3] = 7\n cons[4] = 10\n cons[5] = 99\n" as *u8) 1612 ma_w(fd, " var won: i64 = 0\n" as *u8) 1613 ma_w(fd, " won = won + cg_solve(\"validator-core\" as *u8, \"runtime/_hdl_build/_cegis_validator.nx\" as *u8, 1, cons, 6, terms, vecs, hash)\n" as *u8) 1614 ma_w(fd, " won = won + cg_solve(\"bitfield-extract\" as *u8, \"runtime/_hdl_build/_cegis_bitfield.nx\" as *u8, 2, cons, 6, terms, vecs, hash)\n" as *u8) 1615 ma_w(fd, " won = won + cg_solve(\"clamp\" as *u8, \"runtime/_hdl_build/_cegis_clamp.nx\" as *u8, 3, cons, 6, terms, vecs, hash)\n" as *u8) 1616 ma_w(fd, " _cg_puts(\"CEGIS GATE: \" as *u8); _cg_num(won); _cg_puts(\"/3 converged on the full probe domain\\n\" as *u8)\n" as *u8) 1617 ma_w(fd, " if won == 3 { sys_exit(0); return 0 }\n" as *u8) 1618 ma_w(fd, " sys_exit(1)\n return 1\n}\n" as *u8) 1619 return 1 1620} 1621 1622// AUTHOR the S4 FOLD-SCHEMA SYNTHESIZER (rung-2: functions WITH CONTROL FLOW). The loop SKELETON is 1623// fixed (the sketch move); the search fills the two scalar holes: INIT (a constant) + STEP (an 1624// expression over acc,byte). Two-stage: (1) STEP terms enumerated bottom-up, obs-equiv-pruned on 16 1625// fixed (acc,byte) pairs; (2) each (INIT x STEP) RUN as a fold against the ORACLE over deterministic 1626// generated probe buffers — accept on the 32-run spec family, then a 400-run HELD-OUT verify sweep 1627// before any emit (the S3 impostor lesson at function level: VERIFY-FAIL keeps searching, never 1628// emits). Probe bytes are GENERATED (seed*131+i*37, zeros forced at (seed+i)%3==0 so count-nonzero 1629// cannot collapse to length). Comp order = fold idioms first (add/max/min/mul) so L3 yields early. 1630// Tutoring: specs/2026-06-09-tutoring-code-synthesis-rung2-schemas.md. 1631func ma_emit_loop_synth(fd: i64) -> i64 { 1632 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (nx_module_author loop-synth template) -- S4 fold schema.\n" as *u8) 1633 ma_w(fd, "// Schema-with-holes synthesis; tutoring: specs/2026-06-09-tutoring-code-synthesis-rung2-schemas.md\n" as *u8) 1634 ma_w(fd, "import \"nx_syscalls.nx\"\n" as *u8) 1635 ma_w(fd, "func _ls_puts(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 }\n" as *u8) 1636 ma_w(fd, "func _ls_num(v: i64) -> i64 { let bb: *u8=sys_mmap(28); var m: i64=v; if m<0{m=0-m;sys_write(1,\"-\" as *u8,1)}; let t: *u8=sys_mmap(28); var k: i64=0; if m==0{t[0]=48;k=1}; while m>0{t[k]=48+(m%10);m=m/10;k=k+1}; var i: i64=0; while i<k{bb[i]=t[k-1-i];i=i+1}; sys_write(1,bb,k); return 0 }\n" as *u8) 1637 ma_w(fd, "func _ls_fputs(fd2: i64, s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(fd2,s,n); return 0 }\n" as *u8) 1638 ma_w(fd, "func _ls_fnum(fd2: i64, v: i64) -> i64 { let bb: *u8=sys_mmap(28); var m: i64=v; if m<0{m=0-m;sys_write(fd2,\"-\" as *u8,1)}; let t: *u8=sys_mmap(28); var k: i64=0; if m==0{t[0]=48;k=1}; while m>0{t[k]=48+(m%10);m=m/10;k=k+1}; var i: i64=0; while i<k{bb[i]=t[k-1-i];i=i+1}; sys_write(fd2,bb,k); return 0 }\n" as *u8) 1639 ma_w(fd, "func _ls_fsig(fd2: i64, v: i64) -> i64 { if v < 0 { _ls_fputs(fd2, \"0 - \" as *u8); _ls_fnum(fd2, 0 - v) } else { _ls_fnum(fd2, v) } return 0 }\n" as *u8) 1640 ma_w(fd, "const LS_NPAIR: i64 = 16\nconst LS_NCOMP: i64 = 12\nconst LS_MAXTERM: i64 = 60000\nconst LS_MAXLVL: i64 = 3\nconst LS_HCAP: i64 = 131072\nconst LS_BUDGET: i64 = 4000000\n" as *u8) 1641 // fold-idiom comp order: add/max/min/mul early (the corpus's actual fold operators) 1642 ma_w(fd, "func ls_arity(c: i64) -> i64 { if c == 12 { return 1 } return 2 }\n" as *u8) 1643 ma_w(fd, "func ls_comm(c: i64) -> i64 { if c == 2 { return 1 } if c == 3 { return 1 } if c == 4 { return 1 } if c == 5 { return 1 } if c == 6 { return 1 } return 0 }\n" as *u8) 1644 ma_w(fd, "func ls_apply(c: i64, a: i64, b: i64) -> i64 {\n" as *u8) 1645 ma_w(fd, " if c == 1 { if a <= b { return 1 } return 0 }\n" as *u8) 1646 ma_w(fd, " if c == 2 { return a + b }\n" as *u8) 1647 ma_w(fd, " if c == 3 { if a > b { return a } return b }\n" as *u8) 1648 ma_w(fd, " if c == 4 { if a < b { return a } return b }\n" as *u8) 1649 ma_w(fd, " if c == 5 { return a * b }\n" as *u8) 1650 ma_w(fd, " if c == 6 { return a & b }\n" as *u8) 1651 ma_w(fd, " if c == 7 { return a >> (b & 63) }\n" as *u8) 1652 ma_w(fd, " if c == 8 { return a - b }\n" as *u8) 1653 ma_w(fd, " if c == 9 { return a << (b & 63) }\n" as *u8) 1654 ma_w(fd, " if c == 10 { if b == 0 { return 0 } return a / b }\n" as *u8) 1655 ma_w(fd, " if c == 11 { if b == 0 { return 0 } return a % b }\n" as *u8) 1656 ma_w(fd, " if c == 12 { if a < 0 { return 0 - a } return a }\n" as *u8) 1657 ma_w(fd, " return 0\n}\n" as *u8) 1658 ma_w(fd, "func ls_vech(vecs: *i64, ix: i64) -> i64 {\n" as *u8) 1659 ma_w(fd, " var h: i64 = 1469\n var q: i64 = 0\n" as *u8) 1660 ma_w(fd, " while q < LS_NPAIR { h = h * 131 + vecs[ix*LS_NPAIR+q]; q = q + 1 }\n" as *u8) 1661 ma_w(fd, " if h < 0 { h = 0 - h }\n return h\n}\n" as *u8) 1662 ma_w(fd, "func ls_vec_eq(vecs: *i64, x: i64, y: i64) -> i64 {\n" as *u8) 1663 ma_w(fd, " var q: i64 = 0\n" as *u8) 1664 ma_w(fd, " while q < LS_NPAIR { if vecs[x*LS_NPAIR+q] != vecs[y*LS_NPAIR+q] { return 0 } q = q + 1 }\n" as *u8) 1665 ma_w(fd, " return 1\n}\n" as *u8) 1666 ma_w(fd, "func ls_insert(vecs: *i64, hash: *i64, nterm: i64) -> i64 {\n" as *u8) 1667 ma_w(fd, " let h0: i64 = ls_vech(vecs, nterm) & (LS_HCAP - 1)\n" as *u8) 1668 ma_w(fd, " var s: i64 = h0\n var go: i64 = 1\n" as *u8) 1669 ma_w(fd, " while go == 1 {\n" as *u8) 1670 ma_w(fd, " if hash[s] == 0 { hash[s] = nterm + 1; return 1 }\n" as *u8) 1671 ma_w(fd, " if ls_vec_eq(vecs, hash[s] - 1, nterm) == 1 { return 0 }\n" as *u8) 1672 ma_w(fd, " s = s + 1\n" as *u8) 1673 ma_w(fd, " if s >= LS_HCAP { s = 0 }\n" as *u8) 1674 ma_w(fd, " if s == h0 { return 0 }\n" as *u8) 1675 ma_w(fd, " }\n return 0\n}\n" as *u8) 1676 // STEP enumeration: target-free; returns kept count (shared across all four solves) 1677 ma_w(fd, "func ls_enum_steps(pa: *i64, pb: *i64, cons: *i64, ncon: i64, terms: *i64, vecs: *i64, hash: *i64, stats: *i64) -> i64 {\n" as *u8) 1678 ma_w(fd, " var s: i64 = 0\n while s < LS_HCAP { hash[s] = 0; s = s + 1 }\n" as *u8) 1679 ma_w(fd, " var nt: i64 = 0\n var cand: i64 = 0\n var q: i64 = 0\n" as *u8) 1680 ma_w(fd, " q = 0\n while q < LS_NPAIR { vecs[nt*LS_NPAIR+q] = pa[q]; q = q + 1 }\n" as *u8) 1681 ma_w(fd, " terms[nt*5+0] = 0\n terms[nt*5+1] = 0\n terms[nt*5+2] = 0\n terms[nt*5+3] = 0\n terms[nt*5+4] = 1\n" as *u8) 1682 ma_w(fd, " if ls_insert(vecs, hash, nt) == 1 { nt = nt + 1 }\n" as *u8) 1683 ma_w(fd, " q = 0\n while q < LS_NPAIR { vecs[nt*LS_NPAIR+q] = pb[q]; q = q + 1 }\n" as *u8) 1684 ma_w(fd, " terms[nt*5+0] = 0\n terms[nt*5+1] = 1\n terms[nt*5+2] = 0\n terms[nt*5+3] = 0\n terms[nt*5+4] = 1\n" as *u8) 1685 ma_w(fd, " if ls_insert(vecs, hash, nt) == 1 { nt = nt + 1 }\n" as *u8) 1686 ma_w(fd, " var ci: i64 = 0\n" as *u8) 1687 ma_w(fd, " while ci < ncon {\n" as *u8) 1688 ma_w(fd, " q = 0\n while q < LS_NPAIR { vecs[nt*LS_NPAIR+q] = cons[ci]; q = q + 1 }\n" as *u8) 1689 ma_w(fd, " terms[nt*5+0] = 1\n terms[nt*5+1] = cons[ci]\n terms[nt*5+2] = 0\n terms[nt*5+3] = 0\n terms[nt*5+4] = 1\n" as *u8) 1690 ma_w(fd, " if ls_insert(vecs, hash, nt) == 1 { nt = nt + 1 }\n" as *u8) 1691 ma_w(fd, " ci = ci + 1\n" as *u8) 1692 ma_w(fd, " }\n" as *u8) 1693 ma_w(fd, " var lvl: i64 = 2\n" as *u8) 1694 ma_w(fd, " var full: i64 = 0\n" as *u8) 1695 ma_w(fd, " while lvl <= LS_MAXLVL {\n" as *u8) 1696 ma_w(fd, " let n0: i64 = nt\n" as *u8) 1697 ma_w(fd, " var c: i64 = 1\n" as *u8) 1698 ma_w(fd, " while c <= LS_NCOMP {\n" as *u8) 1699 ma_w(fd, " var x: i64 = 0\n" as *u8) 1700 ma_w(fd, " while x < n0 {\n" as *u8) 1701 ma_w(fd, " if ls_arity(c) == 1 {\n" as *u8) 1702 ma_w(fd, " if terms[x*5+4] == lvl - 1 { if nt < LS_MAXTERM { if cand <= LS_BUDGET {\n" as *u8) 1703 ma_w(fd, " cand = cand + 1\n" as *u8) 1704 ma_w(fd, " q = 0\n while q < LS_NPAIR { vecs[nt*LS_NPAIR+q] = ls_apply(c, vecs[x*LS_NPAIR+q], 0); q = q + 1 }\n" as *u8) 1705 ma_w(fd, " if ls_insert(vecs, hash, nt) == 1 {\n" as *u8) 1706 ma_w(fd, " terms[nt*5+0] = 2\n terms[nt*5+1] = c\n terms[nt*5+2] = x\n terms[nt*5+3] = 0\n terms[nt*5+4] = lvl\n" as *u8) 1707 ma_w(fd, " nt = nt + 1\n" as *u8) 1708 ma_w(fd, " }\n" as *u8) 1709 ma_w(fd, " } else { full = 1 } } else { full = 1 } }\n" as *u8) 1710 ma_w(fd, " }\n" as *u8) 1711 ma_w(fd, " else {\n" as *u8) 1712 ma_w(fd, " var y: i64 = 0\n" as *u8) 1713 ma_w(fd, " while y < n0 {\n" as *u8) 1714 ma_w(fd, " var mx: i64 = terms[x*5+4]\n" as *u8) 1715 ma_w(fd, " if terms[y*5+4] > mx { mx = terms[y*5+4] }\n" as *u8) 1716 ma_w(fd, " if terms[x*5+0] == 1 { if terms[y*5+0] == 1 { mx = 0 - 1 } }\n" as *u8) 1717 ma_w(fd, " if ls_comm(c) == 1 { if x > y { mx = 0 - 1 } }\n" as *u8) 1718 ma_w(fd, " if mx == lvl - 1 { if nt < LS_MAXTERM { if cand <= LS_BUDGET {\n" as *u8) 1719 ma_w(fd, " cand = cand + 1\n" as *u8) 1720 ma_w(fd, " q = 0\n while q < LS_NPAIR { vecs[nt*LS_NPAIR+q] = ls_apply(c, vecs[x*LS_NPAIR+q], vecs[y*LS_NPAIR+q]); q = q + 1 }\n" as *u8) 1721 ma_w(fd, " if ls_insert(vecs, hash, nt) == 1 {\n" as *u8) 1722 ma_w(fd, " terms[nt*5+0] = 2\n terms[nt*5+1] = c\n terms[nt*5+2] = x\n terms[nt*5+3] = y\n terms[nt*5+4] = lvl\n" as *u8) 1723 ma_w(fd, " nt = nt + 1\n" as *u8) 1724 ma_w(fd, " }\n" as *u8) 1725 ma_w(fd, " } else { full = 1 } } else { full = 1 } }\n" as *u8) 1726 ma_w(fd, " y = y + 1\n" as *u8) 1727 ma_w(fd, " }\n" as *u8) 1728 ma_w(fd, " }\n" as *u8) 1729 ma_w(fd, " x = x + 1\n" as *u8) 1730 ma_w(fd, " }\n" as *u8) 1731 ma_w(fd, " c = c + 1\n" as *u8) 1732 ma_w(fd, " }\n" as *u8) 1733 ma_w(fd, " lvl = lvl + 1\n" as *u8) 1734 ma_w(fd, " }\n" as *u8) 1735 ma_w(fd, " stats[0] = cand\n stats[1] = full\n" as *u8) 1736 ma_w(fd, " return nt\n}\n" as *u8) 1737 // the candidate side of every probe: interpret STEP, run the fold on GENERATED bytes 1738 ma_w(fd, "func ls_eval(terms: *i64, ix: i64, a: i64, b: i64) -> i64 {\n" as *u8) 1739 ma_w(fd, " let kind: i64 = terms[ix*5+0]\n" as *u8) 1740 ma_w(fd, " if kind == 0 { if terms[ix*5+1] == 0 { return a } return b }\n" as *u8) 1741 ma_w(fd, " if kind == 1 { return terms[ix*5+1] }\n" as *u8) 1742 ma_w(fd, " let c: i64 = terms[ix*5+1]\n" as *u8) 1743 ma_w(fd, " let lv: i64 = ls_eval(terms, terms[ix*5+2], a, b)\n" as *u8) 1744 ma_w(fd, " var rv: i64 = 0\n" as *u8) 1745 ma_w(fd, " if ls_arity(c) == 2 { rv = ls_eval(terms, terms[ix*5+3], a, b) }\n" as *u8) 1746 ma_w(fd, " return ls_apply(c, lv, rv)\n}\n" as *u8) 1747 ma_w(fd, "func ls_byte(seed: i64, i: i64) -> i64 {\n" as *u8) 1748 ma_w(fd, " if (seed + i) % 3 == 0 { return 0 }\n" as *u8) 1749 ma_w(fd, " return (seed * 131 + i * 37) & 255\n}\n" as *u8) 1750 ma_w(fd, "func ls_run(init: i64, terms: *i64, ix: i64, seed: i64, len: i64) -> i64 {\n" as *u8) 1751 ma_w(fd, " var acc: i64 = init\n var i: i64 = 0\n" as *u8) 1752 ma_w(fd, " while i < len { acc = ls_eval(terms, ix, acc, ls_byte(seed, i)); i = i + 1 }\n" as *u8) 1753 ma_w(fd, " return acc\n}\n" as *u8) 1754 // the ORACLES (answer queries only; structure never exposed to the search) 1755 ma_w(fd, "func ls_oracle(oid: i64, seed: i64, len: i64) -> i64 {\n" as *u8) 1756 ma_w(fd, " var acc: i64 = 0\n var i: i64 = 0\n" as *u8) 1757 ma_w(fd, " while i < len {\n" as *u8) 1758 ma_w(fd, " let b: i64 = ls_byte(seed, i)\n" as *u8) 1759 ma_w(fd, " if oid == 1 { acc = acc + b }\n" as *u8) 1760 ma_w(fd, " if oid == 2 { if b > acc { acc = b } }\n" as *u8) 1761 ma_w(fd, " if oid == 3 { if b >= 1 { acc = acc + 1 } }\n" as *u8) 1762 ma_w(fd, " if oid == 4 { acc = acc * 31 + b }\n" as *u8) 1763 ma_w(fd, " i = i + 1\n" as *u8) 1764 ma_w(fd, " }\n return acc\n}\n" as *u8) 1765 ma_w(fd, "func ls_check_spec(init: i64, terms: *i64, ix: i64, oid: i64, lens: *i64) -> i64 {\n" as *u8) 1766 ma_w(fd, " var si: i64 = 0\n" as *u8) 1767 ma_w(fd, " while si < 4 {\n" as *u8) 1768 ma_w(fd, " var seed: i64 = si + 1\n" as *u8) 1769 ma_w(fd, " if si == 3 { seed = 5 }\n" as *u8) 1770 ma_w(fd, " var li: i64 = 0\n" as *u8) 1771 ma_w(fd, " while li < 8 {\n" as *u8) 1772 ma_w(fd, " if ls_run(init, terms, ix, seed, lens[li]) != ls_oracle(oid, seed, lens[li]) { return 0 }\n" as *u8) 1773 ma_w(fd, " li = li + 1\n" as *u8) 1774 ma_w(fd, " }\n" as *u8) 1775 ma_w(fd, " si = si + 1\n" as *u8) 1776 ma_w(fd, " }\n return 1\n}\n" as *u8) 1777 ma_w(fd, "func ls_verify(init: i64, terms: *i64, ix: i64, oid: i64) -> i64 {\n" as *u8) 1778 ma_w(fd, " var seed: i64 = 1\n" as *u8) 1779 ma_w(fd, " while seed <= 8 {\n" as *u8) 1780 ma_w(fd, " var len: i64 = 0\n" as *u8) 1781 ma_w(fd, " while len < 50 {\n" as *u8) 1782 ma_w(fd, " if ls_run(init, terms, ix, seed, len) != ls_oracle(oid, seed, len) { return 0 }\n" as *u8) 1783 ma_w(fd, " len = len + 1\n" as *u8) 1784 ma_w(fd, " }\n" as *u8) 1785 ma_w(fd, " seed = seed + 1\n" as *u8) 1786 ma_w(fd, " }\n return 1\n}\n" as *u8) 1787 // expression text (shared by stdout reporting, the emitted module, and the corpus record) 1788 ma_w(fd, "func ls_comp_name(c: i64) -> *u8 {\n" as *u8) 1789 ma_w(fd, " if c == 1 { return \"_c_le\" as *u8 }\n" as *u8) 1790 ma_w(fd, " if c == 2 { return \"_c_add\" as *u8 }\n" as *u8) 1791 ma_w(fd, " if c == 3 { return \"_c_max\" as *u8 }\n" as *u8) 1792 ma_w(fd, " if c == 4 { return \"_c_min\" as *u8 }\n" as *u8) 1793 ma_w(fd, " if c == 5 { return \"_c_mul\" as *u8 }\n" as *u8) 1794 ma_w(fd, " if c == 6 { return \"_c_and\" as *u8 }\n" as *u8) 1795 ma_w(fd, " if c == 7 { return \"_c_shr\" as *u8 }\n" as *u8) 1796 ma_w(fd, " if c == 8 { return \"_c_sub\" as *u8 }\n" as *u8) 1797 ma_w(fd, " if c == 9 { return \"_c_shl\" as *u8 }\n" as *u8) 1798 ma_w(fd, " if c == 10 { return \"_c_div\" as *u8 }\n" as *u8) 1799 ma_w(fd, " if c == 11 { return \"_c_mod\" as *u8 }\n" as *u8) 1800 ma_w(fd, " return \"_c_abs\" as *u8\n}\n" as *u8) 1801 ma_w(fd, "func ls_emit_term(ofd: i64, terms: *i64, ix: i64) -> i64 {\n" as *u8) 1802 ma_w(fd, " let kind: i64 = terms[ix*5+0]\n" as *u8) 1803 ma_w(fd, " if kind == 0 { if terms[ix*5+1] == 0 { _ls_fputs(ofd, \"a\" as *u8) } else { _ls_fputs(ofd, \"b\" as *u8) } return 0 }\n" as *u8) 1804 ma_w(fd, " if kind == 1 { _ls_fsig(ofd, terms[ix*5+1]); return 0 }\n" as *u8) 1805 ma_w(fd, " _ls_fputs(ofd, ls_comp_name(terms[ix*5+1])); _ls_fputs(ofd, \"(\" as *u8)\n" as *u8) 1806 ma_w(fd, " ls_emit_term(ofd, terms, terms[ix*5+2])\n" as *u8) 1807 ma_w(fd, " if ls_arity(terms[ix*5+1]) == 2 { _ls_fputs(ofd, \", \" as *u8); ls_emit_term(ofd, terms, terms[ix*5+3]) }\n" as *u8) 1808 ma_w(fd, " _ls_fputs(ofd, \")\" as *u8)\n" as *u8) 1809 ma_w(fd, " return 0\n}\n" as *u8) 1810 // emit the FILLED SCHEMA as a real module: step + the fold + a generator-driven silent KAT main 1811 ma_w(fd, "func ls_emit_module(path: *u8, init: i64, terms: *i64, ix: i64) -> i64 {\n" as *u8) 1812 ma_w(fd, " let ofd: i64 = sys_openat_wr(path, 0x1a4)\n" as *u8) 1813 ma_w(fd, " if ofd < 0 { return 0 - 1 }\n" as *u8) 1814 ma_w(fd, " _ls_fputs(ofd, \"// SYNTHESIZED BY THE NISHI TEAM (fold schema, _loop_synth_authored): the loop skeleton\\n\" as *u8)\n" as *u8) 1815 ma_w(fd, " _ls_fputs(ofd, \"// is the sketch; INIT+STEP were derived from oracle queries and held-out-verified.\\n\" as *u8)\n" as *u8) 1816 ma_w(fd, " _ls_fputs(ofd, \"import \\\"nx_syscalls.nx\\\"\\n\" as *u8)\n" as *u8) 1817 ma_w(fd, " _ls_fputs(ofd, \"func _c_le(a: i64, b: i64) -> i64 { if a <= b { return 1 } return 0 }\\n\" as *u8)\n" as *u8) 1818 ma_w(fd, " _ls_fputs(ofd, \"func _c_add(a: i64, b: i64) -> i64 { return a + b }\\n\" as *u8)\n" as *u8) 1819 ma_w(fd, " _ls_fputs(ofd, \"func _c_max(a: i64, b: i64) -> i64 { if a > b { return a } return b }\\n\" as *u8)\n" as *u8) 1820 ma_w(fd, " _ls_fputs(ofd, \"func _c_min(a: i64, b: i64) -> i64 { if a < b { return a } return b }\\n\" as *u8)\n" as *u8) 1821 ma_w(fd, " _ls_fputs(ofd, \"func _c_mul(a: i64, b: i64) -> i64 { return a * b }\\n\" as *u8)\n" as *u8) 1822 ma_w(fd, " _ls_fputs(ofd, \"func _c_and(a: i64, b: i64) -> i64 { return a & b }\\n\" as *u8)\n" as *u8) 1823 ma_w(fd, " _ls_fputs(ofd, \"func _c_shr(a: i64, b: i64) -> i64 { return a >> (b & 63) }\\n\" as *u8)\n" as *u8) 1824 ma_w(fd, " _ls_fputs(ofd, \"func _c_sub(a: i64, b: i64) -> i64 { return a - b }\\n\" as *u8)\n" as *u8) 1825 ma_w(fd, " _ls_fputs(ofd, \"func _c_shl(a: i64, b: i64) -> i64 { return a << (b & 63) }\\n\" as *u8)\n" as *u8) 1826 ma_w(fd, " _ls_fputs(ofd, \"func _c_div(a: i64, b: i64) -> i64 { if b == 0 { return 0 } return a / b }\\n\" as *u8)\n" as *u8) 1827 ma_w(fd, " _ls_fputs(ofd, \"func _c_mod(a: i64, b: i64) -> i64 { if b == 0 { return 0 } return a % b }\\n\" as *u8)\n" as *u8) 1828 ma_w(fd, " _ls_fputs(ofd, \"func _c_abs(a: i64) -> i64 { if a < 0 { return 0 - a } return a }\\n\" as *u8)\n" as *u8) 1829 ma_w(fd, " _ls_fputs(ofd, \"func step(a: i64, b: i64) -> i64 { return \" as *u8)\n" as *u8) 1830 ma_w(fd, " ls_emit_term(ofd, terms, ix)\n" as *u8) 1831 ma_w(fd, " _ls_fputs(ofd, \" }\\n\" as *u8)\n" as *u8) 1832 ma_w(fd, " _ls_fputs(ofd, \"func synth(buf: *u8, n: i64) -> i64 {\\n\" as *u8)\n" as *u8) 1833 ma_w(fd, " _ls_fputs(ofd, \" var acc: i64 = \" as *u8); _ls_fsig(ofd, init); _ls_fputs(ofd, \"\\n\" as *u8)\n" as *u8) 1834 ma_w(fd, " _ls_fputs(ofd, \" var i: i64 = 0\\n\" as *u8)\n" as *u8) 1835 ma_w(fd, " _ls_fputs(ofd, \" while i < n { acc = step(acc, buf[i] as i64); i = i + 1 }\\n\" as *u8)\n" as *u8) 1836 ma_w(fd, " _ls_fputs(ofd, \" return acc\\n}\\n\" as *u8)\n" as *u8) 1837 ma_w(fd, " _ls_fputs(ofd, \"func _g_byte(seed: i64, i: i64) -> i64 {\\n\" as *u8)\n" as *u8) 1838 ma_w(fd, " _ls_fputs(ofd, \" if (seed + i) % 3 == 0 { return 0 }\\n\" as *u8)\n" as *u8) 1839 ma_w(fd, " _ls_fputs(ofd, \" return (seed * 131 + i * 37) & 255\\n}\\n\" as *u8)\n" as *u8) 1840 ma_w(fd, " _ls_fputs(ofd, \"func main() -> i64 {\\n\" as *u8)\n" as *u8) 1841 ma_w(fd, " _ls_fputs(ofd, \" let s: *i64 = sys_mmap(64) as *i64\\n\" as *u8)\n" as *u8) 1842 ma_w(fd, " _ls_fputs(ofd, \" let l: *i64 = sys_mmap(64) as *i64\\n\" as *u8)\n" as *u8) 1843 ma_w(fd, " _ls_fputs(ofd, \" let e: *i64 = sys_mmap(64) as *i64\\n\" as *u8)\n" as *u8) 1844 ma_w(fd, " var t: i64 = 0\n" as *u8) 1845 ma_w(fd, " while t < 6 {\n" as *u8) 1846 ma_w(fd, " var sd: i64 = 1\n if t % 2 == 1 { sd = 5 }\n" as *u8) 1847 ma_w(fd, " var ln: i64 = 0\n if t >= 2 { ln = 7 }\n if t >= 4 { ln = 11 }\n" as *u8) 1848 ma_w(fd, " _ls_fputs(ofd, \" s[\" as *u8); _ls_fnum(ofd, t); _ls_fputs(ofd, \"] = \" as *u8); _ls_fnum(ofd, sd); _ls_fputs(ofd, \"\\n\" as *u8)\n" as *u8) 1849 ma_w(fd, " _ls_fputs(ofd, \" l[\" as *u8); _ls_fnum(ofd, t); _ls_fputs(ofd, \"] = \" as *u8); _ls_fnum(ofd, ln); _ls_fputs(ofd, \"\\n\" as *u8)\n" as *u8) 1850 ma_w(fd, " _ls_fputs(ofd, \" e[\" as *u8); _ls_fnum(ofd, t); _ls_fputs(ofd, \"] = \" as *u8); _ls_fsig(ofd, ls_run(init, terms, ix, sd, ln)); _ls_fputs(ofd, \"\\n\" as *u8)\n" as *u8) 1851 ma_w(fd, " t = t + 1\n" as *u8) 1852 ma_w(fd, " }\n" as *u8) 1853 ma_w(fd, " _ls_fputs(ofd, \" let buf: *u8 = sys_mmap(64)\\n\" as *u8)\n" as *u8) 1854 ma_w(fd, " _ls_fputs(ofd, \" var t: i64 = 0\\n\" as *u8)\n" as *u8) 1855 ma_w(fd, " _ls_fputs(ofd, \" while t < 6 {\\n\" as *u8)\n" as *u8) 1856 ma_w(fd, " _ls_fputs(ofd, \" var j: i64 = 0\\n\" as *u8)\n" as *u8) 1857 ma_w(fd, " _ls_fputs(ofd, \" while j < l[t] { buf[j] = _g_byte(s[t], j) as u8; j = j + 1 }\\n\" as *u8)\n" as *u8) 1858 ma_w(fd, " _ls_fputs(ofd, \" if synth(buf, l[t]) != e[t] { sys_exit(1) }\\n\" as *u8)\n" as *u8) 1859 ma_w(fd, " _ls_fputs(ofd, \" t = t + 1\\n\" as *u8)\n" as *u8) 1860 ma_w(fd, " _ls_fputs(ofd, \" }\\n\" as *u8)\n" as *u8) 1861 ma_w(fd, " _ls_fputs(ofd, \" sys_exit(0)\\n return 0\\n}\\n\" as *u8)\n" as *u8) 1862 ma_w(fd, " sys_close(ofd)\n return 0\n}\n" as *u8) 1863 // corpus record (S5): the first control-flow rows in the training set 1864 ma_w(fd, "func ls_corpus_line(label: *u8, verdict: *u8, init: i64, terms: *i64, ix: i64, scanned: i64) -> i64 {\n" as *u8) 1865 ma_w(fd, " let cfd: i64 = sys_openat_append(\"knowledge/library/synth_corpus.log\" as *u8, 0x1a4)\n" as *u8) 1866 ma_w(fd, " if cfd < 0 { return 0 - 1 }\n" as *u8) 1867 ma_w(fd, " _ls_fputs(cfd, \"SYNTH engine=loop-synth schema=fold spec=\" as *u8); _ls_fputs(cfd, label)\n" as *u8) 1868 ma_w(fd, " _ls_fputs(cfd, \" verdict=\" as *u8); _ls_fputs(cfd, verdict)\n" as *u8) 1869 ma_w(fd, " _ls_fputs(cfd, \" scanned=\" as *u8); _ls_fnum(cfd, scanned)\n" as *u8) 1870 ma_w(fd, " _ls_fputs(cfd, \" init=\" as *u8); _ls_fsig(cfd, init)\n" as *u8) 1871 ma_w(fd, " _ls_fputs(cfd, \" step=\" as *u8)\n" as *u8) 1872 ma_w(fd, " if ix >= 0 { ls_emit_term(cfd, terms, ix) } else { _ls_fputs(cfd, \"none\" as *u8) }\n" as *u8) 1873 ma_w(fd, " _ls_fputs(cfd, \"\\n\" as *u8)\n" as *u8) 1874 ma_w(fd, " sys_close(cfd)\n return 0\n}\n" as *u8) 1875 // one solve: scan candidates smallest-first; spec-accept -> held-out verify -> emit; honest stops 1876 ma_w(fd, "func ls_solve(label: *u8, path: *u8, oid: i64, cons: *i64, ncon: i64, terms: *i64, nk: i64, lens: *i64) -> i64 {\n" as *u8) 1877 ma_w(fd, " var s: i64 = 0\n var won: i64 = 0\n" as *u8) 1878 ma_w(fd, " while s < nk {\n" as *u8) 1879 ma_w(fd, " var ci: i64 = 0\n" as *u8) 1880 ma_w(fd, " while ci < ncon {\n" as *u8) 1881 ma_w(fd, " if won == 0 {\n" as *u8) 1882 ma_w(fd, " if ls_check_spec(cons[ci], terms, s, oid, lens) == 1 {\n" as *u8) 1883 ma_w(fd, " if ls_verify(cons[ci], terms, s, oid) == 1 {\n" as *u8) 1884 ma_w(fd, " _ls_puts(\"LSYNTH spec=\" as *u8); _ls_puts(label)\n" as *u8) 1885 ma_w(fd, " _ls_puts(\" SOLVED init=\" as *u8); _ls_num(cons[ci])\n" as *u8) 1886 ma_w(fd, " _ls_puts(\" step=\" as *u8); ls_emit_term(1, terms, s)\n" as *u8) 1887 ma_w(fd, " _ls_puts(\" -> \" as *u8); _ls_puts(path); _ls_puts(\"\\n\" as *u8)\n" as *u8) 1888 ma_w(fd, " ls_emit_module(path, cons[ci], terms, s)\n" as *u8) 1889 ma_w(fd, " ls_corpus_line(label, \"CONVERGED\" as *u8, cons[ci], terms, s, s + 1)\n" as *u8) 1890 ma_w(fd, " won = 1\n" as *u8) 1891 ma_w(fd, " }\n" as *u8) 1892 ma_w(fd, " else {\n" as *u8) 1893 ma_w(fd, " _ls_puts(\"LSYNTH spec=\" as *u8); _ls_puts(label); _ls_puts(\" VERIFY-FAIL (impostor caught at held-out sweep, continuing)\\n\" as *u8)\n" as *u8) 1894 ma_w(fd, " ls_corpus_line(label, \"VERIFY-FAIL\" as *u8, cons[ci], terms, s, s + 1)\n" as *u8) 1895 ma_w(fd, " }\n" as *u8) 1896 ma_w(fd, " }\n" as *u8) 1897 ma_w(fd, " }\n" as *u8) 1898 ma_w(fd, " ci = ci + 1\n" as *u8) 1899 ma_w(fd, " }\n" as *u8) 1900 ma_w(fd, " if won == 1 { s = nk } else { s = s + 1 }\n" as *u8) 1901 ma_w(fd, " }\n" as *u8) 1902 ma_w(fd, " if won == 0 {\n" as *u8) 1903 ma_w(fd, " _ls_puts(\"LSYNTH spec=\" as *u8); _ls_puts(label); _ls_puts(\" SEARCH-EXHAUSTED (honest stop)\\n\" as *u8)\n" as *u8) 1904 ma_w(fd, " ls_corpus_line(label, \"EXHAUSTED\" as *u8, 0, terms, 0 - 1, nk)\n" as *u8) 1905 ma_w(fd, " }\n" as *u8) 1906 ma_w(fd, " return won\n}\n" as *u8) 1907 // the gate main: enumerate STEP space once, solve 4 held-out fold cores 1908 ma_w(fd, "func main() -> i64 {\n" as *u8) 1909 ma_w(fd, " _ls_puts(\"=== BUILDER-AUTHORED LOOP-SYNTH: fold schema, 4 held-out derivations ===\\n\" as *u8)\n" as *u8) 1910 ma_w(fd, " let terms: *i64 = sys_mmap(4194304) as *i64\n" as *u8) 1911 ma_w(fd, " let vecs: *i64 = sys_mmap(8388608) as *i64\n" as *u8) 1912 ma_w(fd, " let hash: *i64 = sys_mmap(1048576) as *i64\n" as *u8) 1913 ma_w(fd, " let stats: *i64 = sys_mmap(64) as *i64\n" as *u8) 1914 ma_w(fd, " let cons: *i64 = sys_mmap(64) as *i64\n" as *u8) 1915 ma_w(fd, " cons[0] = 0\n cons[1] = 1\n cons[2] = 3\n cons[3] = 7\n cons[4] = 10\n cons[5] = 31\n cons[6] = 99\n" as *u8) 1916 ma_w(fd, " let pa: *i64 = sys_mmap(256) as *i64\n let pb: *i64 = sys_mmap(256) as *i64\n" as *u8) 1917 ma_w(fd, " pa[0]=0\n pb[0]=0\n pa[1]=0\n pb[1]=1\n pa[2]=0\n pb[2]=73\n pa[3]=0\n pb[3]=255\n" as *u8) 1918 ma_w(fd, " pa[4]=1\n pb[4]=0\n pa[5]=1\n pb[5]=255\n pa[6]=5\n pb[6]=1\n pa[7]=5\n pb[7]=73\n" as *u8) 1919 ma_w(fd, " pa[8]=31\n pb[8]=0\n pa[9]=31\n pb[9]=31\n pa[10]=100\n pb[10]=73\n pa[11]=100\n pb[11]=255\n" as *u8) 1920 ma_w(fd, " pa[12]=255\n pb[12]=1\n pa[13]=255\n pb[13]=255\n pa[14]=1000\n pb[14]=37\n pa[15]=4096\n pb[15]=250\n" as *u8) 1921 ma_w(fd, " let lens: *i64 = sys_mmap(64) as *i64\n" as *u8) 1922 ma_w(fd, " lens[0]=0\n lens[1]=1\n lens[2]=2\n lens[3]=3\n lens[4]=5\n lens[5]=7\n lens[6]=9\n lens[7]=11\n" as *u8) 1923 ma_w(fd, " let nk: i64 = ls_enum_steps(pa, pb, cons, 7, terms, vecs, hash, stats)\n" as *u8) 1924 ma_w(fd, " _ls_puts(\" step space: kept=\" as *u8); _ls_num(nk); _ls_puts(\" cand=\" as *u8); _ls_num(stats[0])\n" as *u8) 1925 ma_w(fd, " if stats[1] == 1 { _ls_puts(\" (CAP-HIT: partial coverage, honest)\" as *u8) }\n" as *u8) 1926 ma_w(fd, " _ls_puts(\"\\n\" as *u8)\n" as *u8) 1927 ma_w(fd, " var won: i64 = 0\n" as *u8) 1928 ma_w(fd, " won = won + ls_solve(\"sum-bytes\" as *u8, \"runtime/_hdl_build/_loopsynth_sum.nx\" as *u8, 1, cons, 7, terms, nk, lens)\n" as *u8) 1929 ma_w(fd, " won = won + ls_solve(\"max-byte\" as *u8, \"runtime/_hdl_build/_loopsynth_maxbyte.nx\" as *u8, 2, cons, 7, terms, nk, lens)\n" as *u8) 1930 ma_w(fd, " won = won + ls_solve(\"count-nonzero\" as *u8, \"runtime/_hdl_build/_loopsynth_countnz.nx\" as *u8, 3, cons, 7, terms, nk, lens)\n" as *u8) 1931 ma_w(fd, " won = won + ls_solve(\"hash31\" as *u8, \"runtime/_hdl_build/_loopsynth_hash31.nx\" as *u8, 4, cons, 7, terms, nk, lens)\n" as *u8) 1932 ma_w(fd, " _ls_puts(\"LOOP-SYNTH GATE: \" as *u8); _ls_num(won); _ls_puts(\"/4 fold functions derived + held-out verified\\n\" as *u8)\n" as *u8) 1933 ma_w(fd, " if won == 4 { sys_exit(0); return 0 }\n" as *u8) 1934 ma_w(fd, " sys_exit(1)\n return 1\n}\n" as *u8) 1935 return 1 1936} 1937 1938// AUTHOR the S6 CLAUDE-USE METER (operator 2026-06-09: "get our measured use of claude to the 1939// minimal we can till we have our own llm"). Counts, from DURABLE sources: (1) tutoring docs in 1940// knowledge/specs/ (each = a Claude intervention, the `kind: tutoring` frontmatter); (2) open vs 1941// closed [LLM] rungs across knowledge/projects/ (open must trend to ZERO); (3) team-authored 1942// synthesis runs in the corpus log. Appends one epoch-stamped METER line to 1943// knowledge/status/claude_meter.log so the PM reads a TREND, not narration. Struct-free walk 1944// (NxDirent law). The Examiner grades the trend; a rising open-rung count is a flagged regression. 1945func ma_emit_claude_meter(fd: i64) -> i64 { 1946 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (nx_module_author claude-meter template) -- S6 Claude-use KPI.\n" as *u8) 1947 ma_w(fd, "import \"nx_syscalls.nx\"\n" as *u8) 1948 ma_w(fd, "func _cm_puts(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 }\n" as *u8) 1949 ma_w(fd, "func _cm_num(v: i64) -> i64 { let bb: *u8=sys_mmap(28); var m: i64=v; if m<0{m=0-m;sys_write(1,\"-\" as *u8,1)}; let t: *u8=sys_mmap(28); var k: i64=0; if m==0{t[0]=48;k=1}; while m>0{t[k]=48+(m%10);m=m/10;k=k+1}; var i: i64=0; while i<k{bb[i]=t[k-1-i];i=i+1}; sys_write(1,bb,k); return 0 }\n" as *u8) 1950 ma_w(fd, "func _cm_fputs(fd2: i64, s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(fd2,s,n); return 0 }\n" as *u8) 1951 ma_w(fd, "func _cm_fnum(fd2: i64, v: i64) -> i64 { let bb: *u8=sys_mmap(28); var m: i64=v; if m<0{m=0-m;sys_write(fd2,\"-\" as *u8,1)}; let t: *u8=sys_mmap(28); var k: i64=0; if m==0{t[0]=48;k=1}; while m>0{t[k]=48+(m%10);m=m/10;k=k+1}; var i: i64=0; while i<k{bb[i]=t[k-1-i];i=i+1}; sys_write(fd2,bb,k); return 0 }\n" as *u8) 1952 ma_w(fd, "func cm_slen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }\n" as *u8) 1953 // contains(pat) anywhere in buf[s,e) 1954 ma_w(fd, "func cm_find(buf: *u8, s: i64, e: i64, pat: *u8) -> i64 {\n" as *u8) 1955 ma_w(fd, " let pl: i64 = cm_slen(pat)\n" as *u8) 1956 ma_w(fd, " var i: i64 = s\n" as *u8) 1957 ma_w(fd, " while i + pl <= e {\n" as *u8) 1958 ma_w(fd, " var k: i64 = 0\n var hit: i64 = 1\n" as *u8) 1959 ma_w(fd, " while k < pl { if buf[i+k] != pat[k] { hit = 0; k = pl } else { k = k + 1 } }\n" as *u8) 1960 ma_w(fd, " if hit == 1 { return i }\n" as *u8) 1961 ma_w(fd, " i = i + 1\n" as *u8) 1962 ma_w(fd, " }\n return 0 - 1\n}\n" as *u8) 1963 ma_w(fd, "func cm_read(path: *u8, buf: *u8, cap: i64) -> i64 {\n" as *u8) 1964 ma_w(fd, " let fd2: i64 = sys_openat_rd(path)\n if fd2 < 0 { return 0 - 1 }\n var total: i64 = 0\n var go: i64 = 1\n" as *u8) 1965 ma_w(fd, " while go == 1 {\n let base: i64 = buf as i64\n let n: i64 = sys_read(fd2, (base + total) as *u8, cap - total)\n" as *u8) 1966 ma_w(fd, " if n <= 0 { go = 0 } else { total = total + n }\n if total >= cap { go = 0 }\n }\n sys_close(fd2)\n return total\n}\n" as *u8) 1967 // per-line scan of one projects/ file: out[0]+=open [LLM] rungs, out[1]+=closed 1968 ma_w(fd, "func cm_scan_llm(buf: *u8, n: i64, out: *i64) -> i64 {\n" as *u8) 1969 ma_w(fd, " var i: i64 = 0\n" as *u8) 1970 ma_w(fd, " while i < n {\n" as *u8) 1971 ma_w(fd, " var le: i64 = i\n" as *u8) 1972 ma_w(fd, " while le < n { if buf[le] == (10 as u8) { break } le = le + 1 }\n" as *u8) 1973 ma_w(fd, " if cm_find(buf, i, le, \"[LLM]\" as *u8) >= 0 {\n" as *u8) 1974 ma_w(fd, " if cm_find(buf, i, le, \"- [ ]\" as *u8) >= 0 { out[0] = out[0] + 1 }\n" as *u8) 1975 ma_w(fd, " if cm_find(buf, i, le, \"- [x]\" as *u8) >= 0 { out[1] = out[1] + 1 }\n" as *u8) 1976 ma_w(fd, " }\n" as *u8) 1977 ma_w(fd, " i = le + 1\n" as *u8) 1978 ma_w(fd, " }\n return 0\n}\n" as *u8) 1979 // walk a dir of .md files; mode 1 = count tutoring docs, mode 2 = sum open/closed [LLM] rungs 1980 ma_w(fd, "func cm_walk(dirpath: *u8, mode: i64, out: *i64) -> i64 {\n" as *u8) 1981 ma_w(fd, " let dfd: i64 = sys_openat_rd(dirpath)\n" as *u8) 1982 ma_w(fd, " if dfd < 0 { return 0 - 1 }\n" as *u8) 1983 ma_w(fd, " let dirbuf: *u8 = sys_mmap(1048640)\n let pathbuf: *u8 = sys_mmap(4096)\n let filebuf: *u8 = sys_mmap(1048592)\n" as *u8) 1984 ma_w(fd, " var nfiles: i64 = 0\n var done: i64 = 0\n" as *u8) 1985 ma_w(fd, " while done == 0 {\n" as *u8) 1986 ma_w(fd, " let nb: i64 = sys_getdents64(dfd, dirbuf, 1048576)\n" as *u8) 1987 ma_w(fd, " if nb <= 0 { done = 1 }\n" as *u8) 1988 ma_w(fd, " else {\n" as *u8) 1989 ma_w(fd, " var off: i64 = 0\n" as *u8) 1990 ma_w(fd, " while off < nb {\n" as *u8) 1991 ma_w(fd, " let dbase: i64 = dirbuf as i64\n" as *u8) 1992 ma_w(fd, " let rec: *u8 = (dbase + off) as *u8\n" as *u8) 1993 ma_w(fd, " let rl: i64 = dirent_reclen(rec)\n" as *u8) 1994 ma_w(fd, " if rl <= 0 { off = nb }\n" as *u8) 1995 ma_w(fd, " else {\n" as *u8) 1996 ma_w(fd, " let name: *u8 = dirent_name(rec)\n" as *u8) 1997 ma_w(fd, " let nl: i64 = cm_slen(name)\n" as *u8) 1998 ma_w(fd, " var ismd: i64 = 0\n" as *u8) 1999 ma_w(fd, " if nl > 3 {\n" as *u8) 2000 ma_w(fd, " if name[nl-3] == (46 as u8) { if name[nl-2] == (109 as u8) { if name[nl-1] == (100 as u8) { ismd = 1 } } }\n" as *u8) 2001 ma_w(fd, " }\n" as *u8) 2002 ma_w(fd, " if ismd == 1 {\n" as *u8) 2003 ma_w(fd, " var p: i64 = 0\n" as *u8) 2004 ma_w(fd, " var q: i64 = 0\n" as *u8) 2005 ma_w(fd, " while dirpath[q] != (0 as u8) { pathbuf[p] = dirpath[q]; p = p + 1; q = q + 1 }\n" as *u8) 2006 ma_w(fd, " pathbuf[p] = 47 as u8\n p = p + 1\n" as *u8) 2007 ma_w(fd, " q = 0\n" as *u8) 2008 ma_w(fd, " while q < nl { pathbuf[p] = name[q]; p = p + 1; q = q + 1 }\n" as *u8) 2009 ma_w(fd, " pathbuf[p] = 0 as u8\n" as *u8) 2010 ma_w(fd, " let fl: i64 = cm_read(pathbuf, filebuf, 1048576)\n" as *u8) 2011 ma_w(fd, " if fl > 0 {\n" as *u8) 2012 ma_w(fd, " nfiles = nfiles + 1\n" as *u8) 2013 ma_w(fd, " if mode == 1 {\n" as *u8) 2014 ma_w(fd, " var hd: i64 = fl\n if hd > 2048 { hd = 2048 }\n" as *u8) 2015 ma_w(fd, " if cm_find(filebuf, 0, hd, \"kind: tutoring\" as *u8) >= 0 { out[0] = out[0] + 1 }\n" as *u8) 2016 ma_w(fd, " }\n" as *u8) 2017 ma_w(fd, " if mode == 2 { cm_scan_llm(filebuf, fl, out) }\n" as *u8) 2018 ma_w(fd, " }\n" as *u8) 2019 ma_w(fd, " }\n" as *u8) 2020 ma_w(fd, " off = off + rl\n" as *u8) 2021 ma_w(fd, " }\n" as *u8) 2022 ma_w(fd, " }\n" as *u8) 2023 ma_w(fd, " }\n" as *u8) 2024 ma_w(fd, " }\n" as *u8) 2025 ma_w(fd, " sys_close(dfd)\n return nfiles\n}\n" as *u8) 2026 // corpus: count SYNTH lines + CONVERGED lines 2027 ma_w(fd, "func cm_corpus(out: *i64) -> i64 {\n" as *u8) 2028 ma_w(fd, " let buf: *u8 = sys_mmap(1048592)\n" as *u8) 2029 ma_w(fd, " let fl: i64 = cm_read(\"knowledge/library/synth_corpus.log\" as *u8, buf, 1048576)\n" as *u8) 2030 ma_w(fd, " if fl <= 0 { return 0 }\n" as *u8) 2031 ma_w(fd, " var i: i64 = 0\n" as *u8) 2032 ma_w(fd, " while i < fl {\n" as *u8) 2033 ma_w(fd, " var le: i64 = i\n" as *u8) 2034 ma_w(fd, " while le < fl { if buf[le] == (10 as u8) { break } le = le + 1 }\n" as *u8) 2035 ma_w(fd, " if cm_find(buf, i, le, \"SYNTH \" as *u8) >= 0 { out[0] = out[0] + 1 }\n" as *u8) 2036 ma_w(fd, " if cm_find(buf, i, le, \"verdict=CONVERGED\" as *u8) >= 0 { out[1] = out[1] + 1 }\n" as *u8) 2037 ma_w(fd, " i = le + 1\n" as *u8) 2038 ma_w(fd, " }\n return 1\n}\n" as *u8) 2039 ma_w(fd, "func main() -> i64 {\n" as *u8) 2040 ma_w(fd, " _cm_puts(\"=== BUILDER-AUTHORED CLAUDE-USE METER: tutored vs team-authored, the trend to zero ===\\n\" as *u8)\n" as *u8) 2041 ma_w(fd, " let tut: *i64 = sys_mmap(64) as *i64\n" as *u8) 2042 ma_w(fd, " let llm: *i64 = sys_mmap(64) as *i64\n" as *u8) 2043 ma_w(fd, " let cor: *i64 = sys_mmap(64) as *i64\n" as *u8) 2044 ma_w(fd, " let nspecs: i64 = cm_walk(\"knowledge/specs\" as *u8, 1, tut)\n" as *u8) 2045 ma_w(fd, " let nproj: i64 = cm_walk(\"knowledge/projects\" as *u8, 2, llm)\n" as *u8) 2046 ma_w(fd, " cm_corpus(cor)\n" as *u8) 2047 ma_w(fd, " _cm_puts(\" specs-files=\" as *u8); _cm_num(nspecs); _cm_puts(\" tutoring-docs=\" as *u8); _cm_num(tut[0])\n" as *u8) 2048 ma_w(fd, " _cm_puts(\" projects-files=\" as *u8); _cm_num(nproj)\n" as *u8) 2049 ma_w(fd, " _cm_puts(\" llm-rungs-open=\" as *u8); _cm_num(llm[0]); _cm_puts(\" llm-rungs-closed=\" as *u8); _cm_num(llm[1])\n" as *u8) 2050 ma_w(fd, " _cm_puts(\" team-synth-runs=\" as *u8); _cm_num(cor[0]); _cm_puts(\" team-converged=\" as *u8); _cm_num(cor[1]); _cm_puts(\"\\n\" as *u8)\n" as *u8) 2051 ma_w(fd, " let mfd: i64 = sys_openat_append(\"knowledge/status/claude_meter.log\" as *u8, 0x1a4)\n" as *u8) 2052 ma_w(fd, " if mfd < 0 { _cm_puts(\" METER LOG OPEN FAILED\\n\" as *u8); sys_exit(1); return 1 }\n" as *u8) 2053 ma_w(fd, " _cm_fputs(mfd, \"METER epoch=\" as *u8); _cm_fnum(mfd, sys_now_realtime_sec())\n" as *u8) 2054 ma_w(fd, " _cm_fputs(mfd, \" tutoring_docs=\" as *u8); _cm_fnum(mfd, tut[0])\n" as *u8) 2055 ma_w(fd, " _cm_fputs(mfd, \" llm_open=\" as *u8); _cm_fnum(mfd, llm[0])\n" as *u8) 2056 ma_w(fd, " _cm_fputs(mfd, \" llm_closed=\" as *u8); _cm_fnum(mfd, llm[1])\n" as *u8) 2057 ma_w(fd, " _cm_fputs(mfd, \" team_synth_runs=\" as *u8); _cm_fnum(mfd, cor[0])\n" as *u8) 2058 ma_w(fd, " _cm_fputs(mfd, \" team_converged=\" as *u8); _cm_fnum(mfd, cor[1])\n" as *u8) 2059 ma_w(fd, " _cm_fputs(mfd, \"\\n\" as *u8)\n" as *u8) 2060 ma_w(fd, " sys_close(mfd)\n" as *u8) 2061 ma_w(fd, " _cm_puts(\" METER line appended: knowledge/status/claude_meter.log\\n\" as *u8)\n" as *u8) 2062 ma_w(fd, " var pass: i64 = 1\n" as *u8) 2063 ma_w(fd, " if nspecs < 5 { pass = 0 }\n" as *u8) 2064 ma_w(fd, " if nproj < 2 { pass = 0 }\n" as *u8) 2065 ma_w(fd, " if tut[0] < 1 { pass = 0 }\n" as *u8) 2066 ma_w(fd, " if cor[0] < 1 { pass = 0 }\n" as *u8) 2067 ma_w(fd, " if pass == 1 { _cm_puts(\" CLAUDE-METER GATE: PASS\\n\" as *u8); sys_exit(0); return 0 }\n" as *u8) 2068 ma_w(fd, " _cm_puts(\" CLAUDE-METER GATE: FAIL (a source was empty)\\n\" as *u8)\n" as *u8) 2069 ma_w(fd, " sys_exit(1)\n return 1\n}\n" as *u8) 2070 return 1 2071} 2072 2073// AUTHOR the L1 TRAINING-SUBSTRATE rung 1: tape-based reverse-mode AUTOGRAD over the EXISTING 2074// sovereign f32 tower (nx_f32 add/mul/sub/neg/abs/lt/gt + nx_f32_div + nx_i32_to_f32 -- reuse, never 2075// reimplement). Three gates, all exact: A) GRADCHECK analytic-vs-central-finite-difference on every 2076// param of a relu graph (the oracle is mathematics); B) a linear model PROVABLY LEARNS (loss<1/1000, 2077// params within 1/16, loss decreased); C) BIT-EXACT REPRODUCIBLE TRAINING -- two from-scratch runs 2078// produce IDENTICAL final weight bits (the S-class-EXCEED axis: mainstream GPU training is 2079// non-deterministic by default; here determinism is a GATE). Tutoring: 2080// specs/2026-06-09-tutoring-training-substrate-rung1.md. No randomness anywhere, by design. 2081func ma_emit_autograd(fd: i64) -> i64 { 2082 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (nx_module_author autograd template) -- L1 training substrate rung 1.\n" as *u8) 2083 ma_w(fd, "// Tape reverse-mode autograd on the sovereign f32 tower; tutoring: specs/2026-06-09-tutoring-training-substrate-rung1.md\n" as *u8) 2084 ma_w(fd, "import \"nx_syscalls.nx\"\n" as *u8) 2085 ma_w(fd, "import \"nx_f32.nx\"\n" as *u8) 2086 ma_w(fd, "import \"nx_f32_div.nx\"\n" as *u8) 2087 ma_w(fd, "import \"nx_f32_cvt.nx\"\n" as *u8) 2088 ma_w(fd, "func _ag_puts(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 }\n" as *u8) 2089 ma_w(fd, "func _ag_num(v: i64) -> i64 { let bb: *u8=sys_mmap(28); var m: i64=v; if m<0{m=0-m;sys_write(1,\"-\" as *u8,1)}; let t: *u8=sys_mmap(28); var k: i64=0; if m==0{t[0]=48;k=1}; while m>0{t[k]=48+(m%10);m=m/10;k=k+1}; var i: i64=0; while i<k{bb[i]=t[k-1-i];i=i+1}; sys_write(1,bb,k); return 0 }\n" as *u8) 2090 // rational constants from integers through the EXISTING converters -- no hand-baked hex floats 2091 ma_w(fd, "func ag_q(n: i64, d: i64) -> i64 { return nx_f32_div(nx_i32_to_f32(n), nx_i32_to_f32(d)) }\n" as *u8) 2092 // f32 -> milli-units for honest printing (binary search over i32->f32 compares; no f32->int cvt exists yet) 2093 ma_w(fd, "func ag_milli(v: i64) -> i64 {\n" as *u8) 2094 ma_w(fd, " var neg: i64 = 0\n var a: i64 = v\n" as *u8) 2095 ma_w(fd, " if nx_f32_lt(a, 0) == 1 { neg = 1; a = nx_f32_abs(a) }\n" as *u8) 2096 ma_w(fd, " let m: i64 = nx_f32_mul(a, nx_i32_to_f32(1000))\n" as *u8) 2097 ma_w(fd, " var lo: i64 = 0\n var hi: i64 = 16777216\n" as *u8) 2098 ma_w(fd, " while lo < hi {\n" as *u8) 2099 ma_w(fd, " let mid: i64 = (lo + hi + 1) / 2\n" as *u8) 2100 ma_w(fd, " if nx_f32_lt(m, nx_i32_to_f32(mid)) == 1 { hi = mid - 1 } else { lo = mid }\n" as *u8) 2101 ma_w(fd, " }\n" as *u8) 2102 ma_w(fd, " if neg == 1 { return 0 - lo }\n return lo\n}\n" as *u8) 2103 // the TAPE: node stride 5 {op, ai, bi, val, grad}; ops 0=leaf 1=add 2=mul 3=sub 4=relu; EAGER values 2104 ma_w(fd, "func ag_node(tape: *i64, nb: *i64, op: i64, ai: i64, bi: i64, v: i64) -> i64 {\n" as *u8) 2105 ma_w(fd, " let r: i64 = nb[0]\n" as *u8) 2106 ma_w(fd, " tape[r*5+0] = op\n tape[r*5+1] = ai\n tape[r*5+2] = bi\n tape[r*5+3] = v\n tape[r*5+4] = 0\n" as *u8) 2107 ma_w(fd, " nb[0] = r + 1\n return r\n}\n" as *u8) 2108 ma_w(fd, "func ag_leaf(tape: *i64, nb: *i64, v: i64) -> i64 { return ag_node(tape, nb, 0, 0, 0, v) }\n" as *u8) 2109 ma_w(fd, "func ag_add(tape: *i64, nb: *i64, x: i64, y: i64) -> i64 { return ag_node(tape, nb, 1, x, y, nx_f32_add(tape[x*5+3], tape[y*5+3])) }\n" as *u8) 2110 ma_w(fd, "func ag_mul(tape: *i64, nb: *i64, x: i64, y: i64) -> i64 { return ag_node(tape, nb, 2, x, y, nx_f32_mul(tape[x*5+3], tape[y*5+3])) }\n" as *u8) 2111 ma_w(fd, "func ag_sub(tape: *i64, nb: *i64, x: i64, y: i64) -> i64 { return ag_node(tape, nb, 3, x, y, nx_f32_sub(tape[x*5+3], tape[y*5+3])) }\n" as *u8) 2112 ma_w(fd, "func ag_relu(tape: *i64, nb: *i64, x: i64) -> i64 {\n" as *u8) 2113 ma_w(fd, " var v: i64 = tape[x*5+3]\n" as *u8) 2114 ma_w(fd, " if nx_f32_lt(v, 0) == 1 { v = 0 }\n" as *u8) 2115 ma_w(fd, " return ag_node(tape, nb, 4, x, 0, v)\n}\n" as *u8) 2116 // reverse sweep: seed root with 1.0f, accumulate chain-rule contributions 2117 ma_w(fd, "func ag_backward(tape: *i64, nt: i64, root: i64) -> i64 {\n" as *u8) 2118 ma_w(fd, " var i: i64 = 0\n while i < nt { tape[i*5+4] = 0; i = i + 1 }\n" as *u8) 2119 ma_w(fd, " tape[root*5+4] = nx_i32_to_f32(1)\n" as *u8) 2120 ma_w(fd, " var r: i64 = nt - 1\n" as *u8) 2121 ma_w(fd, " while r >= 0 {\n" as *u8) 2122 ma_w(fd, " let op: i64 = tape[r*5+0]\n" as *u8) 2123 ma_w(fd, " let g: i64 = tape[r*5+4]\n" as *u8) 2124 ma_w(fd, " let ai: i64 = tape[r*5+1]\n" as *u8) 2125 ma_w(fd, " let bi: i64 = tape[r*5+2]\n" as *u8) 2126 ma_w(fd, " if op == 1 {\n" as *u8) 2127 ma_w(fd, " tape[ai*5+4] = nx_f32_add(tape[ai*5+4], g)\n" as *u8) 2128 ma_w(fd, " tape[bi*5+4] = nx_f32_add(tape[bi*5+4], g)\n" as *u8) 2129 ma_w(fd, " }\n" as *u8) 2130 ma_w(fd, " if op == 2 {\n" as *u8) 2131 ma_w(fd, " tape[ai*5+4] = nx_f32_add(tape[ai*5+4], nx_f32_mul(g, tape[bi*5+3]))\n" as *u8) 2132 ma_w(fd, " tape[bi*5+4] = nx_f32_add(tape[bi*5+4], nx_f32_mul(g, tape[ai*5+3]))\n" as *u8) 2133 ma_w(fd, " }\n" as *u8) 2134 ma_w(fd, " if op == 3 {\n" as *u8) 2135 ma_w(fd, " tape[ai*5+4] = nx_f32_add(tape[ai*5+4], g)\n" as *u8) 2136 ma_w(fd, " tape[bi*5+4] = nx_f32_add(tape[bi*5+4], nx_f32_neg(g))\n" as *u8) 2137 ma_w(fd, " }\n" as *u8) 2138 ma_w(fd, " if op == 4 {\n" as *u8) 2139 ma_w(fd, " if nx_f32_gt(tape[ai*5+3], 0) == 1 { tape[ai*5+4] = nx_f32_add(tape[ai*5+4], g) }\n" as *u8) 2140 ma_w(fd, " }\n" as *u8) 2141 ma_w(fd, " r = r - 1\n" as *u8) 2142 ma_w(fd, " }\n return 0\n}\n" as *u8) 2143 // gate A reference forward (tape-free; the same math the tape must differentiate) 2144 ma_w(fd, "func gc_fwd(w1: i64, b1: i64, w2: i64, b2: i64, x: i64) -> i64 {\n" as *u8) 2145 ma_w(fd, " var a: i64 = nx_f32_add(nx_f32_mul(w1, x), b1)\n" as *u8) 2146 ma_w(fd, " if nx_f32_lt(a, 0) == 1 { a = 0 }\n" as *u8) 2147 ma_w(fd, " let y: i64 = nx_f32_add(nx_f32_mul(a, w2), b2)\n" as *u8) 2148 ma_w(fd, " return nx_f32_mul(y, y)\n}\n" as *u8) 2149 ma_w(fd, "func gate_a(tape: *i64, nb: *i64) -> i64 {\n" as *u8) 2150 ma_w(fd, " let pv: *i64 = sys_mmap(64) as *i64\n" as *u8) 2151 ma_w(fd, " pv[0] = ag_q(2,3)\n pv[1] = ag_q(1,4)\n pv[2] = ag_q(3,2)\n pv[3] = ag_q(1,4)\n" as *u8) 2152 ma_w(fd, " let xv: i64 = ag_q(3,4)\n" as *u8) 2153 ma_w(fd, " nb[0] = 0\n" as *u8) 2154 ma_w(fd, " let pix: *i64 = sys_mmap(64) as *i64\n" as *u8) 2155 ma_w(fd, " var k: i64 = 0\n while k < 4 { pix[k] = ag_leaf(tape, nb, pv[k]); k = k + 1 }\n" as *u8) 2156 ma_w(fd, " let xn: i64 = ag_leaf(tape, nb, xv)\n" as *u8) 2157 ma_w(fd, " let a: i64 = ag_relu(tape, nb, ag_add(tape, nb, ag_mul(tape, nb, pix[0], xn), pix[1]))\n" as *u8) 2158 ma_w(fd, " let y: i64 = ag_add(tape, nb, ag_mul(tape, nb, a, pix[2]), pix[3])\n" as *u8) 2159 ma_w(fd, " let loss: i64 = ag_mul(tape, nb, y, y)\n" as *u8) 2160 ma_w(fd, " ag_backward(tape, nb[0], loss)\n" as *u8) 2161 ma_w(fd, " let h: i64 = ag_q(1,128)\n" as *u8) 2162 ma_w(fd, " let wv: *i64 = sys_mmap(64) as *i64\n" as *u8) 2163 ma_w(fd, " var pass: i64 = 1\n" as *u8) 2164 ma_w(fd, " k = 0\n" as *u8) 2165 ma_w(fd, " while k < 4 {\n" as *u8) 2166 ma_w(fd, " var j: i64 = 0\n while j < 4 { wv[j] = pv[j]; j = j + 1 }\n" as *u8) 2167 ma_w(fd, " wv[k] = nx_f32_add(pv[k], h)\n" as *u8) 2168 ma_w(fd, " let fp: i64 = gc_fwd(wv[0], wv[1], wv[2], wv[3], xv)\n" as *u8) 2169 ma_w(fd, " wv[k] = nx_f32_sub(pv[k], h)\n" as *u8) 2170 ma_w(fd, " let fm: i64 = gc_fwd(wv[0], wv[1], wv[2], wv[3], xv)\n" as *u8) 2171 ma_w(fd, " let fdif: i64 = nx_f32_div(nx_f32_sub(fp, fm), ag_q(1,64))\n" as *u8) 2172 ma_w(fd, " let ga: i64 = tape[pix[k]*5+4]\n" as *u8) 2173 ma_w(fd, " var den: i64 = nx_f32_abs(fdif)\n" as *u8) 2174 ma_w(fd, " if nx_f32_lt(den, ag_q(1,64)) == 1 { den = ag_q(1,64) }\n" as *u8) 2175 ma_w(fd, " let rel: i64 = nx_f32_div(nx_f32_abs(nx_f32_sub(ga, fdif)), den)\n" as *u8) 2176 ma_w(fd, " _ag_puts(\" gradcheck p\" as *u8); _ag_num(k)\n" as *u8) 2177 ma_w(fd, " _ag_puts(\" analytic-milli=\" as *u8); _ag_num(ag_milli(ga))\n" as *u8) 2178 ma_w(fd, " _ag_puts(\" finite-diff-milli=\" as *u8); _ag_num(ag_milli(fdif))\n" as *u8) 2179 ma_w(fd, " _ag_puts(\" rel-milli=\" as *u8); _ag_num(ag_milli(rel)); _ag_puts(\"\\n\" as *u8)\n" as *u8) 2180 ma_w(fd, " if nx_f32_lt(rel, ag_q(1,32)) == 0 { pass = 0 }\n" as *u8) 2181 ma_w(fd, " k = k + 1\n" as *u8) 2182 ma_w(fd, " }\n return pass\n}\n" as *u8) 2183 // gates B+C: deterministic from-scratch training run; out = {w, b, final_loss, first_loss} 2184 ma_w(fd, "func ag_train(tape: *i64, nb: *i64, out: *i64) -> i64 {\n" as *u8) 2185 ma_w(fd, " let wt: i64 = ag_q(3,2)\n" as *u8) 2186 ma_w(fd, " let bt: i64 = nx_f32_neg(ag_q(1,2))\n" as *u8) 2187 ma_w(fd, " let xc: *i64 = sys_mmap(128) as *i64\n let yc: *i64 = sys_mmap(128) as *i64\n" as *u8) 2188 ma_w(fd, " var i: i64 = 0\n" as *u8) 2189 ma_w(fd, " while i < 8 { xc[i] = ag_q(i, 4); yc[i] = nx_f32_add(nx_f32_mul(wt, xc[i]), bt); i = i + 1 }\n" as *u8) 2190 ma_w(fd, " let lr: i64 = ag_q(1,20)\n" as *u8) 2191 ma_w(fd, " let inv8: i64 = ag_q(1,8)\n" as *u8) 2192 ma_w(fd, " var w: i64 = 0\n var b: i64 = 0\n" as *u8) 2193 ma_w(fd, " var first: i64 = 0\n var loss_v: i64 = 0\n" as *u8) 2194 ma_w(fd, " var ep: i64 = 0\n" as *u8) 2195 ma_w(fd, " while ep < 500 {\n" as *u8) 2196 ma_w(fd, " nb[0] = 0\n" as *u8) 2197 ma_w(fd, " let wl: i64 = ag_leaf(tape, nb, w)\n" as *u8) 2198 ma_w(fd, " let bl: i64 = ag_leaf(tape, nb, b)\n" as *u8) 2199 ma_w(fd, " var acc: i64 = ag_leaf(tape, nb, 0)\n" as *u8) 2200 ma_w(fd, " var k: i64 = 0\n" as *u8) 2201 ma_w(fd, " while k < 8 {\n" as *u8) 2202 ma_w(fd, " let xn: i64 = ag_leaf(tape, nb, xc[k])\n" as *u8) 2203 ma_w(fd, " let yn: i64 = ag_leaf(tape, nb, yc[k])\n" as *u8) 2204 ma_w(fd, " let e: i64 = ag_sub(tape, nb, ag_add(tape, nb, ag_mul(tape, nb, wl, xn), bl), yn)\n" as *u8) 2205 ma_w(fd, " acc = ag_add(tape, nb, acc, ag_mul(tape, nb, e, e))\n" as *u8) 2206 ma_w(fd, " k = k + 1\n" as *u8) 2207 ma_w(fd, " }\n" as *u8) 2208 ma_w(fd, " let il: i64 = ag_leaf(tape, nb, inv8)\n" as *u8) 2209 ma_w(fd, " let loss: i64 = ag_mul(tape, nb, acc, il)\n" as *u8) 2210 ma_w(fd, " ag_backward(tape, nb[0], loss)\n" as *u8) 2211 ma_w(fd, " loss_v = tape[loss*5+3]\n" as *u8) 2212 ma_w(fd, " if ep == 0 { first = loss_v }\n" as *u8) 2213 ma_w(fd, " w = nx_f32_sub(w, nx_f32_mul(lr, tape[wl*5+4]))\n" as *u8) 2214 ma_w(fd, " b = nx_f32_sub(b, nx_f32_mul(lr, tape[bl*5+4]))\n" as *u8) 2215 ma_w(fd, " if ep % 100 == 0 { _ag_puts(\" epoch=\" as *u8); _ag_num(ep); _ag_puts(\" loss-milli=\" as *u8); _ag_num(ag_milli(loss_v)); _ag_puts(\"\\n\" as *u8) }\n" as *u8) 2216 ma_w(fd, " ep = ep + 1\n" as *u8) 2217 ma_w(fd, " }\n" as *u8) 2218 ma_w(fd, " out[0] = w\n out[1] = b\n out[2] = loss_v\n out[3] = first\n return 0\n}\n" as *u8) 2219 ma_w(fd, "func main() -> i64 {\n" as *u8) 2220 ma_w(fd, " _ag_puts(\"=== BUILDER-AUTHORED AUTOGRAD: L1 training substrate rung 1 (sovereign f32, no randomness) ===\\n\" as *u8)\n" as *u8) 2221 ma_w(fd, " let tape: *i64 = sys_mmap(65536) as *i64\n" as *u8) 2222 ma_w(fd, " let nb: *i64 = sys_mmap(16) as *i64\n" as *u8) 2223 ma_w(fd, " let pa: i64 = gate_a(tape, nb)\n" as *u8) 2224 ma_w(fd, " if pa == 1 { _ag_puts(\" GATE A gradcheck: PASS (analytic == finite difference on every param)\\n\" as *u8) } else { _ag_puts(\" GATE A gradcheck: FAIL\\n\" as *u8) }\n" as *u8) 2225 ma_w(fd, " let o1: *i64 = sys_mmap(64) as *i64\n let o2: *i64 = sys_mmap(64) as *i64\n" as *u8) 2226 ma_w(fd, " ag_train(tape, nb, o1)\n" as *u8) 2227 ma_w(fd, " _ag_puts(\" run1: w-milli=\" as *u8); _ag_num(ag_milli(o1[0]))\n" as *u8) 2228 ma_w(fd, " _ag_puts(\" b-milli=\" as *u8); _ag_num(ag_milli(o1[1]))\n" as *u8) 2229 ma_w(fd, " _ag_puts(\" final-loss-milli=\" as *u8); _ag_num(ag_milli(o1[2]))\n" as *u8) 2230 ma_w(fd, " _ag_puts(\" first-loss-milli=\" as *u8); _ag_num(ag_milli(o1[3])); _ag_puts(\"\\n\" as *u8)\n" as *u8) 2231 ma_w(fd, " var pb: i64 = 1\n" as *u8) 2232 ma_w(fd, " if nx_f32_lt(o1[2], ag_q(1,1000)) == 0 { pb = 0 }\n" as *u8) 2233 ma_w(fd, " if nx_f32_lt(nx_f32_abs(nx_f32_sub(o1[0], ag_q(3,2))), ag_q(1,16)) == 0 { pb = 0 }\n" as *u8) 2234 ma_w(fd, " if nx_f32_lt(nx_f32_abs(nx_f32_sub(o1[1], nx_f32_neg(ag_q(1,2)))), ag_q(1,16)) == 0 { pb = 0 }\n" as *u8) 2235 ma_w(fd, " if nx_f32_lt(o1[2], o1[3]) == 0 { pb = 0 }\n" as *u8) 2236 ma_w(fd, " if pb == 1 { _ag_puts(\" GATE B learns: PASS (loss < 1/1000, params recovered, loss decreased)\\n\" as *u8) } else { _ag_puts(\" GATE B learns: FAIL\\n\" as *u8) }\n" as *u8) 2237 ma_w(fd, " ag_train(tape, nb, o2)\n" as *u8) 2238 ma_w(fd, " var pc: i64 = 1\n" as *u8) 2239 ma_w(fd, " if o1[0] != o2[0] { pc = 0 }\n" as *u8) 2240 ma_w(fd, " if o1[1] != o2[1] { pc = 0 }\n" as *u8) 2241 ma_w(fd, " if o1[2] != o2[2] { pc = 0 }\n" as *u8) 2242 ma_w(fd, " if pc == 1 { _ag_puts(\" GATE C bit-exact training: PASS (two from-scratch runs -> identical weight BITS; the EXCEED axis)\\n\" as *u8) } else { _ag_puts(\" GATE C bit-exact training: FAIL\\n\" as *u8) }\n" as *u8) 2243 ma_w(fd, " if pa == 1 { if pb == 1 { if pc == 1 {\n" as *u8) 2244 ma_w(fd, " _ag_puts(\" AUTOGRAD RUNG-1 GATE: PASS (the team can compute verified gradients and train, bit-exactly, bits-up)\\n\" as *u8)\n" as *u8) 2245 ma_w(fd, " sys_exit(0)\n return 0\n } } }\n" as *u8) 2246 ma_w(fd, " _ag_puts(\" AUTOGRAD RUNG-1 GATE: FAIL\\n\" as *u8)\n" as *u8) 2247 ma_w(fd, " sys_exit(1)\n return 1\n}\n" as *u8) 2248 return 1 2249} 2250 2251// AUTHOR the T6 TENSOR AUTOGRAD (training-substrate rung 2): array-valued tape nodes over a 2252// deterministic bump ARENA (reset per epoch, zeroed on alloc — no allocator, bit-exact by 2253// construction). The four tutored identities: matvec dW=g⊗x dx=Wt·g; addvec passes g; relu gates g 2254// per cell on the INPUT sign; MSE dp=g·(2/n)(p−t). Gates: A) 9-param MLP gradcheck through a real 2255// nonlinear composition; B) recover a 2x2 affine map from zero init (CONVEX by design — zero-init on 2256// a relu MLP is the known symmetric-dead trap; nonconvex init strategy = flagged next rung); 2257// C) bit-exact two-run training (the EXCEED axis rides every rung). Caps overflow = honest FAIL. 2258// Tutoring: specs/2026-06-09-tutoring-training-substrate-rung2-tensor.md. 2259func ma_emit_tensor_grad(fd: i64) -> i64 { 2260 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (nx_module_author tensor-grad template) -- T6 tensor autograd.\n" as *u8) 2261 ma_w(fd, "// Tutoring: specs/2026-06-09-tutoring-training-substrate-rung2-tensor.md\n" as *u8) 2262 ma_w(fd, "import \"nx_syscalls.nx\"\n" as *u8) 2263 ma_w(fd, "import \"nx_f32.nx\"\n" as *u8) 2264 ma_w(fd, "import \"nx_f32_div.nx\"\n" as *u8) 2265 ma_w(fd, "import \"nx_f32_cvt.nx\"\n" as *u8) 2266 ma_w(fd, "func _tg_puts(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 }\n" as *u8) 2267 ma_w(fd, "func _tg_num(v: i64) -> i64 { let bb: *u8=sys_mmap(28); var m: i64=v; if m<0{m=0-m;sys_write(1,\"-\" as *u8,1)}; let t: *u8=sys_mmap(28); var k: i64=0; if m==0{t[0]=48;k=1}; while m>0{t[k]=48+(m%10);m=m/10;k=k+1}; var i: i64=0; while i<k{bb[i]=t[k-1-i];i=i+1}; sys_write(1,bb,k); return 0 }\n" as *u8) 2268 ma_w(fd, "func tg_q(n: i64, d: i64) -> i64 { return nx_f32_div(nx_i32_to_f32(n), nx_i32_to_f32(d)) }\n" as *u8) 2269 ma_w(fd, "func tg_milli(v: i64) -> i64 {\n" as *u8) 2270 ma_w(fd, " var neg: i64 = 0\n var a: i64 = v\n" as *u8) 2271 ma_w(fd, " if nx_f32_lt(a, 0) == 1 { neg = 1; a = nx_f32_abs(a) }\n" as *u8) 2272 ma_w(fd, " let m: i64 = nx_f32_mul(a, nx_i32_to_f32(1000))\n" as *u8) 2273 ma_w(fd, " var lo: i64 = 0\n var hi: i64 = 16777216\n" as *u8) 2274 ma_w(fd, " while lo < hi {\n" as *u8) 2275 ma_w(fd, " let mid: i64 = (lo + hi + 1) / 2\n" as *u8) 2276 ma_w(fd, " if nx_f32_lt(m, nx_i32_to_f32(mid)) == 1 { hi = mid - 1 } else { lo = mid }\n" as *u8) 2277 ma_w(fd, " }\n" as *u8) 2278 ma_w(fd, " if neg == 1 { return 0 - lo }\n return lo\n}\n" as *u8) 2279 ma_w(fd, "const TG_NCAP: i64 = 256\nconst TG_ACAP: i64 = 16384\n" as *u8) 2280 ma_w(fd, "func tg_alloc(arena: *i64, ab: *i64, n: i64) -> *i64 {\n" as *u8) 2281 ma_w(fd, " if ab[0] + n > TG_ACAP { _tg_puts(\"ARENA OVERFLOW (honest fail)\\n\" as *u8); sys_exit(1) }\n" as *u8) 2282 ma_w(fd, " let base: i64 = arena as i64\n" as *u8) 2283 ma_w(fd, " let q: *i64 = (base + ab[0] * 8) as *i64\n" as *u8) 2284 ma_w(fd, " var i: i64 = 0\n while i < n { q[i] = 0; i = i + 1 }\n" as *u8) 2285 ma_w(fd, " ab[0] = ab[0] + n\n return q\n}\n" as *u8) 2286 // node stride 8: op(0 leaf,1 matvec,2 addvec,3 reluvec,4 mse,5 smul), ai, bi, rows, cols, valp, gradp, pad 2287 ma_w(fd, "func tg_node(tape: *i64, nb: *i64, op: i64, ai: i64, bi: i64, rows: i64, cols: i64, valp: *i64, gradp: *i64) -> i64 {\n" as *u8) 2288 ma_w(fd, " if nb[0] >= TG_NCAP { _tg_puts(\"TAPE OVERFLOW (honest fail)\\n\" as *u8); sys_exit(1) }\n" as *u8) 2289 ma_w(fd, " let r: i64 = nb[0]\n" as *u8) 2290 ma_w(fd, " tape[r*8+0] = op\n tape[r*8+1] = ai\n tape[r*8+2] = bi\n tape[r*8+3] = rows\n tape[r*8+4] = cols\n" as *u8) 2291 ma_w(fd, " tape[r*8+5] = valp as i64\n tape[r*8+6] = gradp as i64\n tape[r*8+7] = 0\n" as *u8) 2292 ma_w(fd, " nb[0] = r + 1\n return r\n}\n" as *u8) 2293 ma_w(fd, "func tg_valp(tape: *i64, x: i64) -> *i64 { return tape[x*8+5] as *i64 }\n" as *u8) 2294 ma_w(fd, "func tg_gradp(tape: *i64, x: i64) -> *i64 { return tape[x*8+6] as *i64 }\n" as *u8) 2295 ma_w(fd, "func tg_leaf(tape: *i64, nb: *i64, arena: *i64, ab: *i64, p: *i64, rows: i64, cols: i64) -> i64 {\n" as *u8) 2296 ma_w(fd, " return tg_node(tape, nb, 0, 0, 0, rows, cols, p, tg_alloc(arena, ab, rows*cols))\n}\n" as *u8) 2297 ma_w(fd, "func tg_matvec(tape: *i64, nb: *i64, arena: *i64, ab: *i64, a: i64, x: i64) -> i64 {\n" as *u8) 2298 ma_w(fd, " let r: i64 = tape[a*8+3]\n let c: i64 = tape[a*8+4]\n" as *u8) 2299 ma_w(fd, " let av: *i64 = tg_valp(tape, a)\n let xv: *i64 = tg_valp(tape, x)\n" as *u8) 2300 ma_w(fd, " let y: *i64 = tg_alloc(arena, ab, r)\n" as *u8) 2301 ma_w(fd, " var i: i64 = 0\n" as *u8) 2302 ma_w(fd, " while i < r {\n" as *u8) 2303 ma_w(fd, " var s: i64 = 0\n var j: i64 = 0\n" as *u8) 2304 ma_w(fd, " while j < c { s = nx_f32_add(s, nx_f32_mul(av[i*c+j], xv[j])); j = j + 1 }\n" as *u8) 2305 ma_w(fd, " y[i] = s\n i = i + 1\n" as *u8) 2306 ma_w(fd, " }\n" as *u8) 2307 ma_w(fd, " return tg_node(tape, nb, 1, a, x, r, 1, y, tg_alloc(arena, ab, r))\n}\n" as *u8) 2308 ma_w(fd, "func tg_addvec(tape: *i64, nb: *i64, arena: *i64, ab: *i64, x: i64, y: i64) -> i64 {\n" as *u8) 2309 ma_w(fd, " let n: i64 = tape[x*8+3]\n" as *u8) 2310 ma_w(fd, " let xv: *i64 = tg_valp(tape, x)\n let yv: *i64 = tg_valp(tape, y)\n" as *u8) 2311 ma_w(fd, " let o: *i64 = tg_alloc(arena, ab, n)\n" as *u8) 2312 ma_w(fd, " var i: i64 = 0\n while i < n { o[i] = nx_f32_add(xv[i], yv[i]); i = i + 1 }\n" as *u8) 2313 ma_w(fd, " return tg_node(tape, nb, 2, x, y, n, 1, o, tg_alloc(arena, ab, n))\n}\n" as *u8) 2314 ma_w(fd, "func tg_reluvec(tape: *i64, nb: *i64, arena: *i64, ab: *i64, x: i64) -> i64 {\n" as *u8) 2315 ma_w(fd, " let n: i64 = tape[x*8+3]\n" as *u8) 2316 ma_w(fd, " let xv: *i64 = tg_valp(tape, x)\n" as *u8) 2317 ma_w(fd, " let o: *i64 = tg_alloc(arena, ab, n)\n" as *u8) 2318 ma_w(fd, " var i: i64 = 0\n" as *u8) 2319 ma_w(fd, " while i < n {\n" as *u8) 2320 ma_w(fd, " var v: i64 = xv[i]\n" as *u8) 2321 ma_w(fd, " if nx_f32_lt(v, 0) == 1 { v = 0 }\n" as *u8) 2322 ma_w(fd, " o[i] = v\n i = i + 1\n" as *u8) 2323 ma_w(fd, " }\n" as *u8) 2324 ma_w(fd, " return tg_node(tape, nb, 3, x, 0, n, 1, o, tg_alloc(arena, ab, n))\n}\n" as *u8) 2325 ma_w(fd, "func tg_mse(tape: *i64, nb: *i64, arena: *i64, ab: *i64, p: i64, t: i64) -> i64 {\n" as *u8) 2326 ma_w(fd, " let n: i64 = tape[p*8+3]\n" as *u8) 2327 ma_w(fd, " let pv: *i64 = tg_valp(tape, p)\n let tv: *i64 = tg_valp(tape, t)\n" as *u8) 2328 ma_w(fd, " var acc: i64 = 0\n" as *u8) 2329 ma_w(fd, " var i: i64 = 0\n" as *u8) 2330 ma_w(fd, " while i < n {\n" as *u8) 2331 ma_w(fd, " let d: i64 = nx_f32_sub(pv[i], tv[i])\n" as *u8) 2332 ma_w(fd, " acc = nx_f32_add(acc, nx_f32_mul(d, d))\n i = i + 1\n" as *u8) 2333 ma_w(fd, " }\n" as *u8) 2334 ma_w(fd, " let o: *i64 = tg_alloc(arena, ab, 1)\n" as *u8) 2335 ma_w(fd, " o[0] = nx_f32_mul(acc, tg_q(1, n))\n" as *u8) 2336 ma_w(fd, " return tg_node(tape, nb, 4, p, t, 1, 1, o, tg_alloc(arena, ab, 1))\n}\n" as *u8) 2337 ma_w(fd, "func tg_smul(tape: *i64, nb: *i64, arena: *i64, ab: *i64, x: i64, y: i64) -> i64 {\n" as *u8) 2338 ma_w(fd, " let xv: *i64 = tg_valp(tape, x)\n let yv: *i64 = tg_valp(tape, y)\n" as *u8) 2339 ma_w(fd, " let o: *i64 = tg_alloc(arena, ab, 1)\n" as *u8) 2340 ma_w(fd, " o[0] = nx_f32_mul(xv[0], yv[0])\n" as *u8) 2341 ma_w(fd, " return tg_node(tape, nb, 5, x, y, 1, 1, o, tg_alloc(arena, ab, 1))\n}\n" as *u8) 2342 // the reverse sweep -- the four identities 2343 ma_w(fd, "func tg_backward(tape: *i64, nt: i64, root: i64) -> i64 {\n" as *u8) 2344 ma_w(fd, " var i: i64 = 0\n" as *u8) 2345 ma_w(fd, " while i < nt {\n" as *u8) 2346 ma_w(fd, " let gp: *i64 = tg_gradp(tape, i)\n" as *u8) 2347 ma_w(fd, " let n: i64 = tape[i*8+3] * tape[i*8+4]\n" as *u8) 2348 ma_w(fd, " var k: i64 = 0\n while k < n { gp[k] = 0; k = k + 1 }\n" as *u8) 2349 ma_w(fd, " i = i + 1\n" as *u8) 2350 ma_w(fd, " }\n" as *u8) 2351 ma_w(fd, " let rg: *i64 = tg_gradp(tape, root)\n" as *u8) 2352 ma_w(fd, " rg[0] = nx_i32_to_f32(1)\n" as *u8) 2353 ma_w(fd, " var r: i64 = nt - 1\n" as *u8) 2354 ma_w(fd, " while r >= 0 {\n" as *u8) 2355 ma_w(fd, " let op: i64 = tape[r*8+0]\n" as *u8) 2356 ma_w(fd, " let ai: i64 = tape[r*8+1]\n" as *u8) 2357 ma_w(fd, " let bi: i64 = tape[r*8+2]\n" as *u8) 2358 ma_w(fd, " let g: *i64 = tg_gradp(tape, r)\n" as *u8) 2359 ma_w(fd, " if op == 1 {\n" as *u8) 2360 ma_w(fd, " let rr: i64 = tape[ai*8+3]\n let cc: i64 = tape[ai*8+4]\n" as *u8) 2361 ma_w(fd, " let av: *i64 = tg_valp(tape, ai)\n let ag: *i64 = tg_gradp(tape, ai)\n" as *u8) 2362 ma_w(fd, " let xv: *i64 = tg_valp(tape, bi)\n let xg: *i64 = tg_gradp(tape, bi)\n" as *u8) 2363 ma_w(fd, " var i2: i64 = 0\n" as *u8) 2364 ma_w(fd, " while i2 < rr {\n" as *u8) 2365 ma_w(fd, " var j: i64 = 0\n" as *u8) 2366 ma_w(fd, " while j < cc {\n" as *u8) 2367 ma_w(fd, " ag[i2*cc+j] = nx_f32_add(ag[i2*cc+j], nx_f32_mul(g[i2], xv[j]))\n" as *u8) 2368 ma_w(fd, " xg[j] = nx_f32_add(xg[j], nx_f32_mul(av[i2*cc+j], g[i2]))\n" as *u8) 2369 ma_w(fd, " j = j + 1\n" as *u8) 2370 ma_w(fd, " }\n" as *u8) 2371 ma_w(fd, " i2 = i2 + 1\n" as *u8) 2372 ma_w(fd, " }\n" as *u8) 2373 ma_w(fd, " }\n" as *u8) 2374 ma_w(fd, " if op == 2 {\n" as *u8) 2375 ma_w(fd, " let n2: i64 = tape[r*8+3]\n" as *u8) 2376 ma_w(fd, " let ag2: *i64 = tg_gradp(tape, ai)\n let bg2: *i64 = tg_gradp(tape, bi)\n" as *u8) 2377 ma_w(fd, " var k2: i64 = 0\n" as *u8) 2378 ma_w(fd, " while k2 < n2 { ag2[k2] = nx_f32_add(ag2[k2], g[k2]); bg2[k2] = nx_f32_add(bg2[k2], g[k2]); k2 = k2 + 1 }\n" as *u8) 2379 ma_w(fd, " }\n" as *u8) 2380 ma_w(fd, " if op == 3 {\n" as *u8) 2381 ma_w(fd, " let n3: i64 = tape[r*8+3]\n" as *u8) 2382 ma_w(fd, " let xv3: *i64 = tg_valp(tape, ai)\n let ag3: *i64 = tg_gradp(tape, ai)\n" as *u8) 2383 ma_w(fd, " var k3: i64 = 0\n" as *u8) 2384 ma_w(fd, " while k3 < n3 {\n" as *u8) 2385 ma_w(fd, " if nx_f32_gt(xv3[k3], 0) == 1 { ag3[k3] = nx_f32_add(ag3[k3], g[k3]) }\n" as *u8) 2386 ma_w(fd, " k3 = k3 + 1\n" as *u8) 2387 ma_w(fd, " }\n" as *u8) 2388 ma_w(fd, " }\n" as *u8) 2389 ma_w(fd, " if op == 4 {\n" as *u8) 2390 ma_w(fd, " let n4: i64 = tape[ai*8+3]\n" as *u8) 2391 ma_w(fd, " let pv4: *i64 = tg_valp(tape, ai)\n let tv4: *i64 = tg_valp(tape, bi)\n let pg4: *i64 = tg_gradp(tape, ai)\n" as *u8) 2392 ma_w(fd, " let c2n: i64 = tg_q(2, n4)\n" as *u8) 2393 ma_w(fd, " var k4: i64 = 0\n" as *u8) 2394 ma_w(fd, " while k4 < n4 {\n" as *u8) 2395 ma_w(fd, " pg4[k4] = nx_f32_add(pg4[k4], nx_f32_mul(g[0], nx_f32_mul(c2n, nx_f32_sub(pv4[k4], tv4[k4]))))\n" as *u8) 2396 ma_w(fd, " k4 = k4 + 1\n" as *u8) 2397 ma_w(fd, " }\n" as *u8) 2398 ma_w(fd, " }\n" as *u8) 2399 ma_w(fd, " if op == 5 {\n" as *u8) 2400 ma_w(fd, " let av5: *i64 = tg_valp(tape, ai)\n let bv5: *i64 = tg_valp(tape, bi)\n" as *u8) 2401 ma_w(fd, " let ag5: *i64 = tg_gradp(tape, ai)\n let bg5: *i64 = tg_gradp(tape, bi)\n" as *u8) 2402 ma_w(fd, " ag5[0] = nx_f32_add(ag5[0], nx_f32_mul(g[0], bv5[0]))\n" as *u8) 2403 ma_w(fd, " bg5[0] = nx_f32_add(bg5[0], nx_f32_mul(g[0], av5[0]))\n" as *u8) 2404 ma_w(fd, " }\n" as *u8) 2405 ma_w(fd, " r = r - 1\n" as *u8) 2406 ma_w(fd, " }\n return 0\n}\n" as *u8) 2407 // gate A reference forward (tape-free MLP) 2408 ma_w(fd, "func tg_fwd_mlp(w1: *i64, b1: *i64, w2: *i64, b2: *i64, x: *i64, t: i64) -> i64 {\n" as *u8) 2409 ma_w(fd, " let h: *i64 = sys_mmap(64) as *i64\n" as *u8) 2410 ma_w(fd, " var i: i64 = 0\n" as *u8) 2411 ma_w(fd, " while i < 2 {\n" as *u8) 2412 ma_w(fd, " var s: i64 = b1[i]\n var j: i64 = 0\n" as *u8) 2413 ma_w(fd, " while j < 2 { s = nx_f32_add(s, nx_f32_mul(w1[i*2+j], x[j])); j = j + 1 }\n" as *u8) 2414 ma_w(fd, " if nx_f32_lt(s, 0) == 1 { s = 0 }\n" as *u8) 2415 ma_w(fd, " h[i] = s\n i = i + 1\n" as *u8) 2416 ma_w(fd, " }\n" as *u8) 2417 ma_w(fd, " var o: i64 = b2[0]\n" as *u8) 2418 ma_w(fd, " i = 0\n while i < 2 { o = nx_f32_add(o, nx_f32_mul(w2[i], h[i])); i = i + 1 }\n" as *u8) 2419 ma_w(fd, " let d: i64 = nx_f32_sub(o, t)\n" as *u8) 2420 ma_w(fd, " return nx_f32_mul(d, d)\n}\n" as *u8) 2421 // flat param get/set across the 4 arrays (k 0..8) 2422 ma_w(fd, "func tg_pget(w1: *i64, b1: *i64, w2: *i64, b2: *i64, k: i64) -> i64 {\n" as *u8) 2423 ma_w(fd, " if k < 4 { return w1[k] }\n if k < 6 { return b1[k-4] }\n if k < 8 { return w2[k-6] }\n return b2[0]\n}\n" as *u8) 2424 ma_w(fd, "func tg_pset(w1: *i64, b1: *i64, w2: *i64, b2: *i64, k: i64, v: i64) -> i64 {\n" as *u8) 2425 ma_w(fd, " if k < 4 { w1[k] = v; return 0 }\n if k < 6 { b1[k-4] = v; return 0 }\n if k < 8 { w2[k-6] = v; return 0 }\n b2[0] = v\n return 0\n}\n" as *u8) 2426 ma_w(fd, "func gate_a(tape: *i64, nb: *i64, arena: *i64, ab: *i64) -> i64 {\n" as *u8) 2427 ma_w(fd, " let w1: *i64 = sys_mmap(64) as *i64\n let b1: *i64 = sys_mmap(64) as *i64\n" as *u8) 2428 ma_w(fd, " let w2: *i64 = sys_mmap(64) as *i64\n let b2: *i64 = sys_mmap(64) as *i64\n" as *u8) 2429 ma_w(fd, " let x: *i64 = sys_mmap(64) as *i64\n let t: *i64 = sys_mmap(64) as *i64\n" as *u8) 2430 ma_w(fd, " w1[0] = tg_q(2,3)\n w1[1] = nx_f32_neg(tg_q(1,2))\n w1[2] = tg_q(1,4)\n w1[3] = tg_q(1,2)\n" as *u8) 2431 ma_w(fd, " b1[0] = tg_q(1,4)\n b1[1] = tg_q(1,8)\n" as *u8) 2432 ma_w(fd, " w2[0] = tg_q(3,2)\n w2[1] = nx_f32_neg(tg_q(3,4))\n" as *u8) 2433 ma_w(fd, " b2[0] = tg_q(1,8)\n" as *u8) 2434 ma_w(fd, " x[0] = tg_q(3,4)\n x[1] = tg_q(1,2)\n" as *u8) 2435 ma_w(fd, " t[0] = tg_q(1,2)\n" as *u8) 2436 ma_w(fd, " nb[0] = 0\n ab[0] = 0\n" as *u8) 2437 ma_w(fd, " let lw1: i64 = tg_leaf(tape, nb, arena, ab, w1, 2, 2)\n" as *u8) 2438 ma_w(fd, " let lb1: i64 = tg_leaf(tape, nb, arena, ab, b1, 2, 1)\n" as *u8) 2439 ma_w(fd, " let lw2: i64 = tg_leaf(tape, nb, arena, ab, w2, 1, 2)\n" as *u8) 2440 ma_w(fd, " let lb2: i64 = tg_leaf(tape, nb, arena, ab, b2, 1, 1)\n" as *u8) 2441 ma_w(fd, " let lx: i64 = tg_leaf(tape, nb, arena, ab, x, 2, 1)\n" as *u8) 2442 ma_w(fd, " let lt: i64 = tg_leaf(tape, nb, arena, ab, t, 1, 1)\n" as *u8) 2443 ma_w(fd, " let hh: i64 = tg_reluvec(tape, nb, arena, ab, tg_addvec(tape, nb, arena, ab, tg_matvec(tape, nb, arena, ab, lw1, lx), lb1))\n" as *u8) 2444 ma_w(fd, " let oo: i64 = tg_addvec(tape, nb, arena, ab, tg_matvec(tape, nb, arena, ab, lw2, hh), lb2)\n" as *u8) 2445 ma_w(fd, " let loss: i64 = tg_mse(tape, nb, arena, ab, oo, lt)\n" as *u8) 2446 ma_w(fd, " tg_backward(tape, nb[0], loss)\n" as *u8) 2447 ma_w(fd, " let h128: i64 = tg_q(1,128)\n" as *u8) 2448 ma_w(fd, " var pass: i64 = 1\n" as *u8) 2449 ma_w(fd, " var k: i64 = 0\n" as *u8) 2450 ma_w(fd, " while k < 9 {\n" as *u8) 2451 ma_w(fd, " var ga: i64 = 0\n" as *u8) 2452 ma_w(fd, " if k < 4 { let gp: *i64 = tg_gradp(tape, lw1); ga = gp[k] }\n" as *u8) 2453 ma_w(fd, " else { if k < 6 { let gp: *i64 = tg_gradp(tape, lb1); ga = gp[k-4] }\n" as *u8) 2454 ma_w(fd, " else { if k < 8 { let gp: *i64 = tg_gradp(tape, lw2); ga = gp[k-6] }\n" as *u8) 2455 ma_w(fd, " else { let gp: *i64 = tg_gradp(tape, lb2); ga = gp[0] } } }\n" as *u8) 2456 ma_w(fd, " let save: i64 = tg_pget(w1, b1, w2, b2, k)\n" as *u8) 2457 ma_w(fd, " tg_pset(w1, b1, w2, b2, k, nx_f32_add(save, h128))\n" as *u8) 2458 ma_w(fd, " let fp: i64 = tg_fwd_mlp(w1, b1, w2, b2, x, t[0])\n" as *u8) 2459 ma_w(fd, " tg_pset(w1, b1, w2, b2, k, nx_f32_sub(save, h128))\n" as *u8) 2460 ma_w(fd, " let fm: i64 = tg_fwd_mlp(w1, b1, w2, b2, x, t[0])\n" as *u8) 2461 ma_w(fd, " tg_pset(w1, b1, w2, b2, k, save)\n" as *u8) 2462 ma_w(fd, " let fdif: i64 = nx_f32_div(nx_f32_sub(fp, fm), tg_q(1,64))\n" as *u8) 2463 ma_w(fd, " var den: i64 = nx_f32_abs(fdif)\n" as *u8) 2464 ma_w(fd, " if nx_f32_lt(den, tg_q(1,64)) == 1 { den = tg_q(1,64) }\n" as *u8) 2465 ma_w(fd, " let rel: i64 = nx_f32_div(nx_f32_abs(nx_f32_sub(ga, fdif)), den)\n" as *u8) 2466 ma_w(fd, " _tg_puts(\" gradcheck p\" as *u8); _tg_num(k)\n" as *u8) 2467 ma_w(fd, " _tg_puts(\" analytic-milli=\" as *u8); _tg_num(tg_milli(ga))\n" as *u8) 2468 ma_w(fd, " _tg_puts(\" fd-milli=\" as *u8); _tg_num(tg_milli(fdif))\n" as *u8) 2469 ma_w(fd, " _tg_puts(\" rel-milli=\" as *u8); _tg_num(tg_milli(rel)); _tg_puts(\"\\n\" as *u8)\n" as *u8) 2470 ma_w(fd, " if nx_f32_lt(rel, tg_q(1,32)) == 0 { pass = 0 }\n" as *u8) 2471 ma_w(fd, " k = k + 1\n" as *u8) 2472 ma_w(fd, " }\n return pass\n}\n" as *u8) 2473 // gates B+C: recover the affine map from zero init (convex); out = {W0..W3, b0, b1, loss, first} 2474 ma_w(fd, "func tg_train(tape: *i64, nb: *i64, arena: *i64, ab: *i64, out: *i64) -> i64 {\n" as *u8) 2475 ma_w(fd, " let at: *i64 = sys_mmap(64) as *i64\n let ct: *i64 = sys_mmap(64) as *i64\n" as *u8) 2476 ma_w(fd, " at[0] = tg_q(3,2)\n at[1] = nx_f32_neg(tg_q(1,2))\n at[2] = tg_q(1,4)\n at[3] = nx_i32_to_f32(1)\n" as *u8) 2477 ma_w(fd, " ct[0] = nx_f32_neg(tg_q(1,2))\n ct[1] = tg_q(3,4)\n" as *u8) 2478 ma_w(fd, " let xs: *i64 = sys_mmap(256) as *i64\n let ys: *i64 = sys_mmap(256) as *i64\n" as *u8) 2479 ma_w(fd, " var k: i64 = 0\n" as *u8) 2480 ma_w(fd, " while k < 8 {\n" as *u8) 2481 // FULL-RANK design: x1 = (3k mod 8)/8 is NOT affine in x0 = k/4 -- collinear probes admitted an 2482 // impostor (W,b) with loss 0 in round 1 (the under-determined-spec lesson at the DATA level) 2483 ma_w(fd, " xs[k*2+0] = tg_q(k, 4)\n xs[k*2+1] = tg_q((k*3) % 8, 8)\n" as *u8) 2484 ma_w(fd, " var i: i64 = 0\n" as *u8) 2485 ma_w(fd, " while i < 2 {\n" as *u8) 2486 ma_w(fd, " ys[k*2+i] = nx_f32_add(nx_f32_add(nx_f32_mul(at[i*2+0], xs[k*2+0]), nx_f32_mul(at[i*2+1], xs[k*2+1])), ct[i])\n" as *u8) 2487 ma_w(fd, " i = i + 1\n" as *u8) 2488 ma_w(fd, " }\n" as *u8) 2489 ma_w(fd, " k = k + 1\n" as *u8) 2490 ma_w(fd, " }\n" as *u8) 2491 ma_w(fd, " let lr: i64 = tg_q(1,10)\n" as *u8) 2492 ma_w(fd, " let inv8: *i64 = sys_mmap(64) as *i64\n inv8[0] = tg_q(1,8)\n" as *u8) 2493 ma_w(fd, " let ww: *i64 = sys_mmap(64) as *i64\n let bb2: *i64 = sys_mmap(64) as *i64\n" as *u8) 2494 ma_w(fd, " var first: i64 = 0\n var loss_v: i64 = 0\n" as *u8) 2495 ma_w(fd, " var ep: i64 = 0\n" as *u8) 2496 ma_w(fd, " while ep < 400 {\n" as *u8) 2497 ma_w(fd, " nb[0] = 0\n ab[0] = 0\n" as *u8) 2498 ma_w(fd, " let lw: i64 = tg_leaf(tape, nb, arena, ab, ww, 2, 2)\n" as *u8) 2499 ma_w(fd, " let lb: i64 = tg_leaf(tape, nb, arena, ab, bb2, 2, 1)\n" as *u8) 2500 ma_w(fd, " var accn: i64 = 0 - 1\n" as *u8) 2501 ma_w(fd, " k = 0\n" as *u8) 2502 ma_w(fd, " while k < 8 {\n" as *u8) 2503 ma_w(fd, " let xb: i64 = xs as i64\n let yb: i64 = ys as i64\n" as *u8) 2504 ma_w(fd, " let lx: i64 = tg_leaf(tape, nb, arena, ab, (xb + k*16) as *i64, 2, 1)\n" as *u8) 2505 ma_w(fd, " let ly: i64 = tg_leaf(tape, nb, arena, ab, (yb + k*16) as *i64, 2, 1)\n" as *u8) 2506 ma_w(fd, " let pred: i64 = tg_addvec(tape, nb, arena, ab, tg_matvec(tape, nb, arena, ab, lw, lx), lb)\n" as *u8) 2507 ma_w(fd, " let m: i64 = tg_mse(tape, nb, arena, ab, pred, ly)\n" as *u8) 2508 ma_w(fd, " if accn < 0 { accn = m } else { accn = tg_addvec(tape, nb, arena, ab, accn, m) }\n" as *u8) 2509 ma_w(fd, " k = k + 1\n" as *u8) 2510 ma_w(fd, " }\n" as *u8) 2511 ma_w(fd, " let li: i64 = tg_leaf(tape, nb, arena, ab, inv8, 1, 1)\n" as *u8) 2512 ma_w(fd, " let loss: i64 = tg_smul(tape, nb, arena, ab, accn, li)\n" as *u8) 2513 ma_w(fd, " tg_backward(tape, nb[0], loss)\n" as *u8) 2514 ma_w(fd, " let lv: *i64 = tg_valp(tape, loss)\n" as *u8) 2515 ma_w(fd, " loss_v = lv[0]\n" as *u8) 2516 ma_w(fd, " if ep == 0 { first = loss_v }\n" as *u8) 2517 ma_w(fd, " let gw: *i64 = tg_gradp(tape, lw)\n let gb: *i64 = tg_gradp(tape, lb)\n" as *u8) 2518 ma_w(fd, " var q2: i64 = 0\n" as *u8) 2519 ma_w(fd, " while q2 < 4 { ww[q2] = nx_f32_sub(ww[q2], nx_f32_mul(lr, gw[q2])); q2 = q2 + 1 }\n" as *u8) 2520 ma_w(fd, " q2 = 0\n" as *u8) 2521 ma_w(fd, " while q2 < 2 { bb2[q2] = nx_f32_sub(bb2[q2], nx_f32_mul(lr, gb[q2])); q2 = q2 + 1 }\n" as *u8) 2522 ma_w(fd, " if ep % 100 == 0 { _tg_puts(\" epoch=\" as *u8); _tg_num(ep); _tg_puts(\" loss-milli=\" as *u8); _tg_num(tg_milli(loss_v)); _tg_puts(\"\\n\" as *u8) }\n" as *u8) 2523 ma_w(fd, " ep = ep + 1\n" as *u8) 2524 ma_w(fd, " }\n" as *u8) 2525 ma_w(fd, " var i3: i64 = 0\n while i3 < 4 { out[i3] = ww[i3]; i3 = i3 + 1 }\n" as *u8) 2526 ma_w(fd, " out[4] = bb2[0]\n out[5] = bb2[1]\n out[6] = loss_v\n out[7] = first\n return 0\n}\n" as *u8) 2527 // T5 AdamW: bias-corrected first/second moments + DECOUPLED weight decay (the W in AdamW) 2528 ma_w(fd, "func ad_step(w: *i64, g: *i64, m: *i64, v: *i64, n: i64, lr: i64, b1: i64, b2: i64, eps: i64, wd: i64, t: i64) -> i64 {\n" as *u8) 2529 ma_w(fd, " var c1: i64 = nx_i32_to_f32(1)\n var c2: i64 = nx_i32_to_f32(1)\n" as *u8) 2530 ma_w(fd, " var k: i64 = 0\n while k < t { c1 = nx_f32_mul(c1, b1); c2 = nx_f32_mul(c2, b2); k = k + 1 }\n" as *u8) 2531 ma_w(fd, " let bc1: i64 = nx_f32_sub(nx_i32_to_f32(1), c1)\n" as *u8) 2532 ma_w(fd, " let bc2: i64 = nx_f32_sub(nx_i32_to_f32(1), c2)\n" as *u8) 2533 ma_w(fd, " let omb1: i64 = nx_f32_sub(nx_i32_to_f32(1), b1)\n" as *u8) 2534 ma_w(fd, " let omb2: i64 = nx_f32_sub(nx_i32_to_f32(1), b2)\n" as *u8) 2535 ma_w(fd, " var i: i64 = 0\n" as *u8) 2536 ma_w(fd, " while i < n {\n" as *u8) 2537 ma_w(fd, " m[i] = nx_f32_add(nx_f32_mul(b1, m[i]), nx_f32_mul(omb1, g[i]))\n" as *u8) 2538 ma_w(fd, " v[i] = nx_f32_add(nx_f32_mul(b2, v[i]), nx_f32_mul(omb2, nx_f32_mul(g[i], g[i])))\n" as *u8) 2539 ma_w(fd, " let mh: i64 = nx_f32_div(m[i], bc1)\n" as *u8) 2540 ma_w(fd, " let vh: i64 = nx_f32_div(v[i], bc2)\n" as *u8) 2541 ma_w(fd, " let upd: i64 = nx_f32_div(mh, nx_f32_add(nx_f32_sqrt(vh), eps))\n" as *u8) 2542 ma_w(fd, " w[i] = nx_f32_sub(w[i], nx_f32_add(nx_f32_mul(lr, upd), nx_f32_mul(nx_f32_mul(lr, wd), w[i])))\n" as *u8) 2543 ma_w(fd, " i = i + 1\n" as *u8) 2544 ma_w(fd, " }\n return 0\n}\n" as *u8) 2545 // AdamW training run on the same affine task (wd=0 for exact recovery); out = same layout as tg_train 2546 ma_w(fd, "func ad_train(tape: *i64, nb: *i64, arena: *i64, ab: *i64, out: *i64) -> i64 {\n" as *u8) 2547 ma_w(fd, " let at: *i64 = sys_mmap(64) as *i64\n let ct: *i64 = sys_mmap(64) as *i64\n" as *u8) 2548 ma_w(fd, " at[0] = tg_q(3,2)\n at[1] = nx_f32_neg(tg_q(1,2))\n at[2] = tg_q(1,4)\n at[3] = nx_i32_to_f32(1)\n" as *u8) 2549 ma_w(fd, " ct[0] = nx_f32_neg(tg_q(1,2))\n ct[1] = tg_q(3,4)\n" as *u8) 2550 ma_w(fd, " let xs: *i64 = sys_mmap(256) as *i64\n let ys: *i64 = sys_mmap(256) as *i64\n" as *u8) 2551 ma_w(fd, " var k: i64 = 0\n" as *u8) 2552 ma_w(fd, " while k < 8 {\n" as *u8) 2553 ma_w(fd, " xs[k*2+0] = tg_q(k, 4)\n xs[k*2+1] = tg_q((k*3) % 8, 8)\n" as *u8) 2554 ma_w(fd, " var i: i64 = 0\n" as *u8) 2555 ma_w(fd, " while i < 2 {\n" as *u8) 2556 ma_w(fd, " ys[k*2+i] = nx_f32_add(nx_f32_add(nx_f32_mul(at[i*2+0], xs[k*2+0]), nx_f32_mul(at[i*2+1], xs[k*2+1])), ct[i])\n" as *u8) 2557 ma_w(fd, " i = i + 1\n" as *u8) 2558 ma_w(fd, " }\n" as *u8) 2559 ma_w(fd, " k = k + 1\n" as *u8) 2560 ma_w(fd, " }\n" as *u8) 2561 ma_w(fd, " let lr: i64 = tg_q(1,20)\n" as *u8) 2562 ma_w(fd, " let b1c: i64 = tg_q(9,10)\n let b2c: i64 = tg_q(999,1000)\n let eps: i64 = tg_q(1,100000)\n" as *u8) 2563 ma_w(fd, " let inv8: *i64 = sys_mmap(64) as *i64\n inv8[0] = tg_q(1,8)\n" as *u8) 2564 ma_w(fd, " let ww: *i64 = sys_mmap(64) as *i64\n let bb2: *i64 = sys_mmap(64) as *i64\n" as *u8) 2565 ma_w(fd, " let mw: *i64 = sys_mmap(64) as *i64\n let vw: *i64 = sys_mmap(64) as *i64\n" as *u8) 2566 ma_w(fd, " let mb: *i64 = sys_mmap(64) as *i64\n let vb: *i64 = sys_mmap(64) as *i64\n" as *u8) 2567 ma_w(fd, " var first: i64 = 0\n var loss_v: i64 = 0\n" as *u8) 2568 ma_w(fd, " var ep: i64 = 0\n" as *u8) 2569 ma_w(fd, " while ep < 400 {\n" as *u8) 2570 ma_w(fd, " nb[0] = 0\n ab[0] = 0\n" as *u8) 2571 ma_w(fd, " let lw: i64 = tg_leaf(tape, nb, arena, ab, ww, 2, 2)\n" as *u8) 2572 ma_w(fd, " let lb: i64 = tg_leaf(tape, nb, arena, ab, bb2, 2, 1)\n" as *u8) 2573 ma_w(fd, " var accn: i64 = 0 - 1\n" as *u8) 2574 ma_w(fd, " k = 0\n" as *u8) 2575 ma_w(fd, " while k < 8 {\n" as *u8) 2576 ma_w(fd, " let xb: i64 = xs as i64\n let yb: i64 = ys as i64\n" as *u8) 2577 ma_w(fd, " let lx: i64 = tg_leaf(tape, nb, arena, ab, (xb + k*16) as *i64, 2, 1)\n" as *u8) 2578 ma_w(fd, " let ly: i64 = tg_leaf(tape, nb, arena, ab, (yb + k*16) as *i64, 2, 1)\n" as *u8) 2579 ma_w(fd, " let pred: i64 = tg_addvec(tape, nb, arena, ab, tg_matvec(tape, nb, arena, ab, lw, lx), lb)\n" as *u8) 2580 ma_w(fd, " let m2: i64 = tg_mse(tape, nb, arena, ab, pred, ly)\n" as *u8) 2581 ma_w(fd, " if accn < 0 { accn = m2 } else { accn = tg_addvec(tape, nb, arena, ab, accn, m2) }\n" as *u8) 2582 ma_w(fd, " k = k + 1\n" as *u8) 2583 ma_w(fd, " }\n" as *u8) 2584 ma_w(fd, " let li: i64 = tg_leaf(tape, nb, arena, ab, inv8, 1, 1)\n" as *u8) 2585 ma_w(fd, " let loss: i64 = tg_smul(tape, nb, arena, ab, accn, li)\n" as *u8) 2586 ma_w(fd, " tg_backward(tape, nb[0], loss)\n" as *u8) 2587 ma_w(fd, " let lv: *i64 = tg_valp(tape, loss)\n" as *u8) 2588 ma_w(fd, " loss_v = lv[0]\n" as *u8) 2589 ma_w(fd, " if ep == 0 { first = loss_v }\n" as *u8) 2590 ma_w(fd, " ad_step(ww, tg_gradp(tape, lw), mw, vw, 4, lr, b1c, b2c, eps, 0, ep + 1)\n" as *u8) 2591 ma_w(fd, " ad_step(bb2, tg_gradp(tape, lb), mb, vb, 2, lr, b1c, b2c, eps, 0, ep + 1)\n" as *u8) 2592 ma_w(fd, " if ep % 100 == 0 { _tg_puts(\" adamw epoch=\" as *u8); _tg_num(ep); _tg_puts(\" loss-milli=\" as *u8); _tg_num(tg_milli(loss_v)); _tg_puts(\"\\n\" as *u8) }\n" as *u8) 2593 ma_w(fd, " ep = ep + 1\n" as *u8) 2594 ma_w(fd, " }\n" as *u8) 2595 ma_w(fd, " var i4: i64 = 0\n while i4 < 4 { out[i4] = ww[i4]; i4 = i4 + 1 }\n" as *u8) 2596 ma_w(fd, " out[4] = bb2[0]\n out[5] = bb2[1]\n out[6] = loss_v\n out[7] = first\n return 0\n}\n" as *u8) 2597 ma_w(fd, "func main() -> i64 {\n" as *u8) 2598 ma_w(fd, " _tg_puts(\"=== BUILDER-AUTHORED TENSOR AUTOGRAD: T6 (matvec/relu/mse identities, arena, 9-param gradcheck) ===\\n\" as *u8)\n" as *u8) 2599 ma_w(fd, " let tape: *i64 = sys_mmap(32768) as *i64\n" as *u8) 2600 ma_w(fd, " let nb: *i64 = sys_mmap(16) as *i64\n" as *u8) 2601 ma_w(fd, " let arena: *i64 = sys_mmap(131072) as *i64\n" as *u8) 2602 ma_w(fd, " let ab: *i64 = sys_mmap(16) as *i64\n" as *u8) 2603 ma_w(fd, " let pa: i64 = gate_a(tape, nb, arena, ab)\n" as *u8) 2604 ma_w(fd, " if pa == 1 { _tg_puts(\" GATE A MLP gradcheck (9 params): PASS\\n\" as *u8) } else { _tg_puts(\" GATE A MLP gradcheck: FAIL\\n\" as *u8) }\n" as *u8) 2605 ma_w(fd, " let o1: *i64 = sys_mmap(128) as *i64\n let o2: *i64 = sys_mmap(128) as *i64\n" as *u8) 2606 ma_w(fd, " tg_train(tape, nb, arena, ab, o1)\n" as *u8) 2607 ma_w(fd, " _tg_puts(\" run1 W-milli: \" as *u8)\n" as *u8) 2608 ma_w(fd, " var k: i64 = 0\n while k < 4 { _tg_num(tg_milli(o1[k])); _tg_puts(\" \" as *u8); k = k + 1 }\n" as *u8) 2609 ma_w(fd, " _tg_puts(\" b-milli: \" as *u8); _tg_num(tg_milli(o1[4])); _tg_puts(\" \" as *u8); _tg_num(tg_milli(o1[5]))\n" as *u8) 2610 ma_w(fd, " _tg_puts(\" loss-milli=\" as *u8); _tg_num(tg_milli(o1[6])); _tg_puts(\"\\n\" as *u8)\n" as *u8) 2611 ma_w(fd, " let at2: *i64 = sys_mmap(64) as *i64\n" as *u8) 2612 ma_w(fd, " at2[0] = tg_q(3,2)\n at2[1] = nx_f32_neg(tg_q(1,2))\n at2[2] = tg_q(1,4)\n at2[3] = nx_i32_to_f32(1)\n" as *u8) 2613 ma_w(fd, " at2[4] = nx_f32_neg(tg_q(1,2))\n at2[5] = tg_q(3,4)\n" as *u8) 2614 ma_w(fd, " var pb: i64 = 1\n" as *u8) 2615 ma_w(fd, " if nx_f32_lt(o1[6], tg_q(1,1000)) == 0 { pb = 0 }\n" as *u8) 2616 ma_w(fd, " if nx_f32_lt(o1[6], o1[7]) == 0 { pb = 0 }\n" as *u8) 2617 ma_w(fd, " k = 0\n" as *u8) 2618 ma_w(fd, " while k < 6 {\n" as *u8) 2619 ma_w(fd, " if nx_f32_lt(nx_f32_abs(nx_f32_sub(o1[k], at2[k])), tg_q(1,16)) == 0 { pb = 0 }\n" as *u8) 2620 ma_w(fd, " k = k + 1\n" as *u8) 2621 ma_w(fd, " }\n" as *u8) 2622 ma_w(fd, " if pb == 1 { _tg_puts(\" GATE B affine map recovered (all 6 cells within 1/16, loss < 1/1000): PASS\\n\" as *u8) } else { _tg_puts(\" GATE B: FAIL\\n\" as *u8) }\n" as *u8) 2623 ma_w(fd, " tg_train(tape, nb, arena, ab, o2)\n" as *u8) 2624 ma_w(fd, " var pc: i64 = 1\n" as *u8) 2625 ma_w(fd, " k = 0\n while k < 7 { if o1[k] != o2[k] { pc = 0 } k = k + 1 }\n" as *u8) 2626 ma_w(fd, " if pc == 1 { _tg_puts(\" GATE C bit-exact tensor training: PASS (the EXCEED axis holds at rung 2)\\n\" as *u8) } else { _tg_puts(\" GATE C: FAIL\\n\" as *u8) }\n" as *u8) 2627 // T5 AdamW gates D/E/F 2628 ma_w(fd, " let aw: *i64 = sys_mmap(64) as *i64\n let ag2: *i64 = sys_mmap(64) as *i64\n" as *u8) 2629 ma_w(fd, " let am: *i64 = sys_mmap(64) as *i64\n let av2: *i64 = sys_mmap(64) as *i64\n" as *u8) 2630 ma_w(fd, " aw[0] = nx_i32_to_f32(1)\n aw[1] = nx_i32_to_f32(0-2)\n aw[2] = nx_i32_to_f32(3)\n aw[3] = nx_i32_to_f32(0-4)\n" as *u8) 2631 ma_w(fd, " ag2[0] = nx_i32_to_f32(2)\n ag2[1] = nx_i32_to_f32(0-3)\n ag2[2] = tg_q(1,2)\n ag2[3] = nx_i32_to_f32(0-5)\n" as *u8) 2632 ma_w(fd, " let wprev: *i64 = sys_mmap(64) as *i64\n" as *u8) 2633 ma_w(fd, " k = 0\n while k < 4 { wprev[k] = aw[k]; am[k] = 0; av2[k] = 0; k = k + 1 }\n" as *u8) 2634 ma_w(fd, " let alr: i64 = tg_q(1,100)\n" as *u8) 2635 ma_w(fd, " ad_step(aw, ag2, am, av2, 4, alr, tg_q(9,10), tg_q(999,1000), tg_q(1,100000), 0, 1)\n" as *u8) 2636 ma_w(fd, " var pd: i64 = 1\n" as *u8) 2637 ma_w(fd, " k = 0\n" as *u8) 2638 ma_w(fd, " while k < 4 {\n" as *u8) 2639 ma_w(fd, " var want: i64 = nx_f32_sub(wprev[k], alr)\n" as *u8) 2640 ma_w(fd, " if nx_f32_lt(ag2[k], 0) == 1 { want = nx_f32_add(wprev[k], alr) }\n" as *u8) 2641 ma_w(fd, " if nx_f32_lt(nx_f32_abs(nx_f32_sub(aw[k], want)), tg_q(1,2000)) == 0 { pd = 0 }\n" as *u8) 2642 ma_w(fd, " k = k + 1\n" as *u8) 2643 ma_w(fd, " }\n" as *u8) 2644 ma_w(fd, " if pd == 1 { _tg_puts(\" GATE D AdamW first-step sign property (|step| == lr per param): PASS\\n\" as *u8) } else { _tg_puts(\" GATE D: FAIL\\n\" as *u8) }\n" as *u8) 2645 // gate E: decay-only -- zero grads, wd>0: w shrinks by exactly (1 - lr*wd) per step, m/v stay zero 2646 ma_w(fd, " aw[0] = nx_i32_to_f32(1)\n am[0] = 0\n av2[0] = 0\n ag2[0] = 0\n" as *u8) 2647 ma_w(fd, " let dlr: i64 = tg_q(1,10)\n let dwd: i64 = tg_q(1,10)\n" as *u8) 2648 ma_w(fd, " var st: i64 = 0\n" as *u8) 2649 ma_w(fd, " while st < 10 { ad_step(aw, ag2, am, av2, 1, dlr, tg_q(9,10), tg_q(999,1000), tg_q(1,100000), dwd, st + 1); st = st + 1 }\n" as *u8) 2650 ma_w(fd, " var expw: i64 = nx_i32_to_f32(1)\n" as *u8) 2651 ma_w(fd, " let fac: i64 = nx_f32_sub(nx_i32_to_f32(1), nx_f32_mul(dlr, dwd))\n" as *u8) 2652 ma_w(fd, " st = 0\n while st < 10 { expw = nx_f32_mul(expw, fac); st = st + 1 }\n" as *u8) 2653 ma_w(fd, " var pe: i64 = 1\n" as *u8) 2654 ma_w(fd, " if nx_f32_lt(nx_f32_abs(nx_f32_sub(aw[0], expw)), tg_q(1,1000)) == 0 { pe = 0 }\n" as *u8) 2655 ma_w(fd, " if am[0] != 0 { pe = 0 }\n if av2[0] != 0 { pe = 0 }\n" as *u8) 2656 ma_w(fd, " _tg_puts(\" decay-only w-milli=\" as *u8); _tg_num(tg_milli(aw[0]))\n" as *u8) 2657 ma_w(fd, " _tg_puts(\" expected-milli=\" as *u8); _tg_num(tg_milli(expw)); _tg_puts(\"\\n\" as *u8)\n" as *u8) 2658 ma_w(fd, " if pe == 1 { _tg_puts(\" GATE E decoupled decay exact ((1-lr*wd)^k, moments untouched): PASS\\n\" as *u8) } else { _tg_puts(\" GATE E: FAIL\\n\" as *u8) }\n" as *u8) 2659 // gate F: AdamW trains the affine task + bit-exact across two runs 2660 ma_w(fd, " let o3: *i64 = sys_mmap(128) as *i64\n let o4: *i64 = sys_mmap(128) as *i64\n" as *u8) 2661 ma_w(fd, " ad_train(tape, nb, arena, ab, o3)\n" as *u8) 2662 ma_w(fd, " _tg_puts(\" adamw W-milli: \" as *u8)\n" as *u8) 2663 ma_w(fd, " k = 0\n while k < 4 { _tg_num(tg_milli(o3[k])); _tg_puts(\" \" as *u8); k = k + 1 }\n" as *u8) 2664 ma_w(fd, " _tg_puts(\" b-milli: \" as *u8); _tg_num(tg_milli(o3[4])); _tg_puts(\" \" as *u8); _tg_num(tg_milli(o3[5]))\n" as *u8) 2665 ma_w(fd, " _tg_puts(\" loss-milli=\" as *u8); _tg_num(tg_milli(o3[6])); _tg_puts(\"\\n\" as *u8)\n" as *u8) 2666 ma_w(fd, " var pf: i64 = 1\n" as *u8) 2667 ma_w(fd, " if nx_f32_lt(o3[6], tg_q(1,1000)) == 0 { pf = 0 }\n" as *u8) 2668 ma_w(fd, " if nx_f32_lt(o3[6], o3[7]) == 0 { pf = 0 }\n" as *u8) 2669 ma_w(fd, " k = 0\n" as *u8) 2670 ma_w(fd, " while k < 6 {\n" as *u8) 2671 ma_w(fd, " if nx_f32_lt(nx_f32_abs(nx_f32_sub(o3[k], at2[k])), tg_q(1,16)) == 0 { pf = 0 }\n" as *u8) 2672 ma_w(fd, " k = k + 1\n" as *u8) 2673 ma_w(fd, " }\n" as *u8) 2674 ma_w(fd, " ad_train(tape, nb, arena, ab, o4)\n" as *u8) 2675 ma_w(fd, " k = 0\n while k < 7 { if o3[k] != o4[k] { pf = 0 } k = k + 1 }\n" as *u8) 2676 ma_w(fd, " if pf == 1 { _tg_puts(\" GATE F AdamW trains (recovered + bit-exact): PASS\\n\" as *u8) } else { _tg_puts(\" GATE F: FAIL\\n\" as *u8) }\n" as *u8) 2677 ma_w(fd, " if pa == 1 { if pb == 1 { if pc == 1 { if pd == 1 { if pe == 1 { if pf == 1 {\n" as *u8) 2678 ma_w(fd, " _tg_puts(\" TENSOR-AUTOGRAD T6 + ADAMW T5 GATE: PASS (verified matrix gradients + the modern optimizer, bits-up)\\n\" as *u8)\n" as *u8) 2679 ma_w(fd, " sys_exit(0)\n return 0\n } } } } } }\n" as *u8) 2680 ma_w(fd, " _tg_puts(\" TENSOR-AUTOGRAD/ADAMW GATE: FAIL\\n\" as *u8)\n" as *u8) 2681 ma_w(fd, " sys_exit(1)\n return 1\n}\n" as *u8) 2682 return 1 2683} 2684 2685// AUTHOR the S6 SYNTH-BENCH (the PM matrix's R1 pick): a FIXED, VERSIONED suite (compose-v1) of 8 2686// HELD-OUT compose-class specs, none used in any dev gate. TWO LANES scored by the SAME mechanism: 2687// the TEAM lane runs the CEGIS engine per spec (oracle queries only); the CLAUDE lane is Claude's 2688// hand-authored answer per spec, verified on the SAME probe grid. Score = solved permil per lane; 2689// verdict S-CLASS-COMPOSE iff team >= claude. Honest framing: the Claude lane on compose-class is 2690// expected ~1000 permil (these are easy for an LLM) -- the MEASURED question is whether the team's 2691// engine matches it without any LLM. BENCH line -> knowledge/status/synth_bench.log; corpus rows 2692// banked per spec. Suite: avg2, absdiff, hinge, rounddown8, scaleq7, paritysum, eq-via-compare, 2693// shiftedmax (all depth<=3 over the 12-comp pool -- in-space by design; out-of-space = NOVEL class, 2694// a future suite). 2695func ma_emit_synth_bench(fd: i64) -> i64 { 2696 ma_w(fd, "// AUTHORED BY THE NISHI BUILDER (nx_module_author synth-bench template) -- S6 suite compose-v1.\n" as *u8) 2697 ma_w(fd, "import \"nx_syscalls.nx\"\n" as *u8) 2698 ma_w(fd, "func _sb_puts(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 }\n" as *u8) 2699 ma_w(fd, "func _sb_num(v: i64) -> i64 { let bb: *u8=sys_mmap(28); var m: i64=v; if m<0{m=0-m;sys_write(1,\"-\" as *u8,1)}; let t: *u8=sys_mmap(28); var k: i64=0; if m==0{t[0]=48;k=1}; while m>0{t[k]=48+(m%10);m=m/10;k=k+1}; var i: i64=0; while i<k{bb[i]=t[k-1-i];i=i+1}; sys_write(1,bb,k); return 0 }\n" as *u8) 2700 ma_w(fd, "func _sb_fputs(fd2: i64, s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(fd2,s,n); return 0 }\n" as *u8) 2701 ma_w(fd, "func _sb_fnum(fd2: i64, v: i64) -> i64 { let bb: *u8=sys_mmap(28); var m: i64=v; if m<0{m=0-m;sys_write(fd2,\"-\" as *u8,1)}; let t: *u8=sys_mmap(28); var k: i64=0; if m==0{t[0]=48;k=1}; while m>0{t[k]=48+(m%10);m=m/10;k=k+1}; var i: i64=0; while i<k{bb[i]=t[k-1-i];i=i+1}; sys_write(fd2,bb,k); return 0 }\n" as *u8) 2702 // RACE-1 ENGINE FIXES (suite untouched): KMAX 64 (quadrant CEX adds up to 4/round), MAXROUND 16, 2703 // SB_SLICE = fair-share scheduling quantum (defect 1: comp-order starvation), scratch slot at 2704 // index SB_MAXTERM lets target-checking CONTINUE past the storage cap (storage != search). 2705 ma_w(fd, "const SB_KMAX: i64 = 64\nconst SB_NCOMP: i64 = 12\nconst SB_MAXTERM: i64 = 30000\nconst SB_MAXLVL: i64 = 4\nconst SB_HCAP: i64 = 131072\nconst SB_BUDGET: i64 = 8000000\nconst SB_MAXROUND: i64 = 16\nconst SB_SLICE: i64 = 150000\n" as *u8) 2706 ma_w(fd, "func sb_arity(c: i64) -> i64 { if c == 12 { return 1 } return 2 }\n" as *u8) 2707 ma_w(fd, "func sb_comm(c: i64) -> i64 { if c == 2 { return 1 } if c == 4 { return 1 } if c == 5 { return 1 } if c == 6 { return 1 } if c == 8 { return 1 } return 0 }\n" as *u8) 2708 ma_w(fd, "func sb_apply(c: i64, a: i64, b: i64) -> i64 {\n" as *u8) 2709 ma_w(fd, " if c == 1 { if a <= b { return 1 } return 0 }\n" as *u8) 2710 ma_w(fd, " if c == 2 { return a & b }\n" as *u8) 2711 ma_w(fd, " if c == 3 { return a >> (b & 63) }\n" as *u8) 2712 ma_w(fd, " if c == 4 { if a < b { return a } return b }\n" as *u8) 2713 ma_w(fd, " if c == 5 { if a > b { return a } return b }\n" as *u8) 2714 ma_w(fd, " if c == 6 { return a + b }\n" as *u8) 2715 ma_w(fd, " if c == 7 { return a - b }\n" as *u8) 2716 ma_w(fd, " if c == 8 { return a * b }\n" as *u8) 2717 ma_w(fd, " if c == 9 { return a << (b & 63) }\n" as *u8) 2718 ma_w(fd, " if c == 10 { if b == 0 { return 0 } return a / b }\n" as *u8) 2719 ma_w(fd, " if c == 11 { if b == 0 { return 0 } return a % b }\n" as *u8) 2720 ma_w(fd, " if c == 12 { if a < 0 { return 0 - a } return a }\n" as *u8) 2721 ma_w(fd, " return 0\n}\n" as *u8) 2722 // the 8 held-out ORACLES (suite compose-v1; the spec IS the oracle) 2723 ma_w(fd, "func sb_oracle(oid: i64, a: i64, b: i64) -> i64 {\n" as *u8) 2724 ma_w(fd, " if oid == 1 { return (a + b) / 2 }\n" as *u8) 2725 ma_w(fd, " if oid == 2 { var d: i64 = a - b; if d < 0 { d = 0 - d } return d }\n" as *u8) 2726 ma_w(fd, " if oid == 3 { var h: i64 = a - b; if h < 0 { h = 0 } return h }\n" as *u8) 2727 ma_w(fd, " if oid == 4 { return a - (a % 8) }\n" as *u8) 2728 ma_w(fd, " if oid == 5 { return (a * b) >> 7 }\n" as *u8) 2729 ma_w(fd, " if oid == 6 { return (a + b) & 1 }\n" as *u8) 2730 ma_w(fd, " if oid == 7 { if a == b { return 1 } return 0 }\n" as *u8) 2731 ma_w(fd, " var mx: i64 = a\n if b > mx { mx = b }\n return mx >> 1\n}\n" as *u8) 2732 // the CLAUDE LANE: Claude's hand-authored answers (compose-class; verified by the SAME grid) 2733 ma_w(fd, "func sb_claude(oid: i64, a: i64, b: i64) -> i64 {\n" as *u8) 2734 ma_w(fd, " if oid == 1 { return sb_apply(10, sb_apply(6, a, b), 2) }\n" as *u8) 2735 ma_w(fd, " if oid == 2 { return sb_apply(12, sb_apply(7, a, b), 0) }\n" as *u8) 2736 ma_w(fd, " if oid == 3 { return sb_apply(5, sb_apply(7, a, b), 0) }\n" as *u8) 2737 ma_w(fd, " if oid == 4 { return sb_apply(7, a, sb_apply(11, a, 8)) }\n" as *u8) 2738 ma_w(fd, " if oid == 5 { return sb_apply(3, sb_apply(8, a, b), 7) }\n" as *u8) 2739 ma_w(fd, " if oid == 6 { return sb_apply(2, sb_apply(6, a, b), 1) }\n" as *u8) 2740 ma_w(fd, " if oid == 7 { return sb_apply(2, sb_apply(1, a, b), sb_apply(1, b, a)) }\n" as *u8) 2741 ma_w(fd, " return sb_apply(3, sb_apply(5, a, b), 1)\n}\n" as *u8) 2742 // variable-K obs-equiv search (the team engine; identical machinery to the gated CEGIS) 2743 ma_w(fd, "func sb_vech(vecs: *i64, ix: i64, kk: i64) -> i64 {\n" as *u8) 2744 ma_w(fd, " var h: i64 = 1469\n var q: i64 = 0\n" as *u8) 2745 ma_w(fd, " while q < kk { h = h * 131 + vecs[ix*SB_KMAX+q]; q = q + 1 }\n" as *u8) 2746 ma_w(fd, " if h < 0 { h = 0 - h }\n return h\n}\n" as *u8) 2747 ma_w(fd, "func sb_vec_eq(vecs: *i64, x: i64, y: i64, kk: i64) -> i64 {\n" as *u8) 2748 ma_w(fd, " var q: i64 = 0\n" as *u8) 2749 ma_w(fd, " while q < kk { if vecs[x*SB_KMAX+q] != vecs[y*SB_KMAX+q] { return 0 } q = q + 1 }\n" as *u8) 2750 ma_w(fd, " return 1\n}\n" as *u8) 2751 ma_w(fd, "func sb_insert(vecs: *i64, hash: *i64, nterm: i64, kk: i64) -> i64 {\n" as *u8) 2752 ma_w(fd, " let h0: i64 = sb_vech(vecs, nterm, kk) & (SB_HCAP - 1)\n" as *u8) 2753 ma_w(fd, " var s: i64 = h0\n var go: i64 = 1\n" as *u8) 2754 ma_w(fd, " while go == 1 {\n" as *u8) 2755 ma_w(fd, " if hash[s] == 0 { hash[s] = nterm + 1; return 1 }\n" as *u8) 2756 ma_w(fd, " if sb_vec_eq(vecs, hash[s] - 1, nterm, kk) == 1 { return 0 }\n" as *u8) 2757 ma_w(fd, " s = s + 1\n" as *u8) 2758 ma_w(fd, " if s >= SB_HCAP { s = 0 }\n" as *u8) 2759 ma_w(fd, " if s == h0 { return 0 }\n" as *u8) 2760 ma_w(fd, " }\n return 0\n}\n" as *u8) 2761 ma_w(fd, "func sb_is_target(vecs: *i64, ix: i64, kx: *i64, kk: i64) -> i64 {\n" as *u8) 2762 ma_w(fd, " var q: i64 = 0\n" as *u8) 2763 ma_w(fd, " while q < kk { if vecs[ix*SB_KMAX+q] != kx[q] { return 0 } q = q + 1 }\n" as *u8) 2764 ma_w(fd, " return 1\n}\n" as *u8) 2765 ma_w(fd, "func sb_search(ka: *i64, kb: *i64, kx: *i64, kk: i64, cons: *i64, ncon: i64, terms: *i64, vecs: *i64, hash: *i64, stats: *i64) -> i64 {\n" as *u8) 2766 ma_w(fd, " var s: i64 = 0\n while s < SB_HCAP { hash[s] = 0; s = s + 1 }\n" as *u8) 2767 ma_w(fd, " var nt: i64 = 0\n var cand: i64 = 0\n var q: i64 = 0\n" as *u8) 2768 ma_w(fd, " q = 0\n while q < kk { vecs[nt*SB_KMAX+q] = ka[q]; q = q + 1 }\n" as *u8) 2769 ma_w(fd, " terms[nt*5+0] = 0\n terms[nt*5+1] = 0\n terms[nt*5+2] = 0\n terms[nt*5+3] = 0\n terms[nt*5+4] = 1\n" as *u8) 2770 ma_w(fd, " if sb_insert(vecs, hash, nt, kk) == 1 { if sb_is_target(vecs, nt, kx, kk) == 1 { stats[0]=cand; return nt } nt = nt + 1 }\n" as *u8) 2771 ma_w(fd, " q = 0\n while q < kk { vecs[nt*SB_KMAX+q] = kb[q]; q = q + 1 }\n" as *u8) 2772 ma_w(fd, " terms[nt*5+0] = 0\n terms[nt*5+1] = 1\n terms[nt*5+2] = 0\n terms[nt*5+3] = 0\n terms[nt*5+4] = 1\n" as *u8) 2773 ma_w(fd, " if sb_insert(vecs, hash, nt, kk) == 1 { if sb_is_target(vecs, nt, kx, kk) == 1 { stats[0]=cand; return nt } nt = nt + 1 }\n" as *u8) 2774 ma_w(fd, " var ci: i64 = 0\n" as *u8) 2775 ma_w(fd, " while ci < ncon {\n" as *u8) 2776 ma_w(fd, " q = 0\n while q < kk { vecs[nt*SB_KMAX+q] = cons[ci]; q = q + 1 }\n" as *u8) 2777 ma_w(fd, " terms[nt*5+0] = 1\n terms[nt*5+1] = cons[ci]\n terms[nt*5+2] = 0\n terms[nt*5+3] = 0\n terms[nt*5+4] = 1\n" as *u8) 2778 ma_w(fd, " if sb_insert(vecs, hash, nt, kk) == 1 { if sb_is_target(vecs, nt, kx, kk) == 1 { stats[0]=cand; return nt } nt = nt + 1 }\n" as *u8) 2779 ma_w(fd, " ci = ci + 1\n" as *u8) 2780 ma_w(fd, " }\n" as *u8) 2781 // FAIR-SHARE SLICED SCHEDULER (race-1 fix 1): every comp gets SB_SLICE p-steps per turn, round- 2782 // robin until the level's whole pair space is covered -- no operator starves at the cap. Pair 2783 // space flattened: p = x*n0 + y (single cursor per comp). Target check runs BEFORE storage, in a 2784 // scratch slot when the table is full -- exhausting STORAGE no longer exhausts the SEARCH. 2785 ma_w(fd, " var lvl: i64 = 2\n" as *u8) 2786 ma_w(fd, " while lvl <= SB_MAXLVL {\n" as *u8) 2787 ma_w(fd, " let n0: i64 = nt\n" as *u8) 2788 ma_w(fd, " let cp: *i64 = sys_mmap(256) as *i64\n" as *u8) 2789 ma_w(fd, " let cdone: *i64 = sys_mmap(256) as *i64\n" as *u8) 2790 ma_w(fd, " var c: i64 = 1\n" as *u8) 2791 ma_w(fd, " while c <= SB_NCOMP { cp[c] = 0; cdone[c] = 0; c = c + 1 }\n" as *u8) 2792 ma_w(fd, " var anyleft: i64 = 1\n" as *u8) 2793 ma_w(fd, " while anyleft == 1 {\n" as *u8) 2794 ma_w(fd, " anyleft = 0\n" as *u8) 2795 ma_w(fd, " c = 1\n" as *u8) 2796 ma_w(fd, " while c <= SB_NCOMP {\n" as *u8) 2797 ma_w(fd, " if cdone[c] == 0 {\n" as *u8) 2798 ma_w(fd, " var steps: i64 = 0\n" as *u8) 2799 ma_w(fd, " var p: i64 = cp[c]\n" as *u8) 2800 ma_w(fd, " var space: i64 = n0\n" as *u8) 2801 ma_w(fd, " if sb_arity(c) == 2 { space = n0 * n0 }\n" as *u8) 2802 ma_w(fd, " var stop2: i64 = 0\n" as *u8) 2803 ma_w(fd, " while stop2 == 0 {\n" as *u8) 2804 ma_w(fd, " if p >= space { cdone[c] = 1; stop2 = 1 }\n" as *u8) 2805 ma_w(fd, " else { if steps >= SB_SLICE { stop2 = 1 }\n" as *u8) 2806 ma_w(fd, " else {\n" as *u8) 2807 ma_w(fd, " steps = steps + 1\n" as *u8) 2808 ma_w(fd, " var x: i64 = p\n" as *u8) 2809 ma_w(fd, " var y: i64 = 0\n" as *u8) 2810 ma_w(fd, " if sb_arity(c) == 2 { x = p / n0; y = p % n0 }\n" as *u8) 2811 ma_w(fd, " var mx: i64 = terms[x*5+4]\n" as *u8) 2812 ma_w(fd, " if sb_arity(c) == 2 {\n" as *u8) 2813 ma_w(fd, " if terms[y*5+4] > mx { mx = terms[y*5+4] }\n" as *u8) 2814 ma_w(fd, " if terms[x*5+0] == 1 { if terms[y*5+0] == 1 { mx = 0 - 1 } }\n" as *u8) 2815 ma_w(fd, " if sb_comm(c) == 1 { if x > y { mx = 0 - 1 } }\n" as *u8) 2816 ma_w(fd, " }\n" as *u8) 2817 ma_w(fd, " if mx == lvl - 1 {\n" as *u8) 2818 ma_w(fd, " if cand > SB_BUDGET { stats[0] = cand; return 0 - 1 }\n" as *u8) 2819 ma_w(fd, " cand = cand + 1\n" as *u8) 2820 ma_w(fd, " var slot: i64 = nt\n" as *u8) 2821 ma_w(fd, " if nt >= SB_MAXTERM { slot = SB_MAXTERM }\n" as *u8) 2822 ma_w(fd, " q = 0\n" as *u8) 2823 ma_w(fd, " if sb_arity(c) == 2 { while q < kk { vecs[slot*SB_KMAX+q] = sb_apply(c, vecs[x*SB_KMAX+q], vecs[y*SB_KMAX+q]); q = q + 1 } }\n" as *u8) 2824 ma_w(fd, " else { while q < kk { vecs[slot*SB_KMAX+q] = sb_apply(c, vecs[x*SB_KMAX+q], 0); q = q + 1 } }\n" as *u8) 2825 ma_w(fd, " if sb_is_target(vecs, slot, kx, kk) == 1 {\n" as *u8) 2826 ma_w(fd, " terms[slot*5+0] = 2\n" as *u8) 2827 ma_w(fd, " terms[slot*5+1] = c\n" as *u8) 2828 ma_w(fd, " terms[slot*5+2] = x\n" as *u8) 2829 ma_w(fd, " terms[slot*5+3] = y\n" as *u8) 2830 ma_w(fd, " terms[slot*5+4] = lvl\n" as *u8) 2831 ma_w(fd, " stats[0] = cand\n" as *u8) 2832 ma_w(fd, " return slot\n" as *u8) 2833 ma_w(fd, " }\n" as *u8) 2834 ma_w(fd, " if nt < SB_MAXTERM {\n" as *u8) 2835 ma_w(fd, " if sb_insert(vecs, hash, nt, kk) == 1 {\n" as *u8) 2836 ma_w(fd, " terms[nt*5+0] = 2\n" as *u8) 2837 ma_w(fd, " terms[nt*5+1] = c\n" as *u8) 2838 ma_w(fd, " terms[nt*5+2] = x\n" as *u8) 2839 ma_w(fd, " terms[nt*5+3] = y\n" as *u8) 2840 ma_w(fd, " terms[nt*5+4] = lvl\n" as *u8) 2841 ma_w(fd, " nt = nt + 1\n" as *u8) 2842 ma_w(fd, " }\n" as *u8) 2843 ma_w(fd, " }\n" as *u8) 2844 ma_w(fd, " }\n" as *u8) 2845 ma_w(fd, " p = p + 1\n" as *u8) 2846 ma_w(fd, " } }\n" as *u8) 2847 ma_w(fd, " }\n" as *u8) 2848 ma_w(fd, " cp[c] = p\n" as *u8) 2849 ma_w(fd, " if cdone[c] == 0 { anyleft = 1 }\n" as *u8) 2850 ma_w(fd, " }\n" as *u8) 2851 ma_w(fd, " c = c + 1\n" as *u8) 2852 ma_w(fd, " }\n" as *u8) 2853 ma_w(fd, " }\n" as *u8) 2854 ma_w(fd, " lvl = lvl + 1\n" as *u8) 2855 ma_w(fd, " }\n" as *u8) 2856 ma_w(fd, " stats[0] = cand\n return 0 - 1\n}\n" as *u8) 2857 ma_w(fd, "func sb_eval(terms: *i64, ix: i64, a: i64, b: i64) -> i64 {\n" as *u8) 2858 ma_w(fd, " let kind: i64 = terms[ix*5+0]\n" as *u8) 2859 ma_w(fd, " if kind == 0 { if terms[ix*5+1] == 0 { return a } return b }\n" as *u8) 2860 ma_w(fd, " if kind == 1 { return terms[ix*5+1] }\n" as *u8) 2861 ma_w(fd, " let c: i64 = terms[ix*5+1]\n" as *u8) 2862 ma_w(fd, " let lv: i64 = sb_eval(terms, terms[ix*5+2], a, b)\n" as *u8) 2863 ma_w(fd, " var rv: i64 = 0\n" as *u8) 2864 ma_w(fd, " if sb_arity(c) == 2 { rv = sb_eval(terms, terms[ix*5+3], a, b) }\n" as *u8) 2865 ma_w(fd, " return sb_apply(c, lv, rv)\n}\n" as *u8) 2866 // QUADRANT-DIVERSE counterexamples (race-1 fix 2): up to one CEX per grid quadrant per round -- 2867 // spread examples pin the function far faster than clustered first-disagreements. The four 2868 // quadrants partition the grid, so zero disagreements across all four == converged on the domain. 2869 ma_w(fd, "func sb_find_cex(terms: *i64, r: i64, oid: i64, ka: *i64, kb: *i64, kx: *i64, kbox: *i64, mode: i64, hterms: *i64, hroot: *i64) -> i64 {\n" as *u8) 2870 ma_w(fd, " var added: i64 = 0\n" as *u8) 2871 ma_w(fd, " var qd: i64 = 0\n" as *u8) 2872 ma_w(fd, " while qd < 4 {\n" as *u8) 2873 ma_w(fd, " var palo: i64 = 0 - 60\n var pahi: i64 = 39\n" as *u8) 2874 ma_w(fd, " if qd >= 2 { palo = 40; pahi = 140 }\n" as *u8) 2875 ma_w(fd, " var pblo: i64 = 0 - 60\n var pbhi: i64 = 39\n" as *u8) 2876 ma_w(fd, " if qd % 2 == 1 { pblo = 40; pbhi = 140 }\n" as *u8) 2877 ma_w(fd, " var found: i64 = 0\n" as *u8) 2878 ma_w(fd, " var pa: i64 = palo\n" as *u8) 2879 ma_w(fd, " while pa <= pahi {\n" as *u8) 2880 ma_w(fd, " if found == 0 {\n" as *u8) 2881 ma_w(fd, " var pb: i64 = pblo\n" as *u8) 2882 ma_w(fd, " while pb <= pbhi {\n" as *u8) 2883 ma_w(fd, " if found == 0 {\n" as *u8) 2884 ma_w(fd, " let want: i64 = sb_oracle2(mode, oid, pa, pb, hterms, hroot)\n" as *u8) 2885 ma_w(fd, " if sb_eval(terms, r, pa, pb) != want {\n" as *u8) 2886 ma_w(fd, " let kk2: i64 = kbox[0]\n" as *u8) 2887 ma_w(fd, " if kk2 >= SB_KMAX { return 2 }\n" as *u8) 2888 ma_w(fd, " ka[kk2] = pa\n kb[kk2] = pb\n kx[kk2] = want\n" as *u8) 2889 ma_w(fd, " kbox[0] = kk2 + 1\n" as *u8) 2890 ma_w(fd, " added = added + 1\n" as *u8) 2891 ma_w(fd, " found = 1\n" as *u8) 2892 ma_w(fd, " }\n" as *u8) 2893 ma_w(fd, " }\n" as *u8) 2894 ma_w(fd, " pb = pb + 1\n" as *u8) 2895 ma_w(fd, " }\n" as *u8) 2896 ma_w(fd, " }\n" as *u8) 2897 ma_w(fd, " pa = pa + 1\n" as *u8) 2898 ma_w(fd, " }\n" as *u8) 2899 ma_w(fd, " qd = qd + 1\n" as *u8) 2900 ma_w(fd, " }\n" as *u8) 2901 ma_w(fd, " if added > 0 { return 1 }\n" as *u8) 2902 ma_w(fd, " return 0\n}\n" as *u8) 2903 // NOVEL-v1 (the EXCEED race): hidden seeded oracles. Generator builds a random-ish term over the 2904 // SAME pool (fair to both lanes), rejected if degenerate (constant / identity). The hidden term 2905 // is NEVER printed -- only 16 sample pairs per spec (the Claude lane's only access) and oracle 2906 // answers to the team's queries. 2907 ma_w(fd, "func ng_rand(sbox: *i64) -> i64 {\n" as *u8) 2908 ma_w(fd, " sbox[0] = (sbox[0] * 1103515245 + 12345) & 2147483647\n" as *u8) 2909 ma_w(fd, " return sbox[0]\n}\n" as *u8) 2910 ma_w(fd, "func ng_gen(seed: i64, hterms: *i64, hb: *i64, cset: *i64, pa16: *i64, pb16: *i64) -> i64 {\n" as *u8) 2911 ma_w(fd, " let sbox: *i64 = sys_mmap(16) as *i64\n" as *u8) 2912 ma_w(fd, " sbox[0] = (seed * 48271 + 11) & 2147483647\n" as *u8) 2913 ma_w(fd, " let av: *i64 = sys_mmap(256) as *i64\n" as *u8) 2914 ma_w(fd, " var na: i64 = 0\n" as *u8) 2915 ma_w(fd, " var base: i64 = hb[0]\n" as *u8) 2916 ma_w(fd, " hterms[base*5+0] = 0\n hterms[base*5+1] = 0\n hterms[base*5+2] = 0\n hterms[base*5+3] = 0\n hterms[base*5+4] = 1\n" as *u8) 2917 ma_w(fd, " av[na] = base\n na = na + 1\n base = base + 1\n" as *u8) 2918 ma_w(fd, " hterms[base*5+0] = 0\n hterms[base*5+1] = 1\n hterms[base*5+2] = 0\n hterms[base*5+3] = 0\n hterms[base*5+4] = 1\n" as *u8) 2919 ma_w(fd, " av[na] = base\n na = na + 1\n base = base + 1\n" as *u8) 2920 ma_w(fd, " var ci: i64 = 0\n" as *u8) 2921 ma_w(fd, " while ci < 3 {\n" as *u8) 2922 ma_w(fd, " hterms[base*5+0] = 1\n hterms[base*5+1] = cset[ng_rand(sbox) % 7]\n hterms[base*5+2] = 0\n hterms[base*5+3] = 0\n hterms[base*5+4] = 1\n" as *u8) 2923 ma_w(fd, " av[na] = base\n na = na + 1\n base = base + 1\n ci = ci + 1\n" as *u8) 2924 ma_w(fd, " }\n" as *u8) 2925 ma_w(fd, " var root: i64 = av[0]\n" as *u8) 2926 ma_w(fd, " var st: i64 = 0\n" as *u8) 2927 ma_w(fd, " while st < 4 {\n" as *u8) 2928 ma_w(fd, " let c: i64 = 1 + (ng_rand(sbox) % 12)\n" as *u8) 2929 ma_w(fd, " let xi: i64 = av[ng_rand(sbox) % na]\n" as *u8) 2930 ma_w(fd, " let yi: i64 = av[ng_rand(sbox) % na]\n" as *u8) 2931 ma_w(fd, " hterms[base*5+0] = 2\n hterms[base*5+1] = c\n hterms[base*5+2] = xi\n hterms[base*5+3] = yi\n hterms[base*5+4] = 2\n" as *u8) 2932 ma_w(fd, " av[na] = base\n na = na + 1\n root = base\n base = base + 1\n st = st + 1\n" as *u8) 2933 ma_w(fd, " }\n" as *u8) 2934 ma_w(fd, " hb[0] = base\n" as *u8) 2935 ma_w(fd, " var allc: i64 = 1\n var eqa: i64 = 1\n var eqb: i64 = 1\n" as *u8) 2936 ma_w(fd, " let v0: i64 = sb_eval(hterms, root, pa16[0], pb16[0])\n" as *u8) 2937 ma_w(fd, " var t2: i64 = 0\n" as *u8) 2938 ma_w(fd, " while t2 < 16 {\n" as *u8) 2939 ma_w(fd, " let vv: i64 = sb_eval(hterms, root, pa16[t2], pb16[t2])\n" as *u8) 2940 ma_w(fd, " if vv != v0 { allc = 0 }\n" as *u8) 2941 ma_w(fd, " if vv != pa16[t2] { eqa = 0 }\n" as *u8) 2942 ma_w(fd, " if vv != pb16[t2] { eqb = 0 }\n" as *u8) 2943 ma_w(fd, " t2 = t2 + 1\n" as *u8) 2944 ma_w(fd, " }\n" as *u8) 2945 ma_w(fd, " if allc == 1 { return 0 - 1 }\n" as *u8) 2946 ma_w(fd, " if eqa == 1 { return 0 - 1 }\n" as *u8) 2947 ma_w(fd, " if eqb == 1 { return 0 - 1 }\n" as *u8) 2948 ma_w(fd, " return root\n}\n" as *u8) 2949 ma_w(fd, "func sb_oracle2(mode: i64, oid: i64, a: i64, b: i64, hterms: *i64, hroot: *i64) -> i64 {\n" as *u8) 2950 ma_w(fd, " if mode == 0 { return sb_oracle(oid, a, b) }\n" as *u8) 2951 ma_w(fd, " return sb_eval(hterms, hroot[oid], a, b)\n}\n" as *