code wiki / _hdl_build / nx_research_backlog.nx
nx_research_backlog.nx
buildroot/runtime/_hdl_build/nx_research_backlog.nx
about
nx_research_backlog.nx -- the RESEARCHER's TOPIC BACKLOG (operator: "id like the researcher to be
given a backlog to build our library on of topics or terms"). A queue of topics/terms the Researcher
works through to GROW the Nishi library -- but smarter than FIFO: it prioritizes by COVERAGE GAP, so
the team researches where the library is THINNEST first (comprehensive coverage, not random). Each
topic carries: a priority (how much it matters to the team's arcs) and library_hits (how many docs
already cover it). gap_score = priority weighted by how UNDER-covered the topic is; the Researcher
always pulls the highest-gap PENDING topic, researches it (autonomous loop + polite crawl + corroborate
+ site-ingest), banks the new docs, and marks it done -- raising that topic's coverage and lowering its
future priority. RACI: this is the RESEARCHER's work queue (feeds nx_research_synth / nx_site_ingest).
LAWS: struct-free, integer-only. license_tier: ORIGINAL
dependencies 1 imports · 2 importers
imports: nx_syscalls.nx
imported by: nx_research_backlog_test.nxnx_work_pulse.nx
structs
| none |
consts
| 13 | const RB_PENDING: i64 = 0 |
| 14 | const RB_DONE: i64 = 1 |
functions
| 18 | func rb_coverage_permil(library_hits: i64, target_hits: i64) -> i64 |
| 26 | func rb_gap_score(priority: i64, library_hits: i64, target_hits: i64) -> i64 |
| 32 | func rb_next(priority: *i64, status: *i64, hits: *i64, n: i64, target: i64) -> i64 |
| 47 | func rb_mark_done(status: *i64, hits: *i64, idx: i64, new_hits: i64) -> i64 called by 1: main |
| 54 | func rb_progress_permil(status: *i64, n: i64) -> i64 |
| 62 | func rb_all_done(status: *i64, n: i64) -> i64 called by 1: main |
| 70 | func rb_library_coverage_permil(hits: *i64, n: i64, target: i64) -> i64 |