codenib 0.2.1__tar.gz → 0.2.2__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 (694) hide show
  1. {codenib-0.2.1 → codenib-0.2.2}/CHANGELOG.md +39 -1
  2. {codenib-0.2.1 → codenib-0.2.2}/MANIFEST.in +1 -0
  3. {codenib-0.2.1 → codenib-0.2.2}/PKG-INFO +52 -19
  4. {codenib-0.2.1 → codenib-0.2.2}/README.md +51 -18
  5. {codenib-0.2.1 → codenib-0.2.2}/codenib/__init__.py +12 -0
  6. {codenib-0.2.1 → codenib-0.2.2}/codenib/_atomic_directory.py +1914 -305
  7. {codenib-0.2.1 → codenib-0.2.2}/codenib/_bounded_json.py +262 -1
  8. {codenib-0.2.1 → codenib-0.2.2}/codenib/_captured_directory.py +616 -52
  9. {codenib-0.2.1 → codenib-0.2.2}/codenib/_contained_source.py +124 -10
  10. codenib-0.2.2/codenib/_local_workspace_provider.py +218 -0
  11. codenib-0.2.2/codenib/_workspace_owner.py +433 -0
  12. codenib-0.2.2/codenib/_workspace_provider.py +836 -0
  13. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/lsp_provider.py +14 -0
  14. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/runner.py +11 -1
  15. {codenib-0.2.1 → codenib-0.2.2}/codenib/artifacts/__init__.py +26 -0
  16. {codenib-0.2.1 → codenib-0.2.2}/codenib/artifacts/portable_views.py +727 -50
  17. {codenib-0.2.1 → codenib-0.2.2}/codenib/artifacts/runtime.py +130 -13
  18. codenib-0.2.2/codenib/artifacts/security.py +515 -0
  19. codenib-0.2.2/codenib/artifacts/strict_bm25.py +1664 -0
  20. codenib-0.2.2/codenib/artifacts/strict_context.py +1191 -0
  21. {codenib-0.2.1 → codenib-0.2.2}/codenib/cli.py +1911 -57
  22. {codenib-0.2.1 → codenib-0.2.2}/codenib/clients/_manifest.py +6 -2
  23. {codenib-0.2.1 → codenib-0.2.2}/codenib/clients/execution/sandbox.py +13 -0
  24. codenib-0.2.2/codenib/clients/guardian/__init__.py +78 -0
  25. codenib-0.2.2/codenib/clients/guardian/agent.py +475 -0
  26. codenib-0.2.2/codenib/clients/guardian/aggregation.py +367 -0
  27. codenib-0.2.2/codenib/clients/guardian/artifacts.py +359 -0
  28. codenib-0.2.2/codenib/clients/guardian/contribution.py +264 -0
  29. codenib-0.2.2/codenib/clients/guardian/discovery.py +259 -0
  30. codenib-0.2.2/codenib/clients/guardian/distillation.py +78 -0
  31. codenib-0.2.2/codenib/clients/guardian/evidence.py +311 -0
  32. {codenib-0.2.1 → codenib-0.2.2}/codenib/clients/guardian/exchange.py +13 -2
  33. codenib-0.2.2/codenib/clients/guardian/frontier.py +63 -0
  34. codenib-0.2.2/codenib/clients/guardian/memory.py +423 -0
  35. codenib-0.2.2/codenib/clients/guardian/normalization.py +519 -0
  36. codenib-0.2.2/codenib/clients/guardian/patch_check.py +900 -0
  37. codenib-0.2.2/codenib/clients/guardian/planning.py +94 -0
  38. codenib-0.2.2/codenib/clients/guardian/prompts.py +605 -0
  39. codenib-0.2.2/codenib/clients/guardian/types.py +666 -0
  40. {codenib-0.2.1 → codenib-0.2.2}/codenib/code_chunker.py +125 -13
  41. {codenib-0.2.1 → codenib-0.2.2}/codenib/code_chunking/base.py +11 -10
  42. codenib-0.2.2/codenib/compiler/__init__.py +234 -0
  43. {codenib-0.2.1 → codenib-0.2.2}/codenib/compiler/artifact_quality.py +292 -1
  44. codenib-0.2.2/codenib/compiler/cache_import.py +838 -0
  45. {codenib-0.2.1 → codenib-0.2.2}/codenib/compiler/cache_lock.py +280 -28
  46. {codenib-0.2.1 → codenib-0.2.2}/codenib/compiler/checkout_identity.py +3 -2
  47. codenib-0.2.2/codenib/compiler/graph_artifact.py +305 -0
  48. {codenib-0.2.1 → codenib-0.2.2}/codenib/compiler/index_builders.py +1131 -42
  49. {codenib-0.2.1 → codenib-0.2.2}/codenib/compiler/index_compiler.py +237 -56
  50. codenib-0.2.2/codenib/compiler/manifest.py +742 -0
  51. codenib-0.2.2/codenib/compiler/manifest_export.py +2031 -0
  52. codenib-0.2.2/codenib/compiler/manifest_import.py +1523 -0
  53. codenib-0.2.2/codenib/compiler/manifest_materialization.py +2195 -0
  54. codenib-0.2.2/codenib/compiler/manifest_source.py +160 -0
  55. codenib-0.2.2/codenib/compiler/manifest_storage.py +2728 -0
  56. codenib-0.2.2/codenib/compiler/retained_manifest_contract.py +56 -0
  57. codenib-0.2.2/codenib/compiler/retained_snapshot.py +353 -0
  58. {codenib-0.2.1 → codenib-0.2.2}/codenib/compiler/skill_context.py +109 -18
  59. codenib-0.2.2/codenib/compiler/zoekt_artifact.py +436 -0
  60. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/benchmarks/deepswe/reports.py +3 -2
  61. {codenib-0.2.1 → codenib-0.2.2}/codenib/graph/code_graph.py +53 -2
  62. {codenib-0.2.1 → codenib-0.2.2}/codenib/graph/hierarchy.py +43 -6
  63. {codenib-0.2.1 → codenib-0.2.2}/codenib/graph/source_coverage.py +10 -0
  64. {codenib-0.2.1 → codenib-0.2.2}/codenib/index/embedding/builders.py +97 -1
  65. {codenib-0.2.1 → codenib-0.2.2}/codenib/index/embedding/model_policy.py +118 -20
  66. codenib-0.2.2/codenib/index/embedding/text_policy.py +27 -0
  67. {codenib-0.2.1 → codenib-0.2.2}/codenib/index/embedding/vector_store.py +70 -6
  68. {codenib-0.2.1 → codenib-0.2.2}/codenib/integrations/reponavigator.py +2 -24
  69. {codenib-0.2.1 → codenib-0.2.2}/codenib/mcp/context.py +87 -9
  70. {codenib-0.2.1 → codenib-0.2.2}/codenib/mcp/server.py +21 -18
  71. {codenib-0.2.1 → codenib-0.2.2}/codenib/repository_filters.py +51 -12
  72. codenib-0.2.2/codenib/repository_source_selection.py +235 -0
  73. {codenib-0.2.1 → codenib-0.2.2}/codenib/repository_summary.py +20 -0
  74. {codenib-0.2.1 → codenib-0.2.2}/codenib/sandbox/docker.py +77 -2
  75. {codenib-0.2.1 → codenib-0.2.2}/codenib/sandbox/types.py +12 -0
  76. {codenib-0.2.1 → codenib-0.2.2}/codenib/scip_interface/lsp_occurrence_index.py +16 -4
  77. {codenib-0.2.1 → codenib-0.2.2}/codenib/scip_interface/rust_analyzer.py +8 -0
  78. {codenib-0.2.1 → codenib-0.2.2}/codenib/scip_interface/scip_indexer_ts.py +110 -4
  79. {codenib-0.2.1 → codenib-0.2.2}/codenib/scip_interface/scip_query.py +275 -30
  80. {codenib-0.2.1 → codenib-0.2.2}/codenib/scip_interface/scip_query_provider.py +28 -4
  81. codenib-0.2.2/codenib/scip_interface/typescript_semantics.py +314 -0
  82. {codenib-0.2.1 → codenib-0.2.2}/codenib/source_fingerprint.py +770 -40
  83. {codenib-0.2.1 → codenib-0.2.2}/codenib/storage/__init__.py +54 -2
  84. {codenib-0.2.1 → codenib-0.2.2}/codenib/storage/cas.py +447 -3
  85. {codenib-0.2.1 → codenib-0.2.2}/codenib/storage/models.py +159 -2
  86. codenib-0.2.2/codenib/storage/protocols.py +470 -0
  87. {codenib-0.2.1 → codenib-0.2.2}/codenib/storage/sqlite_catalog.py +834 -92
  88. {codenib-0.2.1 → codenib-0.2.2}/codenib/storage/view_bundle.py +1779 -6
  89. {codenib-0.2.1 → codenib-0.2.2}/codenib/toolchains.py +1 -0
  90. {codenib-0.2.1 → codenib-0.2.2}/codenib/web/app.py +270 -41
  91. {codenib-0.2.1 → codenib-0.2.2}/codenib/web/codemap.py +208 -17
  92. {codenib-0.2.1 → codenib-0.2.2}/codenib/web/config.py +114 -5
  93. {codenib-0.2.1 → codenib-0.2.2}/codenib/web/local.py +31 -7
  94. {codenib-0.2.1 → codenib-0.2.2}/codenib/web/modulemap.py +97 -19
  95. {codenib-0.2.1 → codenib-0.2.2}/codenib/web/native_authority.py +17 -8
  96. {codenib-0.2.1 → codenib-0.2.2}/codenib/web/repo_registry.py +420 -76
  97. {codenib-0.2.1 → codenib-0.2.2}/codenib/web/repository_files.py +57 -7
  98. {codenib-0.2.1 → codenib-0.2.2}/codenib/web/schemas.py +141 -8
  99. {codenib-0.2.1 → codenib-0.2.2}/codenib/web/static_export.py +324 -215
  100. {codenib-0.2.1 → codenib-0.2.2}/codenib/wiki/agent_wiki.py +1138 -98
  101. {codenib-0.2.1 → codenib-0.2.2}/codenib/wiki/builder.py +152 -25
  102. codenib-0.2.2/codenib/wiki/cache_audit.py +309 -0
  103. {codenib-0.2.1 → codenib-0.2.2}/codenib/wiki/evidence.py +66 -7
  104. codenib-0.2.2/codenib/wiki/media_generation.py +886 -0
  105. codenib-0.2.2/codenib/wiki/multimodal.py +147 -0
  106. {codenib-0.2.1 → codenib-0.2.2}/codenib/wiki/outline.py +46 -28
  107. codenib-0.2.2/codenib/wiki/prewarm.py +316 -0
  108. {codenib-0.2.1 → codenib-0.2.2}/codenib/wiki/quality.py +167 -19
  109. {codenib-0.2.1 → codenib-0.2.2}/codenib.egg-info/PKG-INFO +52 -19
  110. {codenib-0.2.1 → codenib-0.2.2}/codenib.egg-info/SOURCES.txt +108 -71
  111. codenib-0.2.2/native/workspace_owner.c +3881 -0
  112. {codenib-0.2.1 → codenib-0.2.2}/pyproject.toml +1 -1
  113. {codenib-0.2.1 → codenib-0.2.2}/server.json +3 -3
  114. {codenib-0.2.1 → codenib-0.2.2}/setup.py +16 -3
  115. {codenib-0.2.1 → codenib-0.2.2}/test/test_atomic_directory.py +2967 -156
  116. {codenib-0.2.1 → codenib-0.2.2}/test/test_bounded_json.py +97 -1
  117. {codenib-0.2.1 → codenib-0.2.2}/test/test_captured_directory.py +238 -3
  118. codenib-0.2.2/test/test_cli.py +4010 -0
  119. {codenib-0.2.1 → codenib-0.2.2}/test/test_codegraph_onboarding.py +64 -2
  120. codenib-0.2.2/test/test_local_workspace_provider.py +771 -0
  121. {codenib-0.2.1 → codenib-0.2.2}/test/test_mcp_registry.py +2 -2
  122. codenib-0.2.2/test/test_release_artifacts.py +730 -0
  123. codenib-0.2.2/test/test_repository_source_selection.py +321 -0
  124. codenib-0.2.2/test/test_repository_source_selection_cli.py +114 -0
  125. {codenib-0.2.1 → codenib-0.2.2}/test/test_source_fingerprint.py +1203 -25
  126. {codenib-0.2.1 → codenib-0.2.2}/test/test_toolchains.py +15 -0
  127. {codenib-0.2.1 → codenib-0.2.2}/test/test_vector_pre_model_authorization.py +17 -1
  128. codenib-0.2.2/test/test_workspace_owner.py +1098 -0
  129. codenib-0.2.2/test/test_workspace_provider.py +1594 -0
  130. {codenib-0.2.1 → codenib-0.2.2}/web/app/[repoId]/ask/page.tsx +77 -2
  131. {codenib-0.2.1 → codenib-0.2.2}/web/app/[repoId]/page.tsx +309 -38
  132. {codenib-0.2.1 → codenib-0.2.2}/web/app/globals.css +463 -10
  133. {codenib-0.2.1 → codenib-0.2.2}/web/components/CodePanel.tsx +143 -14
  134. codenib-0.2.1/web/dist/assets/AskBar-B3upmd6s.js → codenib-0.2.2/web/dist/assets/AskBar-DiJdVsAg.js +3 -3
  135. codenib-0.2.1/web/dist/assets/CodeGraph-ChuiMUI1.js → codenib-0.2.2/web/dist/assets/CodeGraph-C6T8Ji-q.js +1 -1
  136. codenib-0.2.2/web/dist/assets/CodePanel-CuNH_lmV.js +1 -0
  137. codenib-0.2.1/web/dist/assets/Codemap-zdixuL_p.js → codenib-0.2.2/web/dist/assets/Codemap-EuNd3aNn.js +1 -1
  138. codenib-0.2.1/web/dist/assets/GraphView-DPjUPH5E.js → codenib-0.2.2/web/dist/assets/GraphView-DbU4s7e6.js +2 -2
  139. codenib-0.2.1/web/dist/assets/Header-BOQWmvqu.js → codenib-0.2.2/web/dist/assets/Header-DTpu1R8d.js +1 -1
  140. codenib-0.2.1/web/dist/assets/HighlightedBlock-Dw901pNj.js → codenib-0.2.2/web/dist/assets/HighlightedBlock-AnsqcW7n.js +1 -1
  141. codenib-0.2.1/web/dist/assets/HighlightedCode-1G3lmJx2.js → codenib-0.2.2/web/dist/assets/HighlightedCode-16YOPh7P.js +1 -1
  142. codenib-0.2.1/web/dist/assets/Mermaid-BLjyLtH5.js → codenib-0.2.2/web/dist/assets/Mermaid-DoTBXSj1.js +4 -4
  143. codenib-0.2.1/web/dist/assets/abnfDiagram-N423BO3Z-Dy3ss7CE.js → codenib-0.2.2/web/dist/assets/abnfDiagram-N423BO3Z-DPNUHc2-.js +1 -1
  144. codenib-0.2.2/web/dist/assets/api-CPMHldTq.js +1 -0
  145. codenib-0.2.1/web/dist/assets/arc-yUywNrmm.js → codenib-0.2.2/web/dist/assets/arc-CgMW27ju.js +1 -1
  146. codenib-0.2.1/web/dist/assets/architectureDiagram-T3A2C74G-CToFiY85.js → codenib-0.2.2/web/dist/assets/architectureDiagram-T3A2C74G-DPG84uEH.js +1 -1
  147. codenib-0.2.1/web/dist/assets/blockDiagram-VBNYF7ZC-Bnzg1RML.js → codenib-0.2.2/web/dist/assets/blockDiagram-VBNYF7ZC-gY-9wuCs.js +1 -1
  148. codenib-0.2.1/web/dist/assets/c4Diagram-5PPSVZJV-D5NbPc8-.js → codenib-0.2.2/web/dist/assets/c4Diagram-5PPSVZJV-Cvw3QJKZ.js +1 -1
  149. codenib-0.2.2/web/dist/assets/channel-DQAgHv6Q.js +1 -0
  150. codenib-0.2.1/web/dist/assets/chunk-2GRJ4B5K-DJfjNYon.js → codenib-0.2.2/web/dist/assets/chunk-2GRJ4B5K-Bd8b6s66.js +1 -1
  151. codenib-0.2.1/web/dist/assets/chunk-2Q5K7J3B-BeS_lyE4.js → codenib-0.2.2/web/dist/assets/chunk-2Q5K7J3B-D1oWLBG7.js +1 -1
  152. codenib-0.2.1/web/dist/assets/chunk-5RXB4S5H-BZGW3oat.js → codenib-0.2.2/web/dist/assets/chunk-5RXB4S5H-C3AxE2jy.js +1 -1
  153. codenib-0.2.1/web/dist/assets/chunk-5VM5RSS4-CZgw_KCU.js → codenib-0.2.2/web/dist/assets/chunk-5VM5RSS4-D6XhP-jw.js +1 -1
  154. codenib-0.2.1/web/dist/assets/chunk-6Q2QTUOP-C0hNnxhl.js → codenib-0.2.2/web/dist/assets/chunk-6Q2QTUOP-BqxoWlKq.js +1 -1
  155. codenib-0.2.1/web/dist/assets/chunk-GF5L2VYU-pUMsyRuh.js → codenib-0.2.2/web/dist/assets/chunk-GF5L2VYU-tU5u_HPV.js +1 -1
  156. codenib-0.2.1/web/dist/assets/chunk-JWPE2WC7-YhLqy_Wp.js → codenib-0.2.2/web/dist/assets/chunk-JWPE2WC7-Ca5gQvfo.js +1 -1
  157. codenib-0.2.1/web/dist/assets/chunk-KBJHAD2P-Byy1spzR.js → codenib-0.2.2/web/dist/assets/chunk-KBJHAD2P-CJGP4tzF.js +1 -1
  158. codenib-0.2.1/web/dist/assets/chunk-RYQCIY6F-DJKqS-rL.js → codenib-0.2.2/web/dist/assets/chunk-RYQCIY6F-CccM70iZ.js +1 -1
  159. codenib-0.2.1/web/dist/assets/chunk-XXDRQBXY-D_S26S9E.js → codenib-0.2.2/web/dist/assets/chunk-XXDRQBXY-CkQOD8ED.js +1 -1
  160. codenib-0.2.2/web/dist/assets/classDiagram-JCYQIIEL-Mm3oXoXv.js +1 -0
  161. codenib-0.2.2/web/dist/assets/classDiagram-v2-OCEON4UE-Mm3oXoXv.js +1 -0
  162. codenib-0.2.1/web/dist/assets/cose-bilkent-JH36ORCC-CcjMZZCt.js → codenib-0.2.2/web/dist/assets/cose-bilkent-JH36ORCC-Dm9rOwqG.js +1 -1
  163. codenib-0.2.1/web/dist/assets/cynefin-VYW2F7L2-heeOf39K.js → codenib-0.2.2/web/dist/assets/cynefin-VYW2F7L2-DHHQO_Nd.js +1 -1
  164. codenib-0.2.1/web/dist/assets/cynefinDiagram-MW4NZA55-CUMAEaG9.js → codenib-0.2.2/web/dist/assets/cynefinDiagram-MW4NZA55-ByewwyBe.js +1 -1
  165. codenib-0.2.1/web/dist/assets/dagre-VZM6K2ZE-ViLuwFOe.js → codenib-0.2.2/web/dist/assets/dagre-VZM6K2ZE-DtWG4zrD.js +1 -1
  166. codenib-0.2.1/web/dist/assets/diagram-7IWD3JNH-BrfBiV_t.js → codenib-0.2.2/web/dist/assets/diagram-7IWD3JNH-l6R1Fs0x.js +1 -1
  167. codenib-0.2.1/web/dist/assets/diagram-B4RE2ZJO-sCX6HQwa.js → codenib-0.2.2/web/dist/assets/diagram-B4RE2ZJO-DBSH3eXP.js +1 -1
  168. codenib-0.2.1/web/dist/assets/diagram-LBJQPF4R-BS23sT-d.js → codenib-0.2.2/web/dist/assets/diagram-LBJQPF4R-qrueljZv.js +1 -1
  169. codenib-0.2.1/web/dist/assets/diagram-Q27KOJAE-ClCJWNfr.js → codenib-0.2.2/web/dist/assets/diagram-Q27KOJAE-4wm74SS3.js +1 -1
  170. codenib-0.2.1/web/dist/assets/diagram-UB23O5K3-dgHk66lf.js → codenib-0.2.2/web/dist/assets/diagram-UB23O5K3-cd8PNmv-.js +1 -1
  171. codenib-0.2.1/web/dist/assets/ebnfDiagram-BXEA7PRR-DjCd7Brk.js → codenib-0.2.2/web/dist/assets/ebnfDiagram-BXEA7PRR-B4idecbY.js +1 -1
  172. codenib-0.2.1/web/dist/assets/erDiagram-JOGREHBK-Ck4BT9zi.js → codenib-0.2.2/web/dist/assets/erDiagram-JOGREHBK-mTJVh6E5.js +1 -1
  173. codenib-0.2.1/web/dist/assets/flowDiagram-UKHOOZJN-DLHDFBtl.js → codenib-0.2.2/web/dist/assets/flowDiagram-UKHOOZJN-CkrFSLB5.js +1 -1
  174. codenib-0.2.1/web/dist/assets/ganttDiagram-PKOTCBZU-CZMcU1od.js → codenib-0.2.2/web/dist/assets/ganttDiagram-PKOTCBZU-hrhdmpWn.js +1 -1
  175. codenib-0.2.1/web/dist/assets/gitGraphDiagram-DS77QQ5N-DGssT-7E.js → codenib-0.2.2/web/dist/assets/gitGraphDiagram-DS77QQ5N-C1V8kJt8.js +1 -1
  176. codenib-0.2.1/web/dist/assets/highlight-CatKzijE.js → codenib-0.2.2/web/dist/assets/highlight-BMMw0pcp.js +1 -1
  177. codenib-0.2.1/web/dist/assets/index-BSmleDd1.js → codenib-0.2.2/web/dist/assets/index-DH1ed8RR.js +6 -6
  178. codenib-0.2.2/web/dist/assets/index-cFUY6sEV.css +1 -0
  179. codenib-0.2.1/web/dist/assets/infoDiagram-6WML65LV-Db3xtGXC.js → codenib-0.2.2/web/dist/assets/infoDiagram-6WML65LV-BtARLp8i.js +1 -1
  180. codenib-0.2.1/web/dist/assets/ishikawaDiagram-WSZJBQD7-KKrq9NZu.js → codenib-0.2.2/web/dist/assets/ishikawaDiagram-WSZJBQD7-Da2YryI-.js +1 -1
  181. codenib-0.2.1/web/dist/assets/journeyDiagram-NVQOT4AX-D4TJJ2Kf.js → codenib-0.2.2/web/dist/assets/journeyDiagram-NVQOT4AX-CxuMFRtK.js +1 -1
  182. codenib-0.2.1/web/dist/assets/kanban-definition-27J2QSJJ-DMre8rgX.js → codenib-0.2.2/web/dist/assets/kanban-definition-27J2QSJJ-DP3K-G4t.js +1 -1
  183. codenib-0.2.1/web/dist/assets/linear-BQ6WF-wb.js → codenib-0.2.2/web/dist/assets/linear-CkOnLbQM.js +1 -1
  184. codenib-0.2.1/web/dist/assets/mindmap-definition-FAOFIHXS-D9hbLhkJ.js → codenib-0.2.2/web/dist/assets/mindmap-definition-FAOFIHXS-CtUOHHmE.js +1 -1
  185. codenib-0.2.1/web/dist/assets/page-DnjLV-Jl.js → codenib-0.2.2/web/dist/assets/page-CNtLIuD3.js +1 -1
  186. codenib-0.2.1/web/dist/assets/page-8oroBMrE.js → codenib-0.2.2/web/dist/assets/page-DcOA6uct.js +1 -1
  187. codenib-0.2.2/web/dist/assets/page-Qn3AJhlw.js +2 -0
  188. codenib-0.2.2/web/dist/assets/page-a28I-7Gb.js +1 -0
  189. codenib-0.2.1/web/dist/assets/pegDiagram-VL7TDLO6-CNvlJssP.js → codenib-0.2.2/web/dist/assets/pegDiagram-VL7TDLO6-CCD_MUJb.js +1 -1
  190. codenib-0.2.1/web/dist/assets/pieDiagram-7S7Q4E2Y-CgMkh4Jg.js → codenib-0.2.2/web/dist/assets/pieDiagram-7S7Q4E2Y-BGxAmmsz.js +1 -1
  191. codenib-0.2.1/web/dist/assets/quadrantDiagram-CIZ2JOQS-f5OLyUaA.js → codenib-0.2.2/web/dist/assets/quadrantDiagram-CIZ2JOQS-Ba7_9Wax.js +1 -1
  192. codenib-0.2.1/web/dist/assets/railroadDiagram-AXF67PYL-CnMSfPV6.js → codenib-0.2.2/web/dist/assets/railroadDiagram-AXF67PYL-Da5bAMQ3.js +1 -1
  193. codenib-0.2.1/web/dist/assets/requirementDiagram-LRYGKXZP-BzIKmVVu.js → codenib-0.2.2/web/dist/assets/requirementDiagram-LRYGKXZP-DPG4aOUi.js +1 -1
  194. codenib-0.2.1/web/dist/assets/sankeyDiagram-W5VNT64P-Bst4UhUv.js → codenib-0.2.2/web/dist/assets/sankeyDiagram-W5VNT64P-Wzo-1gO4.js +1 -1
  195. codenib-0.2.1/web/dist/assets/sequenceDiagram-SI44F4Z6-ctzfVTBi.js → codenib-0.2.2/web/dist/assets/sequenceDiagram-SI44F4Z6-CMyW1qkg.js +1 -1
  196. codenib-0.2.1/web/dist/assets/sizeCapture-X5ZJPWSS-CZ003cCI.js → codenib-0.2.2/web/dist/assets/sizeCapture-X5ZJPWSS-CznbH2Pl.js +1 -1
  197. codenib-0.2.1/web/dist/assets/stateDiagram-OKZ733FA-Cj8btPKt.js → codenib-0.2.2/web/dist/assets/stateDiagram-OKZ733FA-C6TxOIOY.js +1 -1
  198. codenib-0.2.2/web/dist/assets/stateDiagram-v2-UEYNNEHI-DvtHOaBR.js +1 -0
  199. codenib-0.2.1/web/dist/assets/swimlanes-SLNWSIFB-DkUrCUSS.js → codenib-0.2.2/web/dist/assets/swimlanes-SLNWSIFB-SpEJSmLX.js +2 -2
  200. codenib-0.2.2/web/dist/assets/swimlanesDiagram-ULZ7WXOC-oYfpSIrb.js +8 -0
  201. codenib-0.2.1/web/dist/assets/timeline-definition-Z64GVDOM-DOLDEiwe.js → codenib-0.2.2/web/dist/assets/timeline-definition-Z64GVDOM-Dzws7tk8.js +1 -1
  202. codenib-0.2.1/web/dist/assets/vennDiagram-T6HMQDX7-CcO80YRi.js → codenib-0.2.2/web/dist/assets/vennDiagram-T6HMQDX7-Bz8ACBBt.js +1 -1
  203. codenib-0.2.1/web/dist/assets/wardleyDiagram-T6FBY63Y-cQ2FAMfk.js → codenib-0.2.2/web/dist/assets/wardleyDiagram-T6FBY63Y-Dba4Uv1N.js +1 -1
  204. codenib-0.2.1/web/dist/assets/xychartDiagram-ELKLHX3M-DRPK-jDh.js → codenib-0.2.2/web/dist/assets/xychartDiagram-ELKLHX3M-BQVriCQJ.js +1 -1
  205. {codenib-0.2.1 → codenib-0.2.2}/web/dist/index.html +10 -2
  206. {codenib-0.2.1 → codenib-0.2.2}/web/index.html +8 -0
  207. codenib-0.2.2/web/lib/api.test.ts +341 -0
  208. {codenib-0.2.1 → codenib-0.2.2}/web/lib/api.ts +152 -10
  209. {codenib-0.2.1 → codenib-0.2.2}/web/lib/citations.test.ts +15 -0
  210. {codenib-0.2.1 → codenib-0.2.2}/web/lib/citations.ts +8 -1
  211. codenib-0.2.2/web/lib/relatedWiki.test.ts +127 -0
  212. codenib-0.2.2/web/lib/relatedWiki.ts +164 -0
  213. {codenib-0.2.1 → codenib-0.2.2}/web/lib/runtime.test.ts +16 -0
  214. {codenib-0.2.1 → codenib-0.2.2}/web/lib/runtime.ts +20 -0
  215. codenib-0.2.2/web/lib/sourceNavigation.test.ts +24 -0
  216. codenib-0.2.2/web/lib/sourceNavigation.ts +24 -0
  217. {codenib-0.2.1 → codenib-0.2.2}/web/src/main.tsx +8 -1
  218. codenib-0.2.2/web/vite.config.test.ts +27 -0
  219. {codenib-0.2.1 → codenib-0.2.2}/web/vite.config.ts +14 -6
  220. codenib-0.2.1/codenib/artifacts/security.py +0 -211
  221. codenib-0.2.1/codenib/clients/guardian/__init__.py +0 -45
  222. codenib-0.2.1/codenib/clients/guardian/agent.py +0 -122
  223. codenib-0.2.1/codenib/clients/guardian/aggregation.py +0 -53
  224. codenib-0.2.1/codenib/clients/guardian/artifacts.py +0 -68
  225. codenib-0.2.1/codenib/clients/guardian/discovery.py +0 -66
  226. codenib-0.2.1/codenib/clients/guardian/evidence.py +0 -101
  227. codenib-0.2.1/codenib/clients/guardian/memory.py +0 -316
  228. codenib-0.2.1/codenib/clients/guardian/normalization.py +0 -141
  229. codenib-0.2.1/codenib/clients/guardian/prompts.py +0 -242
  230. codenib-0.2.1/codenib/clients/guardian/types.py +0 -287
  231. codenib-0.2.1/codenib/compiler/__init__.py +0 -110
  232. codenib-0.2.1/codenib/compiler/manifest.py +0 -243
  233. codenib-0.2.1/codenib/scip_interface/typescript_semantics.py +0 -269
  234. codenib-0.2.1/codenib/storage/protocols.py +0 -172
  235. codenib-0.2.1/test/test_cli.py +0 -1577
  236. codenib-0.2.1/test/test_release_artifacts.py +0 -367
  237. codenib-0.2.1/web/dist/assets/CodePanel-Djgxf9yA.js +0 -1
  238. codenib-0.2.1/web/dist/assets/api-R6_McIFV.js +0 -1
  239. codenib-0.2.1/web/dist/assets/channel-ChMrQwZ3.js +0 -1
  240. codenib-0.2.1/web/dist/assets/classDiagram-JCYQIIEL-D2TB-l75.js +0 -1
  241. codenib-0.2.1/web/dist/assets/classDiagram-v2-OCEON4UE-D2TB-l75.js +0 -1
  242. codenib-0.2.1/web/dist/assets/index-D9elJNZV.css +0 -1
  243. codenib-0.2.1/web/dist/assets/page-BqZS9Ckw.js +0 -2
  244. codenib-0.2.1/web/dist/assets/page-D1eysQ-j.js +0 -1
  245. codenib-0.2.1/web/dist/assets/stateDiagram-v2-UEYNNEHI-Daf8jmFv.js +0 -1
  246. codenib-0.2.1/web/dist/assets/swimlanesDiagram-ULZ7WXOC-Bf7bI_O3.js +0 -8
  247. codenib-0.2.1/web/lib/api.test.ts +0 -30
  248. {codenib-0.2.1 → codenib-0.2.2}/CONTRIBUTING.md +0 -0
  249. {codenib-0.2.1 → codenib-0.2.2}/LICENSE +0 -0
  250. {codenib-0.2.1 → codenib-0.2.2}/codenib/__main__.py +0 -0
  251. {codenib-0.2.1 → codenib-0.2.2}/codenib/_lazy.py +0 -0
  252. {codenib-0.2.1 → codenib-0.2.2}/codenib/_optional_entrypoints.py +0 -0
  253. {codenib-0.2.1 → codenib-0.2.2}/codenib/_owned_file_publication.py +0 -0
  254. {codenib-0.2.1 → codenib-0.2.2}/codenib/_secret_fields.py +0 -0
  255. {codenib-0.2.1 → codenib-0.2.2}/codenib/_version.py +0 -0
  256. {codenib-0.2.1 → codenib-0.2.2}/codenib/_windows_fs_authority.py +0 -0
  257. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/__init__.py +0 -0
  258. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/agent_types.py +0 -0
  259. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/boundary.py +0 -0
  260. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/compile.py +0 -0
  261. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/extract_agent.py +0 -0
  262. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/harness.py +0 -0
  263. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/history.py +0 -0
  264. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/lsp_graph.py +0 -0
  265. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/rerank_agent.py +0 -0
  266. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/resource_guard.py +0 -0
  267. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/route_context.py +0 -0
  268. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/runtime/__init__.py +0 -0
  269. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/runtime/context.py +0 -0
  270. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/runtime/explorer.py +0 -0
  271. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/runtime/trace.py +0 -0
  272. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/__init__.py +0 -0
  273. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/_graphnav.py +0 -0
  274. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/bm25_search/__init__.py +0 -0
  275. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/bm25_search/config.yaml +0 -0
  276. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/bm25_search/executor.py +0 -0
  277. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/bm25_search/skill.md +0 -0
  278. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/code_to_query/__init__.py +0 -0
  279. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/code_to_query/config.yaml +0 -0
  280. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/code_to_query/executor.py +0 -0
  281. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/code_to_query/skill.md +0 -0
  282. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/codenib_context/__init__.py +0 -0
  283. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/codenib_context/config.yaml +0 -0
  284. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/codenib_context/executor.py +0 -0
  285. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/codenib_context/skill.md +0 -0
  286. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/context.py +0 -0
  287. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/core.py +0 -0
  288. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/crossencoder_rerank/__init__.py +0 -0
  289. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/crossencoder_rerank/config.yaml +0 -0
  290. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/crossencoder_rerank/executor.py +0 -0
  291. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/crossencoder_rerank/skill.md +0 -0
  292. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/embedding_search/__init__.py +0 -0
  293. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/embedding_search/config.yaml +0 -0
  294. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/embedding_search/executor.py +0 -0
  295. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/embedding_search/skill.md +0 -0
  296. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/find_callees/__init__.py +0 -0
  297. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/find_callees/config.yaml +0 -0
  298. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/find_callees/executor.py +0 -0
  299. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/find_callees/skill.md +0 -0
  300. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/find_callers/__init__.py +0 -0
  301. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/find_callers/config.yaml +0 -0
  302. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/find_callers/executor.py +0 -0
  303. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/find_callers/skill.md +0 -0
  304. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/hybrid_search/__init__.py +0 -0
  305. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/hybrid_search/config.yaml +0 -0
  306. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/hybrid_search/executor.py +0 -0
  307. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/hybrid_search/skill.md +0 -0
  308. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/llm_rerank/__init__.py +0 -0
  309. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/llm_rerank/config.yaml +0 -0
  310. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/llm_rerank/executor.py +0 -0
  311. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/llm_rerank/skill.md +0 -0
  312. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/loader.py +0 -0
  313. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/lsp_definition/config.yaml +0 -0
  314. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/lsp_definition/executor.py +0 -0
  315. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/lsp_definition/skill.md +0 -0
  316. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/lsp_references/config.yaml +0 -0
  317. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/lsp_references/executor.py +0 -0
  318. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/lsp_references/skill.md +0 -0
  319. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/lsp_route/config.yaml +0 -0
  320. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/lsp_route/executor.py +0 -0
  321. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/lsp_route/skill.md +0 -0
  322. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/registry.py +0 -0
  323. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/repository_search/config.yaml +0 -0
  324. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/repository_search/executor.py +0 -0
  325. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/repository_search/skill.md +0 -0
  326. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/trace/__init__.py +0 -0
  327. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/trace/config.yaml +0 -0
  328. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/trace/executor.py +0 -0
  329. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/trace/skill.md +0 -0
  330. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/skills/typecheck.py +0 -0
  331. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/tool_schema.py +0 -0
  332. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/tools/__init__.py +0 -0
  333. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/tools/defaults.py +0 -0
  334. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/tools/grep_worker.py +0 -0
  335. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/tools/sandbox.py +0 -0
  336. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/tools/spec.py +0 -0
  337. {codenib-0.2.1 → codenib-0.2.2}/codenib/agent/utils.py +0 -0
  338. {codenib-0.2.1 → codenib-0.2.2}/codenib/artifacts/archive.py +0 -0
  339. {codenib-0.2.1 → codenib-0.2.2}/codenib/artifacts/context.py +0 -0
  340. {codenib-0.2.1 → codenib-0.2.2}/codenib/artifacts/github.py +0 -0
  341. {codenib-0.2.1 → codenib-0.2.2}/codenib/artifacts/mcp_config.py +0 -0
  342. {codenib-0.2.1 → codenib-0.2.2}/codenib/clients/__init__.py +0 -0
  343. {codenib-0.2.1 → codenib-0.2.2}/codenib/clients/agentless_agent.py +0 -0
  344. {codenib-0.2.1 → codenib-0.2.2}/codenib/clients/agentless_protocol.py +0 -0
  345. {codenib-0.2.1 → codenib-0.2.2}/codenib/clients/claude_agent.py +0 -0
  346. {codenib-0.2.1 → codenib-0.2.2}/codenib/clients/codex_agent.py +0 -0
  347. {codenib-0.2.1 → codenib-0.2.2}/codenib/clients/cosil_agent.py +0 -0
  348. {codenib-0.2.1 → codenib-0.2.2}/codenib/clients/cosil_protocol.py +0 -0
  349. {codenib-0.2.1 → codenib-0.2.2}/codenib/clients/execution/__init__.py +0 -0
  350. {codenib-0.2.1 → codenib-0.2.2}/codenib/clients/execution/codex.py +0 -0
  351. {codenib-0.2.1 → codenib-0.2.2}/codenib/clients/execution/process.py +0 -0
  352. {codenib-0.2.1 → codenib-0.2.2}/codenib/clients/execution/protocol.py +0 -0
  353. {codenib-0.2.1 → codenib-0.2.2}/codenib/clients/execution/types.py +0 -0
  354. {codenib-0.2.1 → codenib-0.2.2}/codenib/clients/guardian/interaction.py +0 -0
  355. {codenib-0.2.1 → codenib-0.2.2}/codenib/clients/guardian/provenance.py +0 -0
  356. {codenib-0.2.1 → codenib-0.2.2}/codenib/clients/locagent_agent.py +0 -0
  357. {codenib-0.2.1 → codenib-0.2.2}/codenib/clients/locagent_protocol.py +0 -0
  358. {codenib-0.2.1 → codenib-0.2.2}/codenib/clients/orcaloca_agent.py +0 -0
  359. {codenib-0.2.1 → codenib-0.2.2}/codenib/code_chunking/__init__.py +0 -0
  360. {codenib-0.2.1 → codenib-0.2.2}/codenib/code_chunking/cpp_chunker.py +0 -0
  361. {codenib-0.2.1 → codenib-0.2.2}/codenib/code_chunking/csharp_chunker.py +0 -0
  362. {codenib-0.2.1 → codenib-0.2.2}/codenib/code_chunking/go_chunker.py +0 -0
  363. {codenib-0.2.1 → codenib-0.2.2}/codenib/code_chunking/java_chunker.py +0 -0
  364. {codenib-0.2.1 → codenib-0.2.2}/codenib/code_chunking/js_chunker.py +0 -0
  365. {codenib-0.2.1 → codenib-0.2.2}/codenib/code_chunking/kotlin_chunker.py +0 -0
  366. {codenib-0.2.1 → codenib-0.2.2}/codenib/code_chunking/lua_chunker.py +0 -0
  367. {codenib-0.2.1 → codenib-0.2.2}/codenib/code_chunking/php_chunker.py +0 -0
  368. {codenib-0.2.1 → codenib-0.2.2}/codenib/code_chunking/python_chunker.py +0 -0
  369. {codenib-0.2.1 → codenib-0.2.2}/codenib/code_chunking/ruby_chunker.py +0 -0
  370. {codenib-0.2.1 → codenib-0.2.2}/codenib/code_chunking/rust_chunker.py +0 -0
  371. {codenib-0.2.1 → codenib-0.2.2}/codenib/code_chunking/scala_chunker.py +0 -0
  372. {codenib-0.2.1 → codenib-0.2.2}/codenib/code_chunking/swift_chunker.py +0 -0
  373. {codenib-0.2.1 → codenib-0.2.2}/codenib/codegraph_onboarding.py +0 -0
  374. {codenib-0.2.1 → codenib-0.2.2}/codenib/compat_pickle.py +0 -0
  375. {codenib-0.2.1 → codenib-0.2.2}/codenib/compiler/artifact_fingerprints.py +0 -0
  376. {codenib-0.2.1 → codenib-0.2.2}/codenib/compiler/params.py +0 -0
  377. {codenib-0.2.1 → codenib-0.2.2}/codenib/compiler/resources.py +0 -0
  378. {codenib-0.2.1 → codenib-0.2.2}/codenib/compiler/snapshot_store.py +0 -0
  379. {codenib-0.2.1 → codenib-0.2.2}/codenib/compiler/verification.py +0 -0
  380. {codenib-0.2.1 → codenib-0.2.2}/codenib/context_delivery.py +0 -0
  381. {codenib-0.2.1 → codenib-0.2.2}/codenib/dataset/__init__.py +0 -0
  382. {codenib-0.2.1 → codenib-0.2.2}/codenib/dataset/base.py +0 -0
  383. {codenib-0.2.1 → codenib-0.2.2}/codenib/dataset/codenib_base.py +0 -0
  384. {codenib-0.2.1 → codenib-0.2.2}/codenib/dataset/codenib_synthesis.py +0 -0
  385. {codenib-0.2.1 → codenib-0.2.2}/codenib/dataset/collect/difficulty_classifier.py +0 -0
  386. {codenib-0.2.1 → codenib-0.2.2}/codenib/dataset/collect/swebench_sample.py +0 -0
  387. {codenib-0.2.1 → codenib-0.2.2}/codenib/dataset/gt_locate.py +0 -0
  388. {codenib-0.2.1 → codenib-0.2.2}/codenib/dataset/local_json.py +0 -0
  389. {codenib-0.2.1 → codenib-0.2.2}/codenib/dataset/locbench.py +0 -0
  390. {codenib-0.2.1 → codenib-0.2.2}/codenib/dataset/swebench.py +0 -0
  391. {codenib-0.2.1 → codenib-0.2.2}/codenib/dataset/swebench_multilingual.py +0 -0
  392. {codenib-0.2.1 → codenib-0.2.2}/codenib/dataset/synthesize/__init__.py +0 -0
  393. {codenib-0.2.1 → codenib-0.2.2}/codenib/dataset/synthesize/_agent.py +0 -0
  394. {codenib-0.2.1 → codenib-0.2.2}/codenib/dataset/synthesize/_types.py +0 -0
  395. {codenib-0.2.1 → codenib-0.2.2}/codenib/dataset/synthesize/context_loader.py +0 -0
  396. {codenib-0.2.1 → codenib-0.2.2}/codenib/dataset/synthesize/query_curator.py +0 -0
  397. {codenib-0.2.1 → codenib-0.2.2}/codenib/dataset/synthesize/query_synthesizer.py +0 -0
  398. {codenib-0.2.1 → codenib-0.2.2}/codenib/dataset/synthesize/verifier.py +0 -0
  399. {codenib-0.2.1 → codenib-0.2.2}/codenib/dataset/synthesize/vocab_guard.py +0 -0
  400. {codenib-0.2.1 → codenib-0.2.2}/codenib/dataset/utils.py +0 -0
  401. {codenib-0.2.1 → codenib-0.2.2}/codenib/dataset_ids.py +0 -0
  402. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/__init__.py +0 -0
  403. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/agent_runner/__init__.py +0 -0
  404. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/agent_runner/baseline.py +0 -0
  405. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/agent_runner/batch.py +0 -0
  406. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/agent_runner/contexts.py +0 -0
  407. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/agent_runner/feedback.py +0 -0
  408. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/agent_runner/feedback_summary.py +0 -0
  409. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/agent_runner/format_diagnostics.py +0 -0
  410. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/agent_runner/live_lsp_provider.py +0 -0
  411. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/agent_runner/loc_baseline.py +0 -0
  412. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/agent_runner/lsp_agent_ab.py +0 -0
  413. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/agent_runner/lsp_agent_study.py +0 -0
  414. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/agent_runner/lsp_agent_study_analysis.py +0 -0
  415. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/agent_runner/lsp_agent_study_artifacts.py +0 -0
  416. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/agent_runner/lsp_agent_study_manifest.py +0 -0
  417. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/agent_runner/lsp_agent_study_runner.py +0 -0
  418. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/agent_runner/lsp_baseline.py +0 -0
  419. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/agent_runner/lsp_latency.py +0 -0
  420. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/agent_runner/lsp_provider_cli.py +0 -0
  421. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/agent_runner/lsp_provider_validation.py +0 -0
  422. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/agent_runner/lsp_readiness.py +0 -0
  423. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/agent_runner/lsp_replay_benchmark.py +0 -0
  424. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/agent_runner/metrics.py +0 -0
  425. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/agent_runner/orchestrator.py +0 -0
  426. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/agent_runner/pareto.py +0 -0
  427. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/agent_runner/prebuilt.py +0 -0
  428. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/agent_runner/preload.py +0 -0
  429. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/agent_runner/promotion.py +0 -0
  430. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/agent_runner/query_sweep.py +0 -0
  431. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/agent_runner/results.py +0 -0
  432. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/agent_runner/scoring.py +0 -0
  433. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/agent_runner/sweep.py +0 -0
  434. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/agent_runner/sweep_config.py +0 -0
  435. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/agent_runner/symbols.py +0 -0
  436. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/agent_runner/trace_summary.py +0 -0
  437. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/agent_runner/verify_expand.py +0 -0
  438. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/artifact_bundle.py +0 -0
  439. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/artifact_integrity.py +0 -0
  440. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/artifact_manifest.py +0 -0
  441. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/baseline.py +0 -0
  442. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/benchmarks/__init__.py +0 -0
  443. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/benchmarks/agentless.py +0 -0
  444. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/benchmarks/cosil.py +0 -0
  445. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/benchmarks/deepswe/__init__.py +0 -0
  446. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/benchmarks/deepswe/metrics.py +0 -0
  447. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/benchmarks/deepswe/results.py +0 -0
  448. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/benchmarks/locagent.py +0 -0
  449. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/benchmarks/orcaloca.py +0 -0
  450. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/benchmarks/policy_benchmark.py +0 -0
  451. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/benchmarks/policy_compat.py +0 -0
  452. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/benchmarks/swe_explore.py +0 -0
  453. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/benchmarks/swe_explore_runner.py +0 -0
  454. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/benchmarks/swebench_policy_cases.py +0 -0
  455. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/experiments/__init__.py +0 -0
  456. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/experiments/lsp_agent_study_policy.py +0 -0
  457. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/loc_agent_runner.py +0 -0
  458. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/pricing/anthropic-direct-2026-08-04.json +0 -0
  459. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/reports/__init__.py +0 -0
  460. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/reports/cost_arm_report.py +0 -0
  461. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/reports/pricing.py +0 -0
  462. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/reports/quality_cost.py +0 -0
  463. {codenib-0.2.1 → codenib-0.2.2}/codenib/eval/retrieval_eval.py +0 -0
  464. {codenib-0.2.1 → codenib-0.2.2}/codenib/facts/__init__.py +0 -0
  465. {codenib-0.2.1 → codenib-0.2.2}/codenib/facts/adapters.py +0 -0
  466. {codenib-0.2.1 → codenib-0.2.2}/codenib/facts/clangd.py +0 -0
  467. {codenib-0.2.1 → codenib-0.2.2}/codenib/facts/convergence.py +0 -0
  468. {codenib-0.2.1 → codenib-0.2.2}/codenib/facts/generation.py +0 -0
  469. {codenib-0.2.1 → codenib-0.2.2}/codenib/facts/model.py +0 -0
  470. {codenib-0.2.1 → codenib-0.2.2}/codenib/facts/resolver.py +0 -0
  471. {codenib-0.2.1 → codenib-0.2.2}/codenib/facts/storage.py +0 -0
  472. {codenib-0.2.1 → codenib-0.2.2}/codenib/git_snapshot.py +0 -0
  473. {codenib-0.2.1 → codenib-0.2.2}/codenib/graph/__init__.py +0 -0
  474. {codenib-0.2.1 → codenib-0.2.2}/codenib/graph/backend_alignment.py +0 -0
  475. {codenib-0.2.1 → codenib-0.2.2}/codenib/graph/dependency.py +0 -0
  476. {codenib-0.2.1 → codenib-0.2.2}/codenib/graph/incremental/__init__.py +0 -0
  477. {codenib-0.2.1 → codenib-0.2.2}/codenib/graph/incremental/change_mgr.py +0 -0
  478. {codenib-0.2.1 → codenib-0.2.2}/codenib/graph/incremental/graph_patcher.py +0 -0
  479. {codenib-0.2.1 → codenib-0.2.2}/codenib/graph/incremental/lsp_client.py +0 -0
  480. {codenib-0.2.1 → codenib-0.2.2}/codenib/graph/incremental/patcher_base.py +0 -0
  481. {codenib-0.2.1 → codenib-0.2.2}/codenib/graph/incremental/patcher_cpp.py +0 -0
  482. {codenib-0.2.1 → codenib-0.2.2}/codenib/graph/incremental/patcher_go.py +0 -0
  483. {codenib-0.2.1 → codenib-0.2.2}/codenib/graph/incremental/patcher_python.py +0 -0
  484. {codenib-0.2.1 → codenib-0.2.2}/codenib/graph/incremental/patcher_rust.py +0 -0
  485. {codenib-0.2.1 → codenib-0.2.2}/codenib/graph/incremental/patcher_ts.py +0 -0
  486. {codenib-0.2.1 → codenib-0.2.2}/codenib/graph/incremental/subgraph_mgr.py +0 -0
  487. {codenib-0.2.1 → codenib-0.2.2}/codenib/graph/layers.py +0 -0
  488. {codenib-0.2.1 → codenib-0.2.2}/codenib/graph/roi_subgraph.py +0 -0
  489. {codenib-0.2.1 → codenib-0.2.2}/codenib/graph/setup.py +0 -0
  490. {codenib-0.2.1 → codenib-0.2.2}/codenib/graph/traverse_graph.py +0 -0
  491. {codenib-0.2.1 → codenib-0.2.2}/codenib/index/__init__.py +0 -0
  492. {codenib-0.2.1 → codenib-0.2.2}/codenib/index/embedding/__init__.py +0 -0
  493. {codenib-0.2.1 → codenib-0.2.2}/codenib/index/embedding/_lifecycle.py +0 -0
  494. {codenib-0.2.1 → codenib-0.2.2}/codenib/index/embedding/artifact_integrity.py +0 -0
  495. {codenib-0.2.1 → codenib-0.2.2}/codenib/index/embedding/prompt_registry.py +0 -0
  496. {codenib-0.2.1 → codenib-0.2.2}/codenib/index/incremental/__init__.py +0 -0
  497. {codenib-0.2.1 → codenib-0.2.2}/codenib/index/incremental/chunk_store.py +0 -0
  498. {codenib-0.2.1 → codenib-0.2.2}/codenib/index/incremental/embeddings_cache.py +0 -0
  499. {codenib-0.2.1 → codenib-0.2.2}/codenib/index/incremental/git_diff.py +0 -0
  500. {codenib-0.2.1 → codenib-0.2.2}/codenib/index/incremental/index_updater.py +0 -0
  501. {codenib-0.2.1 → codenib-0.2.2}/codenib/index/incremental/state.py +0 -0
  502. {codenib-0.2.1 → codenib-0.2.2}/codenib/index/regex_idx/__init__.py +0 -0
  503. {codenib-0.2.1 → codenib-0.2.2}/codenib/index/regex_idx/regex_idx.py +0 -0
  504. {codenib-0.2.1 → codenib-0.2.2}/codenib/index/rerank/__init__.py +0 -0
  505. {codenib-0.2.1 → codenib-0.2.2}/codenib/index/rerank/cross_encoder.py +0 -0
  506. {codenib-0.2.1 → codenib-0.2.2}/codenib/index/sparse_idx/__init__.py +0 -0
  507. {codenib-0.2.1 → codenib-0.2.2}/codenib/index/sparse_idx/bm25_index.py +0 -0
  508. {codenib-0.2.1 → codenib-0.2.2}/codenib/index/trigram/__init__.py +0 -0
  509. {codenib-0.2.1 → codenib-0.2.2}/codenib/index/trigram/zoekt_searcher.py +0 -0
  510. {codenib-0.2.1 → codenib-0.2.2}/codenib/integrations/__init__.py +0 -0
  511. {codenib-0.2.1 → codenib-0.2.2}/codenib/integrations/_orcaloca_python.py +0 -0
  512. {codenib-0.2.1 → codenib-0.2.2}/codenib/integrations/_repository.py +0 -0
  513. {codenib-0.2.1 → codenib-0.2.2}/codenib/integrations/agentless.py +0 -0
  514. {codenib-0.2.1 → codenib-0.2.2}/codenib/integrations/cosil.py +0 -0
  515. {codenib-0.2.1 → codenib-0.2.2}/codenib/integrations/locagent.py +0 -0
  516. {codenib-0.2.1 → codenib-0.2.2}/codenib/integrations/orcaloca.py +0 -0
  517. {codenib-0.2.1 → codenib-0.2.2}/codenib/integrations/swe_explore.py +0 -0
  518. {codenib-0.2.1 → codenib-0.2.2}/codenib/languages.py +0 -0
  519. {codenib-0.2.1 → codenib-0.2.2}/codenib/llm/__init__.py +0 -0
  520. {codenib-0.2.1 → codenib-0.2.2}/codenib/llm/diagnostics.py +0 -0
  521. {codenib-0.2.1 → codenib-0.2.2}/codenib/llm/litellm_chat.py +0 -0
  522. {codenib-0.2.1 → codenib-0.2.2}/codenib/llm/options.py +0 -0
  523. {codenib-0.2.1 → codenib-0.2.2}/codenib/llm/usage.py +0 -0
  524. {codenib-0.2.1 → codenib-0.2.2}/codenib/log_utils.py +0 -0
  525. {codenib-0.2.1 → codenib-0.2.2}/codenib/ls_index/__init__.py +0 -0
  526. {codenib-0.2.1 → codenib-0.2.2}/codenib/ls_index/clangd_contract.py +0 -0
  527. {codenib-0.2.1 → codenib-0.2.2}/codenib/ls_index/clangd_decode.py +0 -0
  528. {codenib-0.2.1 → codenib-0.2.2}/codenib/ls_index/clangd_indexer.py +0 -0
  529. {codenib-0.2.1 → codenib-0.2.2}/codenib/ls_index/index_quality.py +0 -0
  530. {codenib-0.2.1 → codenib-0.2.2}/codenib/ls_index/lsp_graph_decode.py +0 -0
  531. {codenib-0.2.1 → codenib-0.2.2}/codenib/ls_index/lsp_indexer.py +0 -0
  532. {codenib-0.2.1 → codenib-0.2.2}/codenib/ls_router.py +0 -0
  533. {codenib-0.2.1 → codenib-0.2.2}/codenib/mcp/__init__.py +0 -0
  534. {codenib-0.2.1 → codenib-0.2.2}/codenib/mcp/__main__.py +0 -0
  535. {codenib-0.2.1 → codenib-0.2.2}/codenib/mcp/explore_bounds.py +0 -0
  536. {codenib-0.2.1 → codenib-0.2.2}/codenib/mcp/explore_session.py +0 -0
  537. {codenib-0.2.1 → codenib-0.2.2}/codenib/mcp/prompts.py +0 -0
  538. {codenib-0.2.1 → codenib-0.2.2}/codenib/mcp/tool_surface.py +0 -0
  539. {codenib-0.2.1 → codenib-0.2.2}/codenib/mcp/tools/__init__.py +0 -0
  540. {codenib-0.2.1 → codenib-0.2.2}/codenib/mcp/tools/_validation.py +0 -0
  541. {codenib-0.2.1 → codenib-0.2.2}/codenib/mcp/tools/dependency.py +0 -0
  542. {codenib-0.2.1 → codenib-0.2.2}/codenib/mcp/tools/explore.py +0 -0
  543. {codenib-0.2.1 → codenib-0.2.2}/codenib/mcp/tools/lsp.py +0 -0
  544. {codenib-0.2.1 → codenib-0.2.2}/codenib/mcp/tools/search.py +0 -0
  545. {codenib-0.2.1 → codenib-0.2.2}/codenib/mcp/tools/source.py +0 -0
  546. {codenib-0.2.1 → codenib-0.2.2}/codenib/model/__init__.py +0 -0
  547. {codenib-0.2.1 → codenib-0.2.2}/codenib/model/agentless_pipeline.py +0 -0
  548. {codenib-0.2.1 → codenib-0.2.2}/codenib/model/bm25_retrieve_pipeline.py +0 -0
  549. {codenib-0.2.1 → codenib-0.2.2}/codenib/model/dense_graph_expand_rerank_pipeline.py +0 -0
  550. {codenib-0.2.1 → codenib-0.2.2}/codenib/model/embedding_retrieve_pipeline.py +0 -0
  551. {codenib-0.2.1 → codenib-0.2.2}/codenib/model/graph_augmented_rerank_pipeline.py +0 -0
  552. {codenib-0.2.1 → codenib-0.2.2}/codenib/model/graph_retrieve_pipeline.py +0 -0
  553. {codenib-0.2.1 → codenib-0.2.2}/codenib/model/hybrid_retrieve_pipeline.py +0 -0
  554. {codenib-0.2.1 → codenib-0.2.2}/codenib/model/retrieval_planner.py +0 -0
  555. {codenib-0.2.1 → codenib-0.2.2}/codenib/model/retrieve_rerank_pipeline.py +0 -0
  556. {codenib-0.2.1 → codenib-0.2.2}/codenib/native_index_authorization.py +0 -0
  557. {codenib-0.2.1 → codenib-0.2.2}/codenib/ops/__init__.py +0 -0
  558. {codenib-0.2.1 → codenib-0.2.2}/codenib/ops/expand.py +0 -0
  559. {codenib-0.2.1 → codenib-0.2.2}/codenib/ops/filter.py +0 -0
  560. {codenib-0.2.1 → codenib-0.2.2}/codenib/ops/rerank.py +0 -0
  561. {codenib-0.2.1 → codenib-0.2.2}/codenib/ops/retrieve.py +0 -0
  562. {codenib-0.2.1 → codenib-0.2.2}/codenib/ops/transform.py +0 -0
  563. {codenib-0.2.1 → codenib-0.2.2}/codenib/paths.py +0 -0
  564. {codenib-0.2.1 → codenib-0.2.2}/codenib/profiler.py +0 -0
  565. {codenib-0.2.1 → codenib-0.2.2}/codenib/provider_routes.py +0 -0
  566. {codenib-0.2.1 → codenib-0.2.2}/codenib/sandbox/__init__.py +0 -0
  567. {codenib-0.2.1 → codenib-0.2.2}/codenib/sandbox/protocol.py +0 -0
  568. {codenib-0.2.1 → codenib-0.2.2}/codenib/scip_interface/__init__.py +0 -0
  569. {codenib-0.2.1 → codenib-0.2.2}/codenib/scip_interface/fact_batch_buffer.py +0 -0
  570. {codenib-0.2.1 → codenib-0.2.2}/codenib/scip_interface/query_surface.py +0 -0
  571. {codenib-0.2.1 → codenib-0.2.2}/codenib/scip_interface/scip-environment.yml +0 -0
  572. {codenib-0.2.1 → codenib-0.2.2}/codenib/scip_interface/scip.proto +0 -0
  573. {codenib-0.2.1 → codenib-0.2.2}/codenib/scip_interface/scip_decode_core.py +0 -0
  574. {codenib-0.2.1 → codenib-0.2.2}/codenib/scip_interface/scip_decode_csharp.py +0 -0
  575. {codenib-0.2.1 → codenib-0.2.2}/codenib/scip_interface/scip_decode_go.py +0 -0
  576. {codenib-0.2.1 → codenib-0.2.2}/codenib/scip_interface/scip_decode_java.py +0 -0
  577. {codenib-0.2.1 → codenib-0.2.2}/codenib/scip_interface/scip_decode_php.py +0 -0
  578. {codenib-0.2.1 → codenib-0.2.2}/codenib/scip_interface/scip_decode_python.py +0 -0
  579. {codenib-0.2.1 → codenib-0.2.2}/codenib/scip_interface/scip_decode_ruby.py +0 -0
  580. {codenib-0.2.1 → codenib-0.2.2}/codenib/scip_interface/scip_decode_rust.py +0 -0
  581. {codenib-0.2.1 → codenib-0.2.2}/codenib/scip_interface/scip_decode_ts.py +0 -0
  582. {codenib-0.2.1 → codenib-0.2.2}/codenib/scip_interface/scip_decode_utils.py +0 -0
  583. {codenib-0.2.1 → codenib-0.2.2}/codenib/scip_interface/scip_filter.py +0 -0
  584. {codenib-0.2.1 → codenib-0.2.2}/codenib/scip_interface/scip_indexer_base.py +0 -0
  585. {codenib-0.2.1 → codenib-0.2.2}/codenib/scip_interface/scip_indexer_csharp.py +0 -0
  586. {codenib-0.2.1 → codenib-0.2.2}/codenib/scip_interface/scip_indexer_go.py +0 -0
  587. {codenib-0.2.1 → codenib-0.2.2}/codenib/scip_interface/scip_indexer_java.py +0 -0
  588. {codenib-0.2.1 → codenib-0.2.2}/codenib/scip_interface/scip_indexer_php.py +0 -0
  589. {codenib-0.2.1 → codenib-0.2.2}/codenib/scip_interface/scip_indexer_python.py +0 -0
  590. {codenib-0.2.1 → codenib-0.2.2}/codenib/scip_interface/scip_indexer_ruby.py +0 -0
  591. {codenib-0.2.1 → codenib-0.2.2}/codenib/scip_interface/scip_indexer_rust.py +0 -0
  592. {codenib-0.2.1 → codenib-0.2.2}/codenib/scip_interface/scip_install.sh +0 -0
  593. {codenib-0.2.1 → codenib-0.2.2}/codenib/scip_interface/scip_pb2.py +0 -0
  594. {codenib-0.2.1 → codenib-0.2.2}/codenib/search.py +0 -0
  595. {codenib-0.2.1 → codenib-0.2.2}/codenib/serving/__init__.py +0 -0
  596. {codenib-0.2.1 → codenib-0.2.2}/codenib/serving/drafter/__init__.py +0 -0
  597. {codenib-0.2.1 → codenib-0.2.2}/codenib/serving/drafter/base.py +0 -0
  598. {codenib-0.2.1 → codenib-0.2.2}/codenib/serving/drafter/copy.py +0 -0
  599. {codenib-0.2.1 → codenib-0.2.2}/codenib/serving/drafter/fusion.py +0 -0
  600. {codenib-0.2.1 → codenib-0.2.2}/codenib/serving/drafter/retrieval.py +0 -0
  601. {codenib-0.2.1 → codenib-0.2.2}/codenib/serving/drafter/suffix_automaton.py +0 -0
  602. {codenib-0.2.1 → codenib-0.2.2}/codenib/serving/server/__init__.py +0 -0
  603. {codenib-0.2.1 → codenib-0.2.2}/codenib/serving/server/api.py +0 -0
  604. {codenib-0.2.1 → codenib-0.2.2}/codenib/serving/server/hf_engine.py +0 -0
  605. {codenib-0.2.1 → codenib-0.2.2}/codenib/serving/server/real_model.py +0 -0
  606. {codenib-0.2.1 → codenib-0.2.2}/codenib/serving/server/schemas.py +0 -0
  607. {codenib-0.2.1 → codenib-0.2.2}/codenib/serving/server/sglang.py +0 -0
  608. {codenib-0.2.1 → codenib-0.2.2}/codenib/serving/server/tokenization.py +0 -0
  609. {codenib-0.2.1 → codenib-0.2.2}/codenib/serving/server/worker.py +0 -0
  610. {codenib-0.2.1 → codenib-0.2.2}/codenib/serving/types.py +0 -0
  611. {codenib-0.2.1 → codenib-0.2.2}/codenib/types.py +0 -0
  612. {codenib-0.2.1 → codenib-0.2.2}/codenib/utils.py +0 -0
  613. {codenib-0.2.1 → codenib-0.2.2}/codenib/web/__init__.py +0 -0
  614. {codenib-0.2.1 → codenib-0.2.2}/codenib/web/commit_window.py +0 -0
  615. {codenib-0.2.1 → codenib-0.2.2}/codenib/web/edge_label.py +0 -0
  616. {codenib-0.2.1 → codenib-0.2.2}/codenib/web/entrypoints.py +0 -0
  617. {codenib-0.2.1 → codenib-0.2.2}/codenib/web/launcher.py +0 -0
  618. {codenib-0.2.1 → codenib-0.2.2}/codenib/web/limits.py +0 -0
  619. {codenib-0.2.1 → codenib-0.2.2}/codenib/web/ports.py +0 -0
  620. {codenib-0.2.1 → codenib-0.2.2}/codenib/web/request_limits.py +0 -0
  621. {codenib-0.2.1 → codenib-0.2.2}/codenib/web/static_server.py +0 -0
  622. {codenib-0.2.1 → codenib-0.2.2}/codenib/wiki/__init__.py +0 -0
  623. {codenib-0.2.1 → codenib-0.2.2}/codenib/wiki/narrator.py +0 -0
  624. {codenib-0.2.1 → codenib-0.2.2}/codenib.egg-info/dependency_links.txt +0 -0
  625. {codenib-0.2.1 → codenib-0.2.2}/codenib.egg-info/entry_points.txt +0 -0
  626. {codenib-0.2.1 → codenib-0.2.2}/codenib.egg-info/requires.txt +0 -0
  627. {codenib-0.2.1 → codenib-0.2.2}/codenib.egg-info/top_level.txt +0 -0
  628. {codenib-0.2.1 → codenib-0.2.2}/setup.cfg +0 -0
  629. {codenib-0.2.1 → codenib-0.2.2}/test/test_ci_policy.py +0 -0
  630. {codenib-0.2.1 → codenib-0.2.2}/test/test_cli_entrypoints.py +0 -0
  631. {codenib-0.2.1 → codenib-0.2.2}/test/test_cli_remote_embeddings.py +0 -0
  632. {codenib-0.2.1 → codenib-0.2.2}/test/test_compat_pickle.py +0 -0
  633. {codenib-0.2.1 → codenib-0.2.2}/test/test_context_delivery.py +0 -0
  634. {codenib-0.2.1 → codenib-0.2.2}/test/test_git_snapshot.py +0 -0
  635. {codenib-0.2.1 → codenib-0.2.2}/test/test_language_capability_matrix.py +0 -0
  636. {codenib-0.2.1 → codenib-0.2.2}/test/test_languages.py +0 -0
  637. {codenib-0.2.1 → codenib-0.2.2}/test/test_lazy_imports.py +0 -0
  638. {codenib-0.2.1 → codenib-0.2.2}/test/test_log_utils.py +0 -0
  639. {codenib-0.2.1 → codenib-0.2.2}/test/test_ls_router_registry.py +0 -0
  640. {codenib-0.2.1 → codenib-0.2.2}/test/test_namespace.py +0 -0
  641. {codenib-0.2.1 → codenib-0.2.2}/test/test_namespace_contract.py +0 -0
  642. {codenib-0.2.1 → codenib-0.2.2}/test/test_native_index_authorization.py +0 -0
  643. {codenib-0.2.1 → codenib-0.2.2}/test/test_owned_file_publication.py +0 -0
  644. {codenib-0.2.1 → codenib-0.2.2}/test/test_paths.py +0 -0
  645. {codenib-0.2.1 → codenib-0.2.2}/test/test_provider_routes.py +0 -0
  646. {codenib-0.2.1 → codenib-0.2.2}/test/test_release_metadata.py +0 -0
  647. {codenib-0.2.1 → codenib-0.2.2}/test/test_repository_summary.py +0 -0
  648. {codenib-0.2.1 → codenib-0.2.2}/test/test_search.py +0 -0
  649. {codenib-0.2.1 → codenib-0.2.2}/test/test_source_classification.py +0 -0
  650. {codenib-0.2.1 → codenib-0.2.2}/web/app/add-repo/page.tsx +0 -0
  651. {codenib-0.2.1 → codenib-0.2.2}/web/app/page.tsx +0 -0
  652. {codenib-0.2.1 → codenib-0.2.2}/web/components/AskBar.tsx +0 -0
  653. {codenib-0.2.1 → codenib-0.2.2}/web/components/AskPanel.tsx +0 -0
  654. {codenib-0.2.1 → codenib-0.2.2}/web/components/CitationItem.tsx +0 -0
  655. {codenib-0.2.1 → codenib-0.2.2}/web/components/CodeGraph.tsx +0 -0
  656. {codenib-0.2.1 → codenib-0.2.2}/web/components/Codemap.tsx +0 -0
  657. {codenib-0.2.1 → codenib-0.2.2}/web/components/GraphView.tsx +0 -0
  658. {codenib-0.2.1 → codenib-0.2.2}/web/components/Header.tsx +0 -0
  659. {codenib-0.2.1 → codenib-0.2.2}/web/components/HierarchyMap.test.tsx +0 -0
  660. {codenib-0.2.1 → codenib-0.2.2}/web/components/HierarchyMap.tsx +0 -0
  661. {codenib-0.2.1 → codenib-0.2.2}/web/components/HighlightedBlock.tsx +0 -0
  662. {codenib-0.2.1 → codenib-0.2.2}/web/components/HighlightedCode.tsx +0 -0
  663. {codenib-0.2.1 → codenib-0.2.2}/web/components/Markdown.test.tsx +0 -0
  664. {codenib-0.2.1 → codenib-0.2.2}/web/components/Markdown.tsx +0 -0
  665. {codenib-0.2.1 → codenib-0.2.2}/web/components/Mermaid.tsx +0 -0
  666. {codenib-0.2.1 → codenib-0.2.2}/web/components/SystemMap.test.tsx +0 -0
  667. {codenib-0.2.1 → codenib-0.2.2}/web/components/SystemMap.tsx +0 -0
  668. {codenib-0.2.1 → codenib-0.2.2}/web/dist/assets/cytoscape.esm-CkSuTymj.js +0 -0
  669. {codenib-0.2.1 → codenib-0.2.2}/web/dist/assets/defaultLocale-DX6XiGOO.js +0 -0
  670. {codenib-0.2.1 → codenib-0.2.2}/web/dist/assets/graph-DOmOIIwC.js +0 -0
  671. {codenib-0.2.1 → codenib-0.2.2}/web/dist/assets/highlight-CDab0zVI.css +0 -0
  672. {codenib-0.2.1 → codenib-0.2.2}/web/dist/assets/init-Gi6I4Gst.js +0 -0
  673. {codenib-0.2.1 → codenib-0.2.2}/web/dist/assets/katex-HP8lGamR.js +0 -0
  674. {codenib-0.2.1 → codenib-0.2.2}/web/dist/assets/layout-D-LzfAck.js +0 -0
  675. {codenib-0.2.1 → codenib-0.2.2}/web/dist/assets/map-DxJ2ADlA.js +0 -0
  676. {codenib-0.2.1 → codenib-0.2.2}/web/dist/assets/ordinal-Cboi1Yqb.js +0 -0
  677. {codenib-0.2.1 → codenib-0.2.2}/web/dist/codenib-icon.svg +0 -0
  678. {codenib-0.2.1 → codenib-0.2.2}/web/dist/runtime-config.js +0 -0
  679. {codenib-0.2.1 → codenib-0.2.2}/web/lib/filesLayout.test.ts +0 -0
  680. {codenib-0.2.1 → codenib-0.2.2}/web/lib/filesLayout.ts +0 -0
  681. {codenib-0.2.1 → codenib-0.2.2}/web/lib/highlight.test.ts +0 -0
  682. {codenib-0.2.1 → codenib-0.2.2}/web/lib/highlight.ts +0 -0
  683. {codenib-0.2.1 → codenib-0.2.2}/web/lib/router.tsx +0 -0
  684. {codenib-0.2.1 → codenib-0.2.2}/web/loopshot.mjs +0 -0
  685. {codenib-0.2.1 → codenib-0.2.2}/web/modules_verify.mjs +0 -0
  686. {codenib-0.2.1 → codenib-0.2.2}/web/package-lock.json +0 -0
  687. {codenib-0.2.1 → codenib-0.2.2}/web/package.json +0 -0
  688. {codenib-0.2.1 → codenib-0.2.2}/web/public/codenib-icon.svg +0 -0
  689. {codenib-0.2.1 → codenib-0.2.2}/web/public/runtime-config.js +0 -0
  690. {codenib-0.2.1 → codenib-0.2.2}/web/qa_verify.mjs +0 -0
  691. {codenib-0.2.1 → codenib-0.2.2}/web/tsconfig.json +0 -0
  692. {codenib-0.2.1 → codenib-0.2.2}/web/types/cytoscape-dagre.d.ts +0 -0
  693. {codenib-0.2.1 → codenib-0.2.2}/web/types/cytoscape-fcose.d.ts +0 -0
  694. {codenib-0.2.1 → codenib-0.2.2}/web/verify.mjs +0 -0
