nx_forge_loop_gate.nx
buildroot/runtime/nx_forge_loop_gate.nx
about
nx_forge_loop_gate.nx -- gate for the A1 closed maker-checker loop (nx_forge_loop).
Deterministic, NO model: a forked stub maker (socket bound+listening BEFORE fork = raceless)
serves scripted /gen responses per cycle and CAPTURES each request body, proving:
T1 GREEN@1 passthrough: good candidate -> rc=1
T1b cycle-1 request carries NO repair header (clean first prompt)
T2 REPAIR CONVERGENCE: cycle1 = let-reassign BUILD-FAIL (the 1.5B fbench-T2 failure class;
the compiler names the fix) -> cycle2 = fixed candidate -> rc=2
T2b cycle-2 request MUST carry "PRIOR ATTEMPT FAILED" + the verbatim compiler word
("reassign") = the little-coder +18% retry lever, mechanized and asserted
T3 NEG: a maker that IGNORES the repair ctx (same broken candidate every cycle) must NOT
converge -> rc=-21 (anti-rubber-stamp tooth)
T4 NEG: no serve listening -> rc=-30 (fail-loud, no silent fallback)
Fixture /gen JSONs are BUILT at gate time from the fixture .nx programs via fc_json_esc_bytes
(always in sync with the sources). license_tier: ORIGINAL expect_exit: 0
dependencies 2 imports · 0 importers
imports: nx_forge_loop.nxnx_gate_verdict.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| none |
functions
| 19 | func flpg_bind(port: i64) -> i64 |
| 38 | func flpg_serve(lfd: i64, n: i64, resps: *i64, caps: *i64) -> i64 |
| 75 | func flpg_mkjson(progpath: *u8, outpath: *u8) -> i64 |
| 98 | func flpg_case(organ: *u8, n: i64, resps: *i64, caps: *i64, port: i64, maxc: i64) -> i64 |
| 117 | func flpg_cap_has(cappath: *u8, needle: *u8) -> i64 |
| 126 | func main(argc: i64, argv: *i64) -> i64 |