codenib 0.2.2__tar.gz → 0.2.4__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 (768) hide show
  1. {codenib-0.2.2 → codenib-0.2.4}/CHANGELOG.md +123 -1
  2. codenib-0.2.4/PKG-INFO +266 -0
  3. codenib-0.2.4/README.md +150 -0
  4. {codenib-0.2.2 → codenib-0.2.4}/codenib/_atomic_directory.py +6760 -2285
  5. {codenib-0.2.2 → codenib-0.2.4}/codenib/_bounded_json.py +108 -2
  6. {codenib-0.2.2 → codenib-0.2.4}/codenib/_captured_directory.py +2552 -267
  7. {codenib-0.2.2 → codenib-0.2.4}/codenib/_contained_source.py +145 -30
  8. {codenib-0.2.2 → codenib-0.2.4}/codenib/_local_workspace_provider.py +171 -17
  9. codenib-0.2.4/codenib/_secret_fields.py +517 -0
  10. codenib-0.2.4/codenib/_workspace_owner.py +838 -0
  11. codenib-0.2.4/codenib/_workspace_provider.py +1789 -0
  12. codenib-0.2.4/codenib/agent/decision_rerank.py +51 -0
  13. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/rerank_agent.py +42 -5
  14. codenib-0.2.4/codenib/agent/runtime/grep_jev.py +705 -0
  15. {codenib-0.2.2 → codenib-0.2.4}/codenib/artifacts/__init__.py +9 -0
  16. {codenib-0.2.2 → codenib-0.2.4}/codenib/artifacts/portable_views.py +2425 -241
  17. {codenib-0.2.2 → codenib-0.2.4}/codenib/artifacts/runtime.py +709 -173
  18. codenib-0.2.4/codenib/artifacts/security.py +1520 -0
  19. {codenib-0.2.2 → codenib-0.2.4}/codenib/artifacts/strict_bm25.py +522 -77
  20. {codenib-0.2.2 → codenib-0.2.4}/codenib/artifacts/strict_context.py +845 -212
  21. codenib-0.2.4/codenib/artifacts/strict_vector.py +2089 -0
  22. {codenib-0.2.2 → codenib-0.2.4}/codenib/cli.py +707 -1796
  23. {codenib-0.2.2 → codenib-0.2.4}/codenib/clients/guardian/aggregation.py +19 -1
  24. {codenib-0.2.2 → codenib-0.2.4}/codenib/clients/guardian/evidence.py +11 -2
  25. {codenib-0.2.2 → codenib-0.2.4}/codenib/clients/guardian/types.py +32 -2
  26. {codenib-0.2.2 → codenib-0.2.4}/codenib/code_chunker.py +288 -20
  27. {codenib-0.2.2 → codenib-0.2.4}/codenib/code_chunking/base.py +33 -0
  28. {codenib-0.2.2 → codenib-0.2.4}/codenib/code_chunking/python_chunker.py +1 -229
  29. {codenib-0.2.2 → codenib-0.2.4}/codenib/codegraph_onboarding.py +156 -28
  30. codenib-0.2.4/codenib/compiler/__init__.py +110 -0
  31. {codenib-0.2.2 → codenib-0.2.4}/codenib/compiler/artifact_fingerprints.py +52 -5
  32. {codenib-0.2.2 → codenib-0.2.4}/codenib/compiler/artifact_quality.py +29 -2
  33. {codenib-0.2.2 → codenib-0.2.4}/codenib/compiler/cache_lock.py +61 -7
  34. {codenib-0.2.2 → codenib-0.2.4}/codenib/compiler/index_builders.py +368 -19
  35. {codenib-0.2.2 → codenib-0.2.4}/codenib/compiler/index_compiler.py +6 -1
  36. {codenib-0.2.2 → codenib-0.2.4}/codenib/compiler/manifest_source.py +4 -0
  37. {codenib-0.2.2 → codenib-0.2.4}/codenib/facts/__init__.py +0 -72
  38. {codenib-0.2.2 → codenib-0.2.4}/codenib/index/embedding/artifact_integrity.py +196 -2
  39. {codenib-0.2.2 → codenib-0.2.4}/codenib/index/embedding/builders.py +53 -1
  40. codenib-0.2.4/codenib/index/embedding/model_policy.py +724 -0
  41. {codenib-0.2.2 → codenib-0.2.4}/codenib/index/embedding/vector_store.py +514 -28
  42. {codenib-0.2.2 → codenib-0.2.4}/codenib/index/sparse_idx/bm25_index.py +164 -15
  43. codenib-0.2.4/codenib/llm/__init__.py +67 -0
  44. codenib-0.2.4/codenib/llm/decisions.py +221 -0
  45. {codenib-0.2.2 → codenib-0.2.4}/codenib/ls_index/clangd_decode.py +6 -32
  46. {codenib-0.2.2 → codenib-0.2.4}/codenib/mcp/context.py +88 -10
  47. codenib-0.2.4/codenib/mcp/grep_jev.py +89 -0
  48. {codenib-0.2.2 → codenib-0.2.4}/codenib/mcp/prompts.py +11 -0
  49. {codenib-0.2.2 → codenib-0.2.4}/codenib/mcp/server.py +83 -8
  50. {codenib-0.2.2 → codenib-0.2.4}/codenib/mcp/tools/explore.py +18 -0
  51. {codenib-0.2.2 → codenib-0.2.4}/codenib/mcp/tools/search.py +22 -0
  52. {codenib-0.2.2 → codenib-0.2.4}/codenib/model/retrieve_rerank_pipeline.py +30 -11
  53. codenib-0.2.4/codenib/openrouter_auth.py +603 -0
  54. {codenib-0.2.2 → codenib-0.2.4}/codenib/ops/rerank.py +11 -4
  55. codenib-0.2.4/codenib/provider_routes.py +2268 -0
  56. {codenib-0.2.2 → codenib-0.2.4}/codenib/repository_summary.py +15 -1
  57. {codenib-0.2.2 → codenib-0.2.4}/codenib/scip_interface/fact_batch_buffer.py +1 -1
  58. {codenib-0.2.2 → codenib-0.2.4}/codenib/source_fingerprint.py +1291 -208
  59. codenib-0.2.4/codenib/storage.py +59 -0
  60. codenib-0.2.4/codenib/web/app.py +1371 -0
  61. codenib-0.2.4/codenib/web/card_summary.py +220 -0
  62. {codenib-0.2.2 → codenib-0.2.4}/codenib/web/codemap.py +429 -6
  63. {codenib-0.2.2 → codenib-0.2.4}/codenib/web/config.py +135 -5
  64. codenib-0.2.4/codenib/web/index_status.py +174 -0
  65. codenib-0.2.4/codenib/web/public_trial.py +344 -0
  66. codenib-0.2.4/codenib/web/repo_registry.py +2960 -0
  67. {codenib-0.2.2 → codenib-0.2.4}/codenib/web/repository_files.py +18 -6
  68. {codenib-0.2.2 → codenib-0.2.4}/codenib/web/schemas.py +41 -0
  69. {codenib-0.2.2 → codenib-0.2.4}/codenib/web/static_export.py +435 -26
  70. codenib-0.2.4/codenib/wiki/__init__.py +214 -0
  71. codenib-0.2.4/codenib/wiki/_safe_file_reads.py +61 -0
  72. {codenib-0.2.2 → codenib-0.2.4}/codenib/wiki/agent_wiki.py +2223 -583
  73. {codenib-0.2.2 → codenib-0.2.4}/codenib/wiki/cache_audit.py +43 -57
  74. codenib-0.2.4/codenib/wiki/context_evidence.py +324 -0
  75. {codenib-0.2.2 → codenib-0.2.4}/codenib/wiki/evidence.py +329 -27
  76. codenib-0.2.4/codenib/wiki/fences.py +77 -0
  77. codenib-0.2.4/codenib/wiki/flowchart.py +163 -0
  78. codenib-0.2.4/codenib/wiki/lead.py +60 -0
  79. codenib-0.2.4/codenib/wiki/media_artifacts.py +397 -0
  80. codenib-0.2.4/codenib/wiki/media_eval.py +343 -0
  81. codenib-0.2.4/codenib/wiki/media_evidence.py +418 -0
  82. codenib-0.2.4/codenib/wiki/media_facts.py +603 -0
  83. codenib-0.2.4/codenib/wiki/media_generation.py +1685 -0
  84. codenib-0.2.4/codenib/wiki/media_grounding.py +518 -0
  85. codenib-0.2.4/codenib/wiki/media_incremental.py +404 -0
  86. codenib-0.2.4/codenib/wiki/media_knowledge.py +257 -0
  87. codenib-0.2.4/codenib/wiki/media_pipeline.py +85 -0
  88. codenib-0.2.4/codenib/wiki/media_storage.py +498 -0
  89. codenib-0.2.4/codenib/wiki/media_tools.py +221 -0
  90. codenib-0.2.4/codenib/wiki/media_vlm.py +304 -0
  91. codenib-0.2.4/codenib/wiki/multimodal.py +206 -0
  92. {codenib-0.2.2 → codenib-0.2.4}/codenib/wiki/narrator.py +1 -1
  93. {codenib-0.2.2 → codenib-0.2.4}/codenib/wiki/quality.py +288 -60
  94. codenib-0.2.4/codenib/wiki/repository_visuals.py +608 -0
  95. codenib-0.2.4/codenib/wiki/sqlite_store.py +682 -0
  96. codenib-0.2.4/codenib/wiki/store.py +76 -0
  97. codenib-0.2.4/codenib/wiki/story.py +397 -0
  98. codenib-0.2.4/codenib/wiki/visual_ir.py +1248 -0
  99. codenib-0.2.4/codenib.egg-info/PKG-INFO +266 -0
  100. {codenib-0.2.2 → codenib-0.2.4}/codenib.egg-info/SOURCES.txt +134 -88
  101. {codenib-0.2.2 → codenib-0.2.4}/codenib.egg-info/requires.txt +9 -0
  102. {codenib-0.2.2 → codenib-0.2.4}/native/workspace_owner.c +3096 -134
  103. {codenib-0.2.2 → codenib-0.2.4}/pyproject.toml +10 -1
  104. {codenib-0.2.2 → codenib-0.2.4}/server.json +3 -3
  105. {codenib-0.2.2 → codenib-0.2.4}/test/test_atomic_directory.py +8561 -130
  106. {codenib-0.2.2 → codenib-0.2.4}/test/test_bounded_json.py +188 -16
  107. codenib-0.2.4/test/test_captured_directory.py +8701 -0
  108. {codenib-0.2.2 → codenib-0.2.4}/test/test_ci_policy.py +117 -1
  109. codenib-0.2.4/test/test_cli.py +1920 -0
  110. {codenib-0.2.2 → codenib-0.2.4}/test/test_codegraph_onboarding.py +27 -4
  111. codenib-0.2.4/test/test_grep_onboarding.py +442 -0
  112. {codenib-0.2.2 → codenib-0.2.4}/test/test_lazy_imports.py +61 -0
  113. codenib-0.2.4/test/test_local_workspace_provider.py +1560 -0
  114. {codenib-0.2.2 → codenib-0.2.4}/test/test_mcp_registry.py +2 -2
  115. codenib-0.2.4/test/test_openrouter_auth.py +441 -0
  116. codenib-0.2.4/test/test_provider_routes.py +1271 -0
  117. {codenib-0.2.2 → codenib-0.2.4}/test/test_release_artifacts.py +410 -21
  118. {codenib-0.2.2 → codenib-0.2.4}/test/test_repository_summary.py +20 -0
  119. codenib-0.2.4/test/test_secret_fields.py +54 -0
  120. {codenib-0.2.2 → codenib-0.2.4}/test/test_source_fingerprint.py +1117 -1
  121. codenib-0.2.4/test/test_storage_api.py +110 -0
  122. codenib-0.2.4/test/test_workspace_owner.py +6263 -0
  123. {codenib-0.2.2 → codenib-0.2.4}/test/test_workspace_provider.py +1443 -144
  124. {codenib-0.2.2 → codenib-0.2.4}/web/app/[repoId]/ask/page.tsx +10 -0
  125. {codenib-0.2.2 → codenib-0.2.4}/web/app/[repoId]/page.tsx +704 -105
  126. {codenib-0.2.2 → codenib-0.2.4}/web/app/globals.css +1427 -14
  127. codenib-0.2.4/web/app/page.tsx +302 -0
  128. codenib-0.2.4/web/components/AgentSetup.test.tsx +66 -0
  129. codenib-0.2.4/web/components/AgentSetup.tsx +47 -0
  130. codenib-0.2.4/web/components/AreaMap.tsx +241 -0
  131. {codenib-0.2.2 → codenib-0.2.4}/web/components/AskBar.tsx +37 -12
  132. codenib-0.2.4/web/components/CallChain.tsx +79 -0
  133. {codenib-0.2.2 → codenib-0.2.4}/web/components/CodePanel.tsx +3 -1
  134. {codenib-0.2.2 → codenib-0.2.4}/web/components/Header.tsx +4 -1
  135. codenib-0.2.4/web/components/HighlightedBlock.tsx +64 -0
  136. codenib-0.2.4/web/components/Markdown.test.tsx +136 -0
  137. {codenib-0.2.2 → codenib-0.2.4}/web/components/Markdown.tsx +147 -1
  138. codenib-0.2.4/web/components/Mermaid.test.tsx +20 -0
  139. {codenib-0.2.2 → codenib-0.2.4}/web/components/Mermaid.tsx +48 -7
  140. codenib-0.2.4/web/components/OpenRouterTrial.tsx +409 -0
  141. codenib-0.2.4/web/components/PageBoundary.tsx +125 -0
  142. {codenib-0.2.2 → codenib-0.2.4}/web/components/SystemMap.tsx +13 -6
  143. codenib-0.2.4/web/dist/assets/AskBar-C6wOZzzo.js +32 -0
  144. codenib-0.2.2/web/dist/assets/CodeGraph-C6T8Ji-q.js → codenib-0.2.4/web/dist/assets/CodeGraph-CouziwrH.js +1 -1
  145. codenib-0.2.4/web/dist/assets/CodePanel-DW4J89Z2.js +1 -0
  146. codenib-0.2.2/web/dist/assets/Codemap-EuNd3aNn.js → codenib-0.2.4/web/dist/assets/Codemap-aSAVGTwZ.js +1 -1
  147. codenib-0.2.4/web/dist/assets/GraphView-DLGwOmzf.js +2 -0
  148. codenib-0.2.4/web/dist/assets/Header-DobEYclh.js +2 -0
  149. codenib-0.2.4/web/dist/assets/HighlightedBlock-DarRrcKS.js +3 -0
  150. codenib-0.2.2/web/dist/assets/HighlightedCode-16YOPh7P.js → codenib-0.2.4/web/dist/assets/HighlightedCode-DgWstXmY.js +1 -1
  151. codenib-0.2.2/web/dist/assets/Mermaid-DoTBXSj1.js → codenib-0.2.4/web/dist/assets/Mermaid-xf_82Eep.js +43 -43
  152. codenib-0.2.2/web/dist/assets/abnfDiagram-N423BO3Z-DPNUHc2-.js → codenib-0.2.4/web/dist/assets/abnfDiagram-N423BO3Z-UcnRFdd4.js +1 -1
  153. codenib-0.2.4/web/dist/assets/api-BrxmZED8.js +1 -0
  154. codenib-0.2.2/web/dist/assets/arc-CgMW27ju.js → codenib-0.2.4/web/dist/assets/arc-4x9VyARf.js +1 -1
  155. codenib-0.2.2/web/dist/assets/architectureDiagram-T3A2C74G-DPG84uEH.js → codenib-0.2.4/web/dist/assets/architectureDiagram-T3A2C74G-CW_DKroI.js +1 -1
  156. codenib-0.2.2/web/dist/assets/blockDiagram-VBNYF7ZC-gY-9wuCs.js → codenib-0.2.4/web/dist/assets/blockDiagram-VBNYF7ZC-UGuGMLEZ.js +1 -1
  157. codenib-0.2.2/web/dist/assets/c4Diagram-5PPSVZJV-Cvw3QJKZ.js → codenib-0.2.4/web/dist/assets/c4Diagram-5PPSVZJV-B7Xk9PKd.js +1 -1
  158. codenib-0.2.4/web/dist/assets/channel-D7Lo-xXb.js +1 -0
  159. codenib-0.2.2/web/dist/assets/chunk-2GRJ4B5K-Bd8b6s66.js → codenib-0.2.4/web/dist/assets/chunk-2GRJ4B5K-D5Q-I4nY.js +1 -1
  160. codenib-0.2.2/web/dist/assets/chunk-2Q5K7J3B-D1oWLBG7.js → codenib-0.2.4/web/dist/assets/chunk-2Q5K7J3B-DRZFxXV9.js +1 -1
  161. codenib-0.2.2/web/dist/assets/chunk-5RXB4S5H-C3AxE2jy.js → codenib-0.2.4/web/dist/assets/chunk-5RXB4S5H-CpWOzOzf.js +1 -1
  162. codenib-0.2.2/web/dist/assets/chunk-5VM5RSS4-D6XhP-jw.js → codenib-0.2.4/web/dist/assets/chunk-5VM5RSS4-DKVe7cLz.js +1 -1
  163. codenib-0.2.2/web/dist/assets/chunk-6Q2QTUOP-BqxoWlKq.js → codenib-0.2.4/web/dist/assets/chunk-6Q2QTUOP-BF1hK_Cw.js +1 -1
  164. codenib-0.2.2/web/dist/assets/chunk-GF5L2VYU-tU5u_HPV.js → codenib-0.2.4/web/dist/assets/chunk-GF5L2VYU-BV78A-mg.js +1 -1
  165. codenib-0.2.2/web/dist/assets/chunk-JWPE2WC7-Ca5gQvfo.js → codenib-0.2.4/web/dist/assets/chunk-JWPE2WC7-NJgQHjVx.js +1 -1
  166. codenib-0.2.2/web/dist/assets/chunk-KBJHAD2P-CJGP4tzF.js → codenib-0.2.4/web/dist/assets/chunk-KBJHAD2P-Bk83uGax.js +1 -1
  167. codenib-0.2.2/web/dist/assets/chunk-RYQCIY6F-CccM70iZ.js → codenib-0.2.4/web/dist/assets/chunk-RYQCIY6F-Cyi6_7X3.js +1 -1
  168. codenib-0.2.2/web/dist/assets/chunk-XXDRQBXY-CkQOD8ED.js → codenib-0.2.4/web/dist/assets/chunk-XXDRQBXY-nMSEgAkk.js +1 -1
  169. codenib-0.2.4/web/dist/assets/classDiagram-JCYQIIEL-DQtpFBar.js +1 -0
  170. codenib-0.2.4/web/dist/assets/classDiagram-v2-OCEON4UE-DQtpFBar.js +1 -0
  171. codenib-0.2.2/web/dist/assets/cose-bilkent-JH36ORCC-Dm9rOwqG.js → codenib-0.2.4/web/dist/assets/cose-bilkent-JH36ORCC-CGPaBo1J.js +1 -1
  172. codenib-0.2.2/web/dist/assets/cynefin-VYW2F7L2-DHHQO_Nd.js → codenib-0.2.4/web/dist/assets/cynefin-VYW2F7L2-Cgo6S9pV.js +1 -1
  173. codenib-0.2.2/web/dist/assets/cynefinDiagram-MW4NZA55-ByewwyBe.js → codenib-0.2.4/web/dist/assets/cynefinDiagram-MW4NZA55-tLvZp6xN.js +1 -1
  174. codenib-0.2.2/web/dist/assets/dagre-VZM6K2ZE-DtWG4zrD.js → codenib-0.2.4/web/dist/assets/dagre-VZM6K2ZE-CYOAE2_X.js +1 -1
  175. codenib-0.2.2/web/dist/assets/diagram-7IWD3JNH-l6R1Fs0x.js → codenib-0.2.4/web/dist/assets/diagram-7IWD3JNH-BDuySpxW.js +1 -1
  176. codenib-0.2.2/web/dist/assets/diagram-B4RE2ZJO-DBSH3eXP.js → codenib-0.2.4/web/dist/assets/diagram-B4RE2ZJO-Be6wYI9I.js +1 -1
  177. codenib-0.2.2/web/dist/assets/diagram-LBJQPF4R-qrueljZv.js → codenib-0.2.4/web/dist/assets/diagram-LBJQPF4R-D2Ezhk9H.js +1 -1
  178. codenib-0.2.2/web/dist/assets/diagram-Q27KOJAE-4wm74SS3.js → codenib-0.2.4/web/dist/assets/diagram-Q27KOJAE-BlCPwvJt.js +1 -1
  179. codenib-0.2.2/web/dist/assets/diagram-UB23O5K3-cd8PNmv-.js → codenib-0.2.4/web/dist/assets/diagram-UB23O5K3-Dgk4-oZH.js +1 -1
  180. codenib-0.2.2/web/dist/assets/ebnfDiagram-BXEA7PRR-B4idecbY.js → codenib-0.2.4/web/dist/assets/ebnfDiagram-BXEA7PRR-B2nPrMNL.js +1 -1
  181. codenib-0.2.2/web/dist/assets/erDiagram-JOGREHBK-mTJVh6E5.js → codenib-0.2.4/web/dist/assets/erDiagram-JOGREHBK-piHDMjUI.js +1 -1
  182. codenib-0.2.2/web/dist/assets/flowDiagram-UKHOOZJN-CkrFSLB5.js → codenib-0.2.4/web/dist/assets/flowDiagram-UKHOOZJN-sC6PlD9n.js +1 -1
  183. codenib-0.2.2/web/dist/assets/ganttDiagram-PKOTCBZU-hrhdmpWn.js → codenib-0.2.4/web/dist/assets/ganttDiagram-PKOTCBZU-CkWfzRE3.js +1 -1
  184. codenib-0.2.2/web/dist/assets/gitGraphDiagram-DS77QQ5N-C1V8kJt8.js → codenib-0.2.4/web/dist/assets/gitGraphDiagram-DS77QQ5N-0gt9MtIM.js +1 -1
  185. codenib-0.2.2/web/dist/assets/highlight-BMMw0pcp.js → codenib-0.2.4/web/dist/assets/highlight-C08vGITk.js +1 -1
  186. codenib-0.2.2/web/dist/assets/index-DH1ed8RR.js → codenib-0.2.4/web/dist/assets/index-CGflccWM.js +6 -6
  187. codenib-0.2.4/web/dist/assets/index-CzDQKMzN.css +1 -0
  188. codenib-0.2.2/web/dist/assets/infoDiagram-6WML65LV-BtARLp8i.js → codenib-0.2.4/web/dist/assets/infoDiagram-6WML65LV-DWhZguG7.js +1 -1
  189. codenib-0.2.2/web/dist/assets/ishikawaDiagram-WSZJBQD7-Da2YryI-.js → codenib-0.2.4/web/dist/assets/ishikawaDiagram-WSZJBQD7-BiUA4tKL.js +1 -1
  190. codenib-0.2.2/web/dist/assets/journeyDiagram-NVQOT4AX-CxuMFRtK.js → codenib-0.2.4/web/dist/assets/journeyDiagram-NVQOT4AX-CHKsRH7v.js +1 -1
  191. codenib-0.2.2/web/dist/assets/kanban-definition-27J2QSJJ-DP3K-G4t.js → codenib-0.2.4/web/dist/assets/kanban-definition-27J2QSJJ-CyPXzLn3.js +1 -1
  192. codenib-0.2.2/web/dist/assets/linear-CkOnLbQM.js → codenib-0.2.4/web/dist/assets/linear-5uZmA0ZJ.js +1 -1
  193. codenib-0.2.2/web/dist/assets/mindmap-definition-FAOFIHXS-CtUOHHmE.js → codenib-0.2.4/web/dist/assets/mindmap-definition-FAOFIHXS-DOLS6Vpm.js +1 -1
  194. codenib-0.2.4/web/dist/assets/page-BUQTJyuL.js +11 -0
  195. codenib-0.2.2/web/dist/assets/page-DcOA6uct.js → codenib-0.2.4/web/dist/assets/page-BtwqZ9pB.js +1 -1
  196. codenib-0.2.4/web/dist/assets/page-D3nwj5ej.js +1 -0
  197. codenib-0.2.4/web/dist/assets/page-DOzdAfhn.js +1 -0
  198. codenib-0.2.2/web/dist/assets/pegDiagram-VL7TDLO6-CCD_MUJb.js → codenib-0.2.4/web/dist/assets/pegDiagram-VL7TDLO6-BnPhEdlo.js +1 -1
  199. codenib-0.2.2/web/dist/assets/pieDiagram-7S7Q4E2Y-BGxAmmsz.js → codenib-0.2.4/web/dist/assets/pieDiagram-7S7Q4E2Y-CSizKc2I.js +1 -1
  200. codenib-0.2.2/web/dist/assets/quadrantDiagram-CIZ2JOQS-Ba7_9Wax.js → codenib-0.2.4/web/dist/assets/quadrantDiagram-CIZ2JOQS-Cxx8ZoyD.js +1 -1
  201. codenib-0.2.2/web/dist/assets/railroadDiagram-AXF67PYL-Da5bAMQ3.js → codenib-0.2.4/web/dist/assets/railroadDiagram-AXF67PYL-DE0wlnQI.js +1 -1
  202. codenib-0.2.2/web/dist/assets/requirementDiagram-LRYGKXZP-DPG4aOUi.js → codenib-0.2.4/web/dist/assets/requirementDiagram-LRYGKXZP-CE2QgdoX.js +1 -1
  203. codenib-0.2.2/web/dist/assets/sankeyDiagram-W5VNT64P-Wzo-1gO4.js → codenib-0.2.4/web/dist/assets/sankeyDiagram-W5VNT64P-CFeOQqni.js +1 -1
  204. codenib-0.2.2/web/dist/assets/sequenceDiagram-SI44F4Z6-CMyW1qkg.js → codenib-0.2.4/web/dist/assets/sequenceDiagram-SI44F4Z6-B4IGiO1S.js +1 -1
  205. codenib-0.2.2/web/dist/assets/sizeCapture-X5ZJPWSS-CznbH2Pl.js → codenib-0.2.4/web/dist/assets/sizeCapture-X5ZJPWSS-TTu0iXdB.js +1 -1
  206. codenib-0.2.2/web/dist/assets/stateDiagram-OKZ733FA-C6TxOIOY.js → codenib-0.2.4/web/dist/assets/stateDiagram-OKZ733FA-D9rYS1Ie.js +1 -1
  207. codenib-0.2.4/web/dist/assets/stateDiagram-v2-UEYNNEHI-Mys7P4Tu.js +1 -0
  208. codenib-0.2.2/web/dist/assets/swimlanes-SLNWSIFB-SpEJSmLX.js → codenib-0.2.4/web/dist/assets/swimlanes-SLNWSIFB-CX4sSwJ5.js +2 -2
  209. codenib-0.2.4/web/dist/assets/swimlanesDiagram-ULZ7WXOC-EISGUb5N.js +8 -0
  210. codenib-0.2.4/web/dist/assets/symbols-KGQ-2whx.js +1 -0
  211. codenib-0.2.2/web/dist/assets/timeline-definition-Z64GVDOM-Dzws7tk8.js → codenib-0.2.4/web/dist/assets/timeline-definition-Z64GVDOM-CTngfb55.js +1 -1
  212. codenib-0.2.2/web/dist/assets/vennDiagram-T6HMQDX7-Bz8ACBBt.js → codenib-0.2.4/web/dist/assets/vennDiagram-T6HMQDX7-BKsx19nV.js +1 -1
  213. codenib-0.2.2/web/dist/assets/wardleyDiagram-T6FBY63Y-Dba4Uv1N.js → codenib-0.2.4/web/dist/assets/wardleyDiagram-T6FBY63Y-fQIyQ2ez.js +1 -1
  214. codenib-0.2.2/web/dist/assets/xychartDiagram-ELKLHX3M-BQVriCQJ.js → codenib-0.2.4/web/dist/assets/xychartDiagram-ELKLHX3M-Khkk-dkD.js +1 -1
  215. {codenib-0.2.2 → codenib-0.2.4}/web/dist/index.html +3 -12
  216. codenib-0.2.4/web/dist/openrouter-callback.html +17 -0
  217. codenib-0.2.4/web/dist/openrouter-callback.js +49 -0
  218. codenib-0.2.4/web/dist/static-route.js +10 -0
  219. codenib-0.2.4/web/dist/theme.js +11 -0
  220. {codenib-0.2.2 → codenib-0.2.4}/web/index.html +1 -10
  221. {codenib-0.2.2 → codenib-0.2.4}/web/lib/api.ts +242 -2
  222. codenib-0.2.4/web/lib/areaLayout.test.ts +50 -0
  223. codenib-0.2.4/web/lib/areaLayout.ts +142 -0
  224. codenib-0.2.4/web/lib/flowchart.test.ts +86 -0
  225. codenib-0.2.4/web/lib/flowchart.ts +123 -0
  226. codenib-0.2.4/web/lib/landing.test.ts +30 -0
  227. codenib-0.2.4/web/lib/landing.ts +36 -0
  228. codenib-0.2.4/web/lib/openrouterTrial.test.ts +470 -0
  229. codenib-0.2.4/web/lib/openrouterTrial.ts +625 -0
  230. {codenib-0.2.2 → codenib-0.2.4}/web/lib/runtime.test.ts +13 -6
  231. {codenib-0.2.2 → codenib-0.2.4}/web/lib/runtime.ts +10 -0
  232. codenib-0.2.4/web/lib/symbols.test.ts +24 -0
  233. codenib-0.2.4/web/lib/symbols.ts +19 -0
  234. codenib-0.2.4/web/lib/wikiPresentation.test.ts +220 -0
  235. codenib-0.2.4/web/lib/wikiPresentation.ts +218 -0
  236. codenib-0.2.4/web/public/openrouter-callback.html +17 -0
  237. codenib-0.2.4/web/public/openrouter-callback.js +49 -0
  238. codenib-0.2.4/web/public/static-route.js +10 -0
  239. codenib-0.2.4/web/public/theme.js +11 -0
  240. codenib-0.2.2/PKG-INFO +0 -446
  241. codenib-0.2.2/README.md +0 -337
  242. codenib-0.2.2/codenib/_secret_fields.py +0 -197
  243. codenib-0.2.2/codenib/_workspace_owner.py +0 -433
  244. codenib-0.2.2/codenib/_workspace_provider.py +0 -836
  245. codenib-0.2.2/codenib/agent/utils.py +0 -149
  246. codenib-0.2.2/codenib/artifacts/security.py +0 -515
  247. codenib-0.2.2/codenib/compiler/__init__.py +0 -234
  248. codenib-0.2.2/codenib/compiler/cache_import.py +0 -838
  249. codenib-0.2.2/codenib/compiler/manifest_export.py +0 -2031
  250. codenib-0.2.2/codenib/compiler/manifest_import.py +0 -1523
  251. codenib-0.2.2/codenib/compiler/manifest_materialization.py +0 -2195
  252. codenib-0.2.2/codenib/compiler/manifest_storage.py +0 -2728
  253. codenib-0.2.2/codenib/compiler/retained_manifest_contract.py +0 -56
  254. codenib-0.2.2/codenib/compiler/retained_snapshot.py +0 -353
  255. codenib-0.2.2/codenib/facts/clangd.py +0 -593
  256. codenib-0.2.2/codenib/facts/generation.py +0 -738
  257. codenib-0.2.2/codenib/facts/storage.py +0 -440
  258. codenib-0.2.2/codenib/index/embedding/model_policy.py +0 -215
  259. codenib-0.2.2/codenib/llm/__init__.py +0 -33
  260. codenib-0.2.2/codenib/provider_routes.py +0 -613
  261. codenib-0.2.2/codenib/storage/__init__.py +0 -154
  262. codenib-0.2.2/codenib/storage/cas.py +0 -1929
  263. codenib-0.2.2/codenib/storage/models.py +0 -1164
  264. codenib-0.2.2/codenib/storage/protocols.py +0 -470
  265. codenib-0.2.2/codenib/storage/sqlite_catalog.py +0 -3785
  266. codenib-0.2.2/codenib/storage/view_bundle.py +0 -4870
  267. codenib-0.2.2/codenib/web/app.py +0 -858
  268. codenib-0.2.2/codenib/web/repo_registry.py +0 -1037
  269. codenib-0.2.2/codenib/wiki/__init__.py +0 -15
  270. codenib-0.2.2/codenib/wiki/media_generation.py +0 -886
  271. codenib-0.2.2/codenib/wiki/multimodal.py +0 -147
  272. codenib-0.2.2/codenib.egg-info/PKG-INFO +0 -446
  273. codenib-0.2.2/test/test_captured_directory.py +0 -3086
  274. codenib-0.2.2/test/test_cli.py +0 -4010
  275. codenib-0.2.2/test/test_local_workspace_provider.py +0 -771
  276. codenib-0.2.2/test/test_provider_routes.py +0 -330
  277. codenib-0.2.2/test/test_workspace_owner.py +0 -1098
  278. codenib-0.2.2/web/app/page.tsx +0 -197
  279. codenib-0.2.2/web/components/HighlightedBlock.tsx +0 -42
  280. codenib-0.2.2/web/components/Markdown.test.tsx +0 -27
  281. codenib-0.2.2/web/dist/assets/AskBar-DiJdVsAg.js +0 -31
  282. codenib-0.2.2/web/dist/assets/CodePanel-CuNH_lmV.js +0 -1
  283. codenib-0.2.2/web/dist/assets/GraphView-DbU4s7e6.js +0 -2
  284. codenib-0.2.2/web/dist/assets/Header-DTpu1R8d.js +0 -1
  285. codenib-0.2.2/web/dist/assets/HighlightedBlock-AnsqcW7n.js +0 -1
  286. codenib-0.2.2/web/dist/assets/api-CPMHldTq.js +0 -1
  287. codenib-0.2.2/web/dist/assets/channel-DQAgHv6Q.js +0 -1
  288. codenib-0.2.2/web/dist/assets/classDiagram-JCYQIIEL-Mm3oXoXv.js +0 -1
  289. codenib-0.2.2/web/dist/assets/classDiagram-v2-OCEON4UE-Mm3oXoXv.js +0 -1
  290. codenib-0.2.2/web/dist/assets/index-cFUY6sEV.css +0 -1
  291. codenib-0.2.2/web/dist/assets/page-CNtLIuD3.js +0 -1
  292. codenib-0.2.2/web/dist/assets/page-Qn3AJhlw.js +0 -2
  293. codenib-0.2.2/web/dist/assets/page-a28I-7Gb.js +0 -1
  294. codenib-0.2.2/web/dist/assets/stateDiagram-v2-UEYNNEHI-DvtHOaBR.js +0 -1
  295. codenib-0.2.2/web/dist/assets/swimlanesDiagram-ULZ7WXOC-oYfpSIrb.js +0 -8
  296. {codenib-0.2.2 → codenib-0.2.4}/CONTRIBUTING.md +0 -0
  297. {codenib-0.2.2 → codenib-0.2.4}/LICENSE +0 -0
  298. {codenib-0.2.2 → codenib-0.2.4}/MANIFEST.in +0 -0
  299. {codenib-0.2.2 → codenib-0.2.4}/codenib/__init__.py +0 -0
  300. {codenib-0.2.2 → codenib-0.2.4}/codenib/__main__.py +0 -0
  301. {codenib-0.2.2 → codenib-0.2.4}/codenib/_lazy.py +0 -0
  302. {codenib-0.2.2 → codenib-0.2.4}/codenib/_optional_entrypoints.py +0 -0
  303. {codenib-0.2.2 → codenib-0.2.4}/codenib/_owned_file_publication.py +0 -0
  304. {codenib-0.2.2 → codenib-0.2.4}/codenib/_version.py +0 -0
  305. {codenib-0.2.2 → codenib-0.2.4}/codenib/_windows_fs_authority.py +0 -0
  306. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/__init__.py +0 -0
  307. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/agent_types.py +0 -0
  308. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/boundary.py +0 -0
  309. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/compile.py +0 -0
  310. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/extract_agent.py +0 -0
  311. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/harness.py +0 -0
  312. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/history.py +0 -0
  313. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/lsp_graph.py +0 -0
  314. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/lsp_provider.py +0 -0
  315. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/resource_guard.py +0 -0
  316. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/route_context.py +0 -0
  317. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/runner.py +0 -0
  318. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/runtime/__init__.py +0 -0
  319. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/runtime/context.py +0 -0
  320. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/runtime/explorer.py +0 -0
  321. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/runtime/trace.py +0 -0
  322. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/__init__.py +0 -0
  323. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/_graphnav.py +0 -0
  324. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/bm25_search/__init__.py +0 -0
  325. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/bm25_search/config.yaml +0 -0
  326. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/bm25_search/executor.py +0 -0
  327. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/bm25_search/skill.md +0 -0
  328. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/code_to_query/__init__.py +0 -0
  329. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/code_to_query/config.yaml +0 -0
  330. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/code_to_query/executor.py +0 -0
  331. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/code_to_query/skill.md +0 -0
  332. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/codenib_context/__init__.py +0 -0
  333. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/codenib_context/config.yaml +0 -0
  334. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/codenib_context/executor.py +0 -0
  335. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/codenib_context/skill.md +0 -0
  336. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/context.py +0 -0
  337. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/core.py +0 -0
  338. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/crossencoder_rerank/__init__.py +0 -0
  339. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/crossencoder_rerank/config.yaml +0 -0
  340. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/crossencoder_rerank/executor.py +0 -0
  341. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/crossencoder_rerank/skill.md +0 -0
  342. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/embedding_search/__init__.py +0 -0
  343. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/embedding_search/config.yaml +0 -0
  344. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/embedding_search/executor.py +0 -0
  345. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/embedding_search/skill.md +0 -0
  346. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/find_callees/__init__.py +0 -0
  347. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/find_callees/config.yaml +0 -0
  348. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/find_callees/executor.py +0 -0
  349. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/find_callees/skill.md +0 -0
  350. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/find_callers/__init__.py +0 -0
  351. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/find_callers/config.yaml +0 -0
  352. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/find_callers/executor.py +0 -0
  353. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/find_callers/skill.md +0 -0
  354. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/hybrid_search/__init__.py +0 -0
  355. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/hybrid_search/config.yaml +0 -0
  356. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/hybrid_search/executor.py +0 -0
  357. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/hybrid_search/skill.md +0 -0
  358. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/llm_rerank/__init__.py +0 -0
  359. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/llm_rerank/config.yaml +0 -0
  360. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/llm_rerank/executor.py +0 -0
  361. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/llm_rerank/skill.md +0 -0
  362. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/loader.py +0 -0
  363. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/lsp_definition/config.yaml +0 -0
  364. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/lsp_definition/executor.py +0 -0
  365. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/lsp_definition/skill.md +0 -0
  366. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/lsp_references/config.yaml +0 -0
  367. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/lsp_references/executor.py +0 -0
  368. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/lsp_references/skill.md +0 -0
  369. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/lsp_route/config.yaml +0 -0
  370. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/lsp_route/executor.py +0 -0
  371. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/lsp_route/skill.md +0 -0
  372. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/registry.py +0 -0
  373. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/repository_search/config.yaml +0 -0
  374. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/repository_search/executor.py +0 -0
  375. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/repository_search/skill.md +0 -0
  376. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/trace/__init__.py +0 -0
  377. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/trace/config.yaml +0 -0
  378. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/trace/executor.py +0 -0
  379. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/trace/skill.md +0 -0
  380. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/skills/typecheck.py +0 -0
  381. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/tool_schema.py +0 -0
  382. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/tools/__init__.py +0 -0
  383. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/tools/defaults.py +0 -0
  384. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/tools/grep_worker.py +0 -0
  385. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/tools/sandbox.py +0 -0
  386. {codenib-0.2.2 → codenib-0.2.4}/codenib/agent/tools/spec.py +0 -0
  387. {codenib-0.2.2 → codenib-0.2.4}/codenib/artifacts/archive.py +0 -0
  388. {codenib-0.2.2 → codenib-0.2.4}/codenib/artifacts/context.py +0 -0
  389. {codenib-0.2.2 → codenib-0.2.4}/codenib/artifacts/github.py +0 -0
  390. {codenib-0.2.2 → codenib-0.2.4}/codenib/artifacts/mcp_config.py +0 -0
  391. {codenib-0.2.2 → codenib-0.2.4}/codenib/clients/__init__.py +0 -0
  392. {codenib-0.2.2 → codenib-0.2.4}/codenib/clients/_manifest.py +0 -0
  393. {codenib-0.2.2 → codenib-0.2.4}/codenib/clients/agentless_agent.py +0 -0
  394. {codenib-0.2.2 → codenib-0.2.4}/codenib/clients/agentless_protocol.py +0 -0
  395. {codenib-0.2.2 → codenib-0.2.4}/codenib/clients/claude_agent.py +0 -0
  396. {codenib-0.2.2 → codenib-0.2.4}/codenib/clients/codex_agent.py +0 -0
  397. {codenib-0.2.2 → codenib-0.2.4}/codenib/clients/cosil_agent.py +0 -0
  398. {codenib-0.2.2 → codenib-0.2.4}/codenib/clients/cosil_protocol.py +0 -0
  399. {codenib-0.2.2 → codenib-0.2.4}/codenib/clients/execution/__init__.py +0 -0
  400. {codenib-0.2.2 → codenib-0.2.4}/codenib/clients/execution/codex.py +0 -0
  401. {codenib-0.2.2 → codenib-0.2.4}/codenib/clients/execution/process.py +0 -0
  402. {codenib-0.2.2 → codenib-0.2.4}/codenib/clients/execution/protocol.py +0 -0
  403. {codenib-0.2.2 → codenib-0.2.4}/codenib/clients/execution/sandbox.py +0 -0
  404. {codenib-0.2.2 → codenib-0.2.4}/codenib/clients/execution/types.py +0 -0
  405. {codenib-0.2.2 → codenib-0.2.4}/codenib/clients/guardian/__init__.py +0 -0
  406. {codenib-0.2.2 → codenib-0.2.4}/codenib/clients/guardian/agent.py +0 -0
  407. {codenib-0.2.2 → codenib-0.2.4}/codenib/clients/guardian/artifacts.py +2 -2
  408. {codenib-0.2.2 → codenib-0.2.4}/codenib/clients/guardian/contribution.py +0 -0
  409. {codenib-0.2.2 → codenib-0.2.4}/codenib/clients/guardian/discovery.py +0 -0
  410. {codenib-0.2.2 → codenib-0.2.4}/codenib/clients/guardian/distillation.py +0 -0
  411. {codenib-0.2.2 → codenib-0.2.4}/codenib/clients/guardian/exchange.py +0 -0
  412. {codenib-0.2.2 → codenib-0.2.4}/codenib/clients/guardian/frontier.py +0 -0
  413. {codenib-0.2.2 → codenib-0.2.4}/codenib/clients/guardian/interaction.py +0 -0
  414. {codenib-0.2.2 → codenib-0.2.4}/codenib/clients/guardian/memory.py +0 -0
  415. {codenib-0.2.2 → codenib-0.2.4}/codenib/clients/guardian/normalization.py +0 -0
  416. {codenib-0.2.2 → codenib-0.2.4}/codenib/clients/guardian/patch_check.py +0 -0
  417. {codenib-0.2.2 → codenib-0.2.4}/codenib/clients/guardian/planning.py +0 -0
  418. {codenib-0.2.2 → codenib-0.2.4}/codenib/clients/guardian/prompts.py +0 -0
  419. {codenib-0.2.2 → codenib-0.2.4}/codenib/clients/guardian/provenance.py +0 -0
  420. {codenib-0.2.2 → codenib-0.2.4}/codenib/clients/locagent_agent.py +0 -0
  421. {codenib-0.2.2 → codenib-0.2.4}/codenib/clients/locagent_protocol.py +0 -0
  422. {codenib-0.2.2 → codenib-0.2.4}/codenib/clients/orcaloca_agent.py +0 -0
  423. {codenib-0.2.2 → codenib-0.2.4}/codenib/code_chunking/__init__.py +0 -0
  424. {codenib-0.2.2 → codenib-0.2.4}/codenib/code_chunking/cpp_chunker.py +0 -0
  425. {codenib-0.2.2 → codenib-0.2.4}/codenib/code_chunking/csharp_chunker.py +0 -0
  426. {codenib-0.2.2 → codenib-0.2.4}/codenib/code_chunking/go_chunker.py +0 -0
  427. {codenib-0.2.2 → codenib-0.2.4}/codenib/code_chunking/java_chunker.py +0 -0
  428. {codenib-0.2.2 → codenib-0.2.4}/codenib/code_chunking/js_chunker.py +0 -0
  429. {codenib-0.2.2 → codenib-0.2.4}/codenib/code_chunking/kotlin_chunker.py +0 -0
  430. {codenib-0.2.2 → codenib-0.2.4}/codenib/code_chunking/lua_chunker.py +0 -0
  431. {codenib-0.2.2 → codenib-0.2.4}/codenib/code_chunking/php_chunker.py +0 -0
  432. {codenib-0.2.2 → codenib-0.2.4}/codenib/code_chunking/ruby_chunker.py +0 -0
  433. {codenib-0.2.2 → codenib-0.2.4}/codenib/code_chunking/rust_chunker.py +0 -0
  434. {codenib-0.2.2 → codenib-0.2.4}/codenib/code_chunking/scala_chunker.py +0 -0
  435. {codenib-0.2.2 → codenib-0.2.4}/codenib/code_chunking/swift_chunker.py +0 -0
  436. {codenib-0.2.2 → codenib-0.2.4}/codenib/compat_pickle.py +0 -0
  437. {codenib-0.2.2 → codenib-0.2.4}/codenib/compiler/checkout_identity.py +0 -0
  438. {codenib-0.2.2 → codenib-0.2.4}/codenib/compiler/graph_artifact.py +0 -0
  439. {codenib-0.2.2 → codenib-0.2.4}/codenib/compiler/manifest.py +0 -0
  440. {codenib-0.2.2 → codenib-0.2.4}/codenib/compiler/params.py +0 -0
  441. {codenib-0.2.2 → codenib-0.2.4}/codenib/compiler/resources.py +0 -0
  442. {codenib-0.2.2 → codenib-0.2.4}/codenib/compiler/skill_context.py +0 -0
  443. {codenib-0.2.2 → codenib-0.2.4}/codenib/compiler/snapshot_store.py +0 -0
  444. {codenib-0.2.2 → codenib-0.2.4}/codenib/compiler/verification.py +0 -0
  445. {codenib-0.2.2 → codenib-0.2.4}/codenib/compiler/zoekt_artifact.py +0 -0
  446. {codenib-0.2.2 → codenib-0.2.4}/codenib/context_delivery.py +0 -0
  447. {codenib-0.2.2 → codenib-0.2.4}/codenib/dataset/__init__.py +0 -0
  448. {codenib-0.2.2 → codenib-0.2.4}/codenib/dataset/base.py +0 -0
  449. {codenib-0.2.2 → codenib-0.2.4}/codenib/dataset/codenib_base.py +0 -0
  450. {codenib-0.2.2 → codenib-0.2.4}/codenib/dataset/codenib_synthesis.py +0 -0
  451. {codenib-0.2.2 → codenib-0.2.4}/codenib/dataset/collect/difficulty_classifier.py +0 -0
  452. {codenib-0.2.2 → codenib-0.2.4}/codenib/dataset/collect/swebench_sample.py +0 -0
  453. {codenib-0.2.2 → codenib-0.2.4}/codenib/dataset/gt_locate.py +0 -0
  454. {codenib-0.2.2 → codenib-0.2.4}/codenib/dataset/local_json.py +0 -0
  455. {codenib-0.2.2 → codenib-0.2.4}/codenib/dataset/locbench.py +0 -0
  456. {codenib-0.2.2 → codenib-0.2.4}/codenib/dataset/swebench.py +0 -0
  457. {codenib-0.2.2 → codenib-0.2.4}/codenib/dataset/swebench_multilingual.py +0 -0
  458. {codenib-0.2.2 → codenib-0.2.4}/codenib/dataset/synthesize/__init__.py +0 -0
  459. {codenib-0.2.2 → codenib-0.2.4}/codenib/dataset/synthesize/_agent.py +0 -0
  460. {codenib-0.2.2 → codenib-0.2.4}/codenib/dataset/synthesize/_types.py +0 -0
  461. {codenib-0.2.2 → codenib-0.2.4}/codenib/dataset/synthesize/context_loader.py +0 -0
  462. {codenib-0.2.2 → codenib-0.2.4}/codenib/dataset/synthesize/query_curator.py +0 -0
  463. {codenib-0.2.2 → codenib-0.2.4}/codenib/dataset/synthesize/query_synthesizer.py +0 -0
  464. {codenib-0.2.2 → codenib-0.2.4}/codenib/dataset/synthesize/verifier.py +0 -0
  465. {codenib-0.2.2 → codenib-0.2.4}/codenib/dataset/synthesize/vocab_guard.py +0 -0
  466. {codenib-0.2.2 → codenib-0.2.4}/codenib/dataset/utils.py +0 -0
  467. {codenib-0.2.2 → codenib-0.2.4}/codenib/dataset_ids.py +0 -0
  468. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/__init__.py +0 -0
  469. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/agent_runner/__init__.py +0 -0
  470. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/agent_runner/baseline.py +0 -0
  471. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/agent_runner/batch.py +0 -0
  472. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/agent_runner/contexts.py +0 -0
  473. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/agent_runner/feedback.py +0 -0
  474. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/agent_runner/feedback_summary.py +0 -0
  475. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/agent_runner/format_diagnostics.py +0 -0
  476. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/agent_runner/live_lsp_provider.py +0 -0
  477. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/agent_runner/loc_baseline.py +0 -0
  478. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/agent_runner/lsp_agent_ab.py +0 -0
  479. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/agent_runner/lsp_agent_study.py +0 -0
  480. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/agent_runner/lsp_agent_study_analysis.py +0 -0
  481. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/agent_runner/lsp_agent_study_artifacts.py +0 -0
  482. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/agent_runner/lsp_agent_study_manifest.py +0 -0
  483. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/agent_runner/lsp_agent_study_runner.py +0 -0
  484. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/agent_runner/lsp_baseline.py +0 -0
  485. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/agent_runner/lsp_latency.py +0 -0
  486. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/agent_runner/lsp_provider_cli.py +0 -0
  487. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/agent_runner/lsp_provider_validation.py +0 -0
  488. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/agent_runner/lsp_readiness.py +0 -0
  489. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/agent_runner/lsp_replay_benchmark.py +0 -0
  490. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/agent_runner/metrics.py +0 -0
  491. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/agent_runner/orchestrator.py +0 -0
  492. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/agent_runner/pareto.py +0 -0
  493. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/agent_runner/prebuilt.py +0 -0
  494. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/agent_runner/preload.py +0 -0
  495. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/agent_runner/promotion.py +0 -0
  496. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/agent_runner/query_sweep.py +0 -0
  497. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/agent_runner/results.py +0 -0
  498. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/agent_runner/scoring.py +0 -0
  499. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/agent_runner/sweep.py +0 -0
  500. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/agent_runner/sweep_config.py +0 -0
  501. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/agent_runner/symbols.py +0 -0
  502. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/agent_runner/trace_summary.py +0 -0
  503. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/agent_runner/verify_expand.py +0 -0
  504. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/artifact_bundle.py +0 -0
  505. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/artifact_integrity.py +0 -0
  506. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/artifact_manifest.py +0 -0
  507. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/baseline.py +0 -0
  508. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/benchmarks/__init__.py +0 -0
  509. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/benchmarks/agentless.py +0 -0
  510. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/benchmarks/cosil.py +0 -0
  511. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/benchmarks/deepswe/__init__.py +0 -0
  512. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/benchmarks/deepswe/metrics.py +0 -0
  513. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/benchmarks/deepswe/reports.py +0 -0
  514. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/benchmarks/deepswe/results.py +0 -0
  515. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/benchmarks/locagent.py +0 -0
  516. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/benchmarks/orcaloca.py +0 -0
  517. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/benchmarks/policy_benchmark.py +0 -0
  518. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/benchmarks/policy_compat.py +0 -0
  519. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/benchmarks/swe_explore.py +0 -0
  520. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/benchmarks/swe_explore_runner.py +0 -0
  521. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/benchmarks/swebench_policy_cases.py +0 -0
  522. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/experiments/__init__.py +0 -0
  523. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/experiments/lsp_agent_study_policy.py +0 -0
  524. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/loc_agent_runner.py +0 -0
  525. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/pricing/anthropic-direct-2026-08-04.json +0 -0
  526. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/reports/__init__.py +0 -0
  527. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/reports/cost_arm_report.py +0 -0
  528. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/reports/pricing.py +0 -0
  529. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/reports/quality_cost.py +0 -0
  530. {codenib-0.2.2 → codenib-0.2.4}/codenib/eval/retrieval_eval.py +0 -0
  531. {codenib-0.2.2 → codenib-0.2.4}/codenib/facts/adapters.py +0 -0
  532. {codenib-0.2.2 → codenib-0.2.4}/codenib/facts/convergence.py +0 -0
  533. {codenib-0.2.2 → codenib-0.2.4}/codenib/facts/model.py +0 -0
  534. {codenib-0.2.2 → codenib-0.2.4}/codenib/facts/resolver.py +0 -0
  535. {codenib-0.2.2 → codenib-0.2.4}/codenib/git_snapshot.py +0 -0
  536. {codenib-0.2.2 → codenib-0.2.4}/codenib/graph/__init__.py +0 -0
  537. {codenib-0.2.2 → codenib-0.2.4}/codenib/graph/backend_alignment.py +0 -0
  538. {codenib-0.2.2 → codenib-0.2.4}/codenib/graph/code_graph.py +0 -0
  539. {codenib-0.2.2 → codenib-0.2.4}/codenib/graph/dependency.py +0 -0
  540. {codenib-0.2.2 → codenib-0.2.4}/codenib/graph/hierarchy.py +0 -0
  541. {codenib-0.2.2 → codenib-0.2.4}/codenib/graph/incremental/__init__.py +0 -0
  542. {codenib-0.2.2 → codenib-0.2.4}/codenib/graph/incremental/change_mgr.py +0 -0
  543. {codenib-0.2.2 → codenib-0.2.4}/codenib/graph/incremental/graph_patcher.py +0 -0
  544. {codenib-0.2.2 → codenib-0.2.4}/codenib/graph/incremental/lsp_client.py +0 -0
  545. {codenib-0.2.2 → codenib-0.2.4}/codenib/graph/incremental/patcher_base.py +0 -0
  546. {codenib-0.2.2 → codenib-0.2.4}/codenib/graph/incremental/patcher_cpp.py +0 -0
  547. {codenib-0.2.2 → codenib-0.2.4}/codenib/graph/incremental/patcher_go.py +0 -0
  548. {codenib-0.2.2 → codenib-0.2.4}/codenib/graph/incremental/patcher_python.py +0 -0
  549. {codenib-0.2.2 → codenib-0.2.4}/codenib/graph/incremental/patcher_rust.py +0 -0
  550. {codenib-0.2.2 → codenib-0.2.4}/codenib/graph/incremental/patcher_ts.py +0 -0
  551. {codenib-0.2.2 → codenib-0.2.4}/codenib/graph/incremental/subgraph_mgr.py +0 -0
  552. {codenib-0.2.2 → codenib-0.2.4}/codenib/graph/layers.py +0 -0
  553. {codenib-0.2.2 → codenib-0.2.4}/codenib/graph/roi_subgraph.py +0 -0
  554. {codenib-0.2.2 → codenib-0.2.4}/codenib/graph/setup.py +0 -0
  555. {codenib-0.2.2 → codenib-0.2.4}/codenib/graph/source_coverage.py +0 -0
  556. {codenib-0.2.2 → codenib-0.2.4}/codenib/graph/traverse_graph.py +0 -0
  557. {codenib-0.2.2 → codenib-0.2.4}/codenib/index/__init__.py +0 -0
  558. {codenib-0.2.2 → codenib-0.2.4}/codenib/index/embedding/__init__.py +0 -0
  559. {codenib-0.2.2 → codenib-0.2.4}/codenib/index/embedding/_lifecycle.py +0 -0
  560. {codenib-0.2.2 → codenib-0.2.4}/codenib/index/embedding/prompt_registry.py +0 -0
  561. {codenib-0.2.2 → codenib-0.2.4}/codenib/index/embedding/text_policy.py +0 -0
  562. {codenib-0.2.2 → codenib-0.2.4}/codenib/index/incremental/__init__.py +0 -0
  563. {codenib-0.2.2 → codenib-0.2.4}/codenib/index/incremental/chunk_store.py +0 -0
  564. {codenib-0.2.2 → codenib-0.2.4}/codenib/index/incremental/embeddings_cache.py +0 -0
  565. {codenib-0.2.2 → codenib-0.2.4}/codenib/index/incremental/git_diff.py +0 -0
  566. {codenib-0.2.2 → codenib-0.2.4}/codenib/index/incremental/index_updater.py +0 -0
  567. {codenib-0.2.2 → codenib-0.2.4}/codenib/index/incremental/state.py +0 -0
  568. {codenib-0.2.2 → codenib-0.2.4}/codenib/index/regex_idx/__init__.py +0 -0
  569. {codenib-0.2.2 → codenib-0.2.4}/codenib/index/regex_idx/regex_idx.py +0 -0
  570. {codenib-0.2.2 → codenib-0.2.4}/codenib/index/rerank/__init__.py +0 -0
  571. {codenib-0.2.2 → codenib-0.2.4}/codenib/index/rerank/cross_encoder.py +0 -0
  572. {codenib-0.2.2 → codenib-0.2.4}/codenib/index/sparse_idx/__init__.py +0 -0
  573. {codenib-0.2.2 → codenib-0.2.4}/codenib/index/trigram/__init__.py +0 -0
  574. {codenib-0.2.2 → codenib-0.2.4}/codenib/index/trigram/zoekt_searcher.py +0 -0
  575. {codenib-0.2.2 → codenib-0.2.4}/codenib/integrations/__init__.py +0 -0
  576. {codenib-0.2.2 → codenib-0.2.4}/codenib/integrations/_orcaloca_python.py +0 -0
  577. {codenib-0.2.2 → codenib-0.2.4}/codenib/integrations/_repository.py +0 -0
  578. {codenib-0.2.2 → codenib-0.2.4}/codenib/integrations/agentless.py +0 -0
  579. {codenib-0.2.2 → codenib-0.2.4}/codenib/integrations/cosil.py +0 -0
  580. {codenib-0.2.2 → codenib-0.2.4}/codenib/integrations/locagent.py +0 -0
  581. {codenib-0.2.2 → codenib-0.2.4}/codenib/integrations/orcaloca.py +0 -0
  582. {codenib-0.2.2 → codenib-0.2.4}/codenib/integrations/reponavigator.py +0 -0
  583. {codenib-0.2.2 → codenib-0.2.4}/codenib/integrations/swe_explore.py +0 -0
  584. {codenib-0.2.2 → codenib-0.2.4}/codenib/languages.py +0 -0
  585. {codenib-0.2.2 → codenib-0.2.4}/codenib/llm/diagnostics.py +0 -0
  586. {codenib-0.2.2 → codenib-0.2.4}/codenib/llm/litellm_chat.py +0 -0
  587. {codenib-0.2.2 → codenib-0.2.4}/codenib/llm/options.py +0 -0
  588. {codenib-0.2.2 → codenib-0.2.4}/codenib/llm/usage.py +0 -0
  589. {codenib-0.2.2 → codenib-0.2.4}/codenib/log_utils.py +0 -0
  590. {codenib-0.2.2 → codenib-0.2.4}/codenib/ls_index/__init__.py +0 -0
  591. {codenib-0.2.2 → codenib-0.2.4}/codenib/ls_index/clangd_contract.py +0 -0
  592. {codenib-0.2.2 → codenib-0.2.4}/codenib/ls_index/clangd_indexer.py +0 -0
  593. {codenib-0.2.2 → codenib-0.2.4}/codenib/ls_index/index_quality.py +0 -0
  594. {codenib-0.2.2 → codenib-0.2.4}/codenib/ls_index/lsp_graph_decode.py +0 -0
  595. {codenib-0.2.2 → codenib-0.2.4}/codenib/ls_index/lsp_indexer.py +0 -0
  596. {codenib-0.2.2 → codenib-0.2.4}/codenib/ls_router.py +0 -0
  597. {codenib-0.2.2 → codenib-0.2.4}/codenib/mcp/__init__.py +0 -0
  598. {codenib-0.2.2 → codenib-0.2.4}/codenib/mcp/__main__.py +0 -0
  599. {codenib-0.2.2 → codenib-0.2.4}/codenib/mcp/explore_bounds.py +0 -0
  600. {codenib-0.2.2 → codenib-0.2.4}/codenib/mcp/explore_session.py +0 -0
  601. {codenib-0.2.2 → codenib-0.2.4}/codenib/mcp/tool_surface.py +0 -0
  602. {codenib-0.2.2 → codenib-0.2.4}/codenib/mcp/tools/__init__.py +0 -0
  603. {codenib-0.2.2 → codenib-0.2.4}/codenib/mcp/tools/_validation.py +0 -0
  604. {codenib-0.2.2 → codenib-0.2.4}/codenib/mcp/tools/dependency.py +0 -0
  605. {codenib-0.2.2 → codenib-0.2.4}/codenib/mcp/tools/lsp.py +0 -0
  606. {codenib-0.2.2 → codenib-0.2.4}/codenib/mcp/tools/source.py +0 -0
  607. {codenib-0.2.2 → codenib-0.2.4}/codenib/model/__init__.py +0 -0
  608. {codenib-0.2.2 → codenib-0.2.4}/codenib/model/agentless_pipeline.py +0 -0
  609. {codenib-0.2.2 → codenib-0.2.4}/codenib/model/bm25_retrieve_pipeline.py +0 -0
  610. {codenib-0.2.2 → codenib-0.2.4}/codenib/model/dense_graph_expand_rerank_pipeline.py +0 -0
  611. {codenib-0.2.2 → codenib-0.2.4}/codenib/model/embedding_retrieve_pipeline.py +0 -0
  612. {codenib-0.2.2 → codenib-0.2.4}/codenib/model/graph_augmented_rerank_pipeline.py +0 -0
  613. {codenib-0.2.2 → codenib-0.2.4}/codenib/model/graph_retrieve_pipeline.py +0 -0
  614. {codenib-0.2.2 → codenib-0.2.4}/codenib/model/hybrid_retrieve_pipeline.py +0 -0
  615. {codenib-0.2.2 → codenib-0.2.4}/codenib/model/retrieval_planner.py +0 -0
  616. {codenib-0.2.2 → codenib-0.2.4}/codenib/native_index_authorization.py +0 -0
  617. {codenib-0.2.2 → codenib-0.2.4}/codenib/ops/__init__.py +0 -0
  618. {codenib-0.2.2 → codenib-0.2.4}/codenib/ops/expand.py +0 -0
  619. {codenib-0.2.2 → codenib-0.2.4}/codenib/ops/filter.py +0 -0
  620. {codenib-0.2.2 → codenib-0.2.4}/codenib/ops/retrieve.py +0 -0
  621. {codenib-0.2.2 → codenib-0.2.4}/codenib/ops/transform.py +0 -0
  622. {codenib-0.2.2 → codenib-0.2.4}/codenib/paths.py +0 -0
  623. {codenib-0.2.2 → codenib-0.2.4}/codenib/profiler.py +0 -0
  624. {codenib-0.2.2 → codenib-0.2.4}/codenib/repository_filters.py +0 -0
  625. {codenib-0.2.2 → codenib-0.2.4}/codenib/repository_source_selection.py +0 -0
  626. {codenib-0.2.2 → codenib-0.2.4}/codenib/sandbox/__init__.py +0 -0
  627. {codenib-0.2.2 → codenib-0.2.4}/codenib/sandbox/docker.py +0 -0
  628. {codenib-0.2.2 → codenib-0.2.4}/codenib/sandbox/protocol.py +0 -0
  629. {codenib-0.2.2 → codenib-0.2.4}/codenib/sandbox/types.py +0 -0
  630. {codenib-0.2.2 → codenib-0.2.4}/codenib/scip_interface/__init__.py +0 -0
  631. {codenib-0.2.2 → codenib-0.2.4}/codenib/scip_interface/lsp_occurrence_index.py +0 -0
  632. {codenib-0.2.2 → codenib-0.2.4}/codenib/scip_interface/query_surface.py +0 -0
  633. {codenib-0.2.2 → codenib-0.2.4}/codenib/scip_interface/rust_analyzer.py +0 -0
  634. {codenib-0.2.2 → codenib-0.2.4}/codenib/scip_interface/scip-environment.yml +0 -0
  635. {codenib-0.2.2 → codenib-0.2.4}/codenib/scip_interface/scip.proto +0 -0
  636. {codenib-0.2.2 → codenib-0.2.4}/codenib/scip_interface/scip_decode_core.py +0 -0
  637. {codenib-0.2.2 → codenib-0.2.4}/codenib/scip_interface/scip_decode_csharp.py +0 -0
  638. {codenib-0.2.2 → codenib-0.2.4}/codenib/scip_interface/scip_decode_go.py +0 -0
  639. {codenib-0.2.2 → codenib-0.2.4}/codenib/scip_interface/scip_decode_java.py +0 -0
  640. {codenib-0.2.2 → codenib-0.2.4}/codenib/scip_interface/scip_decode_php.py +0 -0
  641. {codenib-0.2.2 → codenib-0.2.4}/codenib/scip_interface/scip_decode_python.py +0 -0
  642. {codenib-0.2.2 → codenib-0.2.4}/codenib/scip_interface/scip_decode_ruby.py +0 -0
  643. {codenib-0.2.2 → codenib-0.2.4}/codenib/scip_interface/scip_decode_rust.py +0 -0
  644. {codenib-0.2.2 → codenib-0.2.4}/codenib/scip_interface/scip_decode_ts.py +0 -0
  645. {codenib-0.2.2 → codenib-0.2.4}/codenib/scip_interface/scip_decode_utils.py +0 -0
  646. {codenib-0.2.2 → codenib-0.2.4}/codenib/scip_interface/scip_filter.py +0 -0
  647. {codenib-0.2.2 → codenib-0.2.4}/codenib/scip_interface/scip_indexer_base.py +0 -0
  648. {codenib-0.2.2 → codenib-0.2.4}/codenib/scip_interface/scip_indexer_csharp.py +0 -0
  649. {codenib-0.2.2 → codenib-0.2.4}/codenib/scip_interface/scip_indexer_go.py +0 -0
  650. {codenib-0.2.2 → codenib-0.2.4}/codenib/scip_interface/scip_indexer_java.py +0 -0
  651. {codenib-0.2.2 → codenib-0.2.4}/codenib/scip_interface/scip_indexer_php.py +0 -0
  652. {codenib-0.2.2 → codenib-0.2.4}/codenib/scip_interface/scip_indexer_python.py +0 -0
  653. {codenib-0.2.2 → codenib-0.2.4}/codenib/scip_interface/scip_indexer_ruby.py +0 -0
  654. {codenib-0.2.2 → codenib-0.2.4}/codenib/scip_interface/scip_indexer_rust.py +0 -0
  655. {codenib-0.2.2 → codenib-0.2.4}/codenib/scip_interface/scip_indexer_ts.py +0 -0
  656. {codenib-0.2.2 → codenib-0.2.4}/codenib/scip_interface/scip_install.sh +0 -0
  657. {codenib-0.2.2 → codenib-0.2.4}/codenib/scip_interface/scip_pb2.py +0 -0
  658. {codenib-0.2.2 → codenib-0.2.4}/codenib/scip_interface/scip_query.py +0 -0
  659. {codenib-0.2.2 → codenib-0.2.4}/codenib/scip_interface/scip_query_provider.py +0 -0
  660. {codenib-0.2.2 → codenib-0.2.4}/codenib/scip_interface/typescript_semantics.py +0 -0
  661. {codenib-0.2.2 → codenib-0.2.4}/codenib/search.py +0 -0
  662. {codenib-0.2.2 → codenib-0.2.4}/codenib/serving/__init__.py +0 -0
  663. {codenib-0.2.2 → codenib-0.2.4}/codenib/serving/drafter/__init__.py +0 -0
  664. {codenib-0.2.2 → codenib-0.2.4}/codenib/serving/drafter/base.py +0 -0
  665. {codenib-0.2.2 → codenib-0.2.4}/codenib/serving/drafter/copy.py +0 -0
  666. {codenib-0.2.2 → codenib-0.2.4}/codenib/serving/drafter/fusion.py +0 -0
  667. {codenib-0.2.2 → codenib-0.2.4}/codenib/serving/drafter/retrieval.py +0 -0
  668. {codenib-0.2.2 → codenib-0.2.4}/codenib/serving/drafter/suffix_automaton.py +0 -0
  669. {codenib-0.2.2 → codenib-0.2.4}/codenib/serving/server/__init__.py +0 -0
  670. {codenib-0.2.2 → codenib-0.2.4}/codenib/serving/server/api.py +0 -0
  671. {codenib-0.2.2 → codenib-0.2.4}/codenib/serving/server/hf_engine.py +0 -0
  672. {codenib-0.2.2 → codenib-0.2.4}/codenib/serving/server/real_model.py +0 -0
  673. {codenib-0.2.2 → codenib-0.2.4}/codenib/serving/server/schemas.py +0 -0
  674. {codenib-0.2.2 → codenib-0.2.4}/codenib/serving/server/sglang.py +0 -0
  675. {codenib-0.2.2 → codenib-0.2.4}/codenib/serving/server/tokenization.py +0 -0
  676. {codenib-0.2.2 → codenib-0.2.4}/codenib/serving/server/worker.py +0 -0
  677. {codenib-0.2.2 → codenib-0.2.4}/codenib/serving/types.py +0 -0
  678. {codenib-0.2.2 → codenib-0.2.4}/codenib/toolchains.py +0 -0
  679. {codenib-0.2.2 → codenib-0.2.4}/codenib/types.py +0 -0
  680. {codenib-0.2.2 → codenib-0.2.4}/codenib/utils.py +0 -0
  681. {codenib-0.2.2 → codenib-0.2.4}/codenib/web/__init__.py +0 -0
  682. {codenib-0.2.2 → codenib-0.2.4}/codenib/web/commit_window.py +0 -0
  683. {codenib-0.2.2 → codenib-0.2.4}/codenib/web/edge_label.py +0 -0
  684. {codenib-0.2.2 → codenib-0.2.4}/codenib/web/entrypoints.py +0 -0
  685. {codenib-0.2.2 → codenib-0.2.4}/codenib/web/launcher.py +0 -0
  686. {codenib-0.2.2 → codenib-0.2.4}/codenib/web/limits.py +0 -0
  687. {codenib-0.2.2 → codenib-0.2.4}/codenib/web/local.py +0 -0
  688. {codenib-0.2.2 → codenib-0.2.4}/codenib/web/modulemap.py +0 -0
  689. {codenib-0.2.2 → codenib-0.2.4}/codenib/web/native_authority.py +0 -0
  690. {codenib-0.2.2 → codenib-0.2.4}/codenib/web/ports.py +0 -0
  691. {codenib-0.2.2 → codenib-0.2.4}/codenib/web/request_limits.py +0 -0
  692. {codenib-0.2.2 → codenib-0.2.4}/codenib/web/static_server.py +0 -0
  693. {codenib-0.2.2 → codenib-0.2.4}/codenib/wiki/builder.py +0 -0
  694. {codenib-0.2.2 → codenib-0.2.4}/codenib/wiki/outline.py +0 -0
  695. {codenib-0.2.2 → codenib-0.2.4}/codenib/wiki/prewarm.py +0 -0
  696. {codenib-0.2.2 → codenib-0.2.4}/codenib.egg-info/dependency_links.txt +0 -0
  697. {codenib-0.2.2 → codenib-0.2.4}/codenib.egg-info/entry_points.txt +0 -0
  698. {codenib-0.2.2 → codenib-0.2.4}/codenib.egg-info/top_level.txt +0 -0
  699. {codenib-0.2.2 → codenib-0.2.4}/setup.cfg +0 -0
  700. {codenib-0.2.2 → codenib-0.2.4}/setup.py +0 -0
  701. {codenib-0.2.2 → codenib-0.2.4}/test/test_cli_entrypoints.py +0 -0
  702. {codenib-0.2.2 → codenib-0.2.4}/test/test_cli_remote_embeddings.py +0 -0
  703. {codenib-0.2.2 → codenib-0.2.4}/test/test_compat_pickle.py +0 -0
  704. {codenib-0.2.2 → codenib-0.2.4}/test/test_context_delivery.py +0 -0
  705. {codenib-0.2.2 → codenib-0.2.4}/test/test_git_snapshot.py +0 -0
  706. {codenib-0.2.2 → codenib-0.2.4}/test/test_language_capability_matrix.py +0 -0
  707. {codenib-0.2.2 → codenib-0.2.4}/test/test_languages.py +0 -0
  708. {codenib-0.2.2 → codenib-0.2.4}/test/test_log_utils.py +0 -0
  709. {codenib-0.2.2 → codenib-0.2.4}/test/test_ls_router_registry.py +0 -0
  710. {codenib-0.2.2 → codenib-0.2.4}/test/test_namespace.py +0 -0
  711. {codenib-0.2.2 → codenib-0.2.4}/test/test_namespace_contract.py +0 -0
  712. {codenib-0.2.2 → codenib-0.2.4}/test/test_native_index_authorization.py +0 -0
  713. {codenib-0.2.2 → codenib-0.2.4}/test/test_owned_file_publication.py +0 -0
  714. {codenib-0.2.2 → codenib-0.2.4}/test/test_paths.py +0 -0
  715. {codenib-0.2.2 → codenib-0.2.4}/test/test_release_metadata.py +0 -0
  716. {codenib-0.2.2 → codenib-0.2.4}/test/test_repository_source_selection.py +0 -0
  717. {codenib-0.2.2 → codenib-0.2.4}/test/test_repository_source_selection_cli.py +0 -0
  718. {codenib-0.2.2 → codenib-0.2.4}/test/test_search.py +0 -0
  719. {codenib-0.2.2 → codenib-0.2.4}/test/test_source_classification.py +0 -0
  720. {codenib-0.2.2 → codenib-0.2.4}/test/test_toolchains.py +0 -0
  721. {codenib-0.2.2 → codenib-0.2.4}/test/test_vector_pre_model_authorization.py +0 -0
  722. {codenib-0.2.2 → codenib-0.2.4}/web/app/add-repo/page.tsx +0 -0
  723. {codenib-0.2.2 → codenib-0.2.4}/web/components/AskPanel.tsx +0 -0
  724. {codenib-0.2.2 → codenib-0.2.4}/web/components/CitationItem.tsx +0 -0
  725. {codenib-0.2.2 → codenib-0.2.4}/web/components/CodeGraph.tsx +0 -0
  726. {codenib-0.2.2 → codenib-0.2.4}/web/components/Codemap.tsx +0 -0
  727. {codenib-0.2.2 → codenib-0.2.4}/web/components/GraphView.tsx +0 -0
  728. {codenib-0.2.2 → codenib-0.2.4}/web/components/HierarchyMap.test.tsx +0 -0
  729. {codenib-0.2.2 → codenib-0.2.4}/web/components/HierarchyMap.tsx +0 -0
  730. {codenib-0.2.2 → codenib-0.2.4}/web/components/HighlightedCode.tsx +0 -0
  731. {codenib-0.2.2 → codenib-0.2.4}/web/components/SystemMap.test.tsx +0 -0
  732. {codenib-0.2.2 → codenib-0.2.4}/web/dist/assets/cytoscape.esm-CkSuTymj.js +0 -0
  733. {codenib-0.2.2 → codenib-0.2.4}/web/dist/assets/defaultLocale-DX6XiGOO.js +0 -0
  734. {codenib-0.2.2 → codenib-0.2.4}/web/dist/assets/graph-DOmOIIwC.js +0 -0
  735. {codenib-0.2.2 → codenib-0.2.4}/web/dist/assets/highlight-CDab0zVI.css +0 -0
  736. {codenib-0.2.2 → codenib-0.2.4}/web/dist/assets/init-Gi6I4Gst.js +0 -0
  737. {codenib-0.2.2 → codenib-0.2.4}/web/dist/assets/katex-HP8lGamR.js +0 -0
  738. {codenib-0.2.2 → codenib-0.2.4}/web/dist/assets/layout-D-LzfAck.js +0 -0
  739. {codenib-0.2.2 → codenib-0.2.4}/web/dist/assets/map-DxJ2ADlA.js +0 -0
  740. {codenib-0.2.2 → codenib-0.2.4}/web/dist/assets/ordinal-Cboi1Yqb.js +0 -0
  741. {codenib-0.2.2 → codenib-0.2.4}/web/dist/codenib-icon.svg +0 -0
  742. {codenib-0.2.2 → codenib-0.2.4}/web/dist/runtime-config.js +0 -0
  743. {codenib-0.2.2 → codenib-0.2.4}/web/lib/api.test.ts +0 -0
  744. {codenib-0.2.2 → codenib-0.2.4}/web/lib/citations.test.ts +0 -0
  745. {codenib-0.2.2 → codenib-0.2.4}/web/lib/citations.ts +0 -0
  746. {codenib-0.2.2 → codenib-0.2.4}/web/lib/filesLayout.test.ts +0 -0
  747. {codenib-0.2.2 → codenib-0.2.4}/web/lib/filesLayout.ts +0 -0
  748. {codenib-0.2.2 → codenib-0.2.4}/web/lib/highlight.test.ts +0 -0
  749. {codenib-0.2.2 → codenib-0.2.4}/web/lib/highlight.ts +0 -0
  750. {codenib-0.2.2 → codenib-0.2.4}/web/lib/relatedWiki.test.ts +0 -0
  751. {codenib-0.2.2 → codenib-0.2.4}/web/lib/relatedWiki.ts +0 -0
  752. {codenib-0.2.2 → codenib-0.2.4}/web/lib/router.tsx +0 -0
  753. {codenib-0.2.2 → codenib-0.2.4}/web/lib/sourceNavigation.test.ts +0 -0
  754. {codenib-0.2.2 → codenib-0.2.4}/web/lib/sourceNavigation.ts +0 -0
  755. {codenib-0.2.2 → codenib-0.2.4}/web/loopshot.mjs +0 -0
  756. {codenib-0.2.2 → codenib-0.2.4}/web/modules_verify.mjs +0 -0
  757. {codenib-0.2.2 → codenib-0.2.4}/web/package-lock.json +0 -0
  758. {codenib-0.2.2 → codenib-0.2.4}/web/package.json +0 -0
  759. {codenib-0.2.2 → codenib-0.2.4}/web/public/codenib-icon.svg +0 -0
  760. {codenib-0.2.2 → codenib-0.2.4}/web/public/runtime-config.js +0 -0
  761. {codenib-0.2.2 → codenib-0.2.4}/web/qa_verify.mjs +0 -0
  762. {codenib-0.2.2 → codenib-0.2.4}/web/src/main.tsx +0 -0
  763. {codenib-0.2.2 → codenib-0.2.4}/web/tsconfig.json +0 -0
  764. {codenib-0.2.2 → codenib-0.2.4}/web/types/cytoscape-dagre.d.ts +0 -0
  765. {codenib-0.2.2 → codenib-0.2.4}/web/types/cytoscape-fcose.d.ts +0 -0
  766. {codenib-0.2.2 → codenib-0.2.4}/web/verify.mjs +0 -0
  767. {codenib-0.2.2 → codenib-0.2.4}/web/vite.config.test.ts +0 -0
  768. {codenib-0.2.2 → codenib-0.2.4}/web/vite.config.ts +0 -0