@@ -11,6 +11,43 @@ All notable user-facing changes are recorded here. CodeNib follows
11
11
 
12
12
  ## [Unreleased]
13
13
 
14
+ ## [0.2.2] - 2026-08-21
15
+
16
+ ### Added
17
+
18
+ - Persistent, exact repository-relative source exclusions through
19
+ `--exclude-dir` and `--clear-exclude-dirs`, with one recorded policy reused
20
+ by CodeGraph, indexing, MCP, Wiki, Web, and public compiler entry points.
21
+ - Manifest 1.2 source-selection identities and builder receipts, while retaining
22
+ strict read compatibility for manifest 1.1 artifacts.
23
+ - Authenticated optional SCIP occurrence-sidecar receipts bound to the same
24
+ owned symbol-graph generation as `graph.pkl`.
25
+
26
+ ### Changed
27
+
28
+ - Authenticated indexing now accepts absolute symbolic links only when their
29
+ lexical target remains inside the same pinned repository authority. Expo,
30
+ CocoaPods, and pnpm-style contained link layouts no longer require a broad
31
+ default-ignore rule.
32
+ - CodeGraph status reports the effective source selection, and Wiki, publish,
33
+ doctor, and toolchain flows reuse it instead of silently widening the source
34
+ surface.
35
+ - Manifest-bound C and C++ queries temporarily use the verified persisted
36
+ symbol graph instead of consuming project-local clangd postings directly.
37
+
38
+ ### Security
39
+
40
+ - Source paths, graph artifacts, native query routes, and retained manifests
41
+ are checked against the same authenticated source selection before they can
42
+ be published or served. Unproven native routes fail closed to the persisted
43
+ graph.
44
+ - Zoekt builds use a fixed commit-tree contract, private generation
45
+ publication, and an authenticated shard-tree receipt; custom exclusions are
46
+ rejected until the backend can prove that narrower surface end to end.
47
+ - Authenticated MCP `search_zoekt` serving uses a retained Linux `/proc`
48
+ descriptor snapshot. Other platforms fail closed until they have an
49
+ equivalent immutable runtime handoff.
50
+
14
51
  ## [0.2.1] - 2026-08-14
