code wiki / wiki / nx_pipeline_recursive_walker.nx

nx_pipeline_recursive_walker.nx

buildroot/runtime/wiki/nx_pipeline_recursive_walker.nx

10981 B261 linesdepth 6pulls 12 transitivereach 1 importersview sourcekind librarytopic pipeline
docsdependenciesstructsconstsfunctions

about

nx_pipeline_recursive_walker.nx -- V2.5 recursive directory walker expanding pipeline classification from 24 hardcoded paths to all substrate artifacts under operator-supplied roots. Per operator cardinal 2026-05-27: "lots and lots of parts of this on the gitea" -- this walker discovers ALL .nx / .md / .sh files in the substrate without operator maintaining a hardcoded list. COMPOSES (per "avoid duplicate primitives" cardinal): nx_dir (sovereign getdents64 wrapper; NxDirRow + nx_dir_list) wiki/nx_pipeline_walker (V2.0 P-1; per-file taxonomy + stage derivation) wiki/nx_artifact_store (V2.0 P-2; data destination) nx_syscalls (sys_mmap) COMPOSED BY: wiki/nx_wiki_main (startup; replaces hardcoded 24-path list) V2.5 SCOPE: - Recursive walk bounded by max-depth + max-entries - Per-extension filter (.nx / .md / .sh; skip everything else) - Skip dot-like entries (., .., .git, .DS_Store hidden) - Skip _site/ subdirs (generated content; not source artifacts) - Per-root call; caller iterates over roots V3+ SCOPE (TODO): - Operator-configurable exclude patterns (.gitignore parser) - Symlink loop detection - Incremental walk (only re-process changed; content-hash diff) - Per-file last-commit-hash via nx_git_walk Status: V2.5. 2026-05-27.

dependencies 5 imports · 1 importers

nx_syscalls.nx nx_dir.nx nx_pipeline_walker.nx nx_artifact_store.nx nx_html_extract.nx nx_pipeline_recursive_walker.n nx_wiki_main.nx

imports: nx_syscalls.nxnx_dir.nxnx_pipeline_walker.nxnx_artifact_store.nxnx_html_extract.nx

imported by: nx_wiki_main.nx

structs

none

consts

40const NX_PREC_OK: i64 = 0
41const NX_PREC_BAD_INPUT: i64 = 3000
42const NX_PREC_DIR_LIST_FAILED: i64 = 3001
43const NX_PREC_MAX_DEPTH_EXCEEDED: i64 = 3002
44const NX_PREC_STORE_FULL: i64 = 3003
45const NX_PREC_LOOP_BUDGET: i64 = 3004
46const NX_PREC_PATH_TOO_LONG: i64 = 3005
49const NX_PREC_MAX_DEPTH: i64 = 8
50const NX_PREC_MAX_ENTRIES_PER_DIR: i64 = 4096
51const NX_PREC_PATH_BUF_CAP: i64 = 1024
52const NX_PREC_NAME_ARENA_CAP: i64 = 65536 // 64 KB per dir-list batch
53const NX_PREC_LOOP_BUDGET_CAP: i64 = 100000

functions

60func nx_prec_is_eligible_ext(name: *u8, name_n: i64) -> i64
85func nx_prec_should_skip_subdir(name: *u8, name_n: i64) -> i64
120func nx_prec_build_path(out_path: *u8, cap: i64,
142func nx_pipeline_recursive_walk(store: *NxArtifactStore,
229func nx_pipeline_recursive_walk_roots(store: *NxArtifactStore,