code wiki / _hdl_build / _attempt_loop_gate_authored.nx

_attempt_loop_gate_authored.nx

buildroot/runtime/_hdl_build/_attempt_loop_gate_authored.nx

17882 B424 linesdepth 4pulls 6 transitivereach 0 importersview sourcekind tooltopic attempt
docsdependenciesstructsconstsfunctions

about

_attempt_loop_gate_authored.nx -- gate for the Warden attempt loop (X-Q-003 rung 1 + the X-Q-006 SPEC build route). Drives wd_beat on a SCRATCH queue through the REAL sovereign lane, the REAL nx_reconcile elf and the REAL nx_auto_builder elf -- no mocks. Six beats: beat1: pick NOEXEC1 (w9, no recipe) -> RAISED to NOVEL, and the best covered row REDR1 (w8, recipe exits 7, no marker) is attempted in the SAME beat -> RED (raise never wastes a beat; fail-loud). beat2: LIAR1 (w7, recipe exits 0 but marker says RED) -> RED. THE anti-fake-green proof: exit codes never decide, evidence does. beat3: GREEN1 (w6, recipe appends its green marker) -> nx_reconcile flips it DONE on evidence -> GREEN. beat4: SPEC1 (w5, ||SPEC= build spec) -> auto-builder classifier-routes the shape, AUTHORS _pe_alspec1 + KAT, AUTOBUILD GREEN evidence, reconcile flips DONE: a queue row BUILT a new module hands-off. beat5: BADSPEC1 (w4, malformed spec) -> auto-builder REFUSES (exit 2), marker never green -> RED (bad specs die loud). beat6: nothing runnable -> IDLE row. Staleness killer: seed verdict=STALE lines for the green/liar anchors so a previous run's marker lines can never pre-flip a row (last-line-wins). Plus conf KATs (parse + default-on-absent). Markers: ALG-* checks; final ALGATE row -> knowledge/status/attempt_loop.log license_tier: ORIGINAL

dependencies 1 imports · 0 importers

nx_wd_core.nx _attempt_loop_gate_authored.nx

imports: nx_wd_core.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main alg_p sys_openat_wr alg_f wd_conf_deadline sys_mmap sys_openat_rd sys_read sys_close wd_at alg_chk alg_p ↻ alg_seed_queue sys_openat_wr ↻ alg_f ↻ alg_seed_stale sys_openat_append alg_f ↻ alg_count sys_read ↻ wd_at ↻ wd_newwcx sys_mmap ↻ alg_beats_a wd_beat an_newcx sys_mmap ↻ an_load sys_mmap ↻ sys_openat_rd ↻ sys_read ↻ sys_close ↻ an_id_at an_deps_at an_gate_at an_title_at wd_w sys_write sys_openat_append ↻ an_pick

structs

none

consts

none

functions

26func alg_p(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 }
called by 2: alg_chkmain
27func alg_f(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 }
29func alg_chk(label: *u8, ok: i64, bad: *i64) -> i64
36func alg_seed_queue(qp: *u8) -> i64
called by 1: main calls 2: sys_openat_wralg_f
54func alg_seed_stale() -> i64
called by 1: main calls 2: sys_openat_appendalg_f
82func alg_seed_xq006_queue(qp: *u8) -> i64
called by 1: main calls 2: sys_openat_wralg_f
95func alg_status_of(qp: *u8, id: *u8) -> i64
106func alg_count(path: *u8, pat: *u8) -> i64
called by 1: main calls 2: sys_readwd_at
127func alg_beats_a(wcx: *i64, qp: *u8, badv: *i64) -> i64
called by 1: main calls 3: wd_beatalg_chkalg_status_of
158func alg_beats_b(wcx: *i64, qp: *u8, badv: *i64) -> i64
called by 1: main calls 3: wd_beatalg_chkalg_status_of
187func alg_shape_of(name: *u8) -> i64
called by 1: alg_beats_c calls 2: sys_readwd_at
237func alg_beats_c(wcx: *i64, qp6: *u8, badv6: *i64) -> i64
275func main() -> i64