code wiki / (root) / nx_pub_beat.nx

nx_pub_beat.nx

buildroot/runtime/nx_pub_beat.nx

4650 B105 linesdepth 6pulls 7 transitivereach 0 importersview sourcekind tooltopic pub
docsdependenciesstructsconstsfunctions

about

nx_pub_beat.nx -- THE PUBLISHING BEAT (2026-08-12): argless, conf-driven, clock-safe. One run = for EVERY site in knowledge/pub_sites.conf: pl_adopt (register new docroot reality as draft -- publicly INERT by construction, proven by nx_pub_plane_gate T25b) then re-derive the three discovery artifacts (sitemap.xml / robots.txt / llms.txt) from the registry. This is the convergence loop that keeps the plane true as work lands pages; without a beat the 2026-08-12 adoption (72,751 rows) would rot the day the codewiki next regenerates. ARGLESS BY DESIGN: clockjobs- rows carry `name=organ@interval` with no argv (the fleet -beat convention: nx_ivvbeat, nx_swarm_beat, nx_compare_beat). All configuration is the site table row. Composes the pl_* rulers ONLY -- no second implementation of any derivation. An adopt REFUSAL (entry/depth cap, lossy plane) marks the site RED and exits 1, so the clock log carries it. expect_exit: 0 full convergence; 1 = a site failed, named in its own row. license_tier: ORIGINAL

dependencies 2 imports · 0 importers

nx_pub_lib.nx nx_syscalls.nx nx_pub_beat.nx

imports: nx_pub_lib.nxnx_syscalls.nx

imported by: nobody (leaf or entry point)

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

main 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 ↻ pl_rfile sys_openat_rd sys_read sys_close pl_werr sys_write ↻ pl_vlen sys_exit ↻ pl_le pl_col pb_site sys_mmap ↻ pl_span_cstr pl_join pl_cat pl_sitemap sys_mmap ↻ sts_load_honest sts_gen_note sts_pfxhash ss_max_segid sys_mmap ↻ ss_cat ss_readall

structs

none

consts

15const PB2_CONF: i64 = 65536
16const PB2_SPANS: i64 = 128
17const PB2_PATH: i64 = 1024
18const PB2_ENV: i64 = 64
19const PB2_HASH: i64 = 35
20const PB2_SPAN: i64 = 16

functions

22func pb_num(v: i64) -> i64 { let b: *u8 = sys_mmap(64); let n: i64 = pl_catn(b, 0, v); b[n] = 0 as u8; pl_puts(b); return 0 }
called by 2: pb_sitemain calls 3: sys_mmappl_catnpl_puts
24func pb_site(conf: *u8, spans: *i64) -> i64
64func main() -> i64