code wiki / (root) / nx_research_ocean.nx

nx_research_ocean.nx

buildroot/runtime/nx_research_ocean.nx

15380 B281 linesdepth 5pulls 6 transitivereach 0 importersview sourcekind tooltopic research
docsdependenciesstructsconstsfunctions

about

nx_research_ocean.nx -- THE OCEAN. Renders /wiki/research.html from the `resbrief-` information plane, so every research river (/code/research, /product/research, and any area added later) flows into ONE surface. Operator 2026-08-01: "both should like rivers to the ocean go into nishifamily.com/wiki/research under sections for product and code and other research areas". The AREA LIST IS NOT HARDCODED: sections are the DISTINCT values of the area column, in first-seen order, and a brief's URL is derived as /<area>/<slug>. A new research area therefore appears on this page by adding ONE plane row -- no page surgery, no organ edit. That is the difference between this and nx_wiki_products_page, whose families are string literals while its header claims a file source it never reads (debt 1785625149). Reads with sts_load_honest, NOT sts_load: a stale/low q:n silently truncates the plain loader, and an index that under-reports its own library is indistinguishable from a complete one. Declared vs loaded vs reachable-beyond are printed on stdout AND rendered on the page, so partial coverage is visible to a reader of the page, not just to whoever ran the organ. Plane row (8 col): id area slug title date status forks_off scope license_tier: ORIGINAL No hw writes (Rule 26). expect_exit: 0

dependencies 3 imports · 0 importers

nx_store_seed_lib.nx nx_seg_store.nx nx_syscalls.nx nx_research_ocean.nx

imports: nx_store_seed_lib.nxnx_seg_store.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 sts_mm sys_mmap sts_werr sys_write sys_exit sts_load_honest ss_open_cached ssc_init sys_mmap ↻ ssc_sig_of ss_cat sys_fstatat ssc_streq ss_open ss_open2 sys_mmap ↻ ss_manifest_dyn ss_manifest_file_dyn ss_cat ↻ ss_loadfile sys_map_file ss_readall ss_load_aux2 sys_mmap ↻ ss_cat ↻ ss_loadfile ↻ ss_r32 sys_munmap ssl_total_keys ss_r32 ↻ ssl_pow2 ssl_build ss_r32 ↻ ssl_hash_entry ssl_key_eq ss_r32 ↻ ssl_lookup ssl_hash_entry ↻ ssl_key_eq ↻

structs

none

consts

23const RO_PLANE: *u8 = "knowledge/store/resbrief-"
24const RO_OUT: *u8 = "sites/nishifamily/wiki/research.html"
25const RO_RCAP: i64 = 262144
26const RO_HCAP: i64 = 524288
27const RO_NL: i64 = 10
28const RO_TAB: i64 = 9
29const RO_MAXCOL: i64 = 16
30const RO_PAIR: i64 = 2
31const RO_SPB: i64 = 256
32const RO_MAXAREA: i64 = 16
33const RO_AREAB: i64 = 256
34const RO_FLAGB: i64 = 64
35const RO_C_AREA: i64 = 1
36const RO_C_SLUG: i64 = 2
37const RO_C_TITLE: i64 = 3
38const RO_C_DATE: i64 = 4
39const RO_C_STATUS: i64 = 5
40const RO_C_FORKS: i64 = 6
41const RO_C_SCOPE: i64 = 7
42const RO_NCOL: i64 = 8
43const RO_MODE: i64 = 0x1a4
44const RO_ERRFD: i64 = 2
45const RO_EXIT_IO: i64 = 1
46const RO_EXIT_EMPTY: i64 = 3
47const RO_LT: i64 = 60
48const RO_GT: i64 = 62
49const RO_AMP: i64 = 38

functions

51func ro_slen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
called by 2: ro_werrro_slice_eqs
52func ro_werr(s: *u8) -> i64 { sys_write(RO_ERRFD, s, ro_slen(s)); return 0 }
called by 1: main calls 2: sys_writero_slen
55func ro_slice_eqs(q: *u8, a: i64, b: i64, s: *u8) -> i64
called by 1: main calls 1: ro_slen
63func ro_slice_eq(q: *u8, a: i64, b: i64, r: *u8, c: i64, d: i64) -> i64
called by 1: main
70func ro_cols(q: *u8, ls: i64, le: i64, sp: *i64) -> i64
called by 1: main
86func ro_cat_slice(d: *u8, o: i64, q: *u8, a: i64, b: i64) -> i64
called by 1: main
93func ro_cat_esc(d: *u8, o: i64, q: *u8, a: i64, b: i64) -> i64
called by 1: main calls 1: ss_cat
107func main() -> i64