code wiki / _hdl_build / nx_ecomat_target_emit.nx
nx_ecomat_target_emit.nx source
↩ module page · 34 lines · 1951 B
1// nx_ecomat_target_emit.nx -- R1, SOVEREIGN edition: the maturity GAP becomes ranked work for the
2// autonomous loop. Reads the NATIVE seg_store and appends one TODO target per below-bar domain to the
3// loop's assignment_queue.tsv via the shared et_emit_targets_core (DRY with the flywheel beat) --
4// IDEMPOTENT + rt_lock-protected, weighted by leverage. license_tier: ORIGINAL
5import "nx_ecomat_lib.nx"
6import "nx_registry_lock.nx"
7
8func main(argc: i64, argv: *i64) -> i64 {
9 var store: *u8 = ECOMAT_STORE
10 var queue: *u8 = "knowledge/registry/assignment_queue.tsv" as *u8
11 var lock: *u8 = "knowledge/registry/assignment_queue.tsv.lock" as *u8
12 var tlog: *u8 = "knowledge/status/ecomat_targets.log" as *u8
13 if argc >= 2 { store = argv[1] as *u8 }
14 if argc >= 3 { queue = argv[2] as *u8 }
15 if argc >= 4 { lock = argv[3] as *u8 }
16 if argc >= 5 { tlog = argv[4] as *u8 }
17 let hcheck: *i64 = ss_open(store)
18 if (hcheck as i64) == 0 { _p("ECOMAT-EMIT verdict=RED reason=no-store (run nx_ecomat_seed)\n" as *u8); sys_exit(101); return 101 }
19 let szp: *i64 = sys_mmap(16) as *i64
20 let qb: *u8 = ss_readall(queue, szp)
21 var qn: i64 = szp[0]
22 if qn < 0 { qn = 0 }
23 let lk: i64 = rt_lock(lock)
24 let qf: i64 = sys_openat_append(queue, 0x1a4)
25 let lf: i64 = sys_openat_append(tlog, 0x1a4)
26 let out: *i64 = sys_mmap(32)
27 et_emit_targets_core(store, qb, qn, qf, lf, out)
28 if lf >= 0 { _fp(lf, "ECOMAT-EMIT-RUN emitted=" as *u8); _fn(lf, out[0]); _fp(lf, " done_marks=" as *u8); _fn(lf, out[1]); _fp(lf, " epoch=" as *u8); _fn(lf, sys_now_realtime_sec()); _fp(lf, " src=seg_store verdict=GREEN\n" as *u8); sys_close(lf) }
29 if qf >= 0 { sys_close(qf) }
30 rt_unlock(lock, lk)
31 _p("ECOMAT-EMIT emitted=" as *u8); _fn(1, out[0]); _p(" targets from the sovereign store (idempotent, lock-protected) done_marks=" as *u8); _fn(1, out[1]); _p(" verdict=GREEN\n" as *u8)
32 sys_exit(0)
33 return 0
34}