@@ -11,6 +11,126 @@ All notable user-facing changes are recorded here. CodeNib follows
11
11
 
12
12
  ## [Unreleased]
13
13
 
14
+ ## [0.2.4] - 2026-09-26
15
+
16
+ ### Added
17
+
18
+ - Source-only model-planned grep followed by Jev reranking, using one
19
+ user-owned OpenRouter credential from CLI or MCP. The optional `grep` extra
20
+ bundles ripgrep; the route does not require embeddings, a GPU or an index.
21
+ - OpenRouter S256 PKCE login and credential management, with supported OS
22
+ keyrings and an explicit private POSIX file fallback. `codenib init`
23
+ registers the source-only route through native Claude Code and Codex CLIs.
24
+ - Static export of precomputed story Wikis with source citations, page maps,
25
+ architecture visuals and CodeNib backlinks. Public browsing needs no model
26
+ calls or live Wiki backend.
27
+ - Optional browser OpenRouter trials on explicitly enabled static public Wikis.
28
+ The browser owns authorization and model requests; a separate bounded CPU
29
+ service returns source-checked grep candidates without receiving a model key.
30
+ Default static browsing still makes no model calls. Actual provider consent
31
+ and production-host acceptance remain preview deployment gates.
32
+ - Jev reranking through OpenRouter's Decisions API, selectable with
33
+ `rerank_strategy="decisions"`. The typed client supports Noul, Choice, and
34
+ Score questions; reranking uses bounded batches and normalized relevance
35
+ scores while preserving first-stage candidates when a request fails.
36
+
37
+ ### Changed
38
+
39
+ - GitHub Pages previews default to the `fast` preset, avoiding embedding
40
+ downloads. Generated story Wikis remain a separate, explicit generation and
41
+ cached-export path.
42
+ - Present source-linked agent setup, a recorded agent session, retrieval
43
+ evidence, language capabilities and sourced tool comparisons prominently
44
+ in the README and homepage.
45
+ - Bind the retrieve/rerank pipeline's BM25 source reads to its repository root
46
+ so rerankers receive candidate code when invoked from another directory.
47
+ - Bound each built-in Wiki generation-lock acquisition to a 30-second wait. A
48
+ timed-out waiter does not interrupt the owner or start duplicate generation,
49
+ and a later request can reuse the owner's published result.
50
+ - Wiki cache audits and prewarm dry runs now copy an existing, quiescent
51
+ `wiki.sqlite3` into a private temporary snapshot and inspect that snapshot in
52
+ immutable read-only mode. They create no lock or SQLite sidecar beside the
53
+ source database, do not initialize or change its schema or lock directory,
54
+ and reject existing transaction sidecars or a source change while the
55
+ snapshot is captured.
56
+
57
+ ### Fixed
58
+
59
+ - Pass the installed package version explicitly to MCP initialization so
60
+ `serverInfo.version` is populated with MCP Python SDK 2.2.0 (#779, #780).
61
+ - Support bounded multiline grep plans and Windows newline handling. Preserve
62
+ Windows source authority when unrelated sibling directories change while
63
+ retaining repository-root and ancestor-identity checks.
64
+ - Validate Wiki graph references separately from source paths, persist evidence
65
+ as strict JSON and limit evidence ranges to the returned source lines.
66
+
67
+ ### Removed
68
+
69
+ - Retired the one-release `agentwiki_*.json` compatibility path tracked by
70
+ #749. AgentWiki no longer discovers, reads, writes, adopts, locks, or audits
71
+ JSON cache files; persistence requires an injected `WikiStore`, while
72
+ store-less callers remain in memory. Existing `wiki.sqlite3` entries and
73
+ legacy files are not deleted. The Wiki cache audit report is now schema v2
74
+ and reports only database entry and payload-byte accounting.
75
+
76
+ ## [0.2.3] - 2026-09-03
77
+
78
+ ### Added
79
+
80
+ - A Wiki-only `codenib.storage` facade exposing the domain-local `WikiStore`
81
+ harness and SQLite WAL implementation, with versioned schema initialization,
82
+ bounded canonical JSON, integrity checks, atomic publication, and
83
+ cross-process generation guards.
84
+
85
+ ### Changed
86
+
87
+ - AgentWiki, the web service, cache audit, prewarming, and Wiki benchmarking
88
+ now use `wiki_cache/wiki.sqlite3`. Eligible source-compatible JSON entries
89
+ remain available through read-through compatibility and are not rewritten or
90
+ deleted.
91
+ - The supported product database boundary is now
92
+ `codenib.storage.WikiStore`, with `SQLiteWikiStore` as its supported adapter.
93
+ `RepoManifest`, BM25, FAISS, igraph, and portable context payloads remain file
94
+ artifacts. Existing compiler caches use `artifact pack`; portable artifacts
95
+ continue through `artifact verify` and `mcp --artifact`.
96
+ - The v0.2.3 release intentionally narrows the former storage API and CLI.
97
+ Users who still need data from a v0.2.2 SQLite catalog must run `artifact
98
+ materialize` with a pinned v0.2.2 environment before upgrading; the resulting
99
+ portable artifact remains supported.
100
+
101
+ ### Removed
102
+
103
+ - The optional Web `index_storage` configuration and its catalog-backed local
104
+ runtime, retained BM25 activation, reconciliation, durable index-job
105
+ orchestration, `/api/index-jobs` write/read routes, and index-status job or
106
+ update-capability fields. Index status remains available as a read-only
107
+ `RepoManifest` projection.
108
+ - The unreleased catalog-selected `codenib mcp` cold-start mode. Portable
109
+ artifacts remain served through `codenib mcp --artifact [--repo]`.
110
+ - The unreleased `storage audit` command and `index --publish-retained` path.
111
+ Those two batches removed 1,407 production lines and 1,742 dedicated test
112
+ lines, including the audit execution path, eight index-only options, and
113
+ three compiler exports; ordinary indexing remained unchanged in that batch.
114
+ - The post-v0.2.2 retained-storage benchmark gate, its manual Make target, and
115
+ noncanonical readiness receipt. The report-only experiment had no product or
116
+ CI workflow caller and could never report `promotion_eligible=true`; removing
117
+ it deleted a 4,913-line harness, 3,468 test lines, 367 evidence lines, 148
118
+ documentation lines, eight Make variables, and one manual target.
119
+ - The unreleased `codenib jobs` execution stack and catalog schema v5 through
120
+ v8. This removed eight production modules (9,615 lines), twelve dedicated
121
+ test modules (22,170 lines), 73 lazy exports, two interruptible CAS methods,
122
+ one command with two execution paths, and four schema migrations; changes
123
+ inside retained files bring the batch total to 21,214 production and 29,352
124
+ test lines removed.
125
+ - The generic retained-storage surface formerly published by v0.2.2 through
126
+ `codenib.storage`: its schema-v4 SQLite catalog and local CAS, `artifact
127
+ import-cache`, `artifact materialize`, and the retained compiler bridge. The
128
+ name `codenib.storage` now resolves only to the Wiki database facade. Normal
129
+ index, Wiki, portable-artifact, publish, and MCP paths are unchanged.
130
+ - The catalog-backed clangd FactBatch publication/reuse experiment and its
131
+ profiling target. Provider-neutral FactBatch models, resolvers, native buffer
132
+ transport, and the promoted clangd query index remain independent of storage.
133
+
14
134
  ## [0.2.2] - 2026-08-21
15
135
 
16
136
  ### Added
@@ -193,7 +313,9 @@ All notable user-facing changes are recorded here. CodeNib follows
193
313
  - Prepared secretless PyPI publishing through a dedicated GitHub Actions OIDC
194
314
  workflow.
195
315
 
196
- [Unreleased]: https://github.com/sysevol-ai/CodeNib/compare/v0.2.2...HEAD
316
+ [Unreleased]: https://github.com/sysevol-ai/CodeNib/compare/v0.2.4...HEAD
317
+ [0.2.4]: https://github.com/sysevol-ai/CodeNib/compare/v0.2.3...v0.2.4
318
+ [0.2.3]: https://github.com/sysevol-ai/CodeNib/compare/v0.2.2...v0.2.3
197
319
  [0.2.2]: https://github.com/sysevol-ai/CodeNib/compare/v0.2.1...v0.2.2
198
320
  [0.2.1]: https://github.com/sysevol-ai/CodeNib/compare/v0.2.0...v0.2.1
199
321
  [0.2.0]: https://github.com/sysevol-ai/CodeNib/compare/v0.1.0...v0.2.0
codenib-0.2.4/PKG-INFO ADDED
@@ -0,0 +1,266 @@
1
+ Metadata-Version: 2.4
2
+ Name: codenib
3
+ Version: 0.2.4
4
+ Summary: A multi-view data system for serving repository context to coding agents
5
+ Author-email: Zhongming Yu <zhy025@ucsd.edu>
6
+ License-Expression: Apache-2.0
7
+ Project-URL: Documentation, https://docs.codenib.ai/
8
+ Project-URL: Homepage, https://codenib.ai
9
+ Project-URL: Issues, https://github.com/sysevol-ai/CodeNib/issues
10
+ Project-URL: Repository, https://github.com/sysevol-ai/CodeNib.git
11
+ Keywords: code-search,coding-agents,model-context-protocol,repository-context,static-analysis
12
+ Classifier: Development Status :: 4 - Beta
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: Programming Language :: Python :: 3 :: Only
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3.13
20
+ Classifier: Programming Language :: Python :: 3.14
21
+ Classifier: Operating System :: OS Independent
22
+ Classifier: Topic :: Software Development
23
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
24
+ Requires-Python: >=3.10
25
+ Description-Content-Type: text/markdown
26
+ License-File: LICENSE
27
+ Requires-Dist: fastapi>=0.100.0
28
+ Requires-Dist: filelock>=3.0.0
29
+ Requires-Dist: pydantic>=2.0.0
30
+ Requires-Dist: pyyaml>=6.0
31
+ Requires-Dist: rank_bm25>=0.2.2
32
+ Requires-Dist: regex>=2024.11.6
33
+ Requires-Dist: rich>=14.0.0
34
+ Requires-Dist: tree-sitter>=0.25.2
35
+ Requires-Dist: tree-sitter-language-pack<1.9.0,>=1.8.1
36
+ Requires-Dist: uvicorn>=0.20.0
37
+ Provides-Extra: auth
38
+ Requires-Dist: keyring>=25.0.0; extra == "auth"
39
+ Requires-Dist: requests>=2.25.0; extra == "auth"
40
+ Provides-Extra: grep
41
+ Requires-Dist: requests>=2.25.0; extra == "grep"
42
+ Requires-Dist: ripgrep-bin<16,>=15.2.0; extra == "grep"
43
+ Provides-Extra: agent
44
+ Requires-Dist: litellm>=1.93.0; extra == "agent"
45
+ Requires-Dist: openai>=1.0.0; extra == "agent"
46
+ Requires-Dist: requests>=2.25.0; extra == "agent"
47
+ Provides-Extra: datasets
48
+ Requires-Dist: datasets>=4.0.0; extra == "datasets"
49
+ Provides-Extra: graph
50
+ Requires-Dist: igraph>=0.11.6; extra == "graph"
51
+ Requires-Dist: protobuf>=3.20.0; extra == "graph"
52
+ Provides-Extra: mcp
53
+ Requires-Dist: mcp<3,>=2.0.0; extra == "mcp"
54
+ Provides-Extra: semantic
55
+ Requires-Dist: einops>=0.8.0; extra == "semantic"
56
+ Requires-Dist: faiss-cpu>=1.7.0; extra == "semantic"
57
+ Requires-Dist: numpy>=1.24.0; extra == "semantic"
58
+ Requires-Dist: openai>=1.0.0; extra == "semantic"
59
+ Requires-Dist: sentence-transformers>=2.3.0; extra == "semantic"
60
+ Provides-Extra: semantic-remote
61
+ Requires-Dist: faiss-cpu>=1.7.0; extra == "semantic-remote"
62
+ Requires-Dist: numpy>=1.24.0; extra == "semantic-remote"
63
+ Requires-Dist: openai>=1.0.0; extra == "semantic-remote"
64
+ Provides-Extra: serving
65
+ Requires-Dist: numpy>=1.24.0; extra == "serving"
66
+ Requires-Dist: sse-starlette>=2.0.0; extra == "serving"
67
+ Requires-Dist: torch>=2.2.0; extra == "serving"
68
+ Requires-Dist: transformers>=5.15.0; extra == "serving"
69
+ Provides-Extra: vertex
70
+ Requires-Dist: litellm[google]>=1.93.0; extra == "vertex"
71
+ Provides-Extra: zoekt
72
+ Requires-Dist: requests>=2.25.0; extra == "zoekt"
73
+ Provides-Extra: full
74
+ Requires-Dist: datasets>=4.0.0; extra == "full"
75
+ Requires-Dist: einops>=0.8.0; extra == "full"
76
+ Requires-Dist: faiss-cpu>=1.7.0; extra == "full"
77
+ Requires-Dist: igraph>=0.11.6; extra == "full"
78
+ Requires-Dist: litellm[google]>=1.93.0; extra == "full"
79
+ Requires-Dist: mcp<3,>=2.0.0; extra == "full"
80
+ Requires-Dist: numpy>=1.24.0; extra == "full"
81
+ Requires-Dist: openai>=1.0.0; extra == "full"
82
+ Requires-Dist: protobuf>=3.20.0; extra == "full"
83
+ Requires-Dist: requests>=2.25.0; extra == "full"
84
+ Requires-Dist: sentence-transformers>=2.3.0; extra == "full"
85
+ Provides-Extra: dev
86
+ Requires-Dist: black>=22.3.0; extra == "dev"
87
+ Requires-Dist: build>=1.2.0; extra == "dev"
88
+ Requires-Dist: isort>=5.10.1; extra == "dev"
89
+ Requires-Dist: mypy>=0.950; extra == "dev"
90
+ Requires-Dist: flake8>=4.0.1; extra == "dev"
91
+ Requires-Dist: flake8-bugbear>=24.4.0; extra == "dev"
92
+ Requires-Dist: mkdocs<2.0.0; extra == "dev"
93
+ Requires-Dist: mkdocs-material>=9.5.0; extra == "dev"
94
+ Requires-Dist: mkdocstrings-python>=2.0.0; extra == "dev"
95
+ Requires-Dist: mkdocs-api-autonav>=0.4.0; extra == "dev"
96
+ Provides-Extra: test
97
+ Requires-Dist: datasets>=4.0.0; extra == "test"
98
+ Requires-Dist: einops>=0.8.0; extra == "test"
99
+ Requires-Dist: faiss-cpu>=1.7.0; extra == "test"
100
+ Requires-Dist: igraph>=0.11.6; extra == "test"
101
+ Requires-Dist: litellm>=1.93.0; extra == "test"
102
+ Requires-Dist: matplotlib>=3.4.0; extra == "test"
103
+ Requires-Dist: mcp<3,>=2.0.0; extra == "test"
104
+ Requires-Dist: numpy>=1.24.0; extra == "test"
105
+ Requires-Dist: openai>=1.0.0; extra == "test"
106
+ Requires-Dist: protobuf>=3.20.0; extra == "test"
107
+ Requires-Dist: pytest>=6.0.0; extra == "test"
108
+ Requires-Dist: pytest-cov>=3.0.0; extra == "test"
109
+ Requires-Dist: pytest-timeout>=2.1.0; extra == "test"
110
+ Requires-Dist: pytest-xdist>=3.0.0; extra == "test"
111
+ Requires-Dist: requests>=2.25.0; extra == "test"
112
+ Requires-Dist: sentence-transformers>=2.3.0; extra == "test"
113
+ Requires-Dist: sse-starlette>=2.0.0; extra == "test"
114
+ Requires-Dist: tomli>=1.1.0; python_version < "3.11" and extra == "test"
115
+ Dynamic: license-file
116
+
117
+ <!--
118
+ SPDX-FileCopyrightText: 2025-2026 CodeNib Contributors
119
+
120
+ SPDX-License-Identifier: Apache-2.0
121
+ -->
122
+ <!-- mcp-name: ai.codenib/codenib -->
123
+
124
+ <div align="center">
125
+ <img src="https://raw.githubusercontent.com/sysevol-ai/CodeNib/main/assets/codenib_logo.svg" alt="CodeNib" width="440">
126
+ <h1>Find the right code. Trace the calls.</h1>
127
+ <p>Give Claude Code and Codex source context and typed graph navigation across languages.</p>
128
+ <p>
129
+ <strong>71.4% code-block Recall@5 on 100 real issues.</strong><br>
130
+ Model-planned grep → Jev: +12.8 percentage points over the same grep candidates without reranking.<br>
131
+ <a href="https://docs.codenib.ai/evaluation/grep_jev/">Experimental result · Method and limitations</a>
132
+ </p>
133
+ <p>
134
+ <a href="#quickstart">Use with your agent</a>
135
+ &nbsp;&middot;&nbsp;
136
+ <a href="https://demo.codenib.ai">Browse a Wiki</a>
137
+ &nbsp;&middot;&nbsp;
138
+ <a href="https://docs.codenib.ai/language_capabilities/">Languages</a>
139
+ &nbsp;&middot;&nbsp;
140
+ <a href="https://docs.codenib.ai/agent_integrations/">Reproductions</a>
141
+ &nbsp;&middot;&nbsp;
142
+ <a href="https://github.com/sysevol-ai/CodeNib/releases">Releases</a>
143
+ </p>
144
+ <p>
145
+ <a href="https://github.com/sysevol-ai/CodeNib/actions/workflows/ci-full.yml"><img src="https://github.com/sysevol-ai/CodeNib/actions/workflows/ci-full.yml/badge.svg" alt="CI"></a>
146
+ <a href="https://pypi.org/project/codenib/"><img src="https://img.shields.io/pypi/v/codenib.svg?cacheSeconds=300" alt="PyPI version"></a>
147
+ <a href="https://github.com/sysevol-ai/CodeNib/releases/latest"><img src="https://img.shields.io/github/v/release/sysevol-ai/CodeNib" alt="Latest GitHub Release"></a>
148
+ <a href="https://arxiv.org/abs/2607.25431"><img src="https://img.shields.io/badge/arXiv-2607.25431-b31b1b.svg" alt="arXiv paper"></a>
149
+ <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="Apache 2.0 license"></a>
150
+ </p>
151
+ </div>
152
+
153
+ <p align="center">
154
+ <a href="https://github.com/sysevol-ai/CodeNib/blob/main/landing/assets/demos/codegraph-claude.mp4">
155
+ <img src="https://raw.githubusercontent.com/sysevol-ai/CodeNib/main/landing/assets/demos/codegraph-claude.png" alt="Play a recorded CodeGraph setup and Claude Code explore_context call on Requests, returning source references for authentication during redirects" width="100%">
156
+ </a>
157
+ </p>
158
+ <p align="center"><a href="https://github.com/sysevol-ai/CodeNib/blob/main/landing/assets/demos/codegraph-claude.mp4">▶ Watch the 15-second replay</a> · real CLI output · waits condensed ·
159
+ <a href="https://docs.codenib.ai/codegraph/#recorded-agent-session">Pinned source, transcript and setup details</a>.
160
+ </p>
161
+
162
+ ## Quickstart
163
+
164
+ Requires Python 3.10+, Git, a clean repository, and Claude Code or Codex.
165
+
166
+ ```bash
167
+ python -m pip install "codenib[graph,mcp]"
168
+ codenib codegraph init /path/to/your/repo
169
+ ```
170
+
171
+ Then ask your agent: **“Use CodeNib's `explore_context` to find where request
172
+ retry behavior is implemented. Cite the files and lines.”**
173
+
174
+ This shipping path builds local search and a typed symbol graph, then connects
175
+ installed agent clients. It needs no model, API key, or GPU for CodeNib;
176
+ your agent uses its own model. It is separate from the grep/Jev experiment
177
+ above. Language toolchain and project prerequisites vary.
178
+
179
+ [Setup and troubleshooting](https://docs.codenib.ai/codegraph/)
180
+ · [Source exclusions](https://docs.codenib.ai/codegraph/#select-the-repository-source-surface)
181
+ · [All MCP tools](https://docs.codenib.ai/mcp/)
182
+ · [Local Wiki](https://docs.codenib.ai/quickstart/)
183
+
184
+ ## Why CodeNib
185
+
186
+ - **Inspect the evidence.** Retrieve bounded code context with file and line
187
+ references, then follow callers, callees, definitions, and references.
188
+ - **Use the same tools across languages.** The registry tracks 14 language
189
+ entries, including 12 with graph backends. Check capability and setup
190
+ differences in the [language matrix](https://docs.codenib.ai/language_capabilities/).
191
+ - **Compare methods on the same source.** Pinned agent contracts, datasets,
192
+ and scorer checks make the [reproduction surface](https://docs.codenib.ai/agent_integrations/)
193
+ inspectable.
194
+ - **Share what you found.** Export a Wiki with source citations to your own
195
+ [GitHub Pages](https://docs.codenib.ai/github_pages/), or browse the
196
+ [public examples](https://demo.codenib.ai).
197
+
198
+ ## How it compares
199
+
200
+ “Local” and “key” describe the repository tool, excluding the agent's model.
201
+ This compares capabilities, not benchmark scores.
202
+
203
+ | Tool | Local processing | Tool needs a model/key | Graph / navigation | Languages | Updates |
204
+ | --- | --- | --- | --- | --- | --- |
205
+ | grep / read | Yes | No | Text and files | Any text | Current files |
206
+ | **CodeNib CodeGraph** | Yes | No | Typed SCIP/LSP graph | [14 chunkers / 12 graph entries](https://docs.codenib.ai/language_capabilities/) | Reuse unchanged views; rebuild changed views |
207
+ | [Serena](https://github.com/oraios/serena) | Yes | No retrieval model | LSP/IDE symbol navigation and editing | [Backend matrix](https://oraios.github.io/serena/01-about/020_programming-languages.html) | Backend-managed project state |
208
+ | [CodeGraph (Lordymine)](https://github.com/Lordymine/codegraph) | Yes | No retrieval model | Typed call graph | Go, TS/JS | Re-index on launch; no-op if unchanged |
209
+ | [DeepWiki public MCP](https://docs.devin.ai/work-with-devin/deepwiki-mcp) | Hosted | No user key | Wiki and generated answers | Public indexed repos | Service-managed |
210
+
211
+ [Detailed comparison and boundaries](https://docs.codenib.ai/comparison/).
212
+ CodeNib's **experimental grep → Jev** route uses OpenRouter for planning and
213
+ reranking; selected code goes to remote models. Its measured result does not
214
+ apply to the model-free CodeGraph row.
215
+
216
+ ## Languages
217
+
218
+ Graph backends: **Python, Go, Rust, C/C++, C#, Java, Ruby, PHP, Kotlin,
219
+ Scala, JavaScript, and TypeScript**. Swift and Lua support chunking/retrieval.
220
+ Provider prerequisites and coverage differ by language.
221
+
222
+ The [generated language matrix](https://docs.codenib.ai/language_capabilities/)
223
+ separates chunking, graph backends, incremental-backend support, and decoder
224
+ parity. The product currently reuses or rebuilds views; file-level delta
225
+ repair is not enabled.
226
+
227
+ ## Results and reproductions
228
+
229
+ | Start here | What you can inspect |
230
+ | --- | --- |
231
+ | [grep → Jev result](https://docs.codenib.ai/evaluation/grep_jev/) | 100-issue retrieval comparison, candidate controls, model use and limitations |
232
+ | [Agent integration matrix](https://docs.codenib.ai/agent_integrations/) | Revision-pinned LocAgent, Agentless, CoSIL, OrcaLoca and RepoNavigator contracts; compatibility does not imply reproduced paper scores |
233
+ | [Dataset and benchmark matrix](https://docs.codenib.ai/evaluation/) | CodeNib Base/Synthesis, SWE-bench variants, Loc-Bench and SWE-Explore support |
234
+ | [SWE-Explore validation](https://docs.codenib.ai/evaluation/swe_explore/) | 1,020/1,020 real-output metric cells match the pinned official evaluator on a fixed 20-case run |
235
+ | [DGX Spark deployment](https://docs.codenib.ai/guides/reference-deployments/dgx-spark/) | Local Wiki, CodeGraph and model serving on GB10; a deployment guide, not a token-saving benchmark |
236
+
237
+ ## Documentation and community
238
+
239
+ [Documentation](https://docs.codenib.ai/)
240
+ · [Architecture](https://docs.codenib.ai/concepts/architecture/)
241
+ · [Contributing](https://github.com/sysevol-ai/CodeNib/blob/main/CONTRIBUTING.md)
242
+ · [CI and testing](https://docs.codenib.ai/ci_cd/)
243
+ · [Changelog](https://github.com/sysevol-ai/CodeNib/blob/main/CHANGELOG.md)
244
+ · [Discord](https://discord.gg/ySer6CGn4)
245
+
246
+ CodeNib is in beta; public interfaces may change before a stable release.
247
+ Historical research artifacts retain their published dataset identifiers.
248
+
249
+ ## Citation
250
+
251
+ If you use CodeNib in your research, please cite our
252
+ [arXiv paper](https://arxiv.org/abs/2607.25431):
253
+
254
+ ```bibtex
255
+ @misc{yu2026codenibmultiviewdataserving,
256
+ title={CodeNib: A Multi-View Data System for Serving Repository Context to Coding Agents},
257
+ author={Zhongming Yu and Hengjia Yu and Boqin Yuan and Shuting Zhao and Yizhao Chen and Aryan Dokania and Mihir Jagtap and Jiayu Chang and Yitong Ma and Yash Jayswal and Wentao Ni and Hejia Zhang and Zhaoling Chen and Gangda Deng and Jishen Zhao},
258
+ year={2026},
259
+ eprint={2607.25431},
260
+ archivePrefix={arXiv},
261
+ primaryClass={cs.SE},
262
+ url={https://arxiv.org/abs/2607.25431},
263
+ }
264
+ ```
265
+
266
+ CodeNib is licensed under [Apache 2.0](https://github.com/sysevol-ai/CodeNib/blob/main/LICENSE).
@@ -0,0 +1,150 @@
1
+ <!--
2
+ SPDX-FileCopyrightText: 2025-2026 CodeNib Contributors
3
+
4
+ SPDX-License-Identifier: Apache-2.0
5
+ -->
6
+ <!-- mcp-name: ai.codenib/codenib -->
7
+
8
+ <div align="center">
9
+ <img src="https://raw.githubusercontent.com/sysevol-ai/CodeNib/main/assets/codenib_logo.svg" alt="CodeNib" width="440">
10
+ <h1>Find the right code. Trace the calls.</h1>
11
+ <p>Give Claude Code and Codex source context and typed graph navigation across languages.</p>
12
+ <p>
13
+ <strong>71.4% code-block Recall@5 on 100 real issues.</strong><br>
14
+ Model-planned grep → Jev: +12.8 percentage points over the same grep candidates without reranking.<br>
15
+ <a href="https://docs.codenib.ai/evaluation/grep_jev/">Experimental result · Method and limitations</a>
16
+ </p>
17
+ <p>
18
+ <a href="#quickstart">Use with your agent</a>
19
+ &nbsp;&middot;&nbsp;
20
+ <a href="https://demo.codenib.ai">Browse a Wiki</a>
21
+ &nbsp;&middot;&nbsp;
22
+ <a href="https://docs.codenib.ai/language_capabilities/">Languages</a>
23
+ &nbsp;&middot;&nbsp;
24
+ <a href="https://docs.codenib.ai/agent_integrations/">Reproductions</a>
25
+ &nbsp;&middot;&nbsp;
26
+ <a href="https://github.com/sysevol-ai/CodeNib/releases">Releases</a>
27
+ </p>
28
+ <p>
29
+ <a href="https://github.com/sysevol-ai/CodeNib/actions/workflows/ci-full.yml"><img src="https://github.com/sysevol-ai/CodeNib/actions/workflows/ci-full.yml/badge.svg" alt="CI"></a>
30
+ <a href="https://pypi.org/project/codenib/"><img src="https://img.shields.io/pypi/v/codenib.svg?cacheSeconds=300" alt="PyPI version"></a>
31
+ <a href="https://github.com/sysevol-ai/CodeNib/releases/latest"><img src="https://img.shields.io/github/v/release/sysevol-ai/CodeNib" alt="Latest GitHub Release"></a>
32
+ <a href="https://arxiv.org/abs/2607.25431"><img src="https://img.shields.io/badge/arXiv-2607.25431-b31b1b.svg" alt="arXiv paper"></a>
33
+ <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="Apache 2.0 license"></a>
34
+ </p>
35
+ </div>
36
+
37
+ <p align="center">
38
+ <a href="https://github.com/sysevol-ai/CodeNib/blob/main/landing/assets/demos/codegraph-claude.mp4">
39
+ <img src="https://raw.githubusercontent.com/sysevol-ai/CodeNib/main/landing/assets/demos/codegraph-claude.png" alt="Play a recorded CodeGraph setup and Claude Code explore_context call on Requests, returning source references for authentication during redirects" width="100%">
40
+ </a>
41
+ </p>
42
+ <p align="center"><a href="https://github.com/sysevol-ai/CodeNib/blob/main/landing/assets/demos/codegraph-claude.mp4">▶ Watch the 15-second replay</a> · real CLI output · waits condensed ·
43
+ <a href="https://docs.codenib.ai/codegraph/#recorded-agent-session">Pinned source, transcript and setup details</a>.
44
+ </p>
45
+
46
+ ## Quickstart
47
+
48
+ Requires Python 3.10+, Git, a clean repository, and Claude Code or Codex.
49
+
50
+ ```bash
51
+ python -m pip install "codenib[graph,mcp]"
52
+ codenib codegraph init /path/to/your/repo
53
+ ```
54
+
55
+ Then ask your agent: **“Use CodeNib's `explore_context` to find where request
56
+ retry behavior is implemented. Cite the files and lines.”**
57
+
58
+ This shipping path builds local search and a typed symbol graph, then connects
59
+ installed agent clients. It needs no model, API key, or GPU for CodeNib;
60
+ your agent uses its own model. It is separate from the grep/Jev experiment
61
+ above. Language toolchain and project prerequisites vary.
62
+
63
+ [Setup and troubleshooting](https://docs.codenib.ai/codegraph/)
64
+ · [Source exclusions](https://docs.codenib.ai/codegraph/#select-the-repository-source-surface)
65
+ · [All MCP tools](https://docs.codenib.ai/mcp/)
66
+ · [Local Wiki](https://docs.codenib.ai/quickstart/)
67
+
68
+ ## Why CodeNib
69
+
70
+ - **Inspect the evidence.** Retrieve bounded code context with file and line
71
+ references, then follow callers, callees, definitions, and references.
72
+ - **Use the same tools across languages.** The registry tracks 14 language
73
+ entries, including 12 with graph backends. Check capability and setup
74
+ differences in the [language matrix](https://docs.codenib.ai/language_capabilities/).
75
+ - **Compare methods on the same source.** Pinned agent contracts, datasets,
76
+ and scorer checks make the [reproduction surface](https://docs.codenib.ai/agent_integrations/)
77
+ inspectable.
78
+ - **Share what you found.** Export a Wiki with source citations to your own
79
+ [GitHub Pages](https://docs.codenib.ai/github_pages/), or browse the
80
+ [public examples](https://demo.codenib.ai).
81
+
82
+ ## How it compares
83
+
84
+ “Local” and “key” describe the repository tool, excluding the agent's model.
85
+ This compares capabilities, not benchmark scores.
86
+
87
+ | Tool | Local processing | Tool needs a model/key | Graph / navigation | Languages | Updates |
88
+ | --- | --- | --- | --- | --- | --- |
89
+ | grep / read | Yes | No | Text and files | Any text | Current files |
90
+ | **CodeNib CodeGraph** | Yes | No | Typed SCIP/LSP graph | [14 chunkers / 12 graph entries](https://docs.codenib.ai/language_capabilities/) | Reuse unchanged views; rebuild changed views |
91
+ | [Serena](https://github.com/oraios/serena) | Yes | No retrieval model | LSP/IDE symbol navigation and editing | [Backend matrix](https://oraios.github.io/serena/01-about/020_programming-languages.html) | Backend-managed project state |
92
+ | [CodeGraph (Lordymine)](https://github.com/Lordymine/codegraph) | Yes | No retrieval model | Typed call graph | Go, TS/JS | Re-index on launch; no-op if unchanged |
93
+ | [DeepWiki public MCP](https://docs.devin.ai/work-with-devin/deepwiki-mcp) | Hosted | No user key | Wiki and generated answers | Public indexed repos | Service-managed |
94
+
95
+ [Detailed comparison and boundaries](https://docs.codenib.ai/comparison/).
96
+ CodeNib's **experimental grep → Jev** route uses OpenRouter for planning and
97
+ reranking; selected code goes to remote models. Its measured result does not
98
+ apply to the model-free CodeGraph row.
99
+
100
+ ## Languages
101
+
102
+ Graph backends: **Python, Go, Rust, C/C++, C#, Java, Ruby, PHP, Kotlin,
103
+ Scala, JavaScript, and TypeScript**. Swift and Lua support chunking/retrieval.
104
+ Provider prerequisites and coverage differ by language.
105
+
106
+ The [generated language matrix](https://docs.codenib.ai/language_capabilities/)
107
+ separates chunking, graph backends, incremental-backend support, and decoder
108
+ parity. The product currently reuses or rebuilds views; file-level delta
109
+ repair is not enabled.
110
+
111
+ ## Results and reproductions
112
+
113
+ | Start here | What you can inspect |
114
+ | --- | --- |
115
+ | [grep → Jev result](https://docs.codenib.ai/evaluation/grep_jev/) | 100-issue retrieval comparison, candidate controls, model use and limitations |
116
+ | [Agent integration matrix](https://docs.codenib.ai/agent_integrations/) | Revision-pinned LocAgent, Agentless, CoSIL, OrcaLoca and RepoNavigator contracts; compatibility does not imply reproduced paper scores |
117
+ | [Dataset and benchmark matrix](https://docs.codenib.ai/evaluation/) | CodeNib Base/Synthesis, SWE-bench variants, Loc-Bench and SWE-Explore support |
118
+ | [SWE-Explore validation](https://docs.codenib.ai/evaluation/swe_explore/) | 1,020/1,020 real-output metric cells match the pinned official evaluator on a fixed 20-case run |
119
+ | [DGX Spark deployment](https://docs.codenib.ai/guides/reference-deployments/dgx-spark/) | Local Wiki, CodeGraph and model serving on GB10; a deployment guide, not a token-saving benchmark |
120
+
121
+ ## Documentation and community
122
+
123
+ [Documentation](https://docs.codenib.ai/)
124
+ · [Architecture](https://docs.codenib.ai/concepts/architecture/)
125
+ · [Contributing](https://github.com/sysevol-ai/CodeNib/blob/main/CONTRIBUTING.md)
126
+ · [CI and testing](https://docs.codenib.ai/ci_cd/)
127
+ · [Changelog](https://github.com/sysevol-ai/CodeNib/blob/main/CHANGELOG.md)
128
+ · [Discord](https://discord.gg/ySer6CGn4)
129
+
130
+ CodeNib is in beta; public interfaces may change before a stable release.
131
+ Historical research artifacts retain their published dataset identifiers.
132
+
133
+ ## Citation
134
+
135
+ If you use CodeNib in your research, please cite our
136
+ [arXiv paper](https://arxiv.org/abs/2607.25431):
137
+
138
+ ```bibtex
139
+ @misc{yu2026codenibmultiviewdataserving,
140
+ title={CodeNib: A Multi-View Data System for Serving Repository Context to Coding Agents},
141
+ author={Zhongming Yu and Hengjia Yu and Boqin Yuan and Shuting Zhao and Yizhao Chen and Aryan Dokania and Mihir Jagtap and Jiayu Chang and Yitong Ma and Yash Jayswal and Wentao Ni and Hejia Zhang and Zhaoling Chen and Gangda Deng and Jishen Zhao},
142
+ year={2026},
143
+ eprint={2607.25431},
144
+ archivePrefix={arXiv},
145
+ primaryClass={cs.SE},
146
+ url={https://arxiv.org/abs/2607.25431},
147
+ }
148
+ ```
149
+
150
+ CodeNib is licensed under [Apache 2.0](https://github.com/sysevol-ai/CodeNib/blob/main/LICENSE).