code wiki / (root) / nx_temporal_index_gate.nx

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}