code wiki / _hdl_build / nx_evoracle_sweep.nx
nx_evoracle_sweep.nx
buildroot/runtime/_hdl_build/nx_evoracle_sweep.nx
about
nx_evoracle_sweep.nx -- DERIVE ORACLE ROWS ACROSS THE THIRD-PARTY POPULATION, on the host that SERVES
the claims, and WRITE the attestation file.
Separate organ from the single-subject producer on purpose (rule 9): measuring ONE subject and driving a
FLEET are different jobs, and the fleet driver has a failure mode the single-shot one does not --
PARTIAL COVERAGE THAT READS AS COMPLETE. So DERIVED / REFUSED / NO-ELF / NOT-GREEN are counted and
printed separately and never collapsed. A gate we could not test and a gate that failed must never look
the same, or the sweep becomes the thing it audits.
PATHS ARE NAS-NATIVE: subjects at buildroot/runtime/_hdl_build/, artifacts at buildroot/_build/. The
laptop keeps them at runtime/_hdl_build/ and _build/ -- the artifact-root class this ecosystem has been
bitten by five times. Declared here rather than guessed.
ROWS ARE UNSIGNED, AND at_verify_row WILL REFUSE THEM. That is the honest end state for an agent:
knowledge/attest_keys.conf is absent because nx_fs_write denies paths matching `key`, and an agent that
can register its own signing key can certify its own work. This organ supplies the DERIVATION; only a
key the operator holds supplies the ATTRIBUTION.
license_tier: ORIGINAL expect_exit: 0
dependencies 4 imports · 0 importers
imports: nx_syscalls.nxnx_itoa_lib.nxnx_sha256_wasm.nxnx_evoracle.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| 23 | const K_MAGIC_1024: i64 = 1024 |
| 24 | const K_MAGIC_65536: i64 = 65536 |
| 39 | const SWEEP_CONF_CAP: i64 = 65536 |
| 40 | const SWEEP_CONF_MAXROWS: i64 = 256 |
| 41 | const SWEEP_TOK_CAP: i64 = 128 |
functions
| 26 | func w(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 } |
| 27 | func wb(b: *u8, n: i64) -> i64 { sys_write(1, b, n); return 0 } |
| 33 | func nn(v: i64) -> i64 { nxi_out(v); return 0 } |
| 35 | func hexnib(v: i64) -> i64 { if v < 10 { return 48 + v } return 87 + v } called by 1: one |
| 50 | func sweep_line_end(src: *u8, from: i64, n: i64) -> i64 called by 1: sweep_conf_rows |
| 60 | func sweep_conf_rows(c: *i64, rb: *u8, rl: *i64, path: *u8) -> i64 |
| 117 | func bcat(buf: *u8, at: i64, s: *u8) -> i64 |
| 122 | func bcatb(buf: *u8, at: i64, s: *u8, n: i64) -> i64 called by 1: one |
| 127 | func bcatn(buf: *u8, at: i64, v: i64) -> i64 |
| 138 | func extract_ref(b: *u8, n: i64, out: *u8, cap: i64) -> i64 |
| 179 | func run_gate(elf: *u8) -> i64 |
| 200 | func one(c: *i64, rb: *u8, rl: *i64, name: *u8, scope: *u8) -> i64 |
| 298 | func main() -> i64 |