code wiki / (root) / nx_field_seedgen_gate.nx

nx_field_seedgen_gate.nx

buildroot/runtime/nx_field_seedgen_gate.nx

11036 B166 linesdepth 4pulls 5 transitivereach 0 importersview sourcekind gate/prooftopic field
docsdependenciesstructsconstsfunctions

about

nx_field_seedgen_gate.nx -- THE GATE FOR THE SEED GENERATOR'S DECISIONS (nx_field_seedgen_lib, fieldwatch fleet campaign). Drives the lib IN-PROCESS on fixtures assembled at RUNTIME under /tmp/nx_field_seedgen_gate/ (no board file touched). What it must catch: a @cols reader that misses the line or keeps a trailing space; a tokenizer that lets a kind-word (platform, stack, lab) name a member; a matcher that accepts one prose hit as a member or reads a comment row as a ref; an emitter that invents a url for an unsourced column, forgets the marker, or writes a seed row without kind named; a derived-file test that would let the generator rewrite a hand-curated file. license_tier: ORIGINAL No hw writes (Rule 26). expect_exit: 0

dependencies 3 imports · 0 importers

nx_syscalls.nx nx_gate_verdict.nx nx_field_seedgen_lib.nx nx_field_seedgen_gate.nx

imports: nx_syscalls.nxnx_gate_verdict.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 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 ↻ sys_mkdir g_fix g_slen sys_mmap ↻ g_slen ↻ sys_mmap ↻ sg_cols fb_prefix_at fb_slen gv_check_eq gv_check gv_puts ↻ gv_puts ↻ gv_num sys_mmap ↻ sys_write ↻ sys_munmap g_span_eq gv_check ↻ sg_tokens

structs

none

consts

13const G_DIR: *u8 = "/tmp/nx_field_seedgen_gate"
14const G_OUT: *u8 = "/tmp/nx_field_seedgen_gate/fx.seeds"
15const G_MODEDIR: i64 = 493
16const G_TS: i64 = 1788650000
18const G_MATRIX: *u8 = "@ fx.matrix header comment\n@title fixture\n@cols DanceXR | Blender 4.5 plus addons|Extension lab|Google Maps Platform \nrow|x|y|0|1|1|1|1|note\n"
19const G_REFS: *u8 = "@ fx.refs header\nref|dancexr-img|DanceXR banner image|https://cdn.dancexr.com/banner.PNG|knowledge/fetched/i.png|h00|2026-09-05|vendor-doc|g\nref|dancexr-cms|DanceXR hero still from the CMS asset pipeline|https://cms.dancexr.com/asset/abc123/auto_image/xyz|knowledge/fetched/dxr_hero.img|h00|2026-09-05|vendor-doc|g\nref|dancexr|DanceXR documentation home|https://dancexr.com/docs/|knowledge/fetched/x.html|h00|2026-09-05|vendor-doc|g\nref|blender-manual|Blender 4.5 reference manual addons chapter|https://docs.blender.org/manual/en/4.5/|knowledge/fetched/y.html|h00|2026-09-05|vendor-doc|g\nref|soil|A paper about the platform of soil science|https://example.org/soil|knowledge/fetched/z.html|h00|2026-09-05|published-paper|g\nnotaref|dancexr-trap|DanceXR again|https://trap.example/dancexr|m|h|d|c|g\n"
20const G_HAND: *u8 = "@ modding.seeds -- hand curated\nseed|nexus|https://www.nexusmods.com/|named|declared|Nexus Mods\n"
21const G_CH_AT: i64 = 64
22const G_CH_HASH: i64 = 35
23const G_CH_NL: i64 = 10

functions

25func g_slen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
27func g_fix(src: *u8) -> *u8
42func g_read(path: *u8, lenout: *i64) -> *u8
49func g_count_prefix(b: *u8, n: i64, pfx: *u8) -> i64
60func g_span_eq(b: *u8, s: i64, e: i64, lit: *u8) -> i64
67func main(argc: i64, argv: *i64) -> i64