code wiki / (root) / nx_swcompare_growth_candidate_20260910.nx

nx_swcompare_growth_candidate_20260910.nx

buildroot/runtime/nx_swcompare_growth_candidate_20260910.nx

176310 B2596 linesdepth 8pulls 25 transitivereach 2 importersview sourcekind librarytopic swcompare
docsdependenciesstructsconstsfunctions

about

AUTO-EXTRACTED shared base (nx_oo_extract). license_tier: ORIGINAL No hw writes (Rule 26). functions: w,wc,wn,wj,wq,kv_s,kv_n,c_read,streq,starts,scopy,splitpipe,wnote,rp_base,rp_publish,rp_json,refs_pass

dependencies 14 imports · 2 importers

nx_syscalls.nx nx_symdecl_lib.nx nx_market_ladder_lib.nx nx_brand_tokens.nx nx_lineconf_lib.nx nx_estate_path.nx nx_imgattr_lib.nx nx_evprofile_lib.nx nx_bench_receipt_lib.nx nx_barfresh_lib.nx nx_swcompare_growth_candidate_ nx_compare_growth_final_gate_20260 nx_compare_growth_integration_gate

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

imports: nx_syscalls.nxnx_symdecl_lib.nxnx_market_ladder_lib.nxnx_brand_tokens.nxnx_lineconf_lib.nxnx_estate_path.nxnx_imgattr_lib.nxnx_evprofile_lib.nxnx_bench_receipt_lib.nxnx_barfresh_lib.nxnx_compare_growth_json.nxnx_ladder_lib.nxnx_gauge_lib.nxnx_sha256.nx

imported by: nx_compare_growth_final_gate_20260910.nxnx_compare_growth_integration_gate_20260910.nx

structs

2140struct SgPlan

consts

