code wiki / _hdl_build / nx_hr_census_gate.nx

nx_hr_census_gate.nx source

↩ module page · 64 lines · 5214 B

1// nx_hr_census_gate.nx -- referee for the HR maturity census. PROVES the organ-computed grade + the LIAR-KILL: 2// green gate + no h2h -> PRESENT (honest ceiling) ; red/missing gate -> ABSENT ; green + measured h2h -> PARITY/EXCEEDS ; 3// green + a CLAIM of exceeds but NO h2h record -> stays PRESENT (cannot self-promote). Also grades the REAL HR 4// module gate logs from this session (all PRESENT, EXCEEDS=0 -- the honest reading). GREEN iff every row matches. 5// Prints verdict=GREEN to STDOUT *and* returns the exit code. Durable -> knowledge/status/hr_census_gate.log. 6// license_tier: ORIGINAL 7import "nx_hr_census.nx" 8import "nx_g_puts_lib.nx" 9import "nx_syscalls.nx" 10 11func g_num(v: i64) -> i64 { let bb: *u8=sys_mmap(28); var m: i64=v; if m<0{m=0-m;sys_write(1,"-" as *u8,1)}; let t: *u8=sys_mmap(28); var k: i64=0; if m==0{t[0]=(48 as u8);k=1}; while m>0{t[k]=((48+(m%10)) as u8);m=m/10;k=k+1}; var i: i64=0; while i<k{bb[i]=t[k-1-i];i=i+1}; sys_write(1,bb,k); return 0 } 12func g_w(fd: i64, s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(fd,s,n); return 0 } 13func g_wn(fd: i64, v: i64) -> i64 { let bb: *u8=sys_mmap(28); var m: i64=v; if m<0{m=0-m}; let t: *u8=sys_mmap(28); var k: i64=0; if m==0{t[0]=(48 as u8);k=1}; while m>0{t[k]=((48+(m%10)) as u8);m=m/10;k=k+1}; var i: i64=0; while i<k{bb[i]=t[k-1-i];i=i+1}; sys_write(fd,bb,k); return 0 } 14func gwrite(path: *u8, s: *u8, n: i64) -> i64 { let fd: i64 = sys_openat_wr(path, 0x1a4); if fd<0 { return 0 } if n>0 { sys_write(fd, s, n) } sys_close(fd); return 0 } 15func slen(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} return n } 16func chk(got: i64, want: i64, label: *u8) -> i64 { 17 g_puts(" "); g_puts(label); g_puts(" got="); g_num(got); g_puts(" want="); g_num(want) 18 if got == want { g_puts(" PASS\n"); return 1 } 19 g_puts(" FAIL\n"); return 0 20} 21 22func main() -> i64 { 23 g_puts("=== NISHI HR CENSUS GATE (organ-graded maturity, never self-scored; liar-kill on unmeasured EXCEEDS) ===\n" as *u8) 24 var pass: i64=0 25 var rows: i64=0 26 27 let grn: *u8 = "/tmp/hcg_green" as *u8; gwrite(grn, "NISHI-HR-GATE rows=13 pass=13 verdict=GREEN\n" as *u8, slen("NISHI-HR-GATE rows=13 pass=13 verdict=GREEN\n" as *u8)) 28 let red: *u8 = "/tmp/hcg_red" as *u8; gwrite(red, "SOME-GATE verdict=RED\n" as *u8, slen("SOME-GATE verdict=RED\n" as *u8)) 29 let h2hx:*u8 = "/tmp/hcg_h2h_ex" as *u8; gwrite(h2hx, "h2h=exceeds vs Workday/Okta measured\n" as *u8, slen("h2h=exceeds vs Workday/Okta measured\n" as *u8)) 30 let h2hp:*u8 = "/tmp/hcg_h2h_par" as *u8; gwrite(h2hp, "h2h=parity measured\n" as *u8, slen("h2h=parity measured\n" as *u8)) 31 let none:*u8 = "/tmp/hcg_none" as *u8; gwrite(none, "" as *u8, 0) 32 let miss:*u8 = "/tmp/hcg_missing_xyz" as *u8 // never created 33 34 rows=rows+1; pass=pass+chk(hc_grade(grn, miss), HC_PRESENT, "green gate + no h2h -> PRESENT (honest ceiling)" as *u8) 35 rows=rows+1; pass=pass+chk(hc_grade(red, h2hx), HC_ABSENT, "RED gate -> ABSENT (even w/ exceeds claim)" as *u8) 36 rows=rows+1; pass=pass+chk(hc_grade(miss, h2hx), HC_ABSENT, "missing gate log -> ABSENT" as *u8) 37 rows=rows+1; pass=pass+chk(hc_grade(grn, h2hx), HC_EXCEEDS, "green + measured h2h=exceeds -> EXCEEDS" as *u8) 38 rows=rows+1; pass=pass+chk(hc_grade(grn, h2hp), HC_PARITY, "green + measured h2h=parity -> PARITY" as *u8) 39 rows=rows+1; pass=pass+chk(hc_grade(grn, none), HC_PRESENT, "green + EMPTY h2h -> PRESENT (LIAR-KILL: no self-promote)" as *u8) 40 rows=rows+1; pass=pass+chk(hc_file_contains(grn, "verdict=GREEN" as *u8), 1, "file_contains(green, verdict=GREEN)=1" as *u8) 41 42 // --- REAL census: grade this session's actual HR module gate logs (no h2h yet -> PRESENT, EXCEEDS=0 honest) --- 43 g_puts("--- live HR census (from knowledge/status/*.log; no measured h2h yet) ---\n" as *u8) 44 let g1: i64 = hc_grade("knowledge/status/hr_gate.log" as *u8, miss) 45 let g2: i64 = hc_grade("knowledge/status/hr_team_gate.log" as *u8, miss) 46 let g3: i64 = hc_grade("knowledge/status/hr_visitor_gate.log" as *u8, miss) 47 g_puts(" nx_hr (users/roles) = "); g_puts(hc_grade_name(g1)); g_puts("\n" as *u8) 48 g_puts(" nx_hr_team (RACI/staff/trn)= "); g_puts(hc_grade_name(g2)); g_puts("\n" as *u8) 49 g_puts(" nx_hr_visitor (front desk) = "); g_puts(hc_grade_name(g3)); g_puts("\n" as *u8) 50 rows=rows+1; pass=pass+chk(g1, HC_PRESENT, "REAL nx_hr -> PRESENT" as *u8) 51 rows=rows+1; pass=pass+chk(g2, HC_PRESENT, "REAL nx_hr_team -> PRESENT" as *u8) 52 rows=rows+1; pass=pass+chk(g3, HC_PRESENT, "REAL nx_hr_visitor -> PRESENT" as *u8) 53 54 g_puts("----\nNISHI-HR-CENSUS-GATE rows=" as *u8); g_num(rows); g_puts(" pass=" as *u8); g_num(pass) 55 if pass==rows { g_puts(" verdict=GREEN\n" as *u8) } else { g_puts(" verdict=RED\n" as *u8) } 56 let lg: i64=sys_openat_append("knowledge/status/hr_census_gate.log" as *u8, 0x1a4) 57 if lg>=0 { 58 g_w(lg, "NISHI-HR-CENSUS-GATE rows=" as *u8); g_wn(lg, rows); g_w(lg, " pass=" as *u8); g_wn(lg, pass) 59 if pass==rows { g_w(lg, " verdict=GREEN\n" as *u8) } else { g_w(lg, " verdict=RED\n" as *u8) } 60 sys_close(lg) 61 } 62 if pass==rows { sys_exit(0); return 0 } 63 sys_exit(1); return 1 64}