code wiki / _hdl_build / nx_evidence_pack.nx
nx_evidence_pack.nx
buildroot/runtime/_hdl_build/nx_evidence_pack.nx
about
nx_evidence_pack.nx -- the CONSISTENT EVIDENCE PUBLISHER (operator 2026-07-16: "publish evidence
consistent workstream where i can see evidence for all of this work ... clear evidence publishing,
consistent screenshots, recordings"). One organ turns a session's evidence artifacts into ONE
publishable unit under the /evidence/<run>/ namespace, tied to its workstream:
index.html -- plain-english page (title, workstream, verdict, figures+captions, metrics table)
api.json -- the machine-readable detail (dashboards speak plain english; machines get JSON)
ship.manifest-- nx_content_ship rows (put+verify) so publish = ONE proven sovereign command
Manifest lines: title=/workstream=/run=/verdict=/date=/link= meta; `img|<file>|<caption>`;
`metric|<name>|<value>|<note>`. CRLF tolerated. Asset refs emitted ABSOLUTE (/evidence/<run>/<file>)
per the edge slash-strip law (relative refs = RED in nx_page_verify).
usage: nx_evidence_pack <manifest> <outdir> (artifacts already staged in <outdir>)
license_tier: ORIGINAL
dependencies 1 imports · 0 importers
imports: nx_syscalls.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| 76 | struct EvMeta |
consts
| 14 | const EV_MAGIC_2048: i64 = 2048 |
| 15 | const EV_MAGIC_1000000: i64 = 1000000 |
| 17 | const EV_OUT_CAP: i64 = 1048576 |
| 18 | const EV_MAX_IMG: i64 = 24 |
| 19 | const EV_MAX_MET: i64 = 32 |
| 20 | const EV_FILE_MODE: i64 = 420 // 0644 |
functions
| 22 | func ev_w(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 } |
| 23 | func ev_slen(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} return n } called by 1: ev_pfx |
| 26 | func ev_cat(buf: *u8, off: i64, s: *u8) -> i64 |
| 32 | func ev_catn(buf: *u8, off: i64, s: *u8, n: i64) -> i64 |
| 38 | func ev_catj(buf: *u8, off: i64, s: *u8, n: i64) -> i64 called by 1: main |
| 52 | func itoa_sb(buf: *u8, o: i64, v: i64) -> i64 |
| 62 | func ev_write_file(path: *u8, buf: *u8, n: i64) -> i64 |
| 87 | func ev_pfx(src: *u8, lo: i64, n: i64, p: *u8) -> i64 |
| 95 | func ev_pipe(src: *u8, off: i64, end: i64) -> i64 |
| 101 | func ev_eq(a: *u8, b: *u8) -> i64 called by 1: main |
| 108 | func ev_split(mf: *u8, lo: i64, end: i64, fld: *i64, maxf: i64) -> i64 |
| 124 | func ev_chip(hb: *u8, o: i64, mf: *u8, off: i64, len: i64) -> i64 |
| 139 | func ev_index(root: *u8) -> i64 |
| 413 | func main(argc: i64, argv: *i64) -> i64 |