15
52
 
16
53
  ### Added
@@ -156,7 +193,8 @@ All notable user-facing changes are recorded here. CodeNib follows
156
193
  - Prepared secretless PyPI publishing through a dedicated GitHub Actions OIDC
157
194
  workflow.
158
195
 
159
- [Unreleased]: https://github.com/sysevol-ai/CodeNib/compare/v0.2.1...HEAD
196
+ [Unreleased]: https://github.com/sysevol-ai/CodeNib/compare/v0.2.2...HEAD
197
+ [0.2.2]: https://github.com/sysevol-ai/CodeNib/compare/v0.2.1...v0.2.2
160
198
  [0.2.1]: https://github.com/sysevol-ai/CodeNib/compare/v0.2.0...v0.2.1
161
199
  [0.2.0]: https://github.com/sysevol-ai/CodeNib/compare/v0.1.0...v0.2.0
162
200
  [0.2.0a2]: https://github.com/sysevol-ai/CodeNib/compare/620a82d...78e12ac
@@ -3,6 +3,7 @@
3
3
  # SPDX-License-Identifier: Apache-2.0
4
4
 
5
5
  graft web
6
+ include native/workspace_owner.c
6
7
  include CHANGELOG.md
7
8
  include CONTRIBUTING.md
8
9
  include server.json
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codenib
3
- Version: 0.2.1
3
+ Version: 0.2.2
4
4
  Summary: A multi-view data system for serving repository context to coding agents