100const RV_NONE: i64 = 0
101const RV_CITED: i64 = 1
102const RV_UNCITED: i64 = 2
183const RP_NO: i64 = 0
184const RP_REVIEW: i64 = 1
185const RP_YES: i64 = 2
186const RP_KEYCAP: i64 = 128
305const SWL_DSTATE_CAP: i64 = 20480 // .debtstate sidecar read buffer. The NUL slot is DERIVED (CAP - 1)
412const SWL_RELEASE_I64_MAX: i64 = 9223372036854775807
695const WP_ST_LANDED: i64 = 1
696const WP_ST_WATCHING: i64 = 2
697const WP_ST_PRESENT: i64 = 3
698const WP_ST_MISSING: i64 = 4
699const WP_ST_ABSENT: i64 = 5
823const PL_MAXROWS: i64 = 32
1067const SC_TOKCAP: i64 = 16384
1068const SC_BP_MD: i64 = 860
1069const SC_BP_SM: i64 = 640
1161const SC_CAP_SPLIT: i64 = 496
1403const BD_SECS_PER_DAY: i64 = 86400
1404const BD_DAYS_TO_CIVIL_SHIFT: i64 = 719468 // days from 0000-03-01 to 1970-01-01 (Hinnant, civil_from_days)
1405const BD_DAYS_PER_ERA: i64 = 146097
1406const BD_DAYS_PER_4Y: i64 = 1460
1407const BD_DAYS_PER_100Y: i64 = 36524
1408const BD_DAYS_PER_ERA_LESS1: i64 = 146096
1409const BD_DAYS_PER_YEAR: i64 = 365
1410const BD_YEARS_PER_ERA: i64 = 400
1411const BD_MONTH_NUM: i64 = 153
1412const BD_MONTH_SHIFT: i64 = 2
1413const BD_MONTH_SCALE: i64 = 5
1414const BD_MARCH: i64 = 3
1415const BD_JAN_FROM_MP: i64 = 9
1416const BD_MP_WRAP: i64 = 10
1417const BD_FEB: i64 = 2
1418const BD_TEN: i64 = 10
1419const BD_SHA_SHOWN: i64 = 12
1464const PR_READ_CAP: i64 = 65536 // announces when it binds; a .proposed file is rows, not a corpus
1465const PR_PATH_CAP: i64 = 600 // knowledge/compare/<dom>.proposed -- the reserve its sibling passes use
1466const PR_I64_BYTES: i64 = 8
1467const PR_NF: i64 = 10 // fields per prop| row, from the writer's own emit order (ip_emit)
1468const PR_SPLIT: i64 = 16 // field table: PR_NF plus room, so an over-long row is read whole rather than clipped to fit
1469const PR_F_TAG: i64 = 0
1470const PR_F_EPOCH: i64 = 1
1471const PR_F_APPID: i64 = 2
1472const PR_F_NAME: i64 = 3
1473const PR_F_SIGNAL: i64 = 4
1474const PR_F_KIND: i64 = 5
1475const PR_F_TERM: i64 = 6
1476const PR_F_DOMAIN: i64 = 7
1477const PR_F_TITLE: i64 = 8
1478const PR_F_EVIDENCE: i64 = 9
1479const PR_CH_COMMENT: i64 = 35
1480const PR_CH_LF: i64 = 10
1481const PR_CH_COMMA: i64 = 44
1482const PR_CH_COLON: i64 = 58
1483const PR_CH_LBRACE: i64 = 123
1484const PR_CH_RBRACE: i64 = 125
1485const PR_CH_LBRACKET: i64 = 91
1486const PR_CH_RBRACKET: i64 = 93
1492const PR_NAME_CAP: i64 = 256
1493const PR_NAME_DIR: *u8 = "knowledge/reviews/steam/"
1494const PR_NAME_DIR_UP: *u8 = "../knowledge/reviews/steam/"
1495const PR_NAME_SUFFIX: *u8 = ".name"
1605const FI_READ_CAP: i64 = 262144 // announces when it binds: a .field is rows, not a corpus
1606const FI_PATH_CAP: i64 = 600
1607const FI_I64_BYTES: i64 = 8
1608const FI_NF: i64 = 7 // rival|name|seeds_hit|mentions|first_seed|link|kind (nx_field_lib fl_emit)
1609const FI_SPLIT: i64 = 12
1610const FI_F_TAG: i64 = 0
1611const FI_F_NAME: i64 = 1
1612const FI_F_SEEDS: i64 = 2
1613const FI_F_MENTIONS: i64 = 3
1614const FI_F_FIRST: i64 = 4
1615const FI_F_LINK: i64 = 5
1616const FI_F_KIND: i64 = 6
1617const FI_SHOW: i64 = 60 // rows rendered; the rest are COUNTED and the stats line says shown of count
1618const FI_COLS_MAX: i64 = 16
1619const FI_CH_COMMENT: i64 = 35
1620const FI_CH_LF: i64 = 10
1621const FI_CH_PIPE: i64 = 124
1622const FI_CH_COMMA: i64 = 44
1623const FI_CH_COLON: i64 = 58
1624const FI_CH_LBRACE: i64 = 123
1625const FI_CH_RBRACE: i64 = 125
1626const FI_CH_LBRACKET: i64 = 91
1627const FI_CH_RBRACKET: i64 = 93
1628const FI_UPPER_A: i64 = 65
1629const FI_UPPER_Z: i64 = 90
1630const FI_CASE_DELTA: i64 = 32
1786const GP_PATH_CAP: i64 = 600
1787const GP_READ_CAP: i64 = 65536
1788const GP_SPLIT: i64 = 8
1789const GP_NF: i64 = 5
1790const GP_F_LABEL: i64 = 1
1791const GP_F_PATH: i64 = 2
1792const GP_F_CAD: i64 = 3
1793const GP_F_NOTE: i64 = 4
1794const GP_ROW_CAP: i64 = 1024
1795const GP_CH_NL: i64 = 10
1796const GP_CH_HASH: i64 = 35
1797const GP_CH_COMMA: i64 = 44
1798const GP_CH_COLON: i64 = 58
1799const GP_CH_LBRACKET: i64 = 91
1800const GP_CH_RBRACKET: i64 = 93
1801const GP_CH_LBRACE: i64 = 123
1802const GP_CH_RBRACE: i64 = 125
1915const GX_FEED: *u8 = "knowledge/recordgaps.conf.rows"
1916const GX_STAMP: *u8 = "knowledge/recordgaps.conf.stamp"
1917const GX_READ_CAP: i64 = 4194304
1918const GX_NF: i64 = 5
1919const GX_F_KIND: i64 = 0
1920const GX_F_NAME: i64 = 1
1921const GX_F_BOARD: i64 = 2
1922const GX_F_SRC: i64 = 3
1923const GX_F_EV: i64 = 4
1924const GX_HUB: *u8 = "ecosystem"
1925const GX_UNASSIGNED: *u8 = "UNASSIGNED"
2137const SGP_FIELDS: i64 = 8
2138const SGP_PATH_CAP: i64 = 600
2139const SGP_I64_MAX: i64 = 9223372036854775807

