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 alg_f alg_chk alg_p ↻ alg_seed_queue alg_f ↻ alg_seed_stale alg_f ↻ alg_count alg_beats_a alg_chk ↻ alg_status_of an_newcx sys_mmap nxa_die sys_write sys_exit nxa_lock_take nxa_lock_addr sys_write ↻ nxa_lock_give nxa_lock_addr ↻ nxa_report_overrun sys_write ↻ nxa_dump_printable nxa_dump_sizes an_find an_streq an_id_at alg_beats_b alg_chk ↻ alg_status_of ↻ alg_seed_xq006_queue alg_f ↻ alg_beats_c alg_chk ↻ alg_status_of ↻ alg_shape_of

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 1: alg_f
54func alg_seed_stale() -> i64
called by 1: main calls 1: alg_f
82func alg_seed_xq006_queue(qp: *u8) -> i64
called by 1: main calls 1: alg_f
95func alg_status_of(qp: *u8, id: *u8) -> i64
106func alg_count(path: *u8, pat: *u8) -> i64
called by 1: main
127func alg_beats_a(wcx: *i64, qp: *u8, badv: *i64) -> i64
called by 1: main calls 2: alg_chkalg_status_of
158func alg_beats_b(wcx: *i64, qp: *u8, badv: *i64) -> i64
called by 1: main calls 2: alg_chkalg_status_of
187func alg_shape_of(name: *u8) -> i64
called by 1: alg_beats_c
237func alg_beats_c(wcx: *i64, qp6: *u8, badv6: *i64) -> i64
275func main() -> i64