nx_temporal_index_gate.nx source
↩ module page · 56 lines · 3924 B
1// nx_temporal_index_gate.nx -- GREEN/RED gate for nx_temporal_index. Synthetic captures of www.page3.com/ at three
2// dates (+ a /news page + a megastar.co.uk page), asserting ti_query returns the page AS IT EXISTED on a target date
3// (most-recent-at-or-before = Wayback "as-of"), exact-date hits, before-all -> earliest, key isolation (no prefix
4// bleed), and no false match for an unknown host. Sovereign, deterministic, no network. license_tier: ORIGINAL
5import "nx_temporal_index.nx"
6
7func gw(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 }
8func gn(v: i64) -> i64 { if v==0 { sys_write(1,"0" as *u8,1); return 0 } var m: i64=v; if m<0 { sys_write(1,"-" as *u8,1); m=0-m } let t: *u8=sys_mmap(24); var k: i64=0; while m>0 { t[k]=(48+(m%10)) as u8; m=m/10; k=k+1 } let o: *u8=sys_mmap(24); var w: i64=0; var q: i64=k-1; while q>=0 { o[w]=t[q]; w=w+1; q=q-1 } sys_write(1,o,w); return 0 }
9
10func main() -> i64 {
11 gw("=== nx_temporal_index_gate: browse-as-of-date backbone (host,path)->[(date,capture)] ===\n" as *u8)
12 let NC: i64 = 5
13 let keys: *i64 = sys_mmap(NC*8) as *i64
14 let dates: *i64 = sys_mmap(NC*8) as *i64
15 keys[0]=("www.page3.com/" as *u8) as i64; dates[0]=20130115
16 keys[1]=("www.page3.com/" as *u8) as i64; dates[1]=20130601
17 keys[2]=("www.page3.com/" as *u8) as i64; dates[2]=20131201
18 keys[3]=("www.page3.com/news" as *u8) as i64; dates[3]=20130905
19 keys[4]=("www.megastar.co.uk/" as *u8) as i64; dates[4]=20070808
20
21 var pass: i64=0; var tot: i64=0
22
23 // T1 as-of mid-2013 -> the 2013-06-01 snapshot (most recent at-or-before)
24 let q1: i64 = ti_query(keys, dates, NC, "www.page3.com/" as *u8, 20130815)
25 tot=tot+1; var t1: i64=0; if q1>=0 { if dates[q1]==20130601 { t1=1 } }
26 if t1==1 { pass=pass+1; gw(" [PASS] " as *u8) } else { gw(" [FAIL] " as *u8) }
27 gw("T1 AS-OF 2013-08-15 -> snapshot " as *u8); if q1>=0 { gn(dates[q1]) } else { gw("none" as *u8) } gw(" (expect 20130601)\n" as *u8)
28
29 // T2 exact-date hit
30 let q2: i64 = ti_query(keys, dates, NC, "www.page3.com/" as *u8, 20131201)
31 tot=tot+1; var t2: i64=0; if q2>=0 { if dates[q2]==20131201 { t2=1 } }
32 if t2==1 { pass=pass+1; gw(" [PASS] " as *u8) } else { gw(" [FAIL] " as *u8) }
33 gw("T2 EXACT 2013-12-01 -> " as *u8); if q2>=0 { gn(dates[q2]) } else { gw("none" as *u8) } gw("\n" as *u8)
34
35 // T3 before-all -> earliest available
36 let q3: i64 = ti_query(keys, dates, NC, "www.page3.com/" as *u8, 20120101)
37 tot=tot+1; var t3: i64=0; if q3>=0 { if dates[q3]==20130115 { t3=1 } }
38 if t3==1 { pass=pass+1; gw(" [PASS] " as *u8) } else { gw(" [FAIL] " as *u8) }
39 gw("T3 BEFORE-ALL 2012 -> earliest " as *u8); if q3>=0 { gn(dates[q3]) } else { gw("none" as *u8) } gw(" (expect 20130115)\n" as *u8)
40
41 // T4 key isolation: /news is its own page, not a / snapshot
42 let q4: i64 = ti_query(keys, dates, NC, "www.page3.com/news" as *u8, 20131231)
43 tot=tot+1; var t4: i64=0; if q4>=0 { if dates[q4]==20130905 { t4=1 } }
44 if t4==1 { pass=pass+1; gw(" [PASS] " as *u8) } else { gw(" [FAIL] " as *u8) }
45 gw("T4 KEY-ISOLATION /news -> " as *u8); if q4>=0 { gn(dates[q4]) } else { gw("none" as *u8) } gw(" (expect 20130905, no prefix bleed)\n" as *u8)
46
47 // T5 NEG-CTL: unknown host -> no capture
48 let q5: i64 = ti_query(keys, dates, NC, "www.nonexistent.example/" as *u8, 20130101)
49 tot=tot+1; var t5: i64=0; if q5<0 { t5=1 }
50 if t5==1 { pass=pass+1; gw(" [PASS] " as *u8) } else { gw(" [FAIL] " as *u8) }
51 gw("T5 NEG-CTL unknown host -> no capture (no false match)\n" as *u8)
52
53 gw("\n=== nx_temporal_index_gate " as *u8); gn(pass); gw("/" as *u8); gn(tot); gw(" ===\n" as *u8)
54 if pass==tot { gw("TEMPORAL-INDEX-GATE GREEN -- browse-as-of-date proven (Wayback as-of semantics, key-isolated)\n" as *u8); sys_exit(0); return 0 }
55 gw("TEMPORAL-INDEX-GATE RED\n" as *u8); sys_exit(1); return 1
56}