nx_artifact_store.nx
buildroot/runtime/wiki/nx_artifact_store.nx
about
nx_artifact_store.nx -- pipeline-aware artifact metadata store.
Extension of NxWikiDocStore (V1 SHIPPED at 08e67598) with pipeline
stage + V5 living-docs taxonomy fields (per V2_0_PIPELINE_BOOTSTRAP_ARC_PLAN ยง2.0).
COMPOSES (zero new tokenization / parse / hash code):
wiki/nx_wiki_index_builder (NxWikiDocStore base)
nx_search_inverted (nx_inv_hash_bytes_lower for path-hash)
COMPOSED BY:
wiki/nx_pipeline_walker.nx (P-1; populates this store)
wiki/nx_pipeline_route.nx (P-3; renders this store as /wiki/pipeline)
Per operator cardinal 2026-05-27 "from zero everything nishi": pure
NishiLang; composes existing audit primitives (nx_doc_xref D22 +
nx_doc_census D1); zero bash + sed.
V2.0 SCOPE:
- Parallel-pool storage per artifact (path / kind / pipeline_stage /
quadrant / topic_type / status / trust_state / competitive_state /
last_commit_hash / line_count)
- Insert + lookup by path-hash (FNV-1a 64 via existing primitive)
- Iterate by stage + by kind (filtered scans)
Status: V2.0. 2026-05-27.
dependencies 2 imports · 16 importers
diagram shows first 10 each side; +0 more imports, +6 more importers in the complete lists below.
imports: nx_syscalls.nxnx_search_inverted.nx
imported by: _wiki_cite_gate.nx_wiki_cite_live_gate.nx_wiki_frontend_gate.nx_wiki_integrate_gate.nx_wiki_wikilink_gate.nxnx_pipeline_banner.nxnx_pipeline_graph_builder.nxnx_pipeline_recursive_walker.nxnx_pipeline_route.nxnx_pipeline_walker.nxnx_wiki_doc_handler.nxnx_wiki_https_daemon.nxnx_wiki_https_daemon_mv.nxnx_wiki_main.nxnx_wiki_routes.nxnx_wiki_vhost_table.nx
structs
| 109 | struct NxArtifactStore |
consts
| 31 | const NX_ART_OK: i64 = 0 |
| 32 | const NX_ART_BAD_INPUT: i64 = 2900 |
| 33 | const NX_ART_STORE_FULL: i64 = 2901 |
| 34 | const NX_ART_POOL_OVERFLOW: i64 = 2902 |
| 35 | const NX_ART_NOT_FOUND: i64 = 2903 |
| 36 | const NX_ART_DUPLICATE_PATH: i64 = 2904 |
| 37 | const NX_ART_BAD_STAGE: i64 = 2905 |
| 40 | const NX_ART_STAGE_UNSTRUCTURED: i64 = 0 |
| 41 | const NX_ART_STAGE_STRUCTURED: i64 = 1 |
| 42 | const NX_ART_STAGE_MEANINGFUL: i64 = 2 |
| 43 | const NX_ART_STAGE_ACTIONABLE: i64 = 3 |
| 44 | const NX_ART_STAGE_REPEATABLE: i64 = 4 |
| 45 | const NX_ART_STAGE_N: i64 = 5 |
| 48 | const NX_ART_KIND_UNKNOWN: i64 = 0 |
| 49 | const NX_ART_KIND_RUNTIME_NX: i64 = 1 // nxc2/runtime/*.nx |
| 50 | const NX_ART_KIND_CHARTER_MD: i64 = 2 // nishi-silicon/*.md |
| 51 | const NX_ART_KIND_BENCH_SH: i64 = 3 // nxc2/bench/*.sh |
| 52 | const NX_ART_KIND_RFC_MD: i64 = 4 // nishi-silicon/RFC*.md or *_DOCTRINE_*.md |
| 53 | const NX_ART_KIND_MEMORY_MD: i64 = 5 // memory/*.md (operator-private) |
| 54 | const NX_ART_KIND_DASHBOARD_MD: i64 = 6 // nxc2/docs/dashboards/*.md |
| 55 | const NX_ART_KIND_SILICON_ARC: i64 = 7 // nishi-silicon/hdl/*.md or *.nx |
| 56 | const NX_ART_KIND_TEST_NX: i64 = 8 // *_test.nx |
| 57 | const NX_ART_KIND_OTHER: i64 = 9 |
| 58 | const NX_ART_KIND_N: i64 = 10 |
| 61 | const NX_ART_QUAD_NONE: i64 = 0 // missing front-matter |
| 62 | const NX_ART_QUAD_TUTORIAL: i64 = 1 |
| 63 | const NX_ART_QUAD_HOWTO: i64 = 2 |
| 64 | const NX_ART_QUAD_REFERENCE: i64 = 3 |
| 65 | const NX_ART_QUAD_EXPLANATION: i64 = 4 |
| 66 | const NX_ART_QUAD_N: i64 = 5 |
| 69 | const NX_ART_DITA_NONE: i64 = 0 |
| 70 | const NX_ART_DITA_TASK: i64 = 1 |
| 71 | const NX_ART_DITA_CONCEPT: i64 = 2 |
| 72 | const NX_ART_DITA_REFERENCE: i64 = 3 |
| 73 | const NX_ART_DITA_GLOSSARY: i64 = 4 |
| 74 | const NX_ART_DITA_N: i64 = 5 |
| 77 | const NX_ART_STATUS_NONE: i64 = 0 |
| 78 | const NX_ART_STATUS_CANONICAL: i64 = 1 |
| 79 | const NX_ART_STATUS_WIP: i64 = 2 |
| 80 | const NX_ART_STATUS_DEPRECATED: i64 = 3 |
| 81 | const NX_ART_STATUS_N: i64 = 4 |
| 84 | const NX_ART_TRUST_NONE: i64 = 0 |
| 85 | const NX_ART_TRUST_WRITTEN_UNTESTED: i64 = 1 |
| 86 | const NX_ART_TRUST_WEBSEARCH_VERIFIED: i64 = 2 |
| 87 | const NX_ART_TRUST_EXPERT_VERIFIED: i64 = 3 |
| 88 | const NX_ART_TRUST_PERSONALLY_MEASURED: i64 = 4 |
| 89 | const NX_ART_TRUST_N: i64 = 5 |
| 92 | const NX_ART_COMP_NONE: i64 = 0 |
| 93 | const NX_ART_COMP_UNCLASSIFIED: i64 = 1 |
| 94 | const NX_ART_COMP_UNDER: i64 = 2 |
| 95 | const NX_ART_COMP_MATCHES: i64 = 3 |
| 96 | const NX_ART_COMP_BEATS: i64 = 4 |
| 97 | const NX_ART_COMP_N: i64 = 5 |
| 100 | const NX_ART_DEFAULT_CAP: i64 = 1000 // V2.0 bounded; covers ~230 known artifacts + headroom |
| 101 | const NX_ART_HARD_CAP: i64 = 10000 |
| 102 | const NX_ART_PATH_POOL_CAP: i64 = 524288 // 512 KB packed paths |
| 103 | const NX_ART_HASH_POOL_CAP: i64 = 524288 // 512 KB packed commit hashes |
| 104 | const NX_ART_MAX_PATH_LEN: i64 = 512 |
| 105 | const NX_ART_LOOP_BUDGET_CAP: i64 = 10000000 |
functions
| 148 | func nx_artifact_store_init(s: *NxArtifactStore, cap: i64) -> i64 |
| 188 | func nx_artifact_store_add(s: *NxArtifactStore, |
| 251 | func nx_artifact_store_set_taxonomy(s: *NxArtifactStore, rowid: i64, called by 1: nx_pipeline_walker_walk_one |
| 280 | func nx_artifact_store_set_stats(s: *NxArtifactStore, rowid: i64, called by 1: nx_pipeline_walker_walk_one |
| 305 | func nx_artifact_store_derive_stage(s: *NxArtifactStore, rowid: i64) -> i64 called by 1: nx_pipeline_walker_walk_one |
| 354 | func nx_artifact_store_count(s: *NxArtifactStore) -> i64 called by 1: nx_proute_render_table |
| 359 | func nx_artifact_store_count_by_stage(s: *NxArtifactStore, stage: i64) -> i64 |
| 372 | func nx_artifact_store_path_at(s: *NxArtifactStore, rowid: i64, |
| 384 | func nx_artifact_store_stage_at(s: *NxArtifactStore, rowid: i64) -> i64 |
| 391 | func nx_artifact_store_kind_at(s: *NxArtifactStore, rowid: i64) -> i64 |
| 400 | func nx_artifact_store_find_by_path(s: *NxArtifactStore, |
| 414 | func nx_art_stage_name(s: i64) -> *u8 |
| 423 | func nx_art_kind_name(k: i64) -> *u8 called by 1: nx_proute_render_row |