5
5
  Author-email: Zhongming Yu <zhy025@ucsd.edu>
6
6
  License-Expression: Apache-2.0
@@ -143,15 +143,17 @@ SPDX-License-Identifier: Apache-2.0
143
143
  </p>
144
144
  <p>
145
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" alt="PyPI version"></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://docs.codenib.ai/codegraph/#one-command-setup"><img src="https://img.shields.io/badge/Claude_Code-D97757?logo=claude&amp;logoColor=fff" alt="Claude Code supported"></a>
148
+ <a href="https://docs.codenib.ai/codegraph/#one-command-setup"><img src="https://img.shields.io/badge/Codex-000?logo=openai&amp;logoColor=fff" alt="Codex supported"></a>
147
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="License: Apache 2.0"></a>
148
150
  <a href="https://github.com/sysevol-ai/CodeNib/blob/main/pyproject.toml"><img src="https://img.shields.io/badge/Python-3.10%2B-3776AB.svg" alt="Python 3.10+"></a>
149
- <img src="https://img.shields.io/badge/Release-0.2.1-2563EB.svg" alt="CodeNib 0.2.1">
151
+ <img src="https://img.shields.io/badge/Release-0.2.2-2563EB.svg" alt="CodeNib 0.2.2">
150
152
  </p>
