code wiki / _hdl_build / nx_suitebench.nx

nx_suitebench.nx

buildroot/runtime/_hdl_build/nx_suitebench.nx

17456 B357 linesdepth 3pulls 4 transitivereach 0 importersview sourcekind bench
docsdependenciesstructsconstsfunctions

about

nx_suitebench.nx -- THE SUITE RULER. Operator 2026-07-25: "get our website components like opaque, personal calendar, shared calendar, personal gallery, shared gallery, personal contact info, shared contact info, digital gifts, etc above telegram discord etc ... benchmark and make our ux easier and keep it web app based so anyone with a browser can use it." WHY A RULER FIRST. The existing instruments cannot answer that request. nx_connect_maturity grades 16 MESSAGING axes and has no row at all for calendar, gallery, contact info or gifts -- the operator's whole component list is UNMEASURED there. nx_connect_h2h_exceed grades 4 integrity axes. Neither can say which component to build next, so the build order would be taste. This ruler makes it a measurement. THE THREE RULES THAT KEEP IT HONEST (each is mechanical, none is a promise): 1. OUR side goes through hg_grade, the shared cynical bar. A stub-tell in the evidence caps the row at STUB and a REAL claim without an active reality token caps at PARTIAL. Wording cannot lift a toy. 2. THEIR side must be CITED. Every "the incumbent HAS this" cell names a file and a literal phrase, and the phrase is searched in the banked bytes at run time. One uncited claim turns the whole ruler RED. An incumbent fact I cannot cite is a fact I am not allowed to assert. 3. ONLY EXT CELLS COUNT. Parity and beat are computed over cells where an incumbent actually HAS the capability. Cells they lack are excluded, so we can never look good by scoring ourselves against a capability nobody ships. Unmeasured cells are excluded AND counted AND printed, so the instrument declares its own blind spots rather than hiding them inside a clean percentage. Rows are DATA (knowledge/registry/suitebench.axes + .rivals), so a new axis needs no rebuild (rule 11). The gap_queue is COMPUTED -- rank = (how many incumbents ship it) * (how far short we are) -- so the build order falls out of the measurement instead of being asserted by the author. nx_suitebench human-readable table + summary nx_suitebench --json machine JSON for the page emitter and MCP callers license_tier: ORIGINAL expect_exit: 0

dependencies 2 imports · 0 importers

nx_suitebench_lib.nx nx_honesty_grade_lib.nx nx_suitebench.nx

imports: nx_suitebench_lib.nxnx_honesty_grade_lib.nx

imported by: nobody (leaf or entry point)

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

main sb_eq sb_read_rooted sb_join sb_root sb_read sys_openat_rd sys_read sys_close sb_which_root sb_join ↻ sb_root ↻ sb_read ↻ sb_w sb_split sb_atoi hg_grade hg_stub_tell hg_contains hg_slen hg_has_real_proof hg_contains ↻ sb_find sb_len hg_readiness sb_wn sb_root ↻ sb_pad sb_w ↻ sb_len ↻

structs

none

consts

33const SB_MAXAX: i64 = 64
34const SB_MAXRV: i64 = 512
35const SB_AXBUF: i64 = 65536
36const SB_RVBUF: i64 = 65536
37const SB_CORPUS: i64 = 1048576
38const SB_CACHE: i64 = 12
39const SB_PATH: i64 = 512

functions

41func sb_w(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 }
called by 2: sb_padmain
42func sb_wn(v: i64) -> i64 {
called by 1: main
53func sb_pad(s: *u8, w: i64) -> i64 {
called by 1: main calls 2: sb_wsb_len
67func main(argc: i64, argv: *i64) -> i64 {