code wiki / _hdl_build / nx_artloop.nx

nx_artloop.nx

buildroot/runtime/_hdl_build/nx_artloop.nx

10364 B221 linesdepth 5pulls 5 transitivereach 0 importersview sourcekind tool
docsdependenciesstructsconstsfunctions

about

nx_artloop.nx -- AL1: THE RECURSIVE ART-LOOP BEAT (operator 2026-08-09: "i want nishi ecosystem to gain these functionalities as a recursive learning setup so that it can keep growing" + "you need to have benchmarks and oracles so you arent just generating junk"). One beat = one unattended cycle of the emit-score-look loop, clock-plane scheduled: fork the DEPLOYED engine `sweep` (6 procedurally-derived material families rendered, scored, contact-sheeted to the served site by the engine itself), then bank the cycle APPEND-ONLY. ORACLES -- junk cannot pass, and a drifting instrument cannot silently bless anything: O1 INSTRUMENT SANITY: the caricature controls must hold their banked bands EVERY cycle -- flat_control < 300 (TOY) and squares_control in [598,658] (banked 628); plus a LIVE benchmark re-score: breeders1 must hold [779,799] (banked 789). Any drift => the CRITIC moved => RED, and no other number this cycle is believable (stale-instrument law). O2 JUNK FLOOR: the shipped-default variant must clear squares_control + 120. A frame that cannot beat a literal random-squares mosaic by a real margin is junk => RED. O3 RATCHET: best= is the historical max of the default variant's STRUCTURE score (the composite is a structure floor, NEVER quality -- caricature conviction 2026-08-09); dropping below the banked best is a regression => RED. The record still lands FIRST: report, never hide. JOURNAL: knowledge/status/artloop.jrnl, append-only via full-rewrite to .tmp + sys_renameat (atomic -- a crash never truncates history). One line per cycle, RAW sweep receipt included (bank the raw record; derived analysis is downstream's job). PICKS stay judged by eyes (AL2). license_tier: ORIGINAL expect_exit: 0

dependencies 2 imports · 0 importers

nx_syscalls.nx nx_tool_run.nx nx_artloop.nx

imports: nx_syscalls.nxnx_tool_run.nx

imported by: nobody (leaf or entry point)

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

main aw sys_write ascore 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 sys_write ↻ nxa_dump_sizes sys_write ↻ tr_run_capture sys_mmap ↻ sys_pipe2 sys_fork sys_close sys_dup3 sys_execve_clean sys_close_inherited sys_close_inherited_proc sys_openat_rd sys_mmap ↻ sys_getdents64 dirent_reclen sys_close ↻ sys_munmap sys_execve tr_exec_failed sys_write ↻ sys_exit ↻ sys_read sys_wait4

structs

none

consts

24const AL_CAP: i64 = 65536
25const AL_JCAP: i64 = 2097152

functions

27func aw(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 1: main calls 1: sys_write
28func acat(o: *u8, at: i64, s: *u8) -> i64 { var i: i64=0; var a: i64=at; while s[i]!=(0 as u8){o[a]=s[i]; a=a+1; i=i+1} return a }
called by 1: main
29func anum(o: *u8, at: i64, v: i64) -> i64
called by 2: apnmain calls 1: sys_mmap
39func apn(v: i64) -> i64 { let b: *u8 = sys_mmap(32); let e: i64 = anum(b,0,v); sys_write(1,b,e); return 0 }
called by 1: main calls 3: sys_mmapanumsys_write
42func afind(hay: *u8, n: i64, from: i64, needle: *u8) -> i64
called by 2: ascoremain
56func aint(b: *u8, pos: i64, n: i64) -> i64
called by 2: ascoremain
69func ascore(art: *u8) -> i64
85func main() -> i64