nx_source_binding_plan_watch_gate.nx source
↩ module page · 74 lines · 6740 B
1// Read-only pure join gate, actual declaration ruler controls; no estate writes.
2import "nx_measurement_binding_lib.nx"
3import "nx_gate_verdict.nx"
4func pbg_valid(buf: *u8, scratch: *i64, sym: *i64) -> i64 { return pbm_validate(buf,bf_slen(buf),scratch,sym) }
5func pbg_count(buf: *u8, contract: *u8, scratch: *i64, sym: *i64) -> i64 { return pbm_count(buf,bf_slen(buf),contract,0,bf_slen(contract),scratch,sym) }
6func pbg_decl(buf: *u8) -> i64 { return sd_declared_buf(buf,bf_slen(buf),"target" as *u8) }
7func pbg_plan_count(matrix: *u8, contract: *u8, scratch: *i64, sym: *i64) -> i64 {
8 let ok: i64=pbm_contract(contract,0,bf_slen(contract),sym)
9 if ok != 1 { return 0-1 }
10 let co: i64=sym[0]; let cn: i64=sym[1]-sym[0]
11 return pbm_count(matrix,bf_slen(matrix),contract,co,cn,scratch,sym)
12}
13func main() -> i64 {
14 let ctr: *i64=gv_ctr(); gv_head("SOURCE-BINDING" as *u8)
15 let sym: *i64=sys_mmap(3*8) as *i64; var scratch: i64=0
16 gv_check("identifier accepted" as *u8,pbm_ident("target" as *u8,0,6)==1,ctr)
17 gv_check("digit-leading identity refused" as *u8,pbm_ident("1target" as *u8,0,7)==0,ctr)
18 gv_check("empty identity refused" as *u8,pbm_ident("" as *u8,0,0)==0,ctr)
19 gv_check("punctuated identity refused" as *u8,pbm_ident("target()" as *u8,0,8)==0,ctr)
20 let one: *u8="label|runtime/a.nx|target|0|1|1|1|1|note\n" as *u8
21 gv_check("actual nine-field row shape accepted" as *u8,pbg_valid(one,&scratch,sym)==1,ctr)
22 gv_check("unique exact match" as *u8,pbg_count(one,"target" as *u8,&scratch,sym)==1,ctr)
23 gv_check("short prefix is not a match" as *u8,pbg_count(one,"tar" as *u8,&scratch,sym)==0,ctr)
24 gv_check("long prefix neighbor is not a match" as *u8,pbg_count(one,"targetx" as *u8,&scratch,sym)==0,ctr)
25 let two: *u8="one|runtime/a.nx|target\ntwo|runtime/_hdl_build/a.nx|target\n" as *u8
26 gv_check("same basename paths remain two rows" as *u8,pbg_count(two,"target" as *u8,&scratch,sym)==2,ctr)
27 let dup: *u8="one|runtime/a.nx|target\none|runtime/a.nx|target\n" as *u8
28 gv_check("identical duplicate rows are not collapsed" as *u8,pbg_count(dup,"target" as *u8,&scratch,sym)==2,ctr)
29 let watch: *u8="one|runtime/a.nx|_ABSENT_:target\n" as *u8
30 gv_check("watch effective symbol exact match" as *u8,pbg_count(watch,"target" as *u8,&scratch,sym)==1,ctr)
31 gv_check("watch form retained" as *u8,sym[2]==1,ctr)
32 let withheld: *u8="one|runtime/a.nx|_ABSENT_:target:knowledge/proof.json\n" as *u8
33 gv_check("withheld effective symbol exact match" as *u8,pbg_count(withheld,"target" as *u8,&scratch,sym)==1,ctr)
34 gv_check("withheld form retained" as *u8,sym[2]==2,ctr)
35 gv_check("bare absent has no join" as *u8,pbg_count("one|a.nx|_ABSENT_\n" as *u8,"target" as *u8,&scratch,sym)==0,ctr)
36 gv_check("empty watch refused" as *u8,pbg_valid("one|a.nx|_ABSENT_:\n" as *u8,&scratch,sym)<0,ctr)
37 gv_check("empty withheld precondition refused" as *u8,pbg_valid("one|a.nx|_ABSENT_:target:\n" as *u8,&scratch,sym)<0,ctr)
38 gv_check("malformed absence prefix refused" as *u8,pbg_valid("one|a.nx|_ABSENT_wrong\n" as *u8,&scratch,sym)<0,ctr)
39 gv_check("missing symbol field refused" as *u8,pbg_valid("one|a.nx\n" as *u8,&scratch,sym)<0,ctr)
40 gv_check("empty source field refused" as *u8,pbg_valid("one||target\n" as *u8,&scratch,sym)<0,ctr)
41 gv_check("empty matrix refuses negative census" as *u8,pbg_valid("" as *u8,&scratch,sym)<0,ctr)
42 gv_check("comment and metadata skipped" as *u8,pbg_valid("# prose\n@metadata\none|a.nx|target\n" as *u8,&scratch,sym)==1,ctr)
43 gv_check("CRLF accepted" as *u8,pbg_valid("one|a.nx|target\r\n" as *u8,&scratch,sym)==1,ctr)
44 gv_check("comment-only declaration mention is absent" as *u8,pbg_decl("// func target() -> i64 { return 1 }\n" as *u8)==0,ctr)
45 gv_check("call site is absent" as *u8,pbg_decl("func caller() -> i64 { return target() }\n" as *u8)==0,ctr)
46 gv_check("string mention is absent" as *u8,pbg_decl("const prose: *u8 = \"func target()\" as *u8\n" as *u8)==0,ctr)
47 gv_check("longer identifier declaration is absent" as *u8,pbg_decl("func targetx() -> i64 { return 1 }\n" as *u8)==0,ctr)
48 gv_check("exact declaration text is present" as *u8,pbg_decl("func target() -> i64 { return 1 }\n" as *u8)==1,ctr)
49 gv_check("constant presence illustrates declaration-not-function scope" as *u8,pbg_decl("const target: i64 = 1\n" as *u8)==1,ctr)
50 gv_check("multiline lexical ambiguity remains explicitly unverified" as *u8,pbg_decl("/*\nfunc target() -> i64 { return 1 }\n*/\n" as *u8)==1,ctr)
51 gv_check("plan ordinary contract supported" as *u8,pbm_contract("target" as *u8,0,6,sym)==1,ctr)
52 gv_check("plan ordinary shape retained" as *u8,sym[2]==0,ctr)
53 let pw: *u8="_ABSENT_:target" as *u8
54 gv_check("plan watch supported" as *u8,pbm_contract(pw,0,bf_slen(pw),sym)==1,ctr)
55 gv_check("plan watch effective bounds" as *u8,(sym[1]-sym[0])==6,ctr)
56 gv_check("plan watch shape retained" as *u8,sym[2]==1,ctr)
57 gv_check("watch plan matches ordinary matrix by effective identity" as *u8,pbg_plan_count(one,pw,&scratch,sym)==1,ctr)
58 gv_check("watch plan matches watch matrix" as *u8,pbg_plan_count(watch,pw,&scratch,sym)==1,ctr)
59 gv_check("watch plan cannot prefix-match" as *u8,pbg_plan_count(one,"_ABSENT_:tar" as *u8,&scratch,sym)==0,ctr)
60 gv_check("watch plan retains duplicate candidates" as *u8,pbg_plan_count(two,pw,&scratch,sym)==2,ctr)
61 let pp: *u8="_ABSENT_:target:knowledge/proof.json" as *u8
62 gv_check("plan withheld supported" as *u8,pbm_contract(pp,0,bf_slen(pp),sym)==1,ctr)
63 gv_check("plan withheld shape retained" as *u8,sym[2]==2,ctr)
64 gv_check("plan withheld matches without proving precondition" as *u8,pbg_plan_count(withheld,pp,&scratch,sym)==1,ctr)
65 gv_check("raw plan watch bytes untouched" as *u8,pb_equal(pw,0,bf_slen(pw),"_ABSENT_:target" as *u8,0,bf_slen("_ABSENT_:target" as *u8))==1,ctr)
66 gv_check("file path plan remains unsupported" as *u8,pbm_contract("runtime/nx_wasm_craft.nx" as *u8,0,bf_slen("runtime/nx_wasm_craft.nx" as *u8),sym)<0,ctr)
67 gv_check("bare absence plan remains unsupported" as *u8,pbm_contract("_ABSENT_" as *u8,0,8,sym)<0,ctr)
68 gv_check("empty watch plan refused" as *u8,pbm_contract("_ABSENT_:" as *u8,0,9,sym)<0,ctr)
69 gv_check("malformed withheld plan refused" as *u8,pbm_contract("_ABSENT_:target:" as *u8,0,bf_slen("_ABSENT_:target:" as *u8),sym)<0,ctr)
70 gv_check("empty plan field stays no contract" as *u8,pbm_contract("" as *u8,0,0,sym)==0,ctr)
71 sys_munmap(sym as *u8,3*8)
72 let rc: i64=gv_verdict("SOURCE-BINDING" as *u8,ctr,"exact contract-to-row joins preserve gaps and ambiguity; declaration text is not syntax or behavior proof" as *u8)
73 sys_exit(rc); return rc
74}