code wiki / _hdl_build / nx_pipeline_spine.nx

nx_pipeline_spine.nx

buildroot/runtime/_hdl_build/nx_pipeline_spine.nx

4903 B118 linesdepth 4pulls 5 transitivereach 2 importersview sourcekind librarytopic pipeline
docsdependenciesstructsconstsfunctions

about

nx_pipeline_spine.nx -- R1: the SOVEREIGN PIPELINE SPINE (the missing chain). One seg-store state machine that every stage organ plugs into, so discover->research->spec->build is ONE system, not 23 scattered ones. A work-item advances ONE stage at a time and -- the load-bearing invariant -- CANNOT skip: a capability can never reach BUILT/EXCEEDED without passing RESEARCH and SPEC in order. That mechanically forbids fabricated completion (the discipline the scattered organs lacked: any of them could just claim done). Reuses the proven ws_put_p/ws_get_p/ws_field (idempotent, atomic commit) under a dedicated prefix -- NO TSV, sovereign. license_tier: ORIGINAL

dependencies 4 imports · 2 importers

nx_workstream_store.nx nx_seg_store.nx nx_framed_append.nx nx_syscalls.nx nx_pipeline_spine.nx nx_pipeline_gate.nx nx_pipeline_run.nx

imports: nx_workstream_store.nxnx_seg_store.nxnx_framed_append.nxnx_syscalls.nx

imported by: nx_pipeline_gate.nxnx_pipeline_run.nx

structs

none

consts

12const PL_MAGIC_1024: i64 = 1024
14const PL_PREFIX: *u8 = "knowledge/store/pl-"
16const PL_DISCOVERED: i64 = 1
17const PL_RESEARCHED: i64 = 2
18const PL_SPECED: i64 = 3
19const PL_BUILT: i64 = 4
20const PL_EXCEEDED: i64 = 5

functions

22func pl_slen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
25func pl_atoi(s: *u8, n: i64) -> i64
called by 1: pl_stage_p
36func pl_build_key(id: *u8, out: *u8) -> i64
47func pl_build_rec(id: *u8, stage: i64, gap: *u8, artifact: *u8, ts: i64, out: *u8) -> i64
called by 2: pl_seed_ppl_advance_p calls 2: fa_catfa_catn
63func pl_stage_p(prefix: *u8, id: *u8) -> i64
75func pl_field_p(prefix: *u8, id: *u8, f: i64, out: *u8) -> i64
85func pl_seed_p(prefix: *u8, id: *u8, gap: *u8) -> i64
99func pl_advance_p(prefix: *u8, id: *u8, expect_from: i64, artifact: *u8) -> i64
114func pl_seed(id: *u8, gap: *u8) -> i64 { return pl_seed_p(PL_PREFIX, id, gap) }
calls 1: pl_seed_p
115func pl_advance(id: *u8, expect_from: i64, artifact: *u8) -> i64 { return pl_advance_p(PL_PREFIX, id, expect_from, artifact) }
calls 1: pl_advance_p
116func pl_stage(id: *u8) -> i64 { return pl_stage_p(PL_PREFIX, id) }
calls 1: pl_stage_p