code wiki / _hdl_build / nx_researcher.nx
nx_researcher.nx
buildroot/runtime/_hdl_build/nx_researcher.nx
about
nx_researcher.nx -- the NISHI RESEARCHER organ: the team does its OWN deep research and
synthesizes it into SPECIFIC TASKS, toward exceeding Claude's deep-research. Honest boundary
(mechanizable-invention doctrine): the sovereign team cannot browse the web or do LLM prose-
extraction in pure NishiLang, so the FETCH (sources) + EXTRACT (prose -> claims) stage is the
one delegated step. Everything that makes research RIGOROUS the team owns and runs
deterministically -- and that is where it EXCEEDS a one-shot LLM synthesis:
- ADVERSARIAL VERIFY: a team-owned 3-vote rule over independent checks (source authority,
numeric consistency, cross-corroboration). DETERMINISTIC -> same evidence, same verdict
every run (an LLM one-shot varies); refuted claims are killed, not quietly carried.
- SYNTHESIZE: keep only CONFIRMED, rank by confidence, dedup.
- GENERATE TASKS: every confirmed + actionable finding becomes a SPECIFIC, reproducible task
(id + owning organ + a gate to write) -- the actionable->reproducible bridge a prose report
stops short of. Refuted/unverified claims generate ZERO tasks = no wasted build effort.
The LIBRARIAN (nx_librarian_pipeline) then grades + persists the artifact so nothing is thrown
away. RACI: RESEARCHER verifies+synthesizes+tasks; LIBRARIAN grades+catalogs; BUILDER/ENGINEER
execute the tasks. license_tier: ORIGINAL Refs: the deep-research 5-angle/3-vote protocol.
dependencies 1 imports · 6 importers
imports: nx_syscalls.nx
imported by: nx_accesswall_research.nxnx_deep_research.nxnx_hosting_research.nxnx_org_research.nxnx_research_pipeline.nxnx_researcher_test.nx
structs
| none |
consts
| 20 | const RES_CONFIRMED: i64 = 1 |
| 21 | const RES_REFUTED: i64 = 2 |
| 22 | const RES_CONTESTED: i64 = 3 |
| 23 | const RES_VOTES: i64 = 3 // 3 independent adversarial checks per claim (the protocol) |
| 24 | const RES_ANGLES: i64 = 5 // standard decomposition: primary/technical/dominant/coupling/applied |
functions
| 27 | func res_verify(confirm_votes: i64, refute_votes: i64) -> i64 |
| 33 | func res_confidence_permil(confirm_votes: i64) -> i64 { return (confirm_votes * 1000) / RES_VOTES } |
| 37 | func res_is_task(verdict: i64, actionable: i64) -> i64 |
| 43 | func res_count_verdict(n: i64, cv: *i64, rv: *i64, target: i64) -> i64 |
| 52 | func res_synthesize(n: i64, cv: *i64, rv: *i64, actionable: *i64, organ: *i64, out_idx: *i64, out_organ: *i64) -> i64 |
| 64 | func res_is_reproducible(n: i64, cv: *i64, rv: *i64, actionable: *i64, organ: *i64) -> i64 |