code wiki / _hdl_build / nx_compare_cite_gate.nx

nx_compare_cite_gate.nx

buildroot/runtime/_hdl_build/nx_compare_cite_gate.nx

11935 B169 linesdepth 5pulls 9 transitivereach 0 importersview sourcekind gate/prooftopic compare
docsdependenciesstructsconstsfunctions

about

nx_compare_cite_gate.nx -- END-TO-END PROOF of nx_compare_cite: the ref row and its inline mark land together under compare-and-swap, the pin is COMPUTED from the mirror, exactly one row is marked, a re-run is a no-op, and every refusal leaves both files byte-identical (hash-compared, never size). Runs the PROMOTED organ (/volume1/homes/elderwesto/nishihost/nx_compare_cite.elf) with cwd = a /tmp fixture tree that mirrors the estate's shape (buildroot/knowledge/compare/<dom>.refs|.matrix and knowledge/fetched/<mirror>), so production data is unreachable by construction. The organ composes nx_atomic_publish by absolute path, so that promoted twin is a gv_need precondition, not an assumption. license_tier: ORIGINAL No hw writes (Rule 26). expect_exit: 0

dependencies 5 imports · 0 importers

nx_syscalls.nx nx_sha256.nx nx_gate_verdict.nx nx_gatekit_lib.nx nx_tool_run.nx nx_compare_cite_gate.nx

imports: nx_syscalls.nxnx_sha256.nxnx_gate_verdict.nxnx_gatekit_lib.nxnx_tool_run.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main gv_ctr sys_mmap nxa_die sys_write sys_exit nxa_lock_take nxa_lock_addr sys_write ↻ nxa_lock_give nxa_lock_addr ↻ nxa_report_overrun sys_write ↻ nxa_dump_printable sys_write ↻ nxa_dump_sizes sys_write ↻ w sys_write ↻ sys_mmap ↻ sys_getcwd sys_mmap ↻ gk_mkdir sys_mkdir gk_write sys_openat_wr gk_len gk_write_all sys_write ↻ sys_close gk_out_has gk_len ↻ gv_check gv_puts sys_write ↻ gk_cat cg_hash sys_mmap ↻ sys_read_file sys_openat_rd

structs

none

consts

16const CG_FIX: *u8 = "/tmp/nx_compare_cite_gate"
17const CG_ELF: *u8 = "/volume1/homes/elderwesto/nishihost/nx_compare_cite.elf"
18const CG_PUB: *u8 = "/volume1/homes/elderwesto/nishihost/nx_atomic_publish.elf"
19const CG_REFS: *u8 = "/tmp/nx_compare_cite_gate/buildroot/knowledge/compare/fx.refs"
20const CG_MATRIX: *u8 = "/tmp/nx_compare_cite_gate/buildroot/knowledge/compare/fx.matrix"
21const CG_MIRROR: *u8 = "/tmp/nx_compare_cite_gate/knowledge/fetched/fx_mirror.html"
22const CG_MIRROR_REL: *u8 = "knowledge/fetched/fx_mirror.html"
23const CG_SPEC: *u8 = "/tmp/nx_compare_cite_gate/spec.txt"
24const CG_SPEC_ARG: *u8 = "@/tmp/nx_compare_cite_gate/spec.txt"
25const CG_OUTCAP: i64 = 65536
26const CG_PATHCAP: i64 = 512
27const CG_HEX: i64 = 64
28const CG_ARGV: i64 = 12

functions

30func w(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 }
called by 1: main calls 1: sys_write
33func cg_hash(path: *u8, hex: *u8) -> i64
47func cg_cite(dom: *u8, key: *u8, label: *u8, cite: *u8, url: *u8, mirror: *u8, cls: *u8, grounds: *u8, out: *u8, outn: *i64) -> i64
called by 1: main calls 2: sys_mmaptr_run_capture
62func main() -> i64