code wiki / (root) / nx_prop_pass_gate.nx

nx_prop_pass_gate.nx

buildroot/runtime/nx_prop_pass_gate.nx

11730 B168 linesdepth 10pulls 54 transitivereach 0 importersview sourcekind gate/prooftopic prop
docsdependenciesstructsconstsfunctions

about

nx_prop_pass_gate.nx -- GATE for prop_pass (intelmine IM26): the ONE renderer of knowledge/compare/<dom>.proposed in the compare base lib (nx_swcompare_lib), driven IN-PROCESS on a planted fixture tree under /tmp/nx_prop_pass_gate. The gate chdirs into the fixture root so the lib's CWD-relative knowledge/compare/<dom>.proposed resolves INSIDE the fixture and never reads or renders a real board. Controls: an ABSENT domain must emit NOTHING in both modes (no section, no key); a MALFORMED row must be COUNTED and never rendered; a file AT the read cap must announce READ-CAPPED while a small one must not; an appid-named row must read its BANKED title at render time and say name_src=banked, and one with no banked title must print its appid and say so. Every fixture asserts it reached its condition before any outcome is judged. No network. license_tier: ORIGINAL

dependencies 4 imports · 0 importers

nx_syscalls.nx nx_gatekit_lib.nx nx_swcompare_lib.nx nx_gate_verdict.nx nx_prop_pass_gate.nx

imports: nx_syscalls.nxnx_gatekit_lib.nxnx_swcompare_lib.nxnx_gate_verdict.nx

imported by: nobody (leaf or entry point)

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

main gv_head gv_puts sys_write 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 ↻ gk_mkdir sys_mkdir gk_rm sys_unlinkat gk_write sys_openat_wr gk_len gk_write_all sys_write ↻ sys_close g_big sys_mmap ↻ gk_len ↻ gk_write ↻ gv_need gv_puts ↻ gk_exists sys_openat_rd sys_close ↻ gv_check_eq

structs

none

consts

14const G_ROOT: *u8 = "/tmp/nx_prop_pass_gate"
15const G_KDIR: *u8 = "/tmp/nx_prop_pass_gate/knowledge"
16const G_CDIR: *u8 = "/tmp/nx_prop_pass_gate/knowledge/compare"
17const G_PLANTED: *u8 = "/tmp/nx_prop_pass_gate/knowledge/compare/planted.proposed"
18const G_BIG: *u8 = "/tmp/nx_prop_pass_gate/knowledge/compare/big.proposed"
19const G_ABSENT: *u8 = "/tmp/nx_prop_pass_gate/knowledge/compare/absent.proposed"
20const G_HTML: *u8 = "/tmp/nx_prop_pass_gate/planted.html"
21const G_JSON: *u8 = "/tmp/nx_prop_pass_gate/planted.json"
22const G_ABS_HTML: *u8 = "/tmp/nx_prop_pass_gate/absent.html"
23const G_ABS_JSON: *u8 = "/tmp/nx_prop_pass_gate/absent.json"
24const G_BIG_HTML: *u8 = "/tmp/nx_prop_pass_gate/big.html"
25const G_BIG_JSON: *u8 = "/tmp/nx_prop_pass_gate/big.json"
26const G_MODE_RW: i64 = 420 // 0644: the capture files are read back by this gate only
27const G_PLANTED_LINES: i64 = 6 // one comment, three proposals, one short row, one row with the wrong tag
28const G_ROWS_EXPECTED: i64 = 3
29const G_MALFORMED_EXPECTED: i64 = 2
30const G_I64_BYTES: i64 = 8
32const G_RDIR: *u8 = "/tmp/nx_prop_pass_gate/knowledge/reviews"
33const G_SDIR: *u8 = "/tmp/nx_prop_pass_gate/knowledge/reviews/steam"
34const G_NAME_620: *u8 = "/tmp/nx_prop_pass_gate/knowledge/reviews/steam/620.name"
35const G_NAME_999: *u8 = "/tmp/nx_prop_pass_gate/knowledge/reviews/steam/999.name"
40const G_ROWS: *u8 = "# planted by nx_prop_pass_gate\nprop|1788630000|777|Planted Title|DEFECT|defect|stutter|planted|Frame pacing: Planted Title reviewers flag stutter|does_not_meet=3 praised=0\nprop|1788630001|620|620|THEY-DO-WELL|feature|coop|planted|Co-op: 620 -- drop-in co-op door with a gate|praised=3 complained=0 mixed=0 demanded=0\nprop|1788630004|999|999|DEMANDED|feature|controls|planted|Control mapping: 999|praised=0 complained=2 mixed=0 demanded=1\nprop|1788630002|777|Planted Title|DEMANDED|feature|customization\nbogus|row|that|is|not|a|proposal|at|all|ten\n"
41const G_BIG_ROW: *u8 = "prop|1788630003|777|Planted Title|SHIPS|engine|Unity|big|Engine parity: Planted Title ships Unity|fingerprint=installed-tree\n"

functions

43func g_lines(path: *u8) -> i64
called by 1: main calls 2: sys_mmapsys_read_file
54func g_render(dom: *u8, out_path: *u8, mode: i64) -> i64
62func g_has(path: *u8, needle: *u8) -> i64
69func g_starts(path: *u8, needle: *u8) -> i64
79func g_big() -> i64
called by 1: main calls 3: sys_mmapgk_lengk_write
92func main() -> i64