nx_paged_fetch_gate.nx source
↩ module page · 60 lines · 3452 B
1// nx_paged_fetch_gate.nx -- GATE for the dynamic paged fetcher (rf_fetch_bank_paged, debt-eaten hardened form).
2// T1 POSITIVE: fresh 2x5-row SQuAD paged fetch -> returns 1, .raw EXISTS, .raw.part GONE (atomic promotion),
3// >=10 "question" keys in the file (both pages really banked).
4// T2 IDEMPOTENT: second call -> [banked-skip] returns 1 without refetching.
5// T3 NEG-CONTROL: nonexistent dataset -> returns 0, .raw NEVER created (a failed run must not look banked).
6// expect_exit: 0 license_tier: ORIGINAL
7import "nx_research_fetch_ext.nx"
8
9func pg_count_key(buf: *u8, n: i64) -> i64 {
10 // count occurrences of "question" preceded by a quote (the row key)
11 var cnt: i64 = 0
12 var i: i64 = 0
13 while i < n-9 {
14 if buf[i]==(34 as u8) { if buf[i+1]==(113 as u8) { if buf[i+2]==(117 as u8) { if buf[i+3]==(101 as u8) {
15 if buf[i+4]==(115 as u8) { if buf[i+5]==(116 as u8) { if buf[i+6]==(105 as u8) { if buf[i+7]==(111 as u8) {
16 if buf[i+8]==(110 as u8) { cnt = cnt + 1 }
17 } } } }
18 } } } }
19 i = i + 1
20 }
21 return cnt
22}
23
24func main() -> i64 {
25 let store: *TrustStore = rf_init()
26 if (store as i64) == 0 { rf_puts("no store\n" as *u8); return 1 }
27 var pass: i64 = 0
28
29 rf_puts("T1 fresh paged fetch (2x5 rows squad)\n" as *u8)
30 let rc1: i64 = rf_fetch_bank_paged("https://datasets-server.huggingface.co/rows?dataset=rajpurkar/squad&config=plain_text&split=validation" as *u8, "qab_pagedtest" as *u8, store, 5, 2)
31 let rawp: *u8 = sys_mmap(4096); rf_bpath(rawp, "knowledge/fetched/" as *u8, "qab_pagedtest" as *u8, ".raw" as *u8)
32 let partp: *u8 = sys_mmap(4096); rf_bpath(partp, "knowledge/fetched/" as *u8, "qab_pagedtest" as *u8, ".raw.part" as *u8)
33 var t1: i64 = 0
34 if rc1 == 1 { if rf_have(rawp) == 1 { if rf_have(partp) == 0 {
35 let lenbox: *i64 = sys_mmap(16) as *i64
36 let buf: *u8 = sys_read_file(rawp, lenbox)
37 if (buf as i64) != 0 {
38 let qk: i64 = pg_count_key(buf, lenbox[0])
39 rf_puts(" raw bytes="); rf_putn(lenbox[0]); rf_puts(" question-keys="); rf_putn(qk); rf_puts("\n" as *u8)
40 if qk >= 10 { t1 = 1 }
41 }
42 } } }
43 if t1 == 1 { rf_puts("T1 PASS (promoted atomically, both pages present)\n" as *u8); pass = pass + 1 } else { rf_puts("T1 FAIL\n" as *u8) }
44
45 rf_puts("T2 idempotent re-call\n" as *u8)
46 let rc2: i64 = rf_fetch_bank_paged("https://datasets-server.huggingface.co/rows?dataset=rajpurkar/squad&config=plain_text&split=validation" as *u8, "qab_pagedtest" as *u8, store, 5, 2)
47 if rc2 == 1 { rf_puts("T2 PASS (banked-skip)\n" as *u8); pass = pass + 1 } else { rf_puts("T2 FAIL\n" as *u8) }
48
49 rf_puts("T3 NEG-CONTROL nonexistent dataset\n" as *u8)
50 let rc3: i64 = rf_fetch_bank_paged("https://datasets-server.huggingface.co/rows?dataset=nishi/does-not-exist-xyz&config=default&split=validation" as *u8, "qab_pagedneg" as *u8, store, 5, 1)
51 let negraw: *u8 = sys_mmap(4096); rf_bpath(negraw, "knowledge/fetched/" as *u8, "qab_pagedneg" as *u8, ".raw" as *u8)
52 var t3: i64 = 0
53 if rc3 == 0 { if rf_have(negraw) == 0 { t3 = 1 } }
54 if t3 == 1 { rf_puts("T3 PASS (failed fetch NOT promoted to .raw)\n" as *u8); pass = pass + 1 } else { rf_puts("T3 FAIL\n" as *u8) }
55
56 rf_puts("PAGED-FETCH GATE "); rf_putn(pass); rf_puts("/3\n" as *u8)
57 if pass == 3 { rf_puts("GREEN\n" as *u8); return 0 }
58 rf_puts("RED\n" as *u8)
59 return 1
60}