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}