code wiki / (root) / nx_native_config.nx

nx_native_config.nx

buildroot/runtime/nx_native_config.nx

6243 B128 linesdepth 7pulls 8 transitivereach 61 importersview sourcekind librarytopic native
docsdependenciesstructsconstsfunctions

about

nx_native_config.nx -- ordered CONFIG/POLICY storage on the NATIVE substrate, replacing borrowed TSV. Operator directive (2026-06-20): "stop using tsv, migrate, get everything to nishi ecosystem only." A config is an ORDERED list of (key,value) field-records. Instead of a flat .tsv parsed by ad-hoc tab-splitting, it lives in ONE content-addressed seg_store (the SAME substrate the asset catalog uses): each row is a canon-encoded record under key "<tag>:NNNN", plus "<tag>:count". Rows read back IN ORDER (so first-match-wins policy semantics are preserved). No TSV, no SQL -- nishi ecosystem only (#feedback-pure-nishi-infomgmt-no-sql). Authored BY AN ORGAN (the seeder), data lives in the store (data-driven, #11/#17). No hardware writes (Rule 26). license_tier: ORIGINAL

dependencies 4 imports · 22 importers

nx_syscalls.nx nx_canon_cid.nx nx_uxf_decode.nx nx_seg_store.nx nx_native_config.nx _driver_exceed_gate.nx nx_arcade_serve.nx nx_asset_exceed_gate.nx nx_asset_visibility.nx nx_codec_license_gate.nx nx_emu_exceed_gate.nx nx_games_manifest_native.nx nx_games_portal.nx nx_games_reg_seed.nx nx_genesis_live.nx

diagram shows first 10 each side; +0 more imports, +12 more importers in the complete lists below.

imports: nx_syscalls.nxnx_canon_cid.nxnx_uxf_decode.nxnx_seg_store.nx

imported by: _driver_exceed_gate.nxnx_arcade_serve.nxnx_asset_exceed_gate.nxnx_asset_visibility.nxnx_codec_license_gate.nxnx_emu_exceed_gate.nxnx_games_manifest_native.nxnx_games_portal.nxnx_games_reg_seed.nxnx_genesis_live.nxnx_hub_cards_seed.nxnx_hub_legacy_migrate.nxnx_hub_render.nxnx_hub_roles_seed.nxnx_ims_page.nxnx_ims_typemap_seed.nxnx_library_exceed.nxnx_night_grade.nxnx_teacher_mastery.nxnx_teacher_synthesize.nxnx_wiki_links_seed.nxnx_wiki_shell.nx

structs

none

consts

14const K_MAGIC_8192: i64 = 8192

functions

16func ncfg_streq(a: *u8, b: *u8) -> i64
called by 1: ncfg_field
23func ncfg_key(tag: *u8, idx: i64, out: *u8) -> i64
44func ncfg_count_key(tag: *u8, out: *u8) -> i64
53func ncfg_itoa(v: i64, out: *u8) -> i64
called by 1: ncfg_set_count calls 1: sys_mmap
65func ncfg_atoi(s: *u8, n: i64) -> i64
called by 1: ncfg_count
73func ncfg_begin() -> *i64 { return ss_begin() }
75func ncfg_add_row(w: *i64, tag: *u8, idx: i64, keys: *i64, vals: *i64, n: i64) -> i64
82func ncfg_set_count(w: *i64, tag: *u8, count: i64) -> i64
87func ncfg_commit(prefix: *u8, w: *i64) -> i64 { return ss_commit(prefix, w, sys_now_ms()) }
99func ncfg_open(prefix: *u8) -> *i64 { return ss_open_cached(prefix) }
100func ncfg_count(h: *i64, tag: *u8) -> i64
112func ncfg_row(h: *i64, tag: *u8, idx: i64, out_keys: *i64, out_vals: *i64, maxf: i64) -> i64
124func ncfg_field(keys: *i64, vals: *i64, nf: i64, name: *u8) -> *u8