code wiki / (root) / nx_emit_journal.nx

nx_emit_journal.nx

buildroot/runtime/nx_emit_journal.nx

5209 B144 linesdepth 5pulls 9 transitivereach 1 importersview sourcekind librarytopic emit
docsdependenciesstructsconstsfunctions

about

nx_emit_journal.nx -- append-only audit log of substrate emits. Per user oversight directive 2026-05-14 (gap #5): every successful emit must journal who/what/when/where it came from. This is the foundation for the patent-check (#3), quality-gate (#6), and uniqueness-ledger (#8) work that builds on top. One row per emit, in JSONL. No reads, no rotation, no rewrites -- append-only by design. Caller picks the path (e.g., nxc2/_journal/YYYY-MM-DD.jsonl). Row schema: {"module":"nx_quad","source_id":"euclid_elements", "license_class":"pd_classical","ts_ns":<i64>,"event":"emit"} genealogy_id: substrate_audit_journal_2026_05_14 lineage_id: append_only_log

dependencies 7 imports · 1 importers

nx_syscalls.nx nx_runtime.nx nx_tier.nx nx_fcntl.nx nx_clock.nx nx_str.nx nx_strconv.nx nx_emit_journal.nx nx_emit_journal_test.nx

imports: nx_syscalls.nxnx_runtime.nxnx_tier.nxnx_fcntl.nxnx_clock.nxnx_str.nxnx_strconv.nx

imported by: nx_emit_journal_test.nx

structs

40struct NxJournal

consts

33const NX_JOURNAL_OK: nx_int = 0
34const NX_JOURNAL_OPEN_FAIL: nx_int = -1
35const NX_JOURNAL_WRITE_FAIL: nx_int = -2
36const NX_JOURNAL_CLOSED: nx_int = -3
38const NX_JOURNAL_ROW_CAP: nx_size = 1024
46const NX_JOURNAL_STRUCT_BYTES: nx_size = 24

functions

50func nx_journal_open(path: *u8) -> *NxJournal
called by 1: main calls 1: sys_mmap
61func nx_journal_close(j: *NxJournal) -> nx_int
called by 1: main calls 1: sys_close
70func nx_journal_lc_str(lc: nx_int, out: *u8) -> nx_size
called by 1: nx_journal_append calls 1: nx_str_cpy
82func nx_journal_write_all(fd: nx_fd, buf: *u8, n: nx_size) -> nx_size
called by 1: nx_journal_append calls 1: sys_write
95func nx_journal_append(
135func nx_journal_emit(j: *NxJournal, module: *u8, source_id: *u8, license_class: nx_int) -> nx_int
called by 1: main calls 1: nx_journal_append
140func nx_journal_refuse(j: *NxJournal, module: *u8, source_id: *u8, license_class: nx_int) -> nx_int
called by 1: main calls 1: nx_journal_append
144func nx_journal_n_appended(j: *NxJournal) -> nx_int { return j.n_appended }
called by 1: main