code wiki / _hdl_build / nx_work_retro.nx
nx_work_retro.nx source
↩ module page · 66 lines · 3403 B
1// nx_work_retro.nx -- PAST-axis runner: sweep the active organ dir and report any RECENT .nx that is
2// unaccounted-for in the durable record (no memory doc + no worklog mention) = candidate uncaptured
3// work. Unlike the silent capture organs this one PRINTS (it is an analysis tool the operator/PM runs
4// on demand) AND writes a durable report so the planning surface can read it.
5// nx_work_retro [sweepdir] [window_sec]
6// defaults: sweepdir = runtime/_hdl_build, window = 7 days. Sovereign. license_tier: ORIGINAL
7import "nx_syscalls.nx"
8import "nx_work_retro_lib.nx"
9const WRR_MAGIC_262144: i64 = 262144
10
11const WRR_SWEEPDIR: *u8 = "/mnt/c/Users/elder/nishi-core/nxc2/runtime/_hdl_build"
12const WRR_MEMDIR: *u8 = "/mnt/c/Users/elder/.claude/projects/C--Users-elder/memory"
13const WRR_WORKLOG: *u8 = "/mnt/c/Users/elder/.claude/projects/C--Users-elder/memory/worklog/worklog.tsv"
14const WRR_REPORT: *u8 = "/mnt/c/Users/elder/.claude/projects/C--Users-elder/memory/worklog/retro_flagged.txt"
15const WRR_WINDOW: i64 = 604800 // 7 days
16
17func wrp(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 }
18func wrn(v: i64) -> i64 {
19 let bb: *u8 = sys_mmap(28); var m: i64 = v
20 if m < 0 { sys_write(1, "-" as *u8, 1); m = 0 - m }
21 let t: *u8 = sys_mmap(28); var k: i64 = 0
22 if m == 0 { t[0] = 48 as u8; k = 1 }
23 while m > 0 { t[k] = ((48 + (m % 10)) as u8); m = m / 10; k = k + 1 }
24 var i: i64 = 0; while i < k { bb[i] = t[k - 1 - i]; i = i + 1 }
25 sys_write(1, bb, k); return 0
26}
27func wrr_atoi(s: *u8) -> i64 {
28 var v: i64 = 0; var i: i64 = 0
29 while s[i] != (0 as u8) { let c: i64 = s[i] as i64; if c >= 48 { if c <= 57 { v = v * 10 + (c - 48) } } i = i + 1 }
30 return v
31}
32func wrr_strlen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
33
34func main(argc: i64, argv: *i64) -> i64 {
35 var sweepdir: *u8 = WRR_SWEEPDIR
36 var window: i64 = WRR_WINDOW
37 if argc >= 2 { sweepdir = argv[1] as *u8 }
38 if argc >= 3 { window = wrr_atoi(argv[2] as *u8) }
39
40 let now: i64 = sys_now_realtime_sec()
41 let corpus: *u8 = sys_mmap(WR_CORPUSCAP)
42 let clen: i64 = wr_load_corpus(WRR_MEMDIR, WRR_WORKLOG, corpus, WR_CORPUSCAP)
43 let flagged: *u8 = sys_mmap(WRR_MAGIC_262144)
44 let stats: *i64 = sys_mmap(24) as *i64
45 let nprim: i64 = wr_sweep(sweepdir, corpus, clen, now, window, flagged, WRR_MAGIC_262144, stats)
46
47 wrp("WORK-RETRO sweep=" as *u8); wrp(sweepdir)
48 wrp(" swept=" as *u8); wrn(stats[0])
49 wrp(" corpus=" as *u8); wrn(clen); wrp("B raw_flagged=" as *u8); wrn(stats[1])
50 wrp(" primary_candidates=" as *u8); wrn(nprim)
51 wrp(" window=" as *u8); wrn(window); wrp("s\n" as *u8)
52 if nprim > 0 {
53 wrp("-- PRIMARY candidate uncaptured workstreams (recent, unrecorded, non-helper):\n" as *u8)
54 wrp(flagged)
55 wrp(" (raw_flagged also counts gate/test/probe sub-components, excluded from this shortlist;\n" as *u8)
56 wrp(" this primary shortlist is saved to memory/worklog/retro_flagged.txt)\n" as *u8)
57 } else {
58 wrp("-- no primary uncaptured workstreams (all recent primaries are accounted-for)\n" as *u8)
59 }
60
61 // durable report for the planning surface
62 let rfd: i64 = sys_openat_wr(WRR_REPORT, 420)
63 if rfd >= 0 { sys_write(rfd, flagged, wrr_strlen(flagged)); sys_close(rfd) }
64
65 sys_exit(0); return 0
66}