nx_dependency_audit.nx
buildroot/runtime/nx_dependency_audit.nx
about
nx_dependency_audit.nx -- traces ACTUAL runtime + build deps.
module: nishi-core.audit.dependency_audit
depends: nishi-core.audit.wired_status, nishi-core.io.syscalls
disk_kb: 5
capability: CORE_IO
wired_status: PARTIAL_WIRED
license_tier: PUBLIC_NISHI_SUBSTRATE
genealogy_id: nishi_no_false_ok_cardinal_2026 +
software_engineering_dependency_analysis +
supply_chain_audit_pattern
Per cardinal [[feedback-no-false-ok-substrate-honesty-audit]]:
substrate dep tracer walks the compile + link + run dep chain for
any Nishi program; classifies each transitive dep honestly:
NISHI_SUBSTRATE = bits-up `.nx` file in nishi-core /
nishi-engine / nishi-library / etc.
WHEELER_ANCHOR = C-side bootstrap kept-but-not-extended
per cardinal (nxc2/*.c, gcc, GNU
binutils, qemu, libc, kernel) — these
ARE external deps, we just label them
honestly as anchors not "bits-up"
EXTERNAL_RUNTIME_REQUIRED = third-party SaaS / Python / npm dep
(CARDINAL VIOLATION if found in
Nishi family code)
PUBLIC_PROTOCOL_OR_GOV = TCP/IP, DNS root, USPS, NACHA, etc.
per [[nishi-stack-is-bits-up-sovereign-
always-no-third-party]] edge case
===== Why this matters ===========================================
I claimed in external prose "we're off C" multiple times during
this arc when the verified state is:
nxc2.exe gcc-built; WHEELER_ANCHOR
nxc2/*.c source kept-but-not-extended; WHEELER_ANCHOR
GNU as assembles RV64 .s → ELF; WHEELER_ANCHOR
GNU ld links ELF; WHEELER_ANCHOR
dependencies 2 imports · 1 importers
imports: nx_syscalls.nxnx_wired_status.nx
imported by: nx_honesty_grader.nx
structs
| 113 | struct DepRecord |
| 127 | struct DepAuditReport |
consts
| 56 | const NX_DA_OK: i64 = 1 |
| 57 | const NX_DA_WHEELER_DEPS_PRESENT: i64 = 2 // honest: gcc/binutils/qemu still needed |
| 58 | const NX_DA_CARDINAL_VIOLATION: i64 = 3 // third-party SaaS or new C/Python dep |
| 59 | const NX_DA_PUBLIC_PROTOCOL_OK: i64 = 4 // government rail / open RFC |
| 60 | const NX_DA_SCAN_FAIL: i64 = 5 |
| 73 | const NX_DEP_NISHI_SUBSTRATE: i64 = 1 |
| 74 | const NX_DEP_WHEELER_ANCHOR_COMPILER: i64 = 2 // gcc / clang building nxc2.exe |
| 75 | const NX_DEP_WHEELER_ANCHOR_BINUTILS: i64 = 3 // GNU as + ld |
| 76 | const NX_DEP_WHEELER_ANCHOR_QEMU: i64 = 4 // cross-emulator |
| 77 | const NX_DEP_WHEELER_ANCHOR_LIBC: i64 = 5 |
| 78 | const NX_DEP_WHEELER_ANCHOR_KERNEL: i64 = 6 // Linux syscalls |
| 79 | const NX_DEP_WHEELER_ANCHOR_HOST_OS: i64 = 7 // Windows / Linux shell + git |
| 80 | const NX_DEP_PUBLIC_PROTOCOL: i64 = 8 // RFC standard |
| 81 | const NX_DEP_GOV_RAIL: i64 = 9 // USPS / NACHA / Fedwire / etc. |
| 82 | const NX_DEP_EXTERNAL_PYTHON_SAAS: i64 = 10 // CARDINAL VIOLATION |
| 83 | const NX_DEP_EXTERNAL_NPM_NODE: i64 = 11 // CARDINAL VIOLATION |
| 84 | const NX_DEP_EXTERNAL_CLOUD_SAAS: i64 = 12 // CARDINAL VIOLATION (Stripe / AWS / etc.) |
| 85 | const NX_DEP_UNKNOWN: i64 = 13 |
| 123 | const NX_DEP_RECORD_BYTES: i64 = 56 // 7 fields * 8 bytes |
| 140 | const NX_DEP_AUDIT_REPORT_BYTES: i64 = 80 // 10 fields * 8 bytes |
| 147 | const NX_DEP_MANIFEST_SIZE: i64 = 8 |
| 186 | const NX_OFF_C_HONEST_SCORE_TODAY: i64 = 0 // 0% off-C: every build path passes through a Wheeler anchor |
| 195 | const NX_ANCHOR_REPLACE_NXC2_C: i64 = 1 // → nxc2/self_host/*.nx (queued ~33 sessions) |
| 196 | const NX_ANCHOR_REPLACE_GNU_AS: i64 = 2 // → nxasm_v2 (substrate work; partial) |
| 197 | const NX_ANCHOR_REPLACE_GNU_LD: i64 = 3 // → nx_elf_writer (substrate work) |
| 198 | const NX_ANCHOR_REPLACE_QEMU: i64 = 4 // → native execution (depends on target ISA) |
| 199 | const NX_ANCHOR_REPLACE_LIBC: i64 = 5 // → nx_syscalls direct (mostly done) |
| 200 | const NX_ANCHOR_REPLACE_LINUX_KERNEL: i64 = 6 // → NishiOS (long arc; ~years) |
| 201 | const NX_ANCHOR_REPLACE_HOST_OS: i64 = 7 // → NishiOS (long arc; ~years) |
functions
| 62 | func nx_da_verdict_name(v: i64) -> *u8 |
| 87 | func nx_dep_class_name(c: i64) -> *u8 |
| 104 | func nx_dep_is_cardinal_violation(c: i64) -> i64 |
| 149 | func nx_dep_audit_canonical_today() -> i64 |
| 180 | func nx_dep_audit_off_c_score(report: *DepAuditReport) -> i64 |