code wiki / _hdl_build / nx_common_tasks.nx
nx_common_tasks.nx
buildroot/runtime/_hdl_build/nx_common_tasks.nx
about
nx_common_tasks.nx -- THE COMMON-TASK CANONICAL REGISTRY (operator 2026-07-17: "arent thing like
api and cron a workstream ... we need logical reviews of all these common tasks that should be unified").
A sovereign seg-store catalog (knowledge/store/commontask-) of the recurring ecosystem "verbs": for each,
the ONE canonical organ, its RACI owner, exposure state, and the CONSOLIDATION DEBT (how many bespoke
duplicates bypass the canonical). This is the logical review made DURABLE + STORE-LAW (no flat .tsv) +
OWNED -- the SSOT future sessions consult so nobody re-hand-rolls publish/cron/gate/seed again.
Reuses frs_seed/frs_load (the generic tsv-buffer<->seg-store codec) -- dogfooding the very "one store-seed,
not 30 bespoke" unification this registry records as debt.
verbs: seed | list (default -> JSON, the api/mcp/agent interchange) | html (-> argv[2] or stdout)
license_tier: ORIGINAL No hw writes (Rule 26). expect_exit: 0
dependencies 4 imports · 0 importers
imports: nx_frontier_store.nxnx_seg_store.nxnx_syscalls.nxnx_html_head.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| 16 | const CT_PREFIX: *u8 = "knowledge/store/commontask-" |
| 17 | const CT_NREC: i64 = 10 // number of catalog records |
| 18 | const CT_NFLD: i64 = 7 // fields per record |
| 19 | const CT_TAB: i64 = 9 |
| 20 | const CT_NL: i64 = 10 |
| 21 | const CT_ZERO: i64 = 48 |
| 22 | const CT_HTMLH: i64 = 104 // 'h' -- html verb selector |
| 23 | const CT_SEEDS: i64 = 115 // 's' -- seed verb selector |
| 24 | const CT_QCAP: i64 = 262144 |
| 25 | const CT_OUTCAP: i64 = 262144 |
| 26 | const CT_SPWORDS: i64 = 16 // 7 fields * 2 (start,end) + slack, in i64 |
| 27 | const CT_STDERR: i64 = 2 |
| 28 | const CT_ARGC_OUT: i64 = 3 |
| 29 | const CT_IDX_OUT: i64 = 2 |
| 30 | const CT_PAIR: i64 = 2 // ct_cols stores each field as a (start,end) pair |
| 31 | const CT_DQUOTE: i64 = 34 // '"' -- JSON escape |
| 32 | const CT_BSLASH: i64 = 92 // '\' -- JSON escape |
| 33 | const CT_MODE: i64 = 0x1a4 // 0644 html out perms |
| 34 | const CT_I64: i64 = 8 // sizeof(i64) -- sp pair-array stride |
| 35 | const CT_VHTML: i64 = 2 // verb selector: emit HTML board |
| 37 | const CTF_TASK_A: i64 = 0 |
| 38 | const CTF_TASK_B: i64 = 1 |
| 39 | const CTF_ORGAN_A: i64 = 2 |
| 40 | const CTF_ORGAN_B: i64 = 3 |
| 41 | const CTF_OWNER_A: i64 = 4 |
| 42 | const CTF_OWNER_B: i64 = 5 |
| 43 | const CTF_EXP_A: i64 = 6 |
| 44 | const CTF_EXP_B: i64 = 7 |
| 45 | const CTF_STATE_A: i64 = 8 |
| 46 | const CTF_STATE_B: i64 = 9 |
| 47 | const CTF_DUPS_A: i64 = 10 |
| 48 | const CTF_DUPS_B: i64 = 11 |
| 49 | const CTF_NOTE_A: i64 = 12 |
| 50 | const CTF_NOTE_B: i64 = 13 |
functions
| 52 | func ct_slen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n } called by 1: ct_werr |
| 53 | func ct_werr(s: *u8) -> i64 { sys_write(CT_STDERR, s, ct_slen(s)); return 0 } |
| 54 | func ct_puts(buf: *u8, off: i64, s: *u8) -> i64 |
| 60 | func ct_putsl(buf: *u8, off: i64, q: *u8, a: i64, b: i64) -> i64 called by 1: main |
| 67 | func ct_putj(buf: *u8, off: i64, q: *u8, a: i64, b: i64) -> i64 called by 1: main |
| 80 | func ct_cols(q: *u8, ls: i64, le: i64, sp: *i64) -> i64 called by 1: main |
| 97 | func ct_row(buf: *u8, o: i64, rec: *u8) -> i64 |
| 103 | func ct_seed() -> i64 |
| 127 | func main(argc: i64, argv: *i64) -> i64 |