code wiki / (root) / nx_actlog_gate.nx

nx_actlog_gate.nx

buildroot/runtime/nx_actlog_gate.nx

5654 B95 linesdepth 5pulls 6 transitivereach 0 importersview sourcekind gate/proof
docsdependenciesstructsconstsfunctions

about

nx_actlog_gate.nx -- END-TO-END gate for the action-journal miner: forks the SUBJECT ARTIFACT and runs its own selftest (15 teeth: journal, sequence, frequency, harden, gap, closed-pattern, confidence), inheriting the exit code as the verdict. Exists because on 2026-09-05 the read-cap fix shipped through nx_organ_ship with prove=NO-GATE-FOUND: the proof existed as a verb and nothing could resolve it. Sibling of nx_claude_harvest_gate; resolvable by the <target>_gate convention, so no organ_gate.conf row. ARTIFACT IDENTITY: the ship loop PROVEs BEFORE it promotes, so the serving root still holds the PREVIOUS binary at PROVE time. The just-built artifact is preferred (buildroot/_build/ on the NAS, _build/ on the laptop farm -- two hosts, two ladders), the promoted copy is the fallback, and the choice is PRINTED. The subject is forked IN PLACE by a relative path from the estate root (no chdir, nothing exec'd from /tmp, which is noexec on the NAS); its scratch journal lives under /tmp where writing is allowed. exit: 0 GREEN / 1 RED (gv_verdict law: the exit code IS the verdict)

dependencies 3 imports · 0 importers

nx_syscalls.nx nx_gate_verdict.nx nx_tool_run.nx nx_actlog_gate.nx

imports: nx_syscalls.nxnx_gate_verdict.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 gv_ctr 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 ↻ gv_head gv_puts sys_write ↻ alg_exists sys_openat_rd sys_close gv_puts ↻ gv_check gv_puts ↻ gv_verdict gv_note_bare_rate gv_bare_rate gv_at gv_obj_has_n gv_at ↻ gv_puts ↻ gv_num sys_mmap ↻ sys_write ↻ sys_munmap gv_puts ↻ gv_num ↻ gv_journal

structs

none

consts

18const ALG_OUT: i64 = 262144
19const ALG_PATH: i64 = 256

functions

21func alg_find(q: *u8, n: i64, lit: *u8) -> i64
called by 1: main
36func alg_exists(path: *u8) -> i64
called by 1: main calls 2: sys_openat_rdsys_close
43func main(argc: i64, argv: *i64) -> i64