code wiki / _hdl_build / nx_pub_plane.nx

nx_pub_plane.nx

buildroot/runtime/_hdl_build/nx_pub_plane.nx

26316 B491 linesdepth 6pulls 8 transitivereach 0 importersview sourcekind tooltopic pub
docsdependenciesstructsconstsfunctions

about

nx_pub_plane.nx -- THE PUBLISHING PLANE driver: one command, every site, all discovery artifacts DERIVED from the per-site registry. The organ the operator asked for when they said publishing is "random and arbitrary" and that they want to "focus on work, not on where something was put". nx_pub_plane list [conf] the configured sites (proves the site table parses) nx_pub_plane emit <site> [conf] write <docroot>/{sitemap.xml,robots.txt,llms.txt} nx_pub_plane emitall [conf] every configured site, one pass nx_pub_plane adopt <site> [conf] bring UNREGISTERED docroot entries into the registry (idempotent; the migration step that must run BEFORE the gateway starts refusing, or it refuses live pages) nx_pub_plane check <site> <relpath> [conf] THE GATEWAY: exit 0 publishable, 3 REFUSED Proof lives in the sibling verifier nx_pub_plane_gate.nx (the /api/gate_run route executes VERIFIERS ONLY -- a name ending in gate/test/kat -- which is what keeps that route never-brick). Default site table: knowledge/pub_sites.conf (DATA -- adding a site is a row, never a recompile). license_tier: ORIGINAL No hw writes (Rule 26). expect_exit: 0

dependencies 3 imports · 0 importers

nx_pub_lib.nx nx_pub_release_lib.nx nx_syscalls.nx nx_pub_plane.nx

imports: nx_pub_lib.nxnx_pub_release_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 pp_werr pl_werr sys_write pl_vlen sys_exit pl_vlen ↻ pl_lit_eq 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_site_lookup pl_rfile sys_openat_rd sys_read sys_close sys_mmap ↻ pl_le pl_col pl_lit_eq ↻ sys_munmap pl_span_cstr pr_register pr_path_ok pr_hash_ok ss_len ss_max_segid sys_mmap ↻

structs

none

consts

21const PP_CONF: i64 = 65536
22const PP_SPANS: i64 = 128
23const PP_PATHCAP: i64 = 1024
24const PP_NAMECAP: i64 = 256
25const PP_SPAN: i64 = 16
26const PP_ARG_A: i64 = 2
27const PP_ARG_B: i64 = 3
28const PP_ARG_C: i64 = 4
29const PP_EXIT_USAGE: i64 = 2
30const PP_EXIT_REFUSED: i64 = 3
31const PP_EXIT_EMIT: i64 = 1
32const PP_EXIT_NOSITE: i64 = 4
33const PP_HASH: i64 = 35
34const PP_OUTCAP: i64 = 1048576

functions

36func pp_puts(s: *u8) -> i64 { return pl_puts(s) }
called by 3: pp_emit_sitepp_walkmain calls 1: pl_puts
37func pp_werr(s: *u8) -> i64 { return pl_werr(s) }
called by 2: pp_walkmain calls 1: pl_werr
38func pp_num(v: i64) -> i64
46func pp_span_puts(q: *u8, s: i64, e: i64) -> i64
55func pp_emit_site(conf: *u8, spans: *i64, site: *u8) -> i64
114func pp_walk(confpath: *u8, mode: i64) -> i64
175func pp_board(confpath: *u8, outpath: *u8) -> i64
274func main(argc: i64, argv: *i64) -> i64