code wiki / (root) / nx_field_seedgen.nx

nx_field_seedgen.nx

buildroot/runtime/nx_field_seedgen.nx

7942 B148 linesdepth 4pulls 4 transitivereach 0 importersview sourcekind tooltopic field
docsdependenciesstructsconstsfunctions

about

nx_field_seedgen.nx -- DERIVE A DOMAIN'S SEEDS FROM ITS OWN BOARD (/compare/fieldwatch fleet campaign, 2026-09-05). The first fieldbeat skipped 110 of 111 domains for having no .seeds file. Every one of them already declares its population -- the @cols rivals of <dom>.matrix -- and pins their pages in <dom>.refs. This program writes <dom>.seeds rows of kind named from those two files (decisions in nx_field_seedgen_lib), so the next beat discovers a field for every board without a seat authoring URLs, and it never guesses: an unsourced column is a counted comment, a file a seat curated by hand (no marker line) is refused untouched, and a domain with nothing sourced gets NO file so the beat keeps skipping it cleanly. Discovery seeds (wiki-raw, gh-topic, md-list) remain per-domain curation. Usage: nx_field_seedgen <dom> | --all [--dir <compare-dir>] [--list <regen-list>] Receipt per domain: SEEDGEN dom= class= cols= sourced= unsourced= out=; summary SEEDGEN-OK ... sum= (partition printed) Exits: 0 | 1 a domain was UNWRITABLE | 2 usage | 3 refused (single domain: hand-authored, no matrix, no cols or nothing sourced; --all: the list was unreadable or named no domain) license_tier: ORIGINAL No hw writes (Rule 26). expect_exit: 0

dependencies 2 imports · 0 importers

nx_syscalls.nx nx_field_seedgen_lib.nx nx_field_seedgen.nx

imports: nx_syscalls.nxnx_field_seedgen_lib.nx

imported by: nobody (leaf or entry point)

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

main sgp_err sys_chdir 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 ↻ sgp_out sys_mmap ↻ sys_clock_gettime_real sgp_read sys_mmap ↻ sys_read_file sys_openat_rd sys_lseek sys_mmap ↻ sys_read sys_munmap sys_close fb_list_domains fb_domain_at fb_domain_at ↻ sg_one sys_mmap ↻ sgp_path sgp_read ↻ sg_is_derived fb_slen fb_prefix_at

structs

none

consts

16const SGP_ROOT: *u8 = "/volume1/homes/elderwesto/nishihost/"
17const SGP_DIR_DEFAULT: *u8 = "buildroot/knowledge/compare/"
18const SGP_LIST_DEFAULT: *u8 = "buildroot/knowledge/compare/regen.list"
19const SGP_PATH_CAP: i64 = 1024
20const SGP_EXIT_RED: i64 = 1
21const SGP_EXIT_USAGE: i64 = 2
22const SGP_EXIT_REFUSE: i64 = 3
23const SGP_OUTFD: i64 = 1
24const SGP_ERRFD: i64 = 2
25const SGP_T_COLS: i64 = 0 // totals vector slots
26const SGP_T_SOURCED: i64 = 1
27const SGP_T_UNSOURCED: i64 = 2
28const SGP_T_N: i64 = 3

functions

30func sgp_out(s: *u8) -> i64 { fb_puts(SGP_OUTFD, s); return 0 }
called by 1: main
31func sgp_err(s: *u8) -> i64 { fb_puts(SGP_ERRFD, s); return 0 }
called by 1: main
32func sgp_read(path: *u8, lenout: *i64) -> *u8
called by 2: sg_onemain calls 2: sys_mmapsys_read_file
39func sgp_path(dst: *u8, dir: *u8, dom: *u8, ext: *u8) -> i64
called by 1: sg_one
46func sg_one(dir: *u8, dom: *u8, ts: i64, tot: *i64) -> i64
78func main(argc: i64, argv: *i64) -> i64