code wiki / (root) / nx_measurement_binding_gate.nx

nx_measurement_binding_gate.nx source

↩ module page · 168 lines · 12732 B

1// nx_measurement_binding_gate.nx -- pure projection contract plus complete native files. 2// These fixtures test identity reconciliation, not completion or rendered behavior. 3// license_tier: ORIGINAL; expect_exit: 0 4import "nx_measurement_binding_lib.nx" 5import "nx_gate_verdict.nx" 6import "nx_gatekit_lib.nx" 7import "nx_estate_path.nx" 8 9const PG_PLAN: *u8 = "unit|fixture units are declared\nrung|R9|Facial expression morphs|fa_expr_morph|Fixture done rule, not observed completion|Organ|2|R4\nrung|R4|Full PBR map set|ntb_bake_pbr|Fixture material rule|Organ|1|-\n" 10const PG_RANK: *u8 = "rank|1|later|R9|10|2|1|20|Facial expression morphs|fa_expr_morph\nunmapped|R9|fa_expr_morph|fixture missing matrix column\nfinish|R4|Full PBR map set|ntb_bake_pbr|REGISTERED-DARK|fixture awaiting invocation\n# asof=17 domain=charsim target_version=fixture rungs=2 done=0 open=2 finish=1 ranker=nx_dr_ocm\n" 11const PG_BAD_SYMBOL: *u8 = "rank|1|later|R9|10|2|1|20|Facial expression morphs|another_symbol\n# asof=17 domain=charsim x=fixture\n" 12const PG_ORPHAN: *u8 = "rank|1|later|R999|10|2|1|20|Orphan|another_symbol\n# asof=17 domain=charsim x=fixture\n" 13const PG_DUP_RANK: *u8 = "rank|1|later|R9|10|2|1|20|Facial expression morphs|fa_expr_morph\nrank|2|later|R9|10|2|1|20|Facial expression morphs|fa_expr_morph\n# asof=17 domain=charsim x=fixture\n" 14const PG_DUP_PLAN: *u8 = "rung|R9|First|fa_expr_morph|rule|Organ|2|R4\nrung|R9|Second|fa_expr_morph|rule|Organ|2|R4\n" 15const PG_SHORT: *u8 = "rung|R9|Facial expression morphs|fa_expr_morph|rule|Organ|2\n" 16const PG_LONG: *u8 = "rung|R9|Facial expression morphs|fa_expr_morph|rule|Organ|2|R4|extra\n" 17const PG_BAD_DOMAIN: *u8 = "# asof=17 domain=gameengine x=fixture\n" 18const PG_BAD_EPOCH: *u8 = "# asof=9223372036854775808 domain=charsim x=fixture\n" 19const PG_NOT_LAST: *u8 = "# asof=17 domain=charsim x=fixture\nrank|1|later|R9|10|2|1|20|Facial expression morphs|fa_expr_morph\n" 20 21func pg_cleared(rows: *i64, n: i64, stats: *i64) -> i64 { 22 var i: i64 = 0 23 while i < n { 24 var f: i64 = PB_ORDER_START 25 while f <= PB_UNMAPPED_END { if rows[i*PB_ROW_SLOTS+f] != BF_NONE { return 0 } f = f+1 } 26 i = i+1 27 } 28 if stats[PB_S_RANK_ASOF] != BF_NONE { return 0 } 29 if stats[PB_S_ORDERED] != 0 { return 0 } 30 if stats[PB_S_FINISH] != 0 { return 0 } 31 if stats[PB_S_UNMAPPED] != 0 { return 0 } 32 return 1 33} 34func pg_bad_rank(label: *u8, rank: *u8, expected: i64, rows: *i64, stats: *i64, scratch: *i64, ctr: *i64) -> i64 { 35 let rc: i64 = pb_rank_join("charsim" as *u8, PG_PLAN, rank, bf_slen(rank), rows, 2, stats, scratch) 36 var ok: i64 = 0 37 if rc == expected { if pg_cleared(rows, 2, stats) == 1 { ok = 1 } } 38 gv_check(label, ok, ctr) 39 return ok 40} 41func pg_real(domain: *u8, pp: *u8, rp: *u8, id: *u8, symbol: *u8, ctr: *i64) -> i64 { 42 let pn: *i64 = sys_mmap(16) as *i64 43 let rn: *i64 = sys_mmap(16) as *i64 44 let plan: *u8 = sys_read_file(pp, pn) 45 let rank: *u8 = sys_read_file(rp, rn) 46 gv_puts("native full-file projection domain=" as *u8); gv_puts(domain) 47 gv_puts(" plan_bytes=" as *u8); gv_num(pn[0]); gv_puts(" rank_bytes=" as *u8); gv_num(rn[0]); gv_puts("\n" as *u8) 48 var ready: i64 = 0 49 if (plan as i64) > 0 { if pn[0] > 0 { if (rank as i64) > 0 { if rn[0] > 0 { ready = 1 } } } } 50 gv_check("native-plan-and-rank-complete-file-reads" as *u8, ready, ctr) 51 if ready == 0 { return 0 } 52 let count: i64 = bf_count_rows(plan, pn[0], LD_RUNG_TAG) 53 let rows: *i64 = sys_mmap((count+1)*PB_ROW_SLOTS*8) as *i64 54 let stats: *i64 = sys_mmap(PB_STATS_SLOTS*8) as *i64 55 let scratch: *i64 = sys_mmap(16) as *i64 56 let parsed: i64 = pb_plan_scan(plan, pn[0], rows, count, stats, scratch) 57 gv_puts(" census_rung_rows=" as *u8); gv_num(count); gv_puts(" parser_rc=" as *u8); gv_num(parsed); gv_puts("\n" as *u8) 58 gv_check("native-every-rung-row-preserved" as *u8, parsed == count, ctr) 59 if parsed < 0 { return 0 } 60 var r: i64 = 0 61 var raw: i64 = 0 62 var prefix: i64 = 0 63 var full: i64 = 0 64 while r < count { 65 let base: i64 = r*PB_ROW_SLOTS 66 if rows[base+PB_PLAN_SHAPE] == PB_SHAPE_RAW { 67 raw = raw+1 68 gv_puts("uninterpreted_row_offset=" as *u8); gv_num(rows[base]) 69 gv_puts(" fields=" as *u8); gv_num(rows[base+PB_PLAN_FIELD_COUNT]); gv_puts("\n" as *u8) 70 gv_check("unfamiliar-row-cannot-declare-symbol" as *u8, pb_plan_field(plan, rows, base, PB_F_SYMBOL, scratch) < 0, ctr) 71 } 72 if rows[base+PB_PLAN_SHAPE] == PB_SHAPE_PREFIX { 73 prefix = prefix+1 74 gv_check("partial-contract-has-no-invented-executor" as *u8, pb_plan_field(plan, rows, base, PB_F_EXECUTOR, scratch) < 0, ctr) 75 } 76 if rows[base+PB_PLAN_SHAPE] == PB_SHAPE_FULL { full = full+1 } 77 r = r+1 78 } 79 gv_check("shape-counts-partition-all-rungs" as *u8, raw+prefix+full == count, ctr) 80 let ri: i64 = pb_find_rung(plan, rows, count, id, 0, bf_slen(id), scratch) 81 var exact: i64 = 0 82 if ri >= 0 { 83 let sl: i64 = pb_plan_field(plan, rows, ri*PB_ROW_SLOTS, PB_F_SYMBOL, scratch) 84 if sl > 0 { exact = pb_equal(plan, scratch[0], sl, symbol, 0, bf_slen(symbol)) } 85 } 86 gv_check("native-requested-rung-contract-identity-exact" as *u8, exact, ctr) 87 let joined: i64 = pb_rank_join(domain, plan, rank, rn[0], rows, count, stats, scratch) 88 gv_puts(" rank_join_rc=" as *u8); gv_num(joined); gv_puts(" retained_rank_asof=" as *u8); gv_num(stats[PB_S_RANK_ASOF]); gv_puts("\n" as *u8) 89 var reconciled: i64 = 0 90 if joined == PB_OK { 91 if stats[PB_S_RANK_ASOF] == pb_rank_stamp(domain, rank, rn[0]) { reconciled = 1 } 92 } else { 93 if joined == PB_E_SYMBOL { reconciled = pg_cleared(rows, count, stats) } 94 if joined == PB_E_ORPHAN { reconciled = pg_cleared(rows, count, stats) } 95 if joined == PB_E_DUP_PLAN { reconciled = pg_cleared(rows, count, stats) } 96 } 97 gv_check("native-rank-retains-own-stamp-or-explicit-identity-conflict" as *u8, reconciled, ctr) 98 sys_free_file(plan, pn[0]); sys_free_file(rank, rn[0]) 99 return reconciled 100} 101func main() -> i64 { 102 let ctr: *i64 = gv_ctr() 103 gv_head("Plan/rank binding projection: declared identity, independent rank stamp, no completion inference" as *u8) 104 // Native builders start in buildroot; fixture paths are rooted at the estate. 105 let anchored: i64 = ep_anchor() 106 gv_check("real-fixture-estate-anchor-resolved" as *u8, anchored >= 0, ctr) 107 if anchored < 0 { return gv_verdict("NX-MEASUREMENT-BINDING" as *u8, ctr, "estate anchor unavailable; no real-file projection claimed" as *u8) } 108 let rows: *i64 = sys_mmap(2*PB_ROW_SLOTS*8) as *i64 109 let stats: *i64 = sys_mmap(PB_STATS_SLOTS*8) as *i64 110 let scratch: *i64 = sys_mmap(16) as *i64 111 let n: i64 = pb_plan_scan(PG_PLAN, bf_slen(PG_PLAN), rows, 2, stats, scratch) 112 gv_check("two-declared-rungs-counted-exactly" as *u8, n == 2, ctr) 113 let dl: i64 = bf_field(PG_PLAN, rows[0], rows[1], PB_F_DONE_RULE, scratch) 114 gv_check("definition-of-done-remains-text-not-state" as *u8, pb_equal(PG_PLAN, scratch[0], dl, "Fixture done rule, not observed completion" as *u8, 0, bf_slen("Fixture done rule, not observed completion" as *u8)), ctr) 115 let est: i64 = bf_field(PG_PLAN, rows[0], rows[1], PB_F_ESTIMATE, scratch) 116 gv_check("estimate-remains-declared-text" as *u8, pb_equal(PG_PLAN, scratch[0], est, "2" as *u8, 0, 1), ctr) 117 let rc: i64 = pb_rank_join("charsim" as *u8, PG_PLAN, PG_RANK, bf_slen(PG_RANK), rows, 2, stats, scratch) 118 gv_check("ordered-and-unmapped-overlay-both-retained" as *u8, rc == PB_OK, ctr) 119 var counts_ok: i64 = 0 120 if stats[PB_S_ORDERED] == 1 { if stats[PB_S_FINISH] == 1 { if stats[PB_S_UNMAPPED] == 1 { counts_ok = 1 } } } 121 gv_check("exact-rank-overlay-counts" as *u8, counts_ok, ctr) 122 gv_check("rank-asof-not-projection-now" as *u8, stats[PB_S_RANK_ASOF] == 17, ctr) 123 gv_check("finish-row-is-retained-not-promoted" as *u8, rows[PB_ROW_SLOTS+PB_FINISH_START] >= 0, ctr) 124 pg_bad_rank("changed-symbol-refuses-all-rank-links" as *u8, PG_BAD_SYMBOL, PB_E_SYMBOL, rows, stats, scratch, ctr) 125 pg_bad_rank("orphan-id-refuses-all-rank-links" as *u8, PG_ORPHAN, PB_E_ORPHAN, rows, stats, scratch, ctr) 126 pg_bad_rank("duplicate-ordered-row-refuses-prefix" as *u8, PG_DUP_RANK, PB_E_DUP_RANK, rows, stats, scratch, ctr) 127 pg_bad_rank("cross-domain-stamp-refused" as *u8, PG_BAD_DOMAIN, PB_E_STAMP, rows, stats, scratch, ctr) 128 pg_bad_rank("overflow-stamp-refused" as *u8, PG_BAD_EPOCH, PB_E_STAMP, rows, stats, scratch, ctr) 129 pg_bad_rank("preceding-stamp-cannot-date-newer-rows" as *u8, PG_NOT_LAST, PB_E_STAMP, rows, stats, scratch, ctr) 130 let missing: i64 = pb_rank_join("charsim" as *u8, PG_PLAN, 0 as *u8, 0, rows, 2, stats, scratch) 131 var missing_ok: i64 = 0 132 if missing == PB_RANK_MISSING { missing_ok = pg_cleared(rows, 2, stats) } 133 gv_check("missing-rank-is-unknown-not-complete" as *u8, missing_ok, ctr) 134 135 gv_check("undersized-row-capacity-refuses-prefix" as *u8, pb_plan_scan(PG_PLAN, bf_slen(PG_PLAN), rows, 1, stats, scratch) == PB_E_CAPACITY, ctr) 136 let partial: *u8 = "rung|R9|Partial declared contract|fa_expr_morph|Authored done rule\n" as *u8 137 gv_check("five-field-prefix-retained" as *u8, pb_plan_scan(partial, bf_slen(partial), rows, 2, stats, scratch) == 1, ctr) 138 gv_check("five-field-shape-explicit" as *u8, rows[PB_PLAN_SHAPE] == PB_SHAPE_PREFIX, ctr) 139 gv_check("five-field-missing-tail-is-null" as *u8, pb_plan_field(partial, rows, 0, PB_F_EXECUTOR, scratch) < 0, ctr) 140 let ps: i64 = pb_plan_field(partial, rows, 0, PB_F_SYMBOL, scratch) 141 gv_check("five-field-symbol-is-authored-prefix" as *u8, pb_equal(partial, scratch[0], ps, "fa_expr_morph" as *u8, 0, bf_slen("fa_expr_morph" as *u8)), ctr) 142 let unknown: *u8 = "rung|R9|A six-field declaration|Organ|5|-\n" as *u8 143 gv_check("six-field-row-preserved" as *u8, pb_plan_scan(unknown, bf_slen(unknown), rows, 2, stats, scratch) == 1, ctr) 144 gv_check("six-field-shape-uninterpreted" as *u8, rows[PB_PLAN_SHAPE] == PB_SHAPE_RAW, ctr) 145 gv_check("Organ-never-mislabeled-as-symbol" as *u8, pb_plan_field(unknown, rows, 0, PB_F_SYMBOL, scratch) < 0, ctr) 146 gv_check("unknown-symbol-rank-explicitly-unreconciled" as *u8, pb_rank_join("charsim" as *u8, unknown, PG_RANK, bf_slen(PG_RANK), rows, 1, stats, scratch) == PB_E_SYMBOL, ctr) 147 gv_check("unknown-symbol-clears-all-rank-links" as *u8, pg_cleared(rows, 1, stats), ctr) 148 gv_check("rank-clear-preserves-source-shape" as *u8, rows[PB_PLAN_FIELD_COUNT] == 6, ctr) 149 gv_check("duplicate-declarations-both-retained" as *u8, pb_plan_scan(PG_DUP_PLAN, bf_slen(PG_DUP_PLAN), rows, 2, stats, scratch) == 2, ctr) 150 gv_check("duplicate-ID-rank-explicitly-ambiguous" as *u8, pb_rank_join("charsim" as *u8, PG_DUP_PLAN, PG_RANK, bf_slen(PG_RANK), rows, 2, stats, scratch) == PB_E_DUP_PLAN, ctr) 151 gv_check("duplicate-ID-clears-all-rank-links" as *u8, pg_cleared(rows, 2, stats), ctr) 152 gv_check("seven-field-declaration-preserved" as *u8, pb_plan_scan(PG_SHORT, bf_slen(PG_SHORT), rows, 2, stats, scratch) == 1, ctr) 153 gv_check("seven-field-semantics-uninterpreted" as *u8, rows[PB_PLAN_SHAPE] == PB_SHAPE_RAW, ctr) 154 gv_check("extra-fields-retained-not-shifted" as *u8, pb_plan_scan(PG_LONG, bf_slen(PG_LONG), rows, 2, stats, scratch) == 1, ctr) 155 gv_check("extra-fields-have-exact-count" as *u8, rows[PB_PLAN_FIELD_COUNT] == 9, ctr) 156 let nul: *u8 = sys_mmap(bf_slen(PG_PLAN)) 157 var i: i64 = 0 158 while i < bf_slen(PG_PLAN) { nul[i] = PG_PLAN[i]; i = i+1 } 159 nul[0] = 0 as u8 160 gv_check("embedded-nul-refused-not-line-split" as *u8, pb_plan_scan(nul, bf_slen(PG_PLAN), rows, 2, stats, scratch) == PB_E_INPUT, ctr) 161 let cr: *u8 = "rung|R9|Facial expression morphs|fa_expr_morph|rule|Organ|2|R4\r\n" as *u8 162 gv_check("crlf-plan-parses-without-loop-or-trailing-cr" as *u8, pb_plan_scan(cr, bf_slen(cr), rows, 2, stats, scratch) == 1, ctr) 163 let final: *u8 = "rung|R9|Facial expression morphs|fa_expr_morph|rule|Organ|2|R4" as *u8 164 gv_check("final-line-without-newline-retained" as *u8, pb_plan_scan(final, bf_slen(final), rows, 2, stats, scratch) == 1, ctr) 165 pg_real("charsim" as *u8, "buildroot/knowledge/compare/charsim.plan" as *u8, "buildroot/knowledge/compare/charsim.rank" as *u8, "R9" as *u8, "fa_expr_morph" as *u8, ctr) 166 pg_real("gameengine" as *u8, "buildroot/knowledge/compare/gameengine.plan" as *u8, "buildroot/knowledge/compare/gameengine.rank" as *u8, "GE66a" as *u8, "wc_morf_apply" as *u8, ctr) 167 return gv_verdict("NX-MEASUREMENT-BINDING" as *u8, ctr, "declared contracts and retained rank evidence only; behavior and delivery require separate evidence" as *u8) 168}