151
153
  </div>
152
154
 
153
155
  ```bash
154
- python -m pip install "codenib[graph,mcp]==0.2.1"
156
+ python -m pip install "codenib[graph,mcp]==0.2.2"
155
157
  codenib codegraph init /path/to/your/repo
156
158
  ```
157
159
 
@@ -163,6 +165,11 @@ does not write configuration or indexes into the target repository.
163
165
 
164
166
  ## News
165
167
 
168
+ - **2026-08-21 — CodeNib 0.2.2 repository source authority.** Authenticated
169
+ indexing now admits absolute symlinks only when they resolve inside the same
170
+ pinned checkout, and exact root-relative exclusions persist across indexing,
171
+ CodeGraph, MCP, Wiki, and Web runtimes.
172
+ [Release notes](https://docs.codenib.ai/releases/0.2.2/)
166
173
  - **2026-08-13 — CodeNib 0.2.1 CodeGraph onboarding.** One command prepares a
167
174
  repository graph and connects it to Codex and Claude Code, with idempotent
168
175
  status, safe uninstall, and installed-wheel MCP graph verification.
@@ -196,23 +203,23 @@ does not write configuration or indexes into the target repository.
196
203
 
197
204
  | Layer | Responsibility |
198
205
  |---|---|
199
- | Incremental compiler | Chunk source and materialize BM25, dense, graph, and navigation views; reuse or repair supported artifacts and rebuild when an update cannot be admitted |
206
+ | View compiler | Chunk source and materialize BM25, dense, graph, and navigation views; reuse current artifacts and atomically rebuild affected views |
200
207
  | View manifest | Record repository identity, source fingerprint, builder profile, capabilities, status, and artifact location independently for each view |
201
208
  | Context serving | Execute lexical, semantic, hybrid, reranked, and structural query plans while preserving repository-relative source locations |
202
209
  | Agent runtime | Expose capability-aware MCP and LSP-shaped tools, assemble bounded evidence, and return citations that agents and humans can inspect |
203
210
 
204
211
  ```text
205
212
  repository change
206
- -> materialize or repair affected views
213
+ -> reuse current views or rebuild affected views
207
214
  -> publish a capability-bearing manifest
208
215
  -> plan repository queries
209
216
  -> deliver bounded, source-linked context
210
217
  ```
211
218
 
212
- On a later commit, CodeNib can reuse unchanged vector content and patch
213
- supported graph transitions at file or symbol granularity. Unsupported,
214
- inconsistent, or unverified transitions fall back to a fresh build instead of
215
- publishing a partially updated view.
219
+ On a later commit, CodeNib reuses views whose source and builder identities are
220
+ still current. A requested view affected by source or policy changes currently
221
+ rebuilds in an isolated generation; file- and symbol-level delta repair remains
222
+ disabled until it can use the same pinned source authority.
216
223
 
217
224
  ## Quickstart
218
225
 
@@ -220,7 +227,7 @@ Requires Python 3.10+ and Git. For an agent-ready CodeGraph with no model or API
220
227
  key, install the graph and MCP extras and run one command:
221
228
 
222
229
  ```bash
223
- python -m pip install "codenib[graph,mcp]==0.2.1"
230
+ python -m pip install "codenib[graph,mcp]==0.2.2"
224
231
  codenib codegraph init /path/to/repository
225
232
  ```
226
233
 
@@ -231,16 +238,42 @@ Run `codenib codegraph status /path/to/repository` to diagnose the complete
231
238
  path or `codenib codegraph uninstall /path/to/repository` to remove only the
232
239
  managed client registrations. The index remains reusable.
233
240
 
241
+ Repositories can persist exact root-relative subtree exclusions when generated
242
+ or vendored content should not be indexed:
243
+
244
+ ```bash
245
+ codenib codegraph init /path/to/repository \
246
+ --exclude-dir ios/Pods \
247
+ --exclude-dir generated/api
248
+ ```
249
+
250
+ Paths use repository-relative POSIX spelling (`/`) and name exact subtrees,
251
+ not globs. Repeat `--exclude-dir` to replace the complete custom exclusion set. Later
252
+ `init` and `index` runs reuse that policy from the manifest; use
253
+ `--clear-exclude-dirs` to return to the default source surface. CodeNib does not
254
+ implicitly treat `.gitignore` as an indexing policy, because tracked and local
255
+ ignored source can still be intentional input.
256
+
257
+ Zoekt supports the default source policy only when its fixed commit tree
258
+ exactly matches the authenticated checkout and contains no tracked path that
259
+ the default policy excludes. It does not currently support a non-empty custom
260
+ exclusion set. A command that explicitly requests the `zoekt` view, including
261
+ `--preset full`, fails closed when either condition is unmet; use the
262
+ CodeGraph, `fast`, or semantic paths instead.
263
+ In 0.2.2 the authenticated MCP `search_zoekt` runtime requires Linux `/proc`
264
+ so the child process can inherit the exact retained shard generation; other
265
+ platforms fail closed instead of reopening a mutable shard path.
266
+
234
267
  For a browser Wiki with hybrid BM25+dense retrieval, install the semantic extra:
235
268
 
236
269
  ```bash
237
- python -m pip install "codenib[semantic]==0.2.1"
270
+ python -m pip install "codenib[semantic]==0.2.2"
238
271
  codenib wiki /path/to/repository
239
272
  ```
240
273
 
241
274
  Both paths keep reusable state under `~/.codenib/repositories` and leave the
242
275
  target checkout unchanged. Set `CODENIB_HOME` to relocate state. The
243
- [0.2.1 release notes](https://docs.codenib.ai/releases/0.2.1/) record the
276
+ [0.2.2 release notes](https://docs.codenib.ai/releases/0.2.2/) record the
244
277
  upgrade boundary and installed-product evidence.
245
278
 
246
279
  Preview the CodeGraph operations without installing, indexing, or configuring
@@ -255,7 +288,7 @@ only their package-level providers; operating-system and project prerequisites
255
288
  remain explicit:
256
289
 
257
290
  ```bash
258
- python -m pip install "codenib[graph]==0.2.1"
291
+ python -m pip install "codenib[graph]==0.2.2"
259
292
  codenib toolchain install /path/to/repository --scope graph
260
293
  codenib doctor /path/to/repository --require graph
261
294
  ```
@@ -273,7 +306,7 @@ provider credential; interactive Ask and runtime graph exploration remain on
273
306
  the local or MCP serving path.
274
307
 
275
308
  For a repository-hosted Wiki, CodeNib also ships a reusable GitHub workflow
276
- that incrementally builds the same manifest, deploys the static site to Pages,
309
+ that builds or reuses the same manifest, deploys the static site to Pages,
277
310
  and uploads the matching commit-addressed context artifact. Its default
278
311
  `semantic` route builds BM25 and vector views with a cached local Hugging Face
279
312
  model and needs no API key. An explicit `fast` route avoids the model download;
@@ -297,7 +330,7 @@ The recommended path configures installed Codex and Claude Code clients through
297
330
  their native CLIs:
298
331
 
299
332
  ```bash
300
- python -m pip install "codenib[graph,mcp]==0.2.1"
333
+ python -m pip install "codenib[graph,mcp]==0.2.2"
301
334
  codenib codegraph init /path/to/repository
302
335
  ```
303
336
 
@@ -327,7 +360,7 @@ capabilities, loaded views, fusion, graph, and reranking trace.
327
360
 
328
361
  | Surface | Purpose |
329
362
  |---|---|
330
- | Incremental compiler | Build independently managed views, reuse unchanged content, repair supported transitions, and conservatively rebuild outside those boundaries |
363
+ | View compiler | Build independently managed views, reuse current generations, and atomically rebuild changed views under one source identity |
331
364
  | Agent context runtime | Plan capability-aware retrieval and navigation, then assemble bounded source-linked evidence |
332
365
  | Retrieval | BM25, dense-vector, regex/trigram, Zoekt, fusion, and reranking paths; see the [validated model matrix](https://docs.codenib.ai/rag_ops/#validated-models) |
333
366
  | Structural context | SCIP/LSP-backed symbol graphs with source locations and typed edges |
@@ -376,8 +409,8 @@ running the credential- or toolchain-dependent tiers.
376
409
 
377
410
  ## Status
378
411
 
379
- CodeNib `0.1.0` is a developer preview. The CLI and manifest format are usable,
380
- but public interfaces may still change before a stable release. Historical
412
+ CodeNib `0.2.2` is a beta release. The CLI and manifest format are usable, but
413
+ public interfaces may still change before a stable release. Historical
381
414
  research artifacts retain their published dataset identifiers; the maintained
382
415
  package, import namespace, commands, and repository use `CodeNib`. See
383
416
  [Naming](https://docs.codenib.ai/branding/).
@@ -34,15 +34,17 @@ SPDX-License-Identifier: Apache-2.0
34
34
  </p>
35
35
  <p>
36
36
  <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>
37
- <a href="https://pypi.org/project/codenib/"><img src="https://img.shields.io/pypi/v/codenib.svg" alt="PyPI version"></a>
37
+ <a href="https://pypi.org/project/codenib/"><img src="https://img.shields.io/pypi/v/codenib.svg?cacheSeconds=300" alt="PyPI version"></a>
38
+ <a href="https://docs.codenib.ai/codegraph/#one-command-setup"><img src="https://img.shields.io/badge/Claude_Code-D97757?logo=claude&amp;logoColor=fff" alt="Claude Code supported"></a>
39
+ <a href="https://docs.codenib.ai/codegraph/#one-command-setup"><img src="https://img.shields.io/badge/Codex-000?logo=openai&amp;logoColor=fff" alt="Codex supported"></a>
38
40
  <a href="https://github.com/sysevol-ai/CodeNib/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-Apache_2.0-blue.svg" alt="License: Apache 2.0"></a>
39
41
  <a href="https://github.com/sysevol-ai/CodeNib/blob/main/pyproject.toml"><img src="https://img.shields.io/badge/Python-3.10%2B-3776AB.svg" alt="Python 3.10+"></a>
40
- <img src="https://img.shields.io/badge/Release-0.2.1-2563EB.svg" alt="CodeNib 0.2.1">
42
+ <img src="https://img.shields.io/badge/Release-0.2.2-2563EB.svg" alt="CodeNib 0.2.2">
41
43
  </p>
42
44
  </div>
43
45
 
44
46
  ```bash
45
- python -m pip install "codenib[graph,mcp]==0.2.1"
47
+ python -m pip install "codenib[graph,mcp]==0.2.2"
46
48
  codenib codegraph init /path/to/your/repo
47
49
  ```
48
50
 
@@ -54,6 +56,11 @@ does not write configuration or indexes into the target repository.
54
56
 
55
57
  ## News
56
58
 
59
+ - **2026-08-21 — CodeNib 0.2.2 repository source authority.** Authenticated
60
+ indexing now admits absolute symlinks only when they resolve inside the same
61
+ pinned checkout, and exact root-relative exclusions persist across indexing,
62
+ CodeGraph, MCP, Wiki, and Web runtimes.
63
+ [Release notes](https://docs.codenib.ai/releases/0.2.2/)
57
64
  - **2026-08-13 — CodeNib 0.2.1 CodeGraph onboarding.** One command prepares a
58
65
  repository graph and connects it to Codex and Claude Code, with idempotent
59
66
  status, safe uninstall, and installed-wheel MCP graph verification.
@@ -87,23 +94,23 @@ does not write configuration or indexes into the target repository.
87
94
 
88
95
  | Layer | Responsibility |
89
96
  |---|---|
90
- | Incremental compiler | Chunk source and materialize BM25, dense, graph, and navigation views; reuse or repair supported artifacts and rebuild when an update cannot be admitted |
97
+ | View compiler | Chunk source and materialize BM25, dense, graph, and navigation views; reuse current artifacts and atomically rebuild affected views |
91
98
  | View manifest | Record repository identity, source fingerprint, builder profile, capabilities, status, and artifact location independently for each view |
92
99
  | Context serving | Execute lexical, semantic, hybrid, reranked, and structural query plans while preserving repository-relative source locations |
93
100
  | Agent runtime | Expose capability-aware MCP and LSP-shaped tools, assemble bounded evidence, and return citations that agents and humans can inspect |
94
101
 
95
102
  ```text
96
103
  repository change
97
- -> materialize or repair affected views
104
+ -> reuse current views or rebuild affected views
98
105
  -> publish a capability-bearing manifest
99
106
  -> plan repository queries
100
107
  -> deliver bounded, source-linked context
101
108
  ```
102
109
 
103
- On a later commit, CodeNib can reuse unchanged vector content and patch
104
- supported graph transitions at file or symbol granularity. Unsupported,
105
- inconsistent, or unverified transitions fall back to a fresh build instead of
106
- publishing a partially updated view.
110
+ On a later commit, CodeNib reuses views whose source and builder identities are
111
+ still current. A requested view affected by source or policy changes currently
112
+ rebuilds in an isolated generation; file- and symbol-level delta repair remains
113
+ disabled until it can use the same pinned source authority.
107
114
 
108
115
  ## Quickstart
109
116
 
@@ -111,7 +118,7 @@ Requires Python 3.10+ and Git. For an agent-ready CodeGraph with no model or API
111
118
  key, install the graph and MCP extras and run one command:
112
119
 
113
120
  ```bash
114
- python -m pip install "codenib[graph,mcp]==0.2.1"
121
+ python -m pip install "codenib[graph,mcp]==0.2.2"
115
122
  codenib codegraph init /path/to/repository
116
123
  ```
117
124
 
@@ -122,16 +129,42 @@ Run `codenib codegraph status /path/to/repository` to diagnose the complete
122
129
  path or `codenib codegraph uninstall /path/to/repository` to remove only the
123
130
  managed client registrations. The index remains reusable.
124
131
 
132
+ Repositories can persist exact root-relative subtree exclusions when generated
133
+ or vendored content should not be indexed:
134
+
135
+ ```bash
136
+ codenib codegraph init /path/to/repository \
137
+ --exclude-dir ios/Pods \
138
+ --exclude-dir generated/api
139
+ ```
140
+
141
+ Paths use repository-relative POSIX spelling (`/`) and name exact subtrees,
142
+ not globs. Repeat `--exclude-dir` to replace the complete custom exclusion set. Later
143
+ `init` and `index` runs reuse that policy from the manifest; use
144
+ `--clear-exclude-dirs` to return to the default source surface. CodeNib does not
145
+ implicitly treat `.gitignore` as an indexing policy, because tracked and local
146
+ ignored source can still be intentional input.
147
+
148
+ Zoekt supports the default source policy only when its fixed commit tree
149
+ exactly matches the authenticated checkout and contains no tracked path that
150
+ the default policy excludes. It does not currently support a non-empty custom
151
+ exclusion set. A command that explicitly requests the `zoekt` view, including
152
+ `--preset full`, fails closed when either condition is unmet; use the
153
+ CodeGraph, `fast`, or semantic paths instead.
154
+ In 0.2.2 the authenticated MCP `search_zoekt` runtime requires Linux `/proc`
155
+ so the child process can inherit the exact retained shard generation; other
156
+ platforms fail closed instead of reopening a mutable shard path.
157
+
125
158
  For a browser Wiki with hybrid BM25+dense retrieval, install the semantic extra:
126
159
 
127
160
  ```bash
128
- python -m pip install "codenib[semantic]==0.2.1"
161
+ python -m pip install "codenib[semantic]==0.2.2"
129
162
  codenib wiki /path/to/repository
130
163
  ```
131
164
 
132
165
  Both paths keep reusable state under `~/.codenib/repositories` and leave the
133
166
  target checkout unchanged. Set `CODENIB_HOME` to relocate state. The
134
- [0.2.1 release notes](https://docs.codenib.ai/releases/0.2.1/) record the
167
+ [0.2.2 release notes](https://docs.codenib.ai/releases/0.2.2/) record the
135
168
  upgrade boundary and installed-product evidence.
136
169
 
137
170
  Preview the CodeGraph operations without installing, indexing, or configuring
@@ -146,7 +179,7 @@ only their package-level providers; operating-system and project prerequisites
146
179
  remain explicit:
147
180
 
148
181
  ```bash
149
- python -m pip install "codenib[graph]==0.2.1"
182
+ python -m pip install "codenib[graph]==0.2.2"
150
183
  codenib toolchain install /path/to/repository --scope graph
151
184
  codenib doctor /path/to/repository --require graph
152
185
  ```
@@ -164,7 +197,7 @@ provider credential; interactive Ask and runtime graph exploration remain on
164
197
  the local or MCP serving path.
165
198
 
166
199
  For a repository-hosted Wiki, CodeNib also ships a reusable GitHub workflow
167
- that incrementally builds the same manifest, deploys the static site to Pages,
200
+ that builds or reuses the same manifest, deploys the static site to Pages,
168
201
  and uploads the matching commit-addressed context artifact. Its default
169
202
  `semantic` route builds BM25 and vector views with a cached local Hugging Face
170
203
  model and needs no API key. An explicit `fast` route avoids the model download;
@@ -188,7 +221,7 @@ The recommended path configures installed Codex and Claude Code clients through
188
221
  their native CLIs:
189
222
 
190
223
  ```bash
191
- python -m pip install "codenib[graph,mcp]==0.2.1"
224
+ python -m pip install "codenib[graph,mcp]==0.2.2"
192
225
  codenib codegraph init /path/to/repository
193
226
  ```
194
227
 
@@ -218,7 +251,7 @@ capabilities, loaded views, fusion, graph, and reranking trace.
218
251
 
219
252
  | Surface | Purpose |
220
253
  |---|---|
221
- | Incremental compiler | Build independently managed views, reuse unchanged content, repair supported transitions, and conservatively rebuild outside those boundaries |
254
+ | View compiler | Build independently managed views, reuse current generations, and atomically rebuild changed views under one source identity |
222
255
  | Agent context runtime | Plan capability-aware retrieval and navigation, then assemble bounded source-linked evidence |
223
256
  | Retrieval | BM25, dense-vector, regex/trigram, Zoekt, fusion, and reranking paths; see the [validated model matrix](https://docs.codenib.ai/rag_ops/#validated-models) |
224
257
  | Structural context | SCIP/LSP-backed symbol graphs with source locations and typed edges |
@@ -267,8 +300,8 @@ running the credential- or toolchain-dependent tiers.
267
300
 
268
301
  ## Status
269
302
 
270
- CodeNib `0.1.0` is a developer preview. The CLI and manifest format are usable,
271
- but public interfaces may still change before a stable release. Historical
303
+ CodeNib `0.2.2` is a beta release. The CLI and manifest format are usable, but
304
+ public interfaces may still change before a stable release. Historical
272
305
  research artifacts retain their published dataset identifiers; the maintained
273
306
  package, import namespace, commands, and repository use `CodeNib`. See
274
307
  [Naming](https://docs.codenib.ai/branding/).
@@ -16,6 +16,8 @@ from ._lazy import exported_dir, load_export
16
16
  from ._version import __version__
17
17
 
18
18
  if TYPE_CHECKING: # pragma: no cover - imported only by static analyzers
19
+ from codenib._captured_directory import PublishedWorkspaceReceiptOwner
20
+ from codenib._local_workspace_provider import LocalWorkspaceProvider
19
21
  from codenib.agent.extract_agent import KeywordExtractor
20
22
  from codenib.agent.rerank_agent import RerankAgent
21
23
  from codenib.code_chunker import CodeChunker, RepoChunkingConfig
@@ -30,6 +32,14 @@ if TYPE_CHECKING: # pragma: no cover - imported only by static analyzers
30
32
  from codenib.search import CodeSearchEngine
31
33
 
32
34
  _EXPORTS = {
35
+ "PublishedWorkspaceReceiptOwner": (
36
+ "codenib._captured_directory",
37
+ "PublishedWorkspaceReceiptOwner",
38
+ ),
39
+ "LocalWorkspaceProvider": (
40
+ "codenib._local_workspace_provider",
41
+ "LocalWorkspaceProvider",
42
+ ),
33
43
  "LSIndexer": ("codenib.ls_router", "LSIndexer"),
34
44
  "CodeGraph": ("codenib.graph.code_graph", "CodeGraph"),
35
45
  "BM25CodeIndexer": (
@@ -54,6 +64,8 @@ _EXPORTS = {
54
64
 
55
65
  __all__ = [
56
66
  "__version__",
67
+ "PublishedWorkspaceReceiptOwner",
68
+ "LocalWorkspaceProvider",
57
69
  "LSIndexer",
58
70
  "CodeGraph",
59
71
  "BM25CodeIndexer",