code wiki / (root) / nx_uxf_ebml_gate.nx

nx_uxf_ebml_gate.nx

buildroot/runtime/nx_uxf_ebml_gate.nx

4324 B73 linesdepth 3pulls 4 transitivereach 0 importersview sourcekind gate/prooftopic uxf
docsdependenciesstructsconstsfunctions

about

nx_uxf_ebml_gate.nx -- the D001 MIGRATION of nx_uxf_ebml_test onto nx_gate_verdict (2026-09-06). IT DRIVES THE EXTRACTED LIB, NOT A SECOND COPY. nx_uxf_ebml_test carried its own ebml_vint_len, ebml_read_id and ebml_read_size, byte-for-byte the same logic that now lives in nx_uxf_remux.nx as uxr_vint_len, uxr_read_id and uxr_read_size. Migrating the test's teeth onto the LIB means the estate keeps exactly one EBML reader instead of a test copy and a shipping copy that can drift apart -- which is the duplicate-ruler defect this family already paid for once. ALL FIVE ORIGINAL TEETH PRESERVED IN PREDICATE, with T2 and T3 split so the VALUE and the CURSOR ADVANCE are separately falsifiable: the original asserted both inside one conjunction, so a reader that returned the right number without advancing would have failed without saying which half broke. license_tier: ORIGINAL No hw writes (Rule 26).

dependencies 3 imports · 0 importers

nx_gate_verdict.nx nx_syscalls.nx nx_uxf_remux.nx nx_uxf_ebml_gate.nx

imports: nx_gate_verdict.nxnx_syscalls.nxnx_uxf_remux.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 ↻ gv_head gv_puts sys_write ↻ sys_mmap ↻ uxr_read_id uxr_vint_len uxr_read_size uxr_vint_len ↻ gv_check_eq gv_check gv_puts ↻ gv_puts ↻ gv_num sys_mmap ↻ sys_write ↻ sys_munmap uxr_vint_len ↻ gv_values_head gv_puts ↻ gv_kv gv_puts ↻ gv_num ↻ gv_verdict

structs

none

consts

17const UE_BUF: i64 = 64
18const UE_EBML_MAGIC: i64 = 440786851 // 0x1A45DFA3, the real EBML document header id
19const UE_MAGIC_VINT_LEN: i64 = 4
20const UE_SIZE_VALUE: i64 = 4
21const UE_POS_AFTER_ID: i64 = 4
22const UE_POS_AFTER_SIZE: i64 = 5

functions

24func main(argc: i64, argv: *i64) -> i64