codenib 0.1.0__tar.gz → 0.2.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (542) hide show
  1. codenib-0.2.0/CHANGELOG.md +139 -0
  2. {codenib-0.1.0 → codenib-0.2.0}/MANIFEST.in +1 -0
  3. {codenib-0.1.0 → codenib-0.2.0}/PKG-INFO +123 -23
  4. {codenib-0.1.0 → codenib-0.2.0}/README.md +111 -19
  5. {codenib-0.1.0 → codenib-0.2.0}/codenib/__init__.py +15 -1
  6. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/__init__.py +108 -1
  7. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/lsp_graph.py +20 -1
  8. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/runner.py +118 -4
  9. codenib-0.2.0/codenib/agent/runtime/__init__.py +90 -0
  10. codenib-0.2.0/codenib/agent/runtime/explorer.py +729 -0
  11. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/_graphnav.py +10 -2
  12. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/tools/defaults.py +2 -1
  13. codenib-0.2.0/codenib/agent/tools/sandbox.py +552 -0
  14. codenib-0.2.0/codenib/artifacts/__init__.py +46 -0
  15. codenib-0.2.0/codenib/artifacts/archive.py +216 -0
  16. codenib-0.2.0/codenib/artifacts/context.py +452 -0
  17. codenib-0.2.0/codenib/artifacts/github.py +424 -0
  18. codenib-0.2.0/codenib/artifacts/mcp_config.py +91 -0
  19. codenib-0.2.0/codenib/artifacts/runtime.py +608 -0
  20. codenib-0.2.0/codenib/artifacts/security.py +173 -0
  21. codenib-0.2.0/codenib/cli.py +2057 -0
  22. codenib-0.2.0/codenib/clients/__init__.py +5 -0
  23. codenib-0.2.0/codenib/clients/_manifest.py +147 -0
  24. codenib-0.2.0/codenib/clients/agentless_agent.py +575 -0
  25. codenib-0.2.0/codenib/clients/agentless_protocol.py +152 -0
  26. codenib-0.2.0/codenib/clients/cosil_agent.py +750 -0
  27. codenib-0.2.0/codenib/clients/cosil_protocol.py +376 -0
  28. codenib-0.2.0/codenib/clients/locagent_agent.py +584 -0
  29. codenib-0.2.0/codenib/clients/locagent_protocol.py +185 -0
  30. codenib-0.2.0/codenib/clients/orcaloca_agent.py +287 -0
  31. {codenib-0.1.0 → codenib-0.2.0}/codenib/code_chunker.py +40 -10
  32. {codenib-0.1.0 → codenib-0.2.0}/codenib/code_chunking/__init__.py +1 -1
  33. {codenib-0.1.0 → codenib-0.2.0}/codenib/code_chunking/base.py +28 -7
  34. {codenib-0.1.0 → codenib-0.2.0}/codenib/compiler/__init__.py +18 -1
  35. codenib-0.2.0/codenib/compiler/artifact_fingerprints.py +62 -0
  36. codenib-0.2.0/codenib/compiler/artifact_quality.py +505 -0
  37. codenib-0.2.0/codenib/compiler/checkout_identity.py +63 -0
  38. {codenib-0.1.0 → codenib-0.2.0}/codenib/compiler/index_builders.py +260 -62
  39. {codenib-0.1.0 → codenib-0.2.0}/codenib/compiler/skill_context.py +10 -20
  40. {codenib-0.1.0 → codenib-0.2.0}/codenib/compiler/snapshot_store.py +3 -0
  41. {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/codenib_base.py +21 -29
  42. codenib-0.2.0/codenib/eval/__init__.py +5 -0
  43. codenib-0.2.0/codenib/eval/agent_runner/baseline.py +25 -0
  44. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/query_sweep.py +31 -0
  45. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/sweep.py +14 -1
  46. {codenib-0.1.0/codenib/eval/agent_runner → codenib-0.2.0/codenib/eval}/baseline.py +4 -1
  47. codenib-0.2.0/codenib/eval/benchmarks/__init__.py +123 -0
  48. codenib-0.2.0/codenib/eval/benchmarks/agentless.py +229 -0
  49. codenib-0.2.0/codenib/eval/benchmarks/cosil.py +118 -0
  50. codenib-0.2.0/codenib/eval/benchmarks/locagent.py +300 -0
  51. codenib-0.2.0/codenib/eval/benchmarks/orcaloca.py +403 -0
  52. codenib-0.2.0/codenib/eval/benchmarks/policy_benchmark.py +1345 -0
  53. codenib-0.2.0/codenib/eval/benchmarks/policy_compat.py +967 -0
  54. codenib-0.2.0/codenib/eval/benchmarks/swe_explore.py +916 -0
  55. codenib-0.2.0/codenib/eval/benchmarks/swe_explore_runner.py +541 -0
  56. codenib-0.2.0/codenib/eval/benchmarks/swebench_policy_cases.py +951 -0
  57. codenib-0.2.0/codenib/eval/pricing/anthropic-direct-2026-08-04.json +26 -0
  58. codenib-0.2.0/codenib/eval/reports/pricing.py +350 -0
  59. codenib-0.2.0/codenib/eval/reports/quality_cost.py +1187 -0
  60. codenib-0.2.0/codenib/git_snapshot.py +313 -0
  61. {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/__init__.py +8 -1
  62. {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/backend_alignment.py +2 -1
  63. {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/code_graph.py +61 -26
  64. {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/dependency.py +6 -2
  65. {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/incremental/__init__.py +2 -1
  66. {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/incremental/change_mgr.py +18 -0
  67. {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/incremental/lsp_client.py +4 -3
  68. {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/incremental/patcher_base.py +39 -6
  69. codenib-0.2.0/codenib/graph/incremental/patcher_ts.py +104 -0
  70. {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/incremental/subgraph_mgr.py +11 -0
  71. {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/roi_subgraph.py +9 -4
  72. {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/setup.py +20 -8
  73. codenib-0.2.0/codenib/graph/source_coverage.py +239 -0
  74. {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/traverse_graph.py +20 -1
  75. {codenib-0.1.0 → codenib-0.2.0}/codenib/index/__init__.py +9 -1
  76. {codenib-0.1.0 → codenib-0.2.0}/codenib/index/embedding/__init__.py +11 -1
  77. {codenib-0.1.0 → codenib-0.2.0}/codenib/index/embedding/builders.py +38 -3
  78. {codenib-0.1.0 → codenib-0.2.0}/codenib/index/embedding/vector_store.py +98 -11
  79. {codenib-0.1.0 → codenib-0.2.0}/codenib/index/sparse_idx/bm25_index.py +0 -2
  80. codenib-0.2.0/codenib/integrations/__init__.py +27 -0
  81. codenib-0.2.0/codenib/integrations/_orcaloca_python.py +158 -0
  82. codenib-0.2.0/codenib/integrations/_repository.py +835 -0
  83. codenib-0.2.0/codenib/integrations/agentless.py +455 -0
  84. codenib-0.2.0/codenib/integrations/cosil.py +509 -0
  85. codenib-0.2.0/codenib/integrations/locagent.py +775 -0
  86. codenib-0.2.0/codenib/integrations/orcaloca.py +978 -0
  87. codenib-0.2.0/codenib/integrations/swe_explore.py +182 -0
  88. {codenib-0.1.0 → codenib-0.2.0}/codenib/llm/usage.py +32 -4
  89. {codenib-0.1.0 → codenib-0.2.0}/codenib/ls_index/lsp_graph_decode.py +7 -0
  90. {codenib-0.1.0 → codenib-0.2.0}/codenib/ls_router.py +43 -7
  91. codenib-0.2.0/codenib/mcp/context.py +403 -0
  92. {codenib-0.1.0 → codenib-0.2.0}/codenib/mcp/prompts.py +18 -5
  93. {codenib-0.1.0 → codenib-0.2.0}/codenib/mcp/server.py +109 -13
  94. {codenib-0.1.0 → codenib-0.2.0}/codenib/mcp/tools/search.py +127 -0
  95. codenib-0.2.0/codenib/model/__init__.py +126 -0
  96. {codenib-0.1.0 → codenib-0.2.0}/codenib/model/agentless_pipeline.py +1 -1
  97. {codenib-0.1.0 → codenib-0.2.0}/codenib/model/retrieve_rerank_pipeline.py +49 -123
  98. codenib-0.2.0/codenib/ops/__init__.py +5 -0
  99. {codenib-0.1.0 → codenib-0.2.0}/codenib/ops/expand.py +169 -6
  100. {codenib-0.1.0 → codenib-0.2.0}/codenib/ops/retrieve.py +45 -0
  101. {codenib-0.1.0 → codenib-0.2.0}/codenib/paths.py +18 -0
  102. codenib-0.2.0/codenib/provider_routes.py +613 -0
  103. {codenib-0.1.0 → codenib-0.2.0}/codenib/repository_filters.py +3 -2
  104. codenib-0.2.0/codenib/sandbox/__init__.py +55 -0
  105. codenib-0.2.0/codenib/sandbox/docker.py +2086 -0
  106. codenib-0.2.0/codenib/sandbox/protocol.py +103 -0
  107. codenib-0.2.0/codenib/sandbox/types.py +416 -0
  108. {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/__init__.py +56 -2
  109. {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/rust_analyzer.py +3 -1
  110. {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_decode_core.py +16 -2
  111. {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_decode_ruby.py +1 -0
  112. {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_decode_ts.py +25 -6
  113. {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_indexer_python.py +102 -5
  114. codenib-0.2.0/codenib/scip_interface/typescript_semantics.py +269 -0
  115. codenib-0.2.0/codenib/toolchains.py +538 -0
  116. {codenib-0.1.0 → codenib-0.2.0}/codenib/types.py +68 -1
  117. codenib-0.2.0/codenib/utils.py +299 -0
  118. {codenib-0.1.0 → codenib-0.2.0}/codenib/web/app.py +140 -12
  119. {codenib-0.1.0 → codenib-0.2.0}/codenib/web/codemap.py +325 -38
  120. {codenib-0.1.0 → codenib-0.2.0}/codenib/web/commit_window.py +15 -0
  121. {codenib-0.1.0 → codenib-0.2.0}/codenib/web/config.py +3 -2
  122. codenib-0.2.0/codenib/web/entrypoints.py +384 -0
  123. {codenib-0.1.0 → codenib-0.2.0}/codenib/web/local.py +11 -45
  124. codenib-0.2.0/codenib/web/modulemap.py +611 -0
  125. {codenib-0.1.0 → codenib-0.2.0}/codenib/web/repo_registry.py +42 -45
  126. codenib-0.2.0/codenib/web/repository_files.py +216 -0
  127. {codenib-0.1.0 → codenib-0.2.0}/codenib/web/schemas.py +1 -0
  128. codenib-0.2.0/codenib/web/static_export.py +629 -0
  129. {codenib-0.1.0 → codenib-0.2.0}/codenib.egg-info/PKG-INFO +123 -23
  130. {codenib-0.1.0 → codenib-0.2.0}/codenib.egg-info/SOURCES.txt +128 -61
  131. {codenib-0.1.0 → codenib-0.2.0}/codenib.egg-info/entry_points.txt +2 -0
  132. {codenib-0.1.0 → codenib-0.2.0}/codenib.egg-info/requires.txt +11 -2
  133. {codenib-0.1.0 → codenib-0.2.0}/pyproject.toml +30 -4
  134. codenib-0.2.0/server.json +45 -0
  135. {codenib-0.1.0 → codenib-0.2.0}/test/test_cli.py +470 -3
  136. codenib-0.2.0/test/test_cli_remote_embeddings.py +125 -0
  137. codenib-0.2.0/test/test_git_snapshot.py +105 -0
  138. {codenib-0.1.0 → codenib-0.2.0}/test/test_lazy_imports.py +26 -0
  139. {codenib-0.1.0 → codenib-0.2.0}/test/test_ls_router_registry.py +46 -1
  140. codenib-0.2.0/test/test_mcp_registry.py +72 -0
  141. {codenib-0.1.0 → codenib-0.2.0}/test/test_namespace_contract.py +1 -0
  142. codenib-0.2.0/test/test_provider_routes.py +330 -0
  143. codenib-0.2.0/test/test_release_artifacts.py +258 -0
  144. {codenib-0.1.0 → codenib-0.2.0}/test/test_release_metadata.py +7 -1
  145. codenib-0.2.0/test/test_source_classification.py +124 -0
  146. {codenib-0.1.0 → codenib-0.2.0}/test/test_source_fingerprint.py +10 -0
  147. codenib-0.2.0/test/test_toolchains.py +168 -0
  148. {codenib-0.1.0 → codenib-0.2.0}/web/app/[repoId]/page.tsx +47 -33
  149. {codenib-0.1.0 → codenib-0.2.0}/web/app/globals.css +10 -0
  150. {codenib-0.1.0 → codenib-0.2.0}/web/app/page.tsx +25 -16
  151. {codenib-0.1.0 → codenib-0.2.0}/web/components/CitationItem.tsx +1 -1
  152. {codenib-0.1.0 → codenib-0.2.0}/web/components/CodeGraph.tsx +29 -6
  153. {codenib-0.1.0 → codenib-0.2.0}/web/components/Codemap.tsx +150 -6
  154. {codenib-0.1.0 → codenib-0.2.0}/web/components/GraphView.tsx +23 -9
  155. {codenib-0.1.0 → codenib-0.2.0}/web/components/Header.tsx +2 -1
  156. {codenib-0.1.0 → codenib-0.2.0}/web/components/HierarchyMap.tsx +1 -1
  157. codenib-0.1.0/web/dist/assets/AskBar-Q_2zSw_D.js → codenib-0.2.0/web/dist/assets/AskBar-C4Hds1pN.js +3 -3
  158. codenib-0.2.0/web/dist/assets/CodeGraph-Bk050lPY.js +3 -0
  159. codenib-0.1.0/web/dist/assets/CodePanel-BE7Wg1wI.js → codenib-0.2.0/web/dist/assets/CodePanel-RRVgM80m.js +1 -1
  160. codenib-0.2.0/web/dist/assets/Codemap-_J-N39hJ.js +2 -0
  161. codenib-0.2.0/web/dist/assets/GraphView-DlJFx6EE.js +2 -0
  162. codenib-0.2.0/web/dist/assets/Header-D-408zC3.js +1 -0
  163. codenib-0.1.0/web/dist/assets/HighlightedBlock-H7FGwbAI.js → codenib-0.2.0/web/dist/assets/HighlightedBlock-CBrRJKKg.js +1 -1
  164. codenib-0.1.0/web/dist/assets/HighlightedCode-CTRFPFV9.js → codenib-0.2.0/web/dist/assets/HighlightedCode-D7iVacoh.js +1 -1
  165. codenib-0.1.0/web/dist/assets/Mermaid-NhydXLyh.js → codenib-0.2.0/web/dist/assets/Mermaid-qxXKfOC2.js +64 -64
  166. codenib-0.2.0/web/dist/assets/api-BJqIDhrh.js +1 -0
  167. codenib-0.1.0/web/dist/assets/arc-Cj6TUG7b.js → codenib-0.2.0/web/dist/assets/arc-YQRjQ4G1.js +1 -1
  168. codenib-0.1.0/web/dist/assets/architectureDiagram-3BPJPVTR-BXC7SbpZ.js → codenib-0.2.0/web/dist/assets/architectureDiagram-3BPJPVTR-CTgs6C8r.js +1 -1
  169. codenib-0.1.0/web/dist/assets/blockDiagram-GPEHLZMM-BYhhgH_O.js → codenib-0.2.0/web/dist/assets/blockDiagram-GPEHLZMM-ytEBsL_7.js +1 -1
  170. codenib-0.1.0/web/dist/assets/c4Diagram-AAUBKEIU-BPe9Xb1K.js → codenib-0.2.0/web/dist/assets/c4Diagram-AAUBKEIU-B45D0ZGi.js +1 -1
  171. codenib-0.2.0/web/dist/assets/channel-DX20L555.js +1 -0
  172. codenib-0.1.0/web/dist/assets/chunk-2J33WTMH-mJuoTx1I.js → codenib-0.2.0/web/dist/assets/chunk-2J33WTMH-B04lsti9.js +1 -1
  173. codenib-0.1.0/web/dist/assets/chunk-4BX2VUAB-DyIPfnHV.js → codenib-0.2.0/web/dist/assets/chunk-4BX2VUAB-CJ8ZXPQi.js +1 -1
  174. codenib-0.1.0/web/dist/assets/chunk-55IACEB6-C8bSn9Qq.js → codenib-0.2.0/web/dist/assets/chunk-55IACEB6-YUQCcuMJ.js +1 -1
  175. codenib-0.1.0/web/dist/assets/chunk-727SXJPM-CgiBqZFm.js → codenib-0.2.0/web/dist/assets/chunk-727SXJPM-hJyIaPef.js +1 -1
  176. codenib-0.1.0/web/dist/assets/chunk-AQP2D5EJ-DOOlLotN.js → codenib-0.2.0/web/dist/assets/chunk-AQP2D5EJ-DFQNP1HU.js +1 -1
  177. codenib-0.1.0/web/dist/assets/chunk-FMBD7UC4-mf47mSz2.js → codenib-0.2.0/web/dist/assets/chunk-FMBD7UC4-BkPDOFmf.js +1 -1
  178. codenib-0.1.0/web/dist/assets/chunk-ND2GUHAM-D6lobpla.js → codenib-0.2.0/web/dist/assets/chunk-ND2GUHAM-BiqC6wmT.js +1 -1
  179. codenib-0.1.0/web/dist/assets/chunk-QZHKN3VN-D9a00sWs.js → codenib-0.2.0/web/dist/assets/chunk-QZHKN3VN-BpBZ3f6B.js +1 -1
  180. codenib-0.2.0/web/dist/assets/classDiagram-4FO5ZUOK-v3NNLEdL.js +1 -0
  181. codenib-0.2.0/web/dist/assets/classDiagram-v2-Q7XG4LA2-v3NNLEdL.js +1 -0
  182. codenib-0.1.0/web/dist/assets/cose-bilkent-S5V4N54A-JwC1FU9v.js → codenib-0.2.0/web/dist/assets/cose-bilkent-S5V4N54A-DVXw00pQ.js +1 -1
  183. codenib-0.1.0/web/dist/assets/dagre-BM42HDAG-BTm6Sb-x.js → codenib-0.2.0/web/dist/assets/dagre-BM42HDAG-BsDZYKyf.js +1 -1
  184. codenib-0.1.0/web/dist/assets/diagram-2AECGRRQ-C7XNwfvk.js → codenib-0.2.0/web/dist/assets/diagram-2AECGRRQ-rVanclvL.js +1 -1
  185. codenib-0.1.0/web/dist/assets/diagram-5GNKFQAL-DcLriIgZ.js → codenib-0.2.0/web/dist/assets/diagram-5GNKFQAL-D2eMLi2U.js +1 -1
  186. codenib-0.1.0/web/dist/assets/diagram-KO2AKTUF-Bo-6Bpfo.js → codenib-0.2.0/web/dist/assets/diagram-KO2AKTUF-V1R9ziws.js +1 -1
  187. codenib-0.1.0/web/dist/assets/diagram-LMA3HP47-M4Nh-qq-.js → codenib-0.2.0/web/dist/assets/diagram-LMA3HP47-n07PTGPC.js +1 -1
  188. codenib-0.1.0/web/dist/assets/diagram-OG6HWLK6-BUT1QVEf.js → codenib-0.2.0/web/dist/assets/diagram-OG6HWLK6-ByIKwzRo.js +1 -1
  189. codenib-0.1.0/web/dist/assets/erDiagram-TEJ5UH35-DViEMoeP.js → codenib-0.2.0/web/dist/assets/erDiagram-TEJ5UH35-Bb3txhdx.js +1 -1
  190. codenib-0.1.0/web/dist/assets/flowDiagram-I6XJVG4X-DjBB1gSM.js → codenib-0.2.0/web/dist/assets/flowDiagram-I6XJVG4X-CFpn7_ps.js +1 -1
  191. codenib-0.1.0/web/dist/assets/ganttDiagram-6RSMTGT7-Drhb89TN.js → codenib-0.2.0/web/dist/assets/ganttDiagram-6RSMTGT7-DtyzYIE6.js +1 -1
  192. codenib-0.1.0/web/dist/assets/gitGraphDiagram-PVQCEYII-CwqblmoY.js → codenib-0.2.0/web/dist/assets/gitGraphDiagram-PVQCEYII-CfyINP6P.js +1 -1
  193. codenib-0.1.0/web/dist/assets/highlight-CnfLc-V2.js → codenib-0.2.0/web/dist/assets/highlight-BbEP82OQ.js +1 -1
  194. codenib-0.2.0/web/dist/assets/index-CNAnkkDJ.css +1 -0
  195. codenib-0.2.0/web/dist/assets/index-CYsCZOcK.js +9 -0
  196. codenib-0.1.0/web/dist/assets/infoDiagram-5YYISTIA-BKq62LUG.js → codenib-0.2.0/web/dist/assets/infoDiagram-5YYISTIA-DTDOCLms.js +1 -1
  197. codenib-0.1.0/web/dist/assets/ishikawaDiagram-YF4QCWOH-DBAgfp9d.js → codenib-0.2.0/web/dist/assets/ishikawaDiagram-YF4QCWOH-Dnh2FYja.js +1 -1
  198. codenib-0.1.0/web/dist/assets/journeyDiagram-JHISSGLW-DwHStEV9.js → codenib-0.2.0/web/dist/assets/journeyDiagram-JHISSGLW-BI6YNViV.js +1 -1
  199. codenib-0.1.0/web/dist/assets/kanban-definition-UN3LZRKU-CWPLLTQn.js → codenib-0.2.0/web/dist/assets/kanban-definition-UN3LZRKU-1L_RvDZF.js +1 -1
  200. codenib-0.1.0/web/dist/assets/linear-DNcGZFnN.js → codenib-0.2.0/web/dist/assets/linear-bADcV-70.js +1 -1
  201. codenib-0.1.0/web/dist/assets/mindmap-definition-RKZ34NQL-FZHYTpdO.js → codenib-0.2.0/web/dist/assets/mindmap-definition-RKZ34NQL-BjpfBFFt.js +1 -1
  202. codenib-0.2.0/web/dist/assets/page-BUGawK95.js +2 -0
  203. codenib-0.1.0/web/dist/assets/page-D1WhIRzi.js → codenib-0.2.0/web/dist/assets/page-CbAUHri9.js +1 -1
  204. codenib-0.1.0/web/dist/assets/page-Bn-Q8MBy.js → codenib-0.2.0/web/dist/assets/page-Cq0WVyIV.js +1 -1
  205. codenib-0.2.0/web/dist/assets/page-CtwkwCsy.js +1 -0
  206. codenib-0.1.0/web/dist/assets/pieDiagram-4H26LBE5-DKlC7xtb.js → codenib-0.2.0/web/dist/assets/pieDiagram-4H26LBE5-Bl85cHMU.js +1 -1
  207. codenib-0.1.0/web/dist/assets/quadrantDiagram-W4KKPZXB-DldkGUZS.js → codenib-0.2.0/web/dist/assets/quadrantDiagram-W4KKPZXB-CiaQ52Nw.js +1 -1
  208. codenib-0.1.0/web/dist/assets/requirementDiagram-4Y6WPE33-Dndb6w-j.js → codenib-0.2.0/web/dist/assets/requirementDiagram-4Y6WPE33-ZJQBDOGk.js +1 -1
  209. codenib-0.1.0/web/dist/assets/sankeyDiagram-5OEKKPKP-B2ewtJAC.js → codenib-0.2.0/web/dist/assets/sankeyDiagram-5OEKKPKP-Cv6-FogF.js +1 -1
  210. codenib-0.1.0/web/dist/assets/sequenceDiagram-3UESZ5HK-2N2KbYFt.js → codenib-0.2.0/web/dist/assets/sequenceDiagram-3UESZ5HK-D5DF60sA.js +1 -1
  211. codenib-0.1.0/web/dist/assets/stateDiagram-AJRCARHV-CLwUuVlz.js → codenib-0.2.0/web/dist/assets/stateDiagram-AJRCARHV-Dx0aACtB.js +1 -1
  212. codenib-0.2.0/web/dist/assets/stateDiagram-v2-BHNVJYJU-tuKRNeTN.js +1 -0
  213. codenib-0.1.0/web/dist/assets/timeline-definition-PNZ67QCA-D_IdllIp.js → codenib-0.2.0/web/dist/assets/timeline-definition-PNZ67QCA-C5A64rUG.js +1 -1
  214. codenib-0.1.0/web/dist/assets/vennDiagram-CIIHVFJN-CSU7pI9M.js → codenib-0.2.0/web/dist/assets/vennDiagram-CIIHVFJN-C5KNt3I-.js +1 -1
  215. codenib-0.1.0/web/dist/assets/wardley-L42UT6IY-Bv1Eg1Al.js → codenib-0.2.0/web/dist/assets/wardley-L42UT6IY-BvkhpSoT.js +2 -2
  216. codenib-0.1.0/web/dist/assets/wardleyDiagram-YWT4CUSO-Di3bYwLm.js → codenib-0.2.0/web/dist/assets/wardleyDiagram-YWT4CUSO-D4euDcE7.js +1 -1
  217. codenib-0.1.0/web/dist/assets/xychartDiagram-2RQKCTM6-CPHWEBiN.js → codenib-0.2.0/web/dist/assets/xychartDiagram-2RQKCTM6-BOEne5J8.js +1 -1
  218. {codenib-0.1.0 → codenib-0.2.0}/web/dist/index.html +4 -4
  219. codenib-0.2.0/web/dist/runtime-config.js +5 -0
  220. {codenib-0.1.0 → codenib-0.2.0}/web/lib/api.ts +130 -22
  221. {codenib-0.1.0 → codenib-0.2.0}/web/lib/router.tsx +4 -3
  222. codenib-0.2.0/web/lib/runtime.test.ts +65 -0
  223. codenib-0.2.0/web/lib/runtime.ts +88 -0
  224. codenib-0.2.0/web/modules_verify.mjs +159 -0
  225. codenib-0.2.0/web/public/runtime-config.js +5 -0
  226. {codenib-0.1.0 → codenib-0.2.0}/web/src/main.tsx +4 -1
  227. {codenib-0.1.0 → codenib-0.2.0}/web/vite.config.ts +1 -0
  228. codenib-0.1.0/CHANGELOG.md +0 -42
  229. codenib-0.1.0/codenib/agent/runtime/__init__.py +0 -16
  230. codenib-0.1.0/codenib/cli.py +0 -1079
  231. codenib-0.1.0/codenib/clients/__init__.py +0 -5
  232. codenib-0.1.0/codenib/graph/incremental/patcher_ts.py +0 -49
  233. codenib-0.1.0/codenib/mcp/context.py +0 -211
  234. codenib-0.1.0/codenib/model/__init__.py +0 -49
  235. codenib-0.1.0/codenib/utils.py +0 -93
  236. codenib-0.1.0/test/test_release_artifacts.py +0 -82
  237. codenib-0.1.0/web/dist/assets/CodeGraph-C5zIOx4j.js +0 -3
  238. codenib-0.1.0/web/dist/assets/Codemap-C5Xm7Go_.js +0 -2
  239. codenib-0.1.0/web/dist/assets/GraphView-CBBbxS9a.js +0 -2
  240. codenib-0.1.0/web/dist/assets/Header-CUW7gfQl.js +0 -1
  241. codenib-0.1.0/web/dist/assets/api-DMyba6Hn.js +0 -1
  242. codenib-0.1.0/web/dist/assets/channel-DGptmZnr.js +0 -1
  243. codenib-0.1.0/web/dist/assets/classDiagram-4FO5ZUOK-wDtvnBsq.js +0 -1
  244. codenib-0.1.0/web/dist/assets/classDiagram-v2-Q7XG4LA2-wDtvnBsq.js +0 -1
  245. codenib-0.1.0/web/dist/assets/index-BHP8c3Tq.js +0 -9
  246. codenib-0.1.0/web/dist/assets/index-CKJrqu86.css +0 -1
  247. codenib-0.1.0/web/dist/assets/page-CESv5Ezw.js +0 -2
  248. codenib-0.1.0/web/dist/assets/page-CHsElUu2.js +0 -1
  249. codenib-0.1.0/web/dist/assets/stateDiagram-v2-BHNVJYJU-IiZdW_Og.js +0 -1
  250. codenib-0.1.0/web/dist/runtime-config.js +0 -1
  251. codenib-0.1.0/web/public/runtime-config.js +0 -1
  252. {codenib-0.1.0 → codenib-0.2.0}/CONTRIBUTING.md +0 -0
  253. {codenib-0.1.0 → codenib-0.2.0}/LICENSE +0 -0
  254. {codenib-0.1.0 → codenib-0.2.0}/codenib/__main__.py +0 -0
  255. {codenib-0.1.0 → codenib-0.2.0}/codenib/_lazy.py +0 -0
  256. {codenib-0.1.0 → codenib-0.2.0}/codenib/_version.py +0 -0
  257. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/agent_types.py +0 -0
  258. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/boundary.py +0 -0
  259. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/compile.py +0 -0
  260. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/extract_agent.py +0 -0
  261. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/harness.py +0 -0
  262. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/history.py +0 -0
  263. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/lsp_provider.py +0 -0
  264. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/rerank_agent.py +0 -0
  265. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/resource_guard.py +0 -0
  266. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/route_context.py +0 -0
  267. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/runtime/context.py +0 -0
  268. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/runtime/trace.py +0 -0
  269. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/__init__.py +0 -0
  270. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/bm25_search/__init__.py +0 -0
  271. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/bm25_search/config.yaml +0 -0
  272. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/bm25_search/executor.py +0 -0
  273. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/bm25_search/skill.md +0 -0
  274. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/code_to_query/__init__.py +0 -0
  275. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/code_to_query/config.yaml +0 -0
  276. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/code_to_query/executor.py +0 -0
  277. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/code_to_query/skill.md +0 -0
  278. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/codenib_context/__init__.py +0 -0
  279. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/codenib_context/config.yaml +0 -0
  280. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/codenib_context/executor.py +0 -0
  281. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/codenib_context/skill.md +0 -0
  282. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/context.py +0 -0
  283. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/core.py +0 -0
  284. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/crossencoder_rerank/__init__.py +0 -0
  285. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/crossencoder_rerank/config.yaml +0 -0
  286. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/crossencoder_rerank/executor.py +0 -0
  287. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/crossencoder_rerank/skill.md +0 -0
  288. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/embedding_search/__init__.py +0 -0
  289. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/embedding_search/config.yaml +0 -0
  290. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/embedding_search/executor.py +0 -0
  291. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/embedding_search/skill.md +0 -0
  292. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/find_callees/__init__.py +0 -0
  293. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/find_callees/config.yaml +0 -0
  294. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/find_callees/executor.py +0 -0
  295. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/find_callees/skill.md +0 -0
  296. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/find_callers/__init__.py +0 -0
  297. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/find_callers/config.yaml +0 -0
  298. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/find_callers/executor.py +0 -0
  299. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/find_callers/skill.md +0 -0
  300. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/hybrid_search/__init__.py +0 -0
  301. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/hybrid_search/config.yaml +0 -0
  302. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/hybrid_search/executor.py +0 -0
  303. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/hybrid_search/skill.md +0 -0
  304. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/llm_rerank/__init__.py +0 -0
  305. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/llm_rerank/config.yaml +0 -0
  306. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/llm_rerank/executor.py +0 -0
  307. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/llm_rerank/skill.md +0 -0
  308. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/loader.py +0 -0
  309. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/lsp_definition/config.yaml +0 -0
  310. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/lsp_definition/executor.py +0 -0
  311. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/lsp_definition/skill.md +0 -0
  312. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/lsp_references/config.yaml +0 -0
  313. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/lsp_references/executor.py +0 -0
  314. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/lsp_references/skill.md +0 -0
  315. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/lsp_route/config.yaml +0 -0
  316. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/lsp_route/executor.py +0 -0
  317. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/lsp_route/skill.md +0 -0
  318. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/registry.py +0 -0
  319. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/repository_search/config.yaml +0 -0
  320. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/repository_search/executor.py +0 -0
  321. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/repository_search/skill.md +0 -0
  322. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/trace/__init__.py +0 -0
  323. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/trace/config.yaml +0 -0
  324. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/trace/executor.py +0 -0
  325. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/trace/skill.md +0 -0
  326. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/skills/typecheck.py +0 -0
  327. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/tool_schema.py +0 -0
  328. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/tools/__init__.py +0 -0
  329. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/tools/spec.py +0 -0
  330. {codenib-0.1.0 → codenib-0.2.0}/codenib/agent/utils.py +0 -0
  331. {codenib-0.1.0 → codenib-0.2.0}/codenib/clients/claude_agent.py +0 -0
  332. {codenib-0.1.0 → codenib-0.2.0}/codenib/clients/codex_agent.py +0 -0
  333. {codenib-0.1.0 → codenib-0.2.0}/codenib/code_chunking/cpp_chunker.py +0 -0
  334. {codenib-0.1.0 → codenib-0.2.0}/codenib/code_chunking/csharp_chunker.py +0 -0
  335. {codenib-0.1.0 → codenib-0.2.0}/codenib/code_chunking/go_chunker.py +0 -0
  336. {codenib-0.1.0 → codenib-0.2.0}/codenib/code_chunking/java_chunker.py +0 -0
  337. {codenib-0.1.0 → codenib-0.2.0}/codenib/code_chunking/js_chunker.py +0 -0
  338. {codenib-0.1.0 → codenib-0.2.0}/codenib/code_chunking/kotlin_chunker.py +0 -0
  339. {codenib-0.1.0 → codenib-0.2.0}/codenib/code_chunking/lua_chunker.py +0 -0
  340. {codenib-0.1.0 → codenib-0.2.0}/codenib/code_chunking/php_chunker.py +0 -0
  341. {codenib-0.1.0 → codenib-0.2.0}/codenib/code_chunking/python_chunker.py +0 -0
  342. {codenib-0.1.0 → codenib-0.2.0}/codenib/code_chunking/ruby_chunker.py +0 -0
  343. {codenib-0.1.0 → codenib-0.2.0}/codenib/code_chunking/rust_chunker.py +0 -0
  344. {codenib-0.1.0 → codenib-0.2.0}/codenib/code_chunking/scala_chunker.py +0 -0
  345. {codenib-0.1.0 → codenib-0.2.0}/codenib/code_chunking/swift_chunker.py +0 -0
  346. {codenib-0.1.0 → codenib-0.2.0}/codenib/compat_pickle.py +0 -0
  347. {codenib-0.1.0 → codenib-0.2.0}/codenib/compiler/index_compiler.py +0 -0
  348. {codenib-0.1.0 → codenib-0.2.0}/codenib/compiler/manifest.py +0 -0
  349. {codenib-0.1.0 → codenib-0.2.0}/codenib/compiler/params.py +0 -0
  350. {codenib-0.1.0 → codenib-0.2.0}/codenib/compiler/resources.py +0 -0
  351. {codenib-0.1.0 → codenib-0.2.0}/codenib/compiler/verification.py +0 -0
  352. {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/__init__.py +0 -0
  353. {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/base.py +0 -0
  354. {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/codenib_synthesis.py +0 -0
  355. {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/collect/difficulty_classifier.py +0 -0
  356. {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/collect/swebench_sample.py +0 -0
  357. {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/gt_locate.py +0 -0
  358. {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/local_json.py +0 -0
  359. {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/locbench.py +0 -0
  360. {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/swebench.py +0 -0
  361. {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/swebench_multilingual.py +0 -0
  362. {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/synthesize/__init__.py +0 -0
  363. {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/synthesize/_agent.py +0 -0
  364. {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/synthesize/_types.py +0 -0
  365. {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/synthesize/context_loader.py +0 -0
  366. {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/synthesize/query_curator.py +0 -0
  367. {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/synthesize/query_synthesizer.py +0 -0
  368. {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/synthesize/verifier.py +0 -0
  369. {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/synthesize/vocab_guard.py +0 -0
  370. {codenib-0.1.0 → codenib-0.2.0}/codenib/dataset/utils.py +0 -0
  371. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/__init__.py +0 -0
  372. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/batch.py +0 -0
  373. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/contexts.py +0 -0
  374. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/feedback.py +0 -0
  375. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/feedback_summary.py +0 -0
  376. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/format_diagnostics.py +0 -0
  377. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/live_lsp_provider.py +0 -0
  378. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/loc_baseline.py +0 -0
  379. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/lsp_agent_ab.py +0 -0
  380. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/lsp_agent_study.py +0 -0
  381. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/lsp_agent_study_analysis.py +0 -0
  382. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/lsp_agent_study_artifacts.py +0 -0
  383. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/lsp_agent_study_manifest.py +0 -0
  384. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/lsp_agent_study_runner.py +0 -0
  385. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/lsp_baseline.py +0 -0
  386. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/lsp_latency.py +0 -0
  387. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/lsp_provider_cli.py +0 -0
  388. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/lsp_provider_validation.py +0 -0
  389. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/lsp_readiness.py +0 -0
  390. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/lsp_replay_benchmark.py +0 -0
  391. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/metrics.py +0 -0
  392. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/orchestrator.py +0 -0
  393. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/pareto.py +0 -0
  394. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/prebuilt.py +0 -0
  395. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/preload.py +0 -0
  396. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/promotion.py +0 -0
  397. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/results.py +0 -0
  398. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/scoring.py +0 -0
  399. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/sweep_config.py +0 -0
  400. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/symbols.py +0 -0
  401. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/trace_summary.py +0 -0
  402. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/agent_runner/verify_expand.py +0 -0
  403. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/artifact_bundle.py +0 -0
  404. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/artifact_integrity.py +0 -0
  405. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/artifact_manifest.py +0 -0
  406. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/experiments/__init__.py +0 -0
  407. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/experiments/lsp_agent_study_policy.py +0 -0
  408. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/loc_agent_runner.py +0 -0
  409. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/reports/__init__.py +0 -0
  410. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/reports/cost_arm_report.py +0 -0
  411. {codenib-0.1.0 → codenib-0.2.0}/codenib/eval/retrieval_eval.py +0 -0
  412. {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/hierarchy.py +0 -0
  413. {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/incremental/graph_patcher.py +0 -0
  414. {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/incremental/patcher_cpp.py +0 -0
  415. {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/incremental/patcher_go.py +0 -0
  416. {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/incremental/patcher_python.py +0 -0
  417. {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/incremental/patcher_rust.py +0 -0
  418. {codenib-0.1.0 → codenib-0.2.0}/codenib/graph/layers.py +0 -0
  419. {codenib-0.1.0 → codenib-0.2.0}/codenib/index/embedding/model_policy.py +0 -0
  420. {codenib-0.1.0 → codenib-0.2.0}/codenib/index/embedding/prompt_registry.py +0 -0
  421. {codenib-0.1.0 → codenib-0.2.0}/codenib/index/incremental/__init__.py +0 -0
  422. {codenib-0.1.0 → codenib-0.2.0}/codenib/index/incremental/chunk_store.py +0 -0
  423. {codenib-0.1.0 → codenib-0.2.0}/codenib/index/incremental/embeddings_cache.py +0 -0
  424. {codenib-0.1.0 → codenib-0.2.0}/codenib/index/incremental/git_diff.py +0 -0
  425. {codenib-0.1.0 → codenib-0.2.0}/codenib/index/incremental/index_updater.py +0 -0
  426. {codenib-0.1.0 → codenib-0.2.0}/codenib/index/incremental/state.py +0 -0
  427. {codenib-0.1.0 → codenib-0.2.0}/codenib/index/regex_idx/__init__.py +0 -0
  428. {codenib-0.1.0 → codenib-0.2.0}/codenib/index/regex_idx/regex_idx.py +0 -0
  429. {codenib-0.1.0 → codenib-0.2.0}/codenib/index/rerank/__init__.py +0 -0
  430. {codenib-0.1.0 → codenib-0.2.0}/codenib/index/rerank/cross_encoder.py +0 -0
  431. {codenib-0.1.0 → codenib-0.2.0}/codenib/index/sparse_idx/__init__.py +0 -0
  432. {codenib-0.1.0 → codenib-0.2.0}/codenib/index/trigram/__init__.py +0 -0
  433. {codenib-0.1.0 → codenib-0.2.0}/codenib/index/trigram/zoekt_searcher.py +0 -0
  434. {codenib-0.1.0 → codenib-0.2.0}/codenib/languages.py +0 -0
  435. {codenib-0.1.0 → codenib-0.2.0}/codenib/llm/__init__.py +0 -0
  436. {codenib-0.1.0 → codenib-0.2.0}/codenib/llm/diagnostics.py +0 -0
  437. {codenib-0.1.0 → codenib-0.2.0}/codenib/llm/litellm_chat.py +0 -0
  438. {codenib-0.1.0 → codenib-0.2.0}/codenib/llm/options.py +0 -0
  439. {codenib-0.1.0 → codenib-0.2.0}/codenib/log_utils.py +0 -0
  440. {codenib-0.1.0 → codenib-0.2.0}/codenib/ls_index/__init__.py +0 -0
  441. {codenib-0.1.0 → codenib-0.2.0}/codenib/ls_index/clangd_decode.py +0 -0
  442. {codenib-0.1.0 → codenib-0.2.0}/codenib/ls_index/clangd_indexer.py +0 -0
  443. {codenib-0.1.0 → codenib-0.2.0}/codenib/ls_index/index_quality.py +0 -0
  444. {codenib-0.1.0 → codenib-0.2.0}/codenib/ls_index/lsp_indexer.py +0 -0
  445. {codenib-0.1.0 → codenib-0.2.0}/codenib/mcp/__init__.py +0 -0
  446. {codenib-0.1.0 → codenib-0.2.0}/codenib/mcp/__main__.py +0 -0
  447. {codenib-0.1.0 → codenib-0.2.0}/codenib/mcp/tools/__init__.py +0 -0
  448. {codenib-0.1.0 → codenib-0.2.0}/codenib/mcp/tools/dependency.py +0 -0
  449. {codenib-0.1.0 → codenib-0.2.0}/codenib/mcp/tools/lsp.py +0 -0
  450. {codenib-0.1.0 → codenib-0.2.0}/codenib/model/bm25_retrieve_pipeline.py +0 -0
  451. {codenib-0.1.0 → codenib-0.2.0}/codenib/model/dense_graph_expand_rerank_pipeline.py +0 -0
  452. {codenib-0.1.0 → codenib-0.2.0}/codenib/model/embedding_retrieve_pipeline.py +0 -0
  453. {codenib-0.1.0 → codenib-0.2.0}/codenib/model/graph_augmented_rerank_pipeline.py +0 -0
  454. {codenib-0.1.0 → codenib-0.2.0}/codenib/model/graph_retrieve_pipeline.py +0 -0
  455. {codenib-0.1.0 → codenib-0.2.0}/codenib/model/hybrid_retrieve_pipeline.py +0 -0
  456. {codenib-0.1.0 → codenib-0.2.0}/codenib/model/retrieval_planner.py +0 -0
  457. {codenib-0.1.0 → codenib-0.2.0}/codenib/ops/filter.py +0 -0
  458. {codenib-0.1.0 → codenib-0.2.0}/codenib/ops/rerank.py +0 -0
  459. {codenib-0.1.0 → codenib-0.2.0}/codenib/ops/transform.py +0 -0
  460. {codenib-0.1.0 → codenib-0.2.0}/codenib/profiler.py +0 -0
  461. {codenib-0.1.0 → codenib-0.2.0}/codenib/repository_summary.py +0 -0
  462. {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/lsp_occurrence_index.py +0 -0
  463. {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip-environment.yml +0 -0
  464. {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip.proto +0 -0
  465. {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_decode_csharp.py +0 -0
  466. {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_decode_go.py +0 -0
  467. {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_decode_java.py +0 -0
  468. {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_decode_php.py +0 -0
  469. {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_decode_python.py +0 -0
  470. {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_decode_rust.py +0 -0
  471. {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_decode_utils.py +0 -0
  472. {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_indexer_base.py +0 -0
  473. {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_indexer_csharp.py +0 -0
  474. {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_indexer_go.py +0 -0
  475. {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_indexer_java.py +0 -0
  476. {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_indexer_php.py +0 -0
  477. {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_indexer_ruby.py +0 -0
  478. {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_indexer_rust.py +0 -0
  479. {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_indexer_ts.py +0 -0
  480. {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_install.sh +0 -0
  481. {codenib-0.1.0 → codenib-0.2.0}/codenib/scip_interface/scip_pb2.py +0 -0
  482. {codenib-0.1.0 → codenib-0.2.0}/codenib/search.py +0 -0
  483. {codenib-0.1.0 → codenib-0.2.0}/codenib/source_fingerprint.py +0 -0
  484. {codenib-0.1.0 → codenib-0.2.0}/codenib/web/__init__.py +0 -0
  485. {codenib-0.1.0 → codenib-0.2.0}/codenib/web/edge_label.py +0 -0
  486. {codenib-0.1.0 → codenib-0.2.0}/codenib/web/launcher.py +0 -0
  487. {codenib-0.1.0 → codenib-0.2.0}/codenib/web/static_server.py +0 -0
  488. {codenib-0.1.0 → codenib-0.2.0}/codenib/wiki/__init__.py +0 -0
  489. {codenib-0.1.0 → codenib-0.2.0}/codenib/wiki/agent_wiki.py +0 -0
  490. {codenib-0.1.0 → codenib-0.2.0}/codenib/wiki/builder.py +0 -0
  491. {codenib-0.1.0 → codenib-0.2.0}/codenib/wiki/evidence.py +0 -0
  492. {codenib-0.1.0 → codenib-0.2.0}/codenib/wiki/narrator.py +0 -0
  493. {codenib-0.1.0 → codenib-0.2.0}/codenib/wiki/outline.py +0 -0
  494. {codenib-0.1.0 → codenib-0.2.0}/codenib/wiki/quality.py +0 -0
  495. {codenib-0.1.0 → codenib-0.2.0}/codenib.egg-info/dependency_links.txt +0 -0
  496. {codenib-0.1.0 → codenib-0.2.0}/codenib.egg-info/top_level.txt +0 -0
  497. {codenib-0.1.0 → codenib-0.2.0}/setup.cfg +0 -0
  498. {codenib-0.1.0 → codenib-0.2.0}/setup.py +0 -0
  499. {codenib-0.1.0 → codenib-0.2.0}/test/test_cli_entrypoints.py +0 -0
  500. {codenib-0.1.0 → codenib-0.2.0}/test/test_compat_pickle.py +0 -0
  501. {codenib-0.1.0 → codenib-0.2.0}/test/test_language_capability_matrix.py +0 -0
  502. {codenib-0.1.0 → codenib-0.2.0}/test/test_languages.py +0 -0
  503. {codenib-0.1.0 → codenib-0.2.0}/test/test_log_utils.py +0 -0
  504. {codenib-0.1.0 → codenib-0.2.0}/test/test_namespace.py +0 -0
  505. {codenib-0.1.0 → codenib-0.2.0}/test/test_paths.py +0 -0
  506. {codenib-0.1.0 → codenib-0.2.0}/test/test_repository_summary.py +0 -0
  507. {codenib-0.1.0 → codenib-0.2.0}/web/app/[repoId]/ask/page.tsx +0 -0
  508. {codenib-0.1.0 → codenib-0.2.0}/web/app/add-repo/page.tsx +0 -0
  509. {codenib-0.1.0 → codenib-0.2.0}/web/components/AskBar.tsx +0 -0
  510. {codenib-0.1.0 → codenib-0.2.0}/web/components/AskPanel.tsx +0 -0
  511. {codenib-0.1.0 → codenib-0.2.0}/web/components/CodePanel.tsx +0 -0
  512. {codenib-0.1.0 → codenib-0.2.0}/web/components/HighlightedBlock.tsx +0 -0
  513. {codenib-0.1.0 → codenib-0.2.0}/web/components/HighlightedCode.tsx +0 -0
  514. {codenib-0.1.0 → codenib-0.2.0}/web/components/Markdown.test.tsx +0 -0
  515. {codenib-0.1.0 → codenib-0.2.0}/web/components/Markdown.tsx +0 -0
  516. {codenib-0.1.0 → codenib-0.2.0}/web/components/Mermaid.tsx +0 -0
  517. {codenib-0.1.0 → codenib-0.2.0}/web/components/SystemMap.tsx +0 -0
  518. {codenib-0.1.0 → codenib-0.2.0}/web/dist/assets/cytoscape.esm-CkSuTymj.js +0 -0
  519. {codenib-0.1.0 → codenib-0.2.0}/web/dist/assets/defaultLocale-DX6XiGOO.js +0 -0
  520. {codenib-0.1.0 → codenib-0.2.0}/web/dist/assets/graph--OzhPTMs.js +0 -0
  521. {codenib-0.1.0 → codenib-0.2.0}/web/dist/assets/highlight-CDab0zVI.css +0 -0
  522. {codenib-0.1.0 → codenib-0.2.0}/web/dist/assets/init-Gi6I4Gst.js +0 -0
  523. {codenib-0.1.0 → codenib-0.2.0}/web/dist/assets/katex-HP8lGamR.js +0 -0
  524. {codenib-0.1.0 → codenib-0.2.0}/web/dist/assets/layout-SsrduOYp.js +0 -0
  525. {codenib-0.1.0 → codenib-0.2.0}/web/dist/assets/ordinal-Cboi1Yqb.js +0 -0
  526. {codenib-0.1.0 → codenib-0.2.0}/web/dist/codenib-icon.svg +0 -0
  527. {codenib-0.1.0 → codenib-0.2.0}/web/index.html +0 -0
  528. {codenib-0.1.0 → codenib-0.2.0}/web/lib/citations.test.ts +0 -0
  529. {codenib-0.1.0 → codenib-0.2.0}/web/lib/citations.ts +0 -0
  530. {codenib-0.1.0 → codenib-0.2.0}/web/lib/filesLayout.test.ts +0 -0
  531. {codenib-0.1.0 → codenib-0.2.0}/web/lib/filesLayout.ts +0 -0
  532. {codenib-0.1.0 → codenib-0.2.0}/web/lib/highlight.test.ts +0 -0
  533. {codenib-0.1.0 → codenib-0.2.0}/web/lib/highlight.ts +0 -0
  534. {codenib-0.1.0 → codenib-0.2.0}/web/loopshot.mjs +0 -0
  535. {codenib-0.1.0 → codenib-0.2.0}/web/package-lock.json +0 -0
  536. {codenib-0.1.0 → codenib-0.2.0}/web/package.json +0 -0
  537. {codenib-0.1.0 → codenib-0.2.0}/web/public/codenib-icon.svg +0 -0
  538. {codenib-0.1.0 → codenib-0.2.0}/web/qa_verify.mjs +0 -0
  539. {codenib-0.1.0 → codenib-0.2.0}/web/tsconfig.json +0 -0
  540. {codenib-0.1.0 → codenib-0.2.0}/web/types/cytoscape-dagre.d.ts +0 -0
  541. {codenib-0.1.0 → codenib-0.2.0}/web/types/cytoscape-fcose.d.ts +0 -0
  542. {codenib-0.1.0 → codenib-0.2.0}/web/verify.mjs +0 -0
@@ -0,0 +1,139 @@
1
+ <!--
2
+ SPDX-FileCopyrightText: 2025-2026 CodeNib Contributors
3
+
4
+ SPDX-License-Identifier: Apache-2.0
5
+ -->
6
+
7
+ # Changelog
8
+
9
+ All notable user-facing changes are recorded here. CodeNib follows
10
+ [Semantic Versioning](https://semver.org/).
11
+
12
+ ## [Unreleased]
13
+
14
+ ## [0.2.0] - 2026-08-05
15
+
16
+ ### Added
17
+
18
+ - A build-once distribution path that publishes a static Wiki and a verified,
19
+ commit-addressed context artifact for local or MCP reuse.
20
+ - Capability-aware `search_context` serving through the official
21
+ `ai.codenib/codenib` MCP package, plus managed package-level SCIP and LSP
22
+ providers selected from repository languages.
23
+ - Native repository-exploration adapters and quality-constrained token and
24
+ cost reports for supported agent localization policies.
25
+
26
+ ### Changed
27
+
28
+ - Hybrid BM25+dense retrieval is the recommended installed default when the
29
+ semantic extra is present; the base package retains an explicit no-model
30
+ BM25 path.
31
+ - Repository filtering, graph definition provenance, and TypeScript/TSX import
32
+ edges use updated builder contracts. Incompatible 0.1 views rebuild once;
33
+ compatible 0.2 views remain reusable.
34
+
35
+ ### Security
36
+
37
+ - Downloaded context artifacts are inventory-checked, source-bound, and reject
38
+ unsafe archive members before any view is loaded.
39
+
40
+ ## [0.2.0a2] - 2026-08-05
41
+
42
+ ### Added
43
+
44
+ - A capability-aware `search_context` MCP tool and version-matched metadata for
45
+ publishing the local stdio server as `ai.codenib/codenib` in the official MCP
46
+ Registry.
47
+ - A repository-aware `codenib toolchain` command that detects graph and LSP
48
+ providers from the language registry, installs pinned package-managed tools
49
+ under `~/.codenib/toolchains`, and reports system or project prerequisites
50
+ without invoking `sudo` or mutating the target checkout.
51
+
52
+ ### Changed
53
+
54
+ - Local `index` and `wiki` commands now select semantic hybrid retrieval when
55
+ the semantic extra is installed and explicitly report the no-model BM25
56
+ fallback otherwise. The reusable Pages workflow selects semantic retrieval
57
+ by default and caches its pinned local embedding model; `fast` remains an
58
+ explicit no-model route.
59
+ - CodeNib processes automatically prefer the managed tool directory, removing
60
+ the shell `PATH` export previously required after source-checkout installs.
61
+ - The public quickstart recommends BM25+dense serving and uses a normal,
62
+ version-pinned PyPI command instead of exposing a TestPyPI wheel URL.
63
+
64
+ ## [0.2.0a1] - 2026-08-05
65
+
66
+ ### Added
67
+
68
+ - A reusable GitHub Pages workflow and composite Action that build a no-model
69
+ static Wiki plus a commit-addressed BM25 context artifact. Semantic builds
70
+ can use a pinned local CodeRankEmbed model or an explicit OpenAI-compatible
71
+ embedding endpoint.
72
+ - Portable context artifacts with complete file inventories, source identity,
73
+ capability metadata, and an artifact-backed MCP path that reuses BM25 and
74
+ vector views without rebuilding the repository.
75
+ - Secret-free inference route identities for local and remote embeddings,
76
+ compatibility fingerprints, provider-aware diagnostics, and fail-closed
77
+ handling of the retired GitHub Models service.
78
+ - A native repository explorer with selective view loading and revision-pinned
79
+ compatibility layers for SWE-Explore, Agentless, CoSIL, LocAgent, and
80
+ OrcaLoca SearchAgent contracts.
81
+ - Quality-constrained cost reports that pair localization success with token,
82
+ USD, and amortized build cost rather than reporting cost without a quality
83
+ denominator.
84
+ - Graph schema 5 records semantic symbol kinds, explicit definition
85
+ provenance, and anchored TypeScript/TSX import and re-export edges.
86
+
87
+ ### Changed
88
+
89
+ - Static Wiki exports now preserve mount paths, source citations, generated
90
+ pages, and dependency data while keeping query engines in the local or MCP
91
+ runtime.
92
+ - Pull requests build and inspect distributions once; the complete
93
+ cross-version and installed-service release matrix runs on `main`, release
94
+ tags, and explicit TestPyPI dispatches.
95
+ - Static navigation and source adapters no longer treat reference-only symbol
96
+ provenance as a definition location. Existing schema 4 graph artifacts need
97
+ a one-time `codenib index <repo> --preset graph --rebuild`.
98
+
99
+ ### Security
100
+
101
+ - Downloaded context artifacts reject pickle payloads, unsafe archive paths,
102
+ symbolic and special files, unbounded expansion, inventory mismatches, and
103
+ source checkouts that do not match the recorded commit and fingerprint.
104
+ - GitHub artifact downloads verify the API digest and never forward the GitHub
105
+ bearer token to redirects. Pages publication scans outputs for configured
106
+ credentials and rejects secret-bearing fork execution paths.
107
+
108
+ ## [0.1.0] - 2026-07-26
109
+
110
+ ### Added
111
+
112
+ - A unified `codenib` CLI with `index`, `wiki`, `mcp`, and `doctor` commands.
113
+ - A two-command local Wiki path with automatic language detection and reusable
114
+ repository manifests.
115
+ - Fast, semantic, and full indexing presets with explicit optional
116
+ dependencies.
117
+ - A deterministic static Wiki that requires no LLM credentials.
118
+ - A source-linked MCP server for retrieval, graph, and static navigation tools.
119
+ - Multi-view incremental maintenance and evaluation infrastructure.
120
+
121
+ ### Changed
122
+
123
+ - Renamed the maintained package, command, state, and protocol namespace to
124
+ CodeNib.
125
+ - Reduced the default installation to the BM25 and Wiki runtime; model, graph,
126
+ dataset, MCP, and agent dependencies now use named extras.
127
+ - Made public package imports lazy so CLI startup does not initialize model or
128
+ graph runtimes.
129
+
130
+ ### Security
131
+
132
+ - Prepared secretless PyPI publishing through a dedicated GitHub Actions OIDC
133
+ workflow.
134
+
135
+ [Unreleased]: https://github.com/sysevol-ai/CodeNib/compare/v0.2.0...HEAD
136
+ [0.2.0]: https://github.com/sysevol-ai/CodeNib/compare/v0.1.0...v0.2.0
137
+ [0.2.0a2]: https://github.com/sysevol-ai/CodeNib/compare/620a82d...78e12ac
138
+ [0.2.0a1]: https://github.com/sysevol-ai/CodeNib/tree/620a82d
139
+ [0.1.0]: https://github.com/sysevol-ai/CodeNib/releases/tag/v0.1.0
@@ -5,6 +5,7 @@
5
5
  graft web
6
6
  include CHANGELOG.md
7
7
  include CONTRIBUTING.md
8
+ include server.json
8
9
  prune web/.next
9
10
  prune web/node_modules
10
11
  prune web/playwright-report
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codenib
3
- Version: 0.1.0
3
+ Version: 0.2.0
4
4
  Summary: A multi-view data system for serving repository context to coding agents
5
5
  Author-email: Zhongming Yu <zhy025@ucsd.edu>
6
6
  License-Expression: Apache-2.0
@@ -9,7 +9,7 @@ Project-URL: Homepage, https://codenib.ai
9
9
  Project-URL: Issues, https://github.com/sysevol-ai/CodeNib/issues
10
10
  Project-URL: Repository, https://github.com/sysevol-ai/CodeNib.git
11
11
  Keywords: code-search,coding-agents,model-context-protocol,repository-context,static-analysis
12
- Classifier: Development Status :: 3 - Alpha
12
+ Classifier: Development Status :: 4 - Beta
13
13
  Classifier: Intended Audience :: Developers
14
14
  Classifier: Programming Language :: Python :: 3 :: Only
15
15
  Classifier: Programming Language :: Python :: 3
@@ -33,7 +33,8 @@ Requires-Dist: tree-sitter>=0.25.2
33
33
  Requires-Dist: tree-sitter-language-pack<1.9.0,>=1.8.1
34
34
  Requires-Dist: uvicorn>=0.20.0
35
35
  Provides-Extra: agent
36
- Requires-Dist: litellm>=1.40.0; extra == "agent"
36
+ Requires-Dist: litellm>=1.93.0; extra == "agent"
37
+ Requires-Dist: openai>=1.0.0; extra == "agent"
37
38
  Provides-Extra: datasets
38
39
  Requires-Dist: datasets>=4.0.0; extra == "datasets"
39
40
  Provides-Extra: graph
@@ -47,6 +48,10 @@ Requires-Dist: faiss-cpu>=1.7.0; extra == "semantic"
47
48
  Requires-Dist: numpy>=1.24.0; extra == "semantic"
48
49
  Requires-Dist: openai>=1.0.0; extra == "semantic"
49
50
  Requires-Dist: sentence-transformers>=2.2.0; extra == "semantic"
51
+ Provides-Extra: semantic-remote
52
+ Requires-Dist: faiss-cpu>=1.7.0; extra == "semantic-remote"
53
+ Requires-Dist: numpy>=1.24.0; extra == "semantic-remote"
54
+ Requires-Dist: openai>=1.0.0; extra == "semantic-remote"
50
55
  Provides-Extra: vertex
51
56
  Requires-Dist: litellm[google]>=1.93.0; extra == "vertex"
52
57
  Provides-Extra: zoekt
@@ -70,14 +75,17 @@ Requires-Dist: isort>=5.10.1; extra == "dev"
70
75
  Requires-Dist: mypy>=0.950; extra == "dev"
71
76
  Requires-Dist: flake8>=4.0.1; extra == "dev"
72
77
  Requires-Dist: flake8-bugbear>=24.4.0; extra == "dev"
78
+ Requires-Dist: mkdocs<2.0.0; extra == "dev"
73
79
  Requires-Dist: mkdocs-material>=9.5.0; extra == "dev"
80
+ Requires-Dist: mkdocstrings-python>=2.0.0; extra == "dev"
81
+ Requires-Dist: mkdocs-api-autonav>=0.4.0; extra == "dev"
74
82
  Provides-Extra: test
75
83
  Requires-Dist: datasets>=4.0.0; extra == "test"
76
84
  Requires-Dist: einops>=0.8.0; extra == "test"
77
85
  Requires-Dist: faiss-cpu>=1.7.0; extra == "test"
78
86
  Requires-Dist: filelock>=3.0.0; extra == "test"
79
87
  Requires-Dist: igraph>=0.11.6; extra == "test"
80
- Requires-Dist: litellm>=1.40.0; extra == "test"
88
+ Requires-Dist: litellm>=1.93.0; extra == "test"
81
89
  Requires-Dist: matplotlib>=3.4.0; extra == "test"
82
90
  Requires-Dist: mcp<3,>=2.0.0; extra == "test"
83
91
  Requires-Dist: numpy>=1.24.0; extra == "test"
@@ -97,12 +105,17 @@ SPDX-FileCopyrightText: 2025-2026 CodeNib Contributors
97
105
 
98
106
  SPDX-License-Identifier: Apache-2.0
99
107
  -->
108
+ <!-- mcp-name: ai.codenib/codenib -->
100
109
 
101
110
  <div align="center">
102
111
  <img src="https://raw.githubusercontent.com/sysevol-ai/CodeNib/main/assets/codenib_logo.svg" alt="CodeNib" width="560">
103
- <h1>A Multi-View Data System for Serving Repository Context to Coding Agents</h1>
112
+ <h1>Searchable codebase wikis and context for coding agents</h1>
104
113
  <p>
105
- Incremental compilation, explicit per-view manifests, and agent-native context serving.
114
+ Point it at any repo, get a searchable Wiki and an MCP server for your coding agent.
115
+ </p>
116
+ <p>
117
+ <a href="https://arxiv.org/abs/2607.25431"><img src="https://img.shields.io/badge/arXiv-2607.25431-b31b1b.svg?logo=arxiv&amp;logoColor=white" alt="arXiv 2607.25431"></a>
118
+ <a href="https://huggingface.co/papers/2607.25431"><img src="https://img.shields.io/badge/Hugging_Face-%232_Paper_of_the_Day-FFD21E.svg?logo=huggingface&amp;logoColor=black" alt="Hugging Face: #2 Paper of the Day"></a>
106
119
  </p>
107
120
  <p>
108
121
  <a href="#quickstart">Quickstart</a>
@@ -115,26 +128,50 @@ SPDX-License-Identifier: Apache-2.0
115
128
  &nbsp;&middot;&nbsp;
116
129
  <a href="https://docs.codenib.ai/mcp/">MCP</a>
117
130
  &nbsp;&middot;&nbsp;
131
+ <a href="https://docs.codenib.ai/agent_integrations/">Agent Integrations</a>
132
+ &nbsp;&middot;&nbsp;
118
133
  <a href="https://docs.codenib.ai/language_capabilities/">Languages</a>
119
134
  </p>
120
135
  <p>
121
136
  <a href="https://github.com/sysevol-ai/CodeNib/actions/workflows/ci.yml"><img src="https://github.com/sysevol-ai/CodeNib/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
137
+ <a href="https://pypi.org/project/codenib/"><img src="https://img.shields.io/pypi/v/codenib.svg" alt="PyPI version"></a>
122
138
  <a href="https://github.com/sysevol-ai/CodeNib/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-Apache_2.0-blue.svg" alt="License: Apache 2.0"></a>
123
139
  <a href="https://github.com/sysevol-ai/CodeNib/blob/main/pyproject.toml"><img src="https://img.shields.io/badge/Python-3.10%2B-3776AB.svg" alt="Python 3.10+"></a>
124
- <img src="https://img.shields.io/badge/Release-Developer_Preview-EA580C.svg" alt="Developer Preview">
140
+ <img src="https://img.shields.io/badge/Release-0.2.0-2563EB.svg" alt="CodeNib 0.2.0">
125
141
  </p>
126
142
  </div>
127
143
 
128
- CodeNib is a multi-view data system for serving repository context to coding
129
- agents. Its native runtime compiles a checkout into manifest-linked lexical,
130
- semantic, structural, and static-navigation views, incrementally maintains
131
- supported transitions, and serves bounded source evidence through MCP,
132
- LSP-shaped providers, Python, and HTTP APIs.
144
+ ```bash
145
+ python -m pip install "codenib[mcp,semantic]==0.2.0"
146
+ codenib wiki /path/to/your/repo
147
+ ```
133
148
 
134
- The Wiki, Ask view, and Dependency Map are inspection clients of that same
135
- runtime, not the system boundary. The core implementation lives in CodeNib;
136
- optional model endpoints and language servers are providers rather than a host
137
- agent or code-Wiki framework.
149
+ Local, open source, and no cloud required. CodeNib combines BM25 and dense code
150
+ search, adds optional SCIP symbol graphs, and incrementally rebuilds repository
151
+ indexes as commits change. The same index powers the Wiki, Dependency Map, Ask,
152
+ and MCP tools instead of making every agent rediscover the codebase.
153
+
154
+ ## News
155
+
156
+ - **2026-08-05 — CodeNib 0.2.0.** Build a static Wiki and reusable context
157
+ artifact once, then serve it through Pages or the official MCP package.
158
+ Hybrid retrieval and managed SCIP/LSP providers ship in the same CLI.
159
+ [Release notes](https://docs.codenib.ai/releases/0.2.0/)
160
+ - **2026-08-05 — SweRank recipe.** Run
161
+ [SweRank](https://github.com/SalesforceAIResearch/SweRank) retrieval and
162
+ reranking over a local checkout. [Example](examples/swerank_retrieve_rerank.py)
163
+ - **2026-08-04 — Native repository explorer.** CodeNib's planner now targets
164
+ the [SWE-Explore](https://github.com/Qiushao-E/SWE-Explore-Bench)
165
+ source-region protocol.
166
+ [Validation](docs/evaluation/swe_explore.md)
167
+ - **2026-08-03 — Native LocAgent policy.**
168
+ [LocAgent](https://github.com/gersteinlab/LocAgent) runs directly on CodeNib
169
+ views without LocAgent, LiteLLM, or LlamaIndex dependencies.
170
+ [Support matrix](https://docs.codenib.ai/agent_integrations/)
171
+ - **2026-08-02 — OrcaLoca SearchAgent.**
172
+ [OrcaLoca](https://github.com/fishmingyu/OrcaLoca)'s six-tool search loop
173
+ now reuses CodeNib's symbol graph.
174
+ [Support matrix](https://docs.codenib.ai/agent_integrations/)
138
175
 
139
176
  ## System Architecture
140
177
 
@@ -160,13 +197,21 @@ publishing a partially updated view.
160
197
 
161
198
  ## Quickstart
162
199
 
163
- Requires Python 3.10+ and Git.
200
+ Requires Python 3.10+ and Git. The recommended local path includes the pinned
201
+ CodeRankEmbed model and serves hybrid BM25+dense retrieval:
164
202
 
165
203
  ```bash
166
- pip install codenib
204
+ python -m pip install "codenib[semantic]==0.2.0"
205
+ codenib doctor --require core --require wiki
167
206
  codenib wiki /path/to/repository
168
207
  ```
169
208
 
209
+ `codenib wiki` selects the semantic route because the installed environment
210
+ contains its dependencies. A smaller `python -m pip install codenib==0.2.0`
211
+ installation selects the deterministic BM25 fallback and downloads no model.
212
+ The [0.2 release notes](https://docs.codenib.ai/releases/0.2.0/) record the
213
+ upgrade boundary and verification evidence.
214
+
170
215
  CodeNib detects the repository languages, builds a reusable index under
171
216
  `~/.codenib/repositories`, launches the local Wiki, and opens
172
217
  [http://localhost:3000](http://localhost:3000). The wheel includes the
@@ -181,6 +226,39 @@ codenib doctor --require core --require wiki
181
226
  codenib index /path/to/repository
182
227
  ```
183
228
 
229
+ For a structural view, CodeNib detects the repository languages and manages
230
+ only their package-level providers; operating-system and project prerequisites
231
+ remain explicit:
232
+
233
+ ```bash
234
+ python -m pip install "codenib[graph]==0.2.0"
235
+ codenib toolchain install /path/to/repository --scope graph
236
+ codenib doctor /path/to/repository --require graph
237
+ ```
238
+
239
+ Export that indexed commit as a serverless Wiki when a live Ask backend is not
240
+ needed:
241
+
242
+ ```bash
243
+ codenib export /path/to/repository --output /tmp/repository-wiki
244
+ ```
245
+
246
+ The export contains a versioned provenance manifest, precomputed Wiki pages,
247
+ source citations, and available page-level dependency data. It contains no
248
+ provider credential; interactive Ask and runtime graph exploration remain on
249
+ the local or MCP serving path.
250
+
251
+ For a repository-hosted Wiki, CodeNib also ships a reusable GitHub workflow
252
+ that incrementally builds the same manifest, deploys the static site to Pages,
253
+ and uploads the matching commit-addressed context artifact. Its default
254
+ `semantic` route builds BM25 and vector views with a cached local Hugging Face
255
+ model and needs no API key. An explicit `fast` route avoids the model download;
256
+ a BYO OpenAI-compatible endpoint can replace local embedding. Query-time search
257
+ remains in the local or MCP runtime. See
258
+ [GitHub Pages](https://docs.codenib.ai/github_pages/).
259
+ The published BM25/vector artifact can then be verified against an exact local
260
+ checkout and served through MCP without rebuilding the repository views.
261
+
184
262
  See the
185
263
  [Quickstart](https://docs.codenib.ai/quickstart/)
186
264
  for ports, advanced indexing, and troubleshooting.
@@ -195,13 +273,15 @@ Install the MCP extra, build once, and serve the same repository manifest over
195
273
  stdio:
196
274
 
197
275
  ```bash
198
- pip install "codenib[mcp]"
276
+ python -m pip install "codenib[mcp,semantic]==0.2.0"
199
277
  codenib index /path/to/repository
200
278
  codenib mcp /path/to/repository
201
279
  ```
202
280
 
203
- The MCP server advertises its full tool set and uses the compiled manifest to
204
- decide which calls have a fresh backing view. An agent can therefore reuse
281
+ The MCP server advertises `search_context` as its default ranked entry point,
282
+ then exposes the underlying BM25, vector, graph, and navigation operations for
283
+ explicit control. It uses the compiled manifest to decide which calls have a
284
+ fresh backing view. An agent can therefore reuse
205
285
  available repository work instead of rebuilding context through unbounded
206
286
  `grep` and `read` loops, while unavailable searches fail explicitly. BM25,
207
287
  semantic, regex, Zoekt, dependency, and static-navigation results retain source
@@ -209,15 +289,31 @@ locations for follow-up reads and citations. See
209
289
  [MCP Server](https://docs.codenib.ai/mcp/)
210
290
  for client configuration and tool contracts.
211
291
 
292
+ The same planner is available directly to Python agents:
293
+
294
+ ```python
295
+ from codenib.agent import RepositoryContextExplorer
296
+
297
+ with RepositoryContextExplorer.from_repository(
298
+ "/path/to/repository", policy="auto"
299
+ ) as explorer:
300
+ result = explorer.explore("where is request retry behavior implemented?", top_k=10)
301
+ ```
302
+
303
+ Each result includes source-validated evidence plus the selected plan,
304
+ capabilities, loaded views, fusion, graph, and reranking trace.
305
+
212
306
  ## What CodeNib Provides
213
307
 
214
308
  | Surface | Purpose |
215
309
  |---|---|
216
310
  | Incremental compiler | Build independently managed views, reuse unchanged content, repair supported transitions, and conservatively rebuild outside those boundaries |
217
311
  | Agent context runtime | Plan capability-aware retrieval and navigation, then assemble bounded source-linked evidence |
218
- | Retrieval | BM25, dense-vector, regex/trigram, Zoekt, fusion, and reranking paths |
312
+ | Retrieval | BM25, dense-vector, regex/trigram, Zoekt, fusion, and reranking paths; see the [validated model matrix](https://docs.codenib.ai/rag_ops/#validated-models) |
219
313
  | Structural context | SCIP/LSP-backed symbol graphs with source locations and typed edges |
220
314
  | MCP and LSP-shaped tools | Serve one manifest to coding agents without tying the runtime to one agent framework |
315
+ | Agent compatibility | Reuse one manifest across revision-pinned [LocAgent](https://github.com/gersteinlab/LocAgent), [Agentless](https://github.com/OpenAutoCoder/Agentless), [CoSIL](https://github.com/ZhonghaoJiang/CoSIL), and [OrcaLoca](https://github.com/fishmingyu/OrcaLoca) contracts; see the [support matrix](https://docs.codenib.ai/agent_integrations/) |
316
+ | Benchmark compatibility | Evaluate native exploration against pinned external datasets and scorers, including [SWE-Explore](https://github.com/Qiushao-E/SWE-Explore-Bench); see the [dataset and benchmark matrix](https://docs.codenib.ai/evaluation/) |
221
317
  | Local inspection | Audit the same context through Wiki pages, Ask answers, citations, and the Dependency Map |
222
318
  | Evaluation harness | Measure retrieval, navigation, incremental maintenance, and context policies on the same artifacts |
223
319
 
@@ -228,7 +324,11 @@ records chunking, graph, incremental, and C++ decoder support.
228
324
  ## Documentation
229
325
 
230
326
  - [Quickstart](https://docs.codenib.ai/quickstart/)
327
+ - [GitHub Pages](https://docs.codenib.ai/github_pages/)
231
328
  - [MCP Server](https://docs.codenib.ai/mcp/)
329
+ - [Agent Integrations](https://docs.codenib.ai/agent_integrations/)
330
+ - [RAG Models and Planner](https://docs.codenib.ai/rag_ops/)
331
+ - [Benchmarks and Evaluation](https://docs.codenib.ai/evaluation/)
232
332
  - [Web UI](https://docs.codenib.ai/web_demo/)
233
333
  - [Language Capabilities](https://docs.codenib.ai/language_capabilities/)
234
334
  - [Concepts and development guides](https://docs.codenib.ai/)
@@ -236,7 +336,7 @@ records chunking, graph, incremental, and C++ decoder support.
236
336
  Build the documentation site locally with:
237
337
 
238
338
  ```bash
239
- pip install "codenib[dev]"
339
+ python -m pip install -e ".[dev]"
240
340
  mkdocs serve
241
341
  ```
242
342
 
@@ -3,12 +3,17 @@ SPDX-FileCopyrightText: 2025-2026 CodeNib Contributors
3
3
 
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
  -->
6
+ <!-- mcp-name: ai.codenib/codenib -->
6
7
 
7
8
  <div align="center">
8
9
  <img src="https://raw.githubusercontent.com/sysevol-ai/CodeNib/main/assets/codenib_logo.svg" alt="CodeNib" width="560">
9
- <h1>A Multi-View Data System for Serving Repository Context to Coding Agents</h1>
10
+ <h1>Searchable codebase wikis and context for coding agents</h1>
10
11
  <p>
11
- Incremental compilation, explicit per-view manifests, and agent-native context serving.
12
+ Point it at any repo, get a searchable Wiki and an MCP server for your coding agent.
13
+ </p>
14
+ <p>
15
+ <a href="https://arxiv.org/abs/2607.25431"><img src="https://img.shields.io/badge/arXiv-2607.25431-b31b1b.svg?logo=arxiv&amp;logoColor=white" alt="arXiv 2607.25431"></a>
16
+ <a href="https://huggingface.co/papers/2607.25431"><img src="https://img.shields.io/badge/Hugging_Face-%232_Paper_of_the_Day-FFD21E.svg?logo=huggingface&amp;logoColor=black" alt="Hugging Face: #2 Paper of the Day"></a>
12
17
  </p>
13
18
  <p>
14
19
  <a href="#quickstart">Quickstart</a>
@@ -21,26 +26,50 @@ SPDX-License-Identifier: Apache-2.0
21
26
  &nbsp;&middot;&nbsp;
22
27
  <a href="https://docs.codenib.ai/mcp/">MCP</a>
23
28
  &nbsp;&middot;&nbsp;
29
+ <a href="https://docs.codenib.ai/agent_integrations/">Agent Integrations</a>
30
+ &nbsp;&middot;&nbsp;
24
31
  <a href="https://docs.codenib.ai/language_capabilities/">Languages</a>
25
32
  </p>
26
33
  <p>
27
34
  <a href="https://github.com/sysevol-ai/CodeNib/actions/workflows/ci.yml"><img src="https://github.com/sysevol-ai/CodeNib/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
35
+ <a href="https://pypi.org/project/codenib/"><img src="https://img.shields.io/pypi/v/codenib.svg" alt="PyPI version"></a>
28
36
  <a href="https://github.com/sysevol-ai/CodeNib/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-Apache_2.0-blue.svg" alt="License: Apache 2.0"></a>
29
37
  <a href="https://github.com/sysevol-ai/CodeNib/blob/main/pyproject.toml"><img src="https://img.shields.io/badge/Python-3.10%2B-3776AB.svg" alt="Python 3.10+"></a>
30
- <img src="https://img.shields.io/badge/Release-Developer_Preview-EA580C.svg" alt="Developer Preview">
38
+ <img src="https://img.shields.io/badge/Release-0.2.0-2563EB.svg" alt="CodeNib 0.2.0">
31
39
  </p>
32
40
  </div>
33
41
 
34
- CodeNib is a multi-view data system for serving repository context to coding
35
- agents. Its native runtime compiles a checkout into manifest-linked lexical,
36
- semantic, structural, and static-navigation views, incrementally maintains
37
- supported transitions, and serves bounded source evidence through MCP,
38
- LSP-shaped providers, Python, and HTTP APIs.
42
+ ```bash
43
+ python -m pip install "codenib[mcp,semantic]==0.2.0"
44
+ codenib wiki /path/to/your/repo
45
+ ```
39
46
 
40
- The Wiki, Ask view, and Dependency Map are inspection clients of that same
41
- runtime, not the system boundary. The core implementation lives in CodeNib;
42
- optional model endpoints and language servers are providers rather than a host
43
- agent or code-Wiki framework.
47
+ Local, open source, and no cloud required. CodeNib combines BM25 and dense code
48
+ search, adds optional SCIP symbol graphs, and incrementally rebuilds repository
49
+ indexes as commits change. The same index powers the Wiki, Dependency Map, Ask,
50
+ and MCP tools instead of making every agent rediscover the codebase.
51
+
52
+ ## News
53
+
54
+ - **2026-08-05 — CodeNib 0.2.0.** Build a static Wiki and reusable context
55
+ artifact once, then serve it through Pages or the official MCP package.
56
+ Hybrid retrieval and managed SCIP/LSP providers ship in the same CLI.
57
+ [Release notes](https://docs.codenib.ai/releases/0.2.0/)
58
+ - **2026-08-05 — SweRank recipe.** Run
59
+ [SweRank](https://github.com/SalesforceAIResearch/SweRank) retrieval and
60
+ reranking over a local checkout. [Example](examples/swerank_retrieve_rerank.py)
61
+ - **2026-08-04 — Native repository explorer.** CodeNib's planner now targets
62
+ the [SWE-Explore](https://github.com/Qiushao-E/SWE-Explore-Bench)
63
+ source-region protocol.
64
+ [Validation](docs/evaluation/swe_explore.md)
65
+ - **2026-08-03 — Native LocAgent policy.**
66
+ [LocAgent](https://github.com/gersteinlab/LocAgent) runs directly on CodeNib
67
+ views without LocAgent, LiteLLM, or LlamaIndex dependencies.
68
+ [Support matrix](https://docs.codenib.ai/agent_integrations/)
69
+ - **2026-08-02 — OrcaLoca SearchAgent.**
70
+ [OrcaLoca](https://github.com/fishmingyu/OrcaLoca)'s six-tool search loop
71
+ now reuses CodeNib's symbol graph.
72
+ [Support matrix](https://docs.codenib.ai/agent_integrations/)
44
73
 
45
74
  ## System Architecture
46
75
 
@@ -66,13 +95,21 @@ publishing a partially updated view.
66
95
 
67
96
  ## Quickstart
68
97
 
69
- Requires Python 3.10+ and Git.
98
+ Requires Python 3.10+ and Git. The recommended local path includes the pinned
99
+ CodeRankEmbed model and serves hybrid BM25+dense retrieval:
70
100
 
71
101
  ```bash
72
- pip install codenib
102
+ python -m pip install "codenib[semantic]==0.2.0"
103
+ codenib doctor --require core --require wiki
73
104
  codenib wiki /path/to/repository
74
105
  ```
75
106
 
107
+ `codenib wiki` selects the semantic route because the installed environment
108
+ contains its dependencies. A smaller `python -m pip install codenib==0.2.0`
109
+ installation selects the deterministic BM25 fallback and downloads no model.
110
+ The [0.2 release notes](https://docs.codenib.ai/releases/0.2.0/) record the
111
+ upgrade boundary and verification evidence.
112
+
76
113
  CodeNib detects the repository languages, builds a reusable index under
77
114
  `~/.codenib/repositories`, launches the local Wiki, and opens
78
115
  [http://localhost:3000](http://localhost:3000). The wheel includes the
@@ -87,6 +124,39 @@ codenib doctor --require core --require wiki
87
124
  codenib index /path/to/repository
88
125
  ```
89
126
 
127
+ For a structural view, CodeNib detects the repository languages and manages
128
+ only their package-level providers; operating-system and project prerequisites
129
+ remain explicit:
130
+
131
+ ```bash
132
+ python -m pip install "codenib[graph]==0.2.0"
133
+ codenib toolchain install /path/to/repository --scope graph
134
+ codenib doctor /path/to/repository --require graph
135
+ ```
136
+
137
+ Export that indexed commit as a serverless Wiki when a live Ask backend is not
138
+ needed:
139
+
140
+ ```bash
141
+ codenib export /path/to/repository --output /tmp/repository-wiki
142
+ ```
143
+
144
+ The export contains a versioned provenance manifest, precomputed Wiki pages,
145
+ source citations, and available page-level dependency data. It contains no
146
+ provider credential; interactive Ask and runtime graph exploration remain on
147
+ the local or MCP serving path.
148
+
149
+ For a repository-hosted Wiki, CodeNib also ships a reusable GitHub workflow
150
+ that incrementally builds the same manifest, deploys the static site to Pages,
151
+ and uploads the matching commit-addressed context artifact. Its default
152
+ `semantic` route builds BM25 and vector views with a cached local Hugging Face
153
+ model and needs no API key. An explicit `fast` route avoids the model download;
154
+ a BYO OpenAI-compatible endpoint can replace local embedding. Query-time search
155
+ remains in the local or MCP runtime. See
156
+ [GitHub Pages](https://docs.codenib.ai/github_pages/).
157
+ The published BM25/vector artifact can then be verified against an exact local
158
+ checkout and served through MCP without rebuilding the repository views.
159
+
90
160
  See the
91
161
  [Quickstart](https://docs.codenib.ai/quickstart/)
92
162
  for ports, advanced indexing, and troubleshooting.
@@ -101,13 +171,15 @@ Install the MCP extra, build once, and serve the same repository manifest over
101
171
  stdio:
102
172
 
103
173
  ```bash
104
- pip install "codenib[mcp]"
174
+ python -m pip install "codenib[mcp,semantic]==0.2.0"
105
175
  codenib index /path/to/repository
106
176
  codenib mcp /path/to/repository
107
177
  ```
108
178
 
109
- The MCP server advertises its full tool set and uses the compiled manifest to
110
- decide which calls have a fresh backing view. An agent can therefore reuse
179
+ The MCP server advertises `search_context` as its default ranked entry point,
180
+ then exposes the underlying BM25, vector, graph, and navigation operations for
181
+ explicit control. It uses the compiled manifest to decide which calls have a
182
+ fresh backing view. An agent can therefore reuse
111
183
  available repository work instead of rebuilding context through unbounded
112
184
  `grep` and `read` loops, while unavailable searches fail explicitly. BM25,
113
185
  semantic, regex, Zoekt, dependency, and static-navigation results retain source
@@ -115,15 +187,31 @@ locations for follow-up reads and citations. See
115
187
  [MCP Server](https://docs.codenib.ai/mcp/)
116
188
  for client configuration and tool contracts.
117
189
 
190
+ The same planner is available directly to Python agents:
191
+
192
+ ```python
193
+ from codenib.agent import RepositoryContextExplorer
194
+
195
+ with RepositoryContextExplorer.from_repository(
196
+ "/path/to/repository", policy="auto"
197
+ ) as explorer:
198
+ result = explorer.explore("where is request retry behavior implemented?", top_k=10)
199
+ ```
200
+
201
+ Each result includes source-validated evidence plus the selected plan,
202
+ capabilities, loaded views, fusion, graph, and reranking trace.
203
+
118
204
  ## What CodeNib Provides
119
205
 
120
206
  | Surface | Purpose |
121
207
  |---|---|
122
208
  | Incremental compiler | Build independently managed views, reuse unchanged content, repair supported transitions, and conservatively rebuild outside those boundaries |
123
209
  | Agent context runtime | Plan capability-aware retrieval and navigation, then assemble bounded source-linked evidence |
124
- | Retrieval | BM25, dense-vector, regex/trigram, Zoekt, fusion, and reranking paths |
210
+ | Retrieval | BM25, dense-vector, regex/trigram, Zoekt, fusion, and reranking paths; see the [validated model matrix](https://docs.codenib.ai/rag_ops/#validated-models) |
125
211
  | Structural context | SCIP/LSP-backed symbol graphs with source locations and typed edges |
126
212
  | MCP and LSP-shaped tools | Serve one manifest to coding agents without tying the runtime to one agent framework |
213
+ | Agent compatibility | Reuse one manifest across revision-pinned [LocAgent](https://github.com/gersteinlab/LocAgent), [Agentless](https://github.com/OpenAutoCoder/Agentless), [CoSIL](https://github.com/ZhonghaoJiang/CoSIL), and [OrcaLoca](https://github.com/fishmingyu/OrcaLoca) contracts; see the [support matrix](https://docs.codenib.ai/agent_integrations/) |
214
+ | Benchmark compatibility | Evaluate native exploration against pinned external datasets and scorers, including [SWE-Explore](https://github.com/Qiushao-E/SWE-Explore-Bench); see the [dataset and benchmark matrix](https://docs.codenib.ai/evaluation/) |
127
215
  | Local inspection | Audit the same context through Wiki pages, Ask answers, citations, and the Dependency Map |
128
216
  | Evaluation harness | Measure retrieval, navigation, incremental maintenance, and context policies on the same artifacts |
129
217
 
@@ -134,7 +222,11 @@ records chunking, graph, incremental, and C++ decoder support.
134
222
  ## Documentation
135
223
 
136
224
  - [Quickstart](https://docs.codenib.ai/quickstart/)
225
+ - [GitHub Pages](https://docs.codenib.ai/github_pages/)
137
226
  - [MCP Server](https://docs.codenib.ai/mcp/)
227
+ - [Agent Integrations](https://docs.codenib.ai/agent_integrations/)
228
+ - [RAG Models and Planner](https://docs.codenib.ai/rag_ops/)
229
+ - [Benchmarks and Evaluation](https://docs.codenib.ai/evaluation/)
138
230
  - [Web UI](https://docs.codenib.ai/web_demo/)
139
231
  - [Language Capabilities](https://docs.codenib.ai/language_capabilities/)
140
232
  - [Concepts and development guides](https://docs.codenib.ai/)
@@ -142,7 +234,7 @@ records chunking, graph, incremental, and C++ decoder support.
142
234
  Build the documentation site locally with:
143
235
 
144
236
  ```bash
145
- pip install "codenib[dev]"
237
+ python -m pip install -e ".[dev]"
146
238
  mkdocs serve
147
239
  ```
148
240