code wiki / _hdl_build / nx_researcher_deep.nx

nx_researcher_deep.nx

buildroot/runtime/_hdl_build/nx_researcher_deep.nx

4071 B65 linesdepth 2pulls 2 transitivereach 10 importersview sourcekind librarytopic researcher
docsdependenciesstructsconstsfunctions

about

nx_researcher_deep.nx -- the team's RESEARCHER does DEEP RESEARCH to PRODUCE a spec, instead of taking what Claude/the operator says (operator: "the researcher shouldnt do what you do and just take what i say it should deep research the space to get us the information for a spec... find lots of sources and catalog them and pass them to the librarian and synthesize the information like you do with deep research"). The loop (the deep-research pattern, run by the TEAM): question -> ANGLES (fan-out) -> fetch sources -> extract -> CATALOG to the Librarian/Library -> CORROBORATE (a fact needs >=2 independent sources) -> SYNTHESIZE -> a GROUNDED spec. A fact with only 1 source (incl. "Claude said"/"operator said") is HEARSAY -> rejected. license_tier: ORIGINAL Wires nx_browse_text (fetch) + nx_research_extract + nx_library_cache (Librarian) + nx_corroborate into the deep-research loop.

dependencies 1 imports · 3 importers

nx_syscalls.nx nx_researcher_deep.nx nx_research_chipfab.nx nx_research_synth.nx nx_researcher_deep_test.nx

imports: nx_syscalls.nx

imported by: nx_research_chipfab.nxnx_research_synth.nxnx_researcher_deep_test.nx

structs

none

consts

13const RD_ANGLES: i64 = 5 // fan-out breadth (matches the deep-research workflow's 5 angles)
50const RD_NSTAGES: i64 = 7

functions

16func rd_sources_cataloged(per_angle: *i64, n_angles: i64) -> i64
called by 1: main
23func rd_corroborated(n_confirming: i64) -> i64 { if n_confirming >= 2 { return 1 } return 0 }
called by 2: rd_admit_factmain
24func rd_is_hearsay(n_confirming: i64) -> i64 { if n_confirming < 2 { return 1 } return 0 }
called by 1: main
27func rd_admit_fact(n_confirming: i64, cataloged: i64) -> i64
33func rd_admitted_count(confirming: *i64, cataloged: *i64, n: i64) -> i64
called by 1: main calls 1: rd_admit_fact
41func rd_spec_grounded(admitted: i64, total_candidates: i64) -> i64
called by 2: rc_groundedmain
53func rd_stage_mechanized(stage: i64) -> i64 { if stage == 5 { return 0 } return 1 }
54func rd_mechanized_permil() -> i64 { return 6 * 1000 / RD_NSTAGES } // 6 of 7 stages mechanized
called by 1: main
57func rd_llm_calls(corroborated_clusters: i64) -> i64 { return corroborated_clusters }
called by 1: main
60func rd_exceeds_claude(our_sources: i64, claude_sources: i64, our_llm: i64, claude_llm: i64) -> i64
65func rd_reproducible_permil() -> i64 { return 6 * 1000 / RD_NSTAGES }
called by 1: main