functions

20func w(fd: i64, s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(fd, s, n); return 0 }
21func wc(fd: i64, code: i64) -> i64 { let t: *u8 = sys_mmap(2); t[0] = code as u8; sys_write(fd, t, 1); return 0 }
22func wn(fd: i64, v: i64) -> i64
28func wj(fd: i64, s: *u8) -> i64
35func wq(fd: i64) -> i64 { wc(fd, 34); return 0 }
36func kv_s(fd: i64, key: *u8, val: *u8) -> i64 { wq(fd); w(fd, key); wq(fd); wc(fd, 58); wq(fd); wj(fd, val); wq(fd); return 0 }
37func kv_n(fd: i64, key: *u8, v: i64) -> i64 { wq(fd); w(fd, key); wq(fd); wc(fd, 58); wn(fd, v); return 0 }
38func c_read(path: *u8, buf: *u8, cap: i64) -> i64
44func streq(a: *u8, b: *u8) -> i64 { var i: i64 = 0; while a[i] != (0 as u8) { if a[i] != b[i] { return 0 } i = i + 1 } if b[i] != (0 as u8) { return 0 } return 1 }
45func starts(s: *u8, pfx: *u8) -> i64 { var i: i64 = 0; while pfx[i] != (0 as u8) { if s[i] != pfx[i] { return 0 } i = i + 1 } return 1 }
46func scopy(dst: *u8, doff: i64, src: *u8) -> i64 { var i: i64 = 0; while src[i] != (0 as u8) { dst[doff+i] = src[i]; i = i + 1 } return doff + i }
47func splitpipe(s: *u8, fld: *i64, maxf: i64) -> i64
52func wnote(fd: i64, s: *u8) -> i64
103func rv_code(s: *u8) -> i64
called by 1: rv_class
111func rv_note_cited(note: *u8) -> i64
116func rv_class(note: *u8, rf: *i64, rr: i64, stride: i64, ncol: i64) -> i64
126func rv_grade_claims(g: *u8) -> i64 { if g[0] == (66 as u8) { return 1 } if g[0] == (89 as u8) { return 1 } if g[0] == (126 as u8) { return 1 } return 0 }
called by 1: rv_class_grades
127func rv_class_grades(note: *u8, rf: *i64, rr: i64, stride: i64, first: i64, count: i64) -> i64
135func rv_name(c: i64) -> *u8
141func rp_base(p: *u8) -> *u8
called by 2: rp_publishrp_html
147func rp_publish(mir: *u8, dom: *u8) -> i64
191func rp_may_republish(cls: *u8) -> i64
210func rp_publish_gated(mir: *u8, dom: *u8, cls: *u8) -> i64
218func rp_json(fld: *i64, count: i64) -> i64
called by 1: refs_pass calls 4: wcwqwkv_s
236func rp_html(fld: *i64, count: i64, dom: *u8, hdr: *u8) -> i64
254func refs_pass(path: *u8, bufz: *u8, capz: i64, mode: i64, dom: *u8, hdr: *u8) -> i64
312func dstate(fd: i64, id: *u8, ds: *u8, dn: i64) -> i64
called by 1: plan_pass_heading calls 2: wwc
355func wlow(fd: i64, s: *u8) -> i64
380func swl_bar_state(fd: i64, buf: *u8, bidoff: *i64, bidlen: *i64, bym: *i64, bst: *i64, nb: i64, id: *u8) -> i64
399func swl_rung_deps(fd: i64, buf: *u8, ridoff: *i64, ridlen: *i64, rdoff: *i64, rdlen: *i64, nr: i64, id: *u8) -> i64
413func swl_release_epoch(s: *u8) -> i64
430func swl_release_candidate(epoch: *u8, kind: *u8, entry: *u8, current: i64, now: i64) -> i64
444func sc_heading_level(level: i64) -> i64 { if level<1 { return 2 }; if level>6 { return 2 }; return level }
445func sc_heading_open(fd: i64, level: i64, attrs: *u8) -> i64
448func sc_heading_close(fd: i64, level: i64) -> i64
452func plan_pass(path: *u8, bufz: *u8, capz: i64, phase: i64) -> i64 { return plan_pass_heading(path, bufz, capz, phase, 2) }
453func plan_pass_heading(path: *u8, bufz: *u8, capz: i64, phase: i64, heading_level: i64) -> i64
700func wp_status_text(st: i64) -> *u8
called by 1: watch_pass
707func wp_status_class(st: i64) -> *u8
called by 1: watch_pass
714func wp_classify(organ: *u8, sym: *u8, rule_out: *i64) -> i64
called by 1: watch_pass calls 3: streqstartssd_present
724func watch_pass(mpath: *u8, fd: i64, mode: i64) -> i64
825func pl_jint(buf: *u8, n: i64, from: i64, key: *u8) -> i64
called by 1: ppp_pass_heading
851func pl_off(buf: *u8, n: i64, name: *u8) -> i64
called by 1: ppp_pass_heading
864func pl_cell(fd: i64, v: i64) -> i64
called by 1: ppp_pass_heading calls 2: wwn
870func ppp_pass(dom: *u8, fd: i64, mode: i64) -> i64 { return ppp_pass_heading(dom, fd, mode, 2) }
871func ppp_pass_heading(dom: *u8, fd: i64, mode: i64, heading_level: i64) -> i64
1074func sc_brand() -> *u8
called by 1: sc_theme_pass
1081func sc_dark_open() -> *u8 { return "@media(prefers-color-scheme:dark){:root{\n" as *u8 }
called by 1: sc_theme_pass
1082func sc_dark_close() -> *u8 { return "}}\n" as *u8 }
called by 1: sc_theme_pass
1084func sc_theme_pass(fd: i64) -> i64
1163func sc_production_open(fd: i64, id: *u8, title: *u8, purpose: *u8) -> i64
calls 1: w
1167func sc_production_close(fd: i64) -> i64 { w(fd, "</div></section>\n" as *u8); return 0 }
calls 1: w
1169func sc_layout_pass(fd: i64) -> i64
calls 3: wwnsg_css
1268func evj_class(fired: i64, name: *u8, n: *i64) -> i64
called by 1: evj_pass calls 3: wcwqwj
1276func evj_pass(dom: *u8) -> i64
1421func bd_ymd(epoch: i64, dst: *u8, off: i64) -> i64
1444func bd_sha_short(fd: i64, s: *u8) -> i64
called by 1: bench_pass_heading calls 1: wc
1449func bd_status_class(st: i64) -> *u8
called by 1: bench_pass_heading
1496func pr_name_read(dir: *u8, appid: *u8, out: *u8, cap: i64) -> i64
called by 1: pr_name_lookup calls 3: sys_mmapscopyc_read
1508func pr_name_lookup(appid: *u8, out: *u8, cap: i64) -> i64
called by 1: prop_pass_heading calls 1: pr_name_read
1513func prop_pass(dom: *u8, fd: i64, mode: i64) -> i64 { return prop_pass_heading(dom, fd, mode, 2) }
1514func prop_pass_heading(dom: *u8, fd: i64, mode: i64, heading_level: i64) -> i64
called by 1: prop_pass calls 15: sys_mmapscopyc_readwcwqw+9
1631func fi_lc(c: i64) -> i64 { if c >= FI_UPPER_A { if c <= FI_UPPER_Z { return c + FI_CASE_DELTA } } return c }
called by 1: fi_ci_contains
1633func fi_ci_contains(hay: *u8, needle: *u8) -> i64
called by 1: field_pass_heading calls 1: fi_lc
1650func fi_head_word(col: *u8, out: *u8, cap: i64) -> i64
called by 1: field_pass_heading
1658func field_pass(dom: *u8, fd: i64, mode: i64, colv: *i64, ncols_in: i64) -> i64 { return field_pass_heading(dom, fd, mode, colv, ncols_in, 2) }
1659func field_pass_heading(dom: *u8, fd: i64, mode: i64, colv: *i64, ncols_in: i64, heading_level: i64) -> i64
1803func gauge_pass(dom: *u8, fd: i64, mode: i64) -> i64 { return gauge_pass_heading(dom, fd, mode, 2) }
1804func gauge_pass_heading(dom: *u8, fd: i64, mode: i64, heading_level: i64) -> i64
1926func gaps_pass(dom: *u8, fd: i64, mode: i64) -> i64 { return gaps_pass_heading(dom, fd, mode, 2) }
1927func gaps_pass_heading(dom: *u8, fd: i64, mode: i64, heading_level: i64) -> i64
2026func bench_pass(dom: *u8, fd: i64, mode: i64) -> i64 { return bench_pass_heading(dom, fd, mode, 2) }
2027func bench_pass_heading(dom: *u8, fd: i64, mode: i64, heading_level: i64) -> i64
2168func sg_len(s: *u8) -> i64 { var i: i64 = 0; while s[i] != (0 as u8) { i = i + 1 } return i }
2169func sg_id(s: *u8, n: i64) -> i64
2184func sg_split(s: *u8, f: *i64, capacity: i64, delimiter: i64) -> i64
called by 2: sg_ranksg_parse
2192func sg_decimal(s: *u8) -> i64
called by 1: sg_prefix_decimal
2202func sg_sha(b: *u8, n: i64) -> *u8
2211func sg_find(m: *SgPlan, name: *u8, length: i64) -> i64
called by 2: sg_ranksg_parse calls 1: sg_len
2224func sg_prefix_decimal(s: *u8, key: *u8) -> i64
called by 1: sg_rank calls 3: startssg_decimalsg_len
2228func sg_rank(m: *SgPlan, raw: *u8, n: i64) -> i64
2286func sg_parse(raw: *u8, n: i64, rank: *u8, rn: i64, matrix: *u8, mn: i64) -> *SgPlan
2391func sg_valid(m: *SgPlan) -> i64
2396func sg_rank_state(m: *SgPlan) -> *u8
2405func sg_load(domain: *u8) -> *SgPlan
2429func sg_growth_json(g: *CgModel,fd: i64) -> i64
2445func sg_growth_text(g: *CgModel,row: i64,col: i64,fd: i64) -> i64
2453func sg_growth_detail(g: *CgModel,row: i64,col: i64,label: *u8,fd: i64) -> i64
called by 1: sg_growth_html calls 2: wsg_growth_text
2456func sg_growth_html(g: *CgModel,fd: i64,heading: i64) -> i64
2507func sg_json(m: *SgPlan, fd: i64) -> i64
2545func sg_text(fd: i64, s: *u8) -> i64
2556func sg_html(m: *SgPlan, fd: i64) -> i64 { return sg_html_heading(m, fd, 2) }
called by 2: mainmain calls 1: sg_html_heading
2557func sg_html_heading(m: *SgPlan, fd: i64, heading_level: i64) -> i64
2592func sg_css(fd: i64) -> i64
called by 2: mainsc_layout_pass calls 1: w