code wiki / (root) / nx_hub_emit.nx

nx_hub_emit.nx

buildroot/runtime/nx_hub_emit.nx

6976 B189 linesdepth 3pulls 3 transitivereach 0 importersview sourcekind tooltopic hub
docsdependenciesstructsconstsfunctions

about

nx_hub_emit.nx -- sovereign emitter: content/hub.cards -> dist/hub/index.html Built per operator directive 2026-06-30 ("build the apis that will do what you'd do in shell"). Data-driven: the card set lives in the pipe-delimited manifest content/hub.cards (the SSOT); editing it + re- running this organ regenerates the s-class hub page. Reuses the site's .app-grid / .app-card CSS (so it matches the homepage) + a no-dependency client-side search filter. "soon" cards render disabled (no dead link). File-I/O only -> imports the leaf x86_64 syscall layer ONLY (builds clean; see [[nishi-serving-syscall-dup-gotcha]]). Run from the nishi-pages checkout (so content/ + dist/ resolve); dist/hub must exist. Build: ./nxc2.exe --target x86_64 runtime/nx_hub_emit.nx > /tmp/he.s wsl bash -c "gcc -no-pie /tmp/he.s -o /tmp/nx_hub_emit" Run: cd nishi-pages && mkdir -p dist/hub && /tmp/nx_hub_emit nx_capability_claims: needs: [x86_64_syscalls, pipe_delimited_parse] provides: [hub_page_emit, data_driven_cards, client_side_card_search] safety: [html_escape_text_fields, no_floating_point, fixed_output_path] verdict: [exit_0_ok] license: ORIGINAL kind: nishi_pages_specialist layer: L3 (transform over L1 syscalls) raci: [R=nishi_pages_builder, A=elder_west, C=hub_cards_owner, I=conductor]

dependencies 1 imports · 0 importers

nx_syscalls_x86_64.nx nx_hub_emit.nx

imports: nx_syscalls_x86_64.nx

imported by: nobody (leaf or entry point)

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

main he_puts he_split he_eq he_putb he_put_esc he_puts ↻ sys_openat_wr

structs

none

consts

29const K_MAGIC_262144: i64 = 262144

functions

32func he_puts(buf: *u8, off: i64, s: *u8) -> i64
called by 2: he_put_escmain
44func he_putb(buf: *u8, off: i64, src: *u8, n: i64) -> i64
called by 1: main
56func he_put_esc(buf: *u8, off: i64, src: *u8, n: i64) -> i64
called by 1: main calls 1: he_puts
81func he_eq(buf: *u8, off: i64, n: i64, lit: *u8) -> i64
called by 1: main
94func he_split(buf: *u8, ls: i64, le: i64, foff: *i64, flen: *i64) -> i64
called by 1: main
117func main() -> i64