attocode-code-intel 0.1.3__tar.gz → 0.1.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 (415) hide show
  1. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/PKG-INFO +1 -1
  2. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/pyproject.toml +1 -1
  3. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/__init__.py +1 -1
  4. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/context/index_store.py +5 -3
  5. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/context/vector_store.py +13 -9
  6. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/tests/test_navigation_evidence.py +19 -0
  7. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/.gitignore +0 -0
  8. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/LICENSE +0 -0
  9. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/README.md +0 -0
  10. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/README.md +0 -0
  11. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/broad_candidate_audit.yaml +0 -0
  12. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/broad_query_cases.yaml +0 -0
  13. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/broad_query_external_cases.yaml +0 -0
  14. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/broad_query_final_holdout.yaml +0 -0
  15. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/client_comparison.py +0 -0
  16. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/client_responses.py +0 -0
  17. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/daily.py +0 -0
  18. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/external_benchmarks.py +0 -0
  19. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/external_study.py +0 -0
  20. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/graded_blind_pack.yaml +0 -0
  21. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/localize_study.py +0 -0
  22. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/locbench_title_pack.yaml +0 -0
  23. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/onboarding_study.py +0 -0
  24. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/pilot.py +0 -0
  25. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/quality_scoring.py +0 -0
  26. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/quality_tasks.py +0 -0
  27. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/release_gate.py +0 -0
  28. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/responses.py +0 -0
  29. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/results/2026-09-05-macos.json +0 -0
  30. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/results/2026-10-04-broad-query-ranking.md +0 -0
  31. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/results/2026-10-04-decision-reranker-trial.md +0 -0
  32. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/results/2026-10-04-systemone-http-local-trial.md +0 -0
  33. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/results/2026-10-05-broad-candidate-audit.md +0 -0
  34. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/results/2026-10-05-source-view-transfer.md +0 -0
  35. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/results/2026-10-08-blind-graded-rerank.md +0 -0
  36. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/results/2026-10-08-locbench-560.md +0 -0
  37. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/results/2026-10-09-locbench-560-first-stage.md +0 -0
  38. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/results/2026-10-10-agent-pilot.md +0 -0
  39. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/results/2026-10-10-agent-r3.md +0 -0
  40. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/results/2026-10-10-matrix-r1.md +0 -0
  41. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/results/2026-10-11-agent-r4-stage0.md +0 -0
  42. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/results/README.md +0 -0
  43. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/source_view_transfer.yaml +0 -0
  44. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/study.py +0 -0
  45. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/study_clients.py +0 -0
  46. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/study_events.py +0 -0
  47. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/study_tasks.py +0 -0
  48. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/token_overhead.py +0 -0
  49. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/understanding_scoring.py +0 -0
  50. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/understanding_study.py +0 -0
  51. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/warm_cache.py +0 -0
  52. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/evals/workflows.py +0 -0
  53. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/GUIDELINES.md +0 -0
  54. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/__init__.py +0 -0
  55. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/errors/__init__.py +0 -0
  56. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/__init__.py +0 -0
  57. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/context/__init__.py +0 -0
  58. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/context/architecture_drift.py +0 -0
  59. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/context/ast_chunker.py +0 -0
  60. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/context/ast_service.py +0 -0
  61. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/context/blob_oid.py +0 -0
  62. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/context/cache_manifest.py +0 -0
  63. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/context/cas.py +0 -0
  64. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/context/code_analyzer.py +0 -0
  65. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/context/codebase_ast.py +0 -0
  66. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/context/codebase_context.py +0 -0
  67. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/context/cross_mode.py +0 -0
  68. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/context/cross_references.py +0 -0
  69. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/context/embedding_rotation.py +0 -0
  70. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/context/embeddings.py +0 -0
  71. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/context/frecency.py +0 -0
  72. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/context/fuzzy.py +0 -0
  73. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/context/hierarchical_explorer.py +0 -0
  74. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/context/hydration.py +0 -0
  75. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/context/index_repair.py +0 -0
  76. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/context/memory_store.py +0 -0
  77. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/context/module_resolution.py +0 -0
  78. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/context/query_constraints.py +0 -0
  79. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/context/query_history.py +0 -0
  80. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/context/reranker.py +0 -0
  81. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/context/semantic_search.py +0 -0
  82. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/context/syntax_evidence.py +0 -0
  83. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/context/systemone_ranker.py +0 -0
  84. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/context/temporal_coupling.py +0 -0
  85. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/context/trigram_index.py +0 -0
  86. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/context/trigram_regex.py +0 -0
  87. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/context/ts_parser.py +0 -0
  88. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/feature_flags/__init__.py +0 -0
  89. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/lsp/__init__.py +0 -0
  90. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/lsp/client.py +0 -0
  91. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/mcp/__init__.py +0 -0
  92. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/mcp/client.py +0 -0
  93. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/security/__init__.py +0 -0
  94. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/security/custom_rules.py +0 -0
  95. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/security/dataflow.py +0 -0
  96. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/security/dependency_audit.py +0 -0
  97. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/security/matcher.py +0 -0
  98. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/security/patterns.py +0 -0
  99. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/security/scanner.py +0 -0
  100. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/utilities/__init__.py +0 -0
  101. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/utilities/ignore.py +0 -0
  102. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/integrations/utilities/token_estimate.py +0 -0
  103. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/tricks/__init__.py +0 -0
  104. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/tricks/recursive_context.py +0 -0
  105. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/types/__init__.py +0 -0
  106. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/types/events.py +0 -0
  107. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_internal/types/severity.py +0 -0
  108. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/_shared.py +0 -0
  109. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/analysis_coverage.py +0 -0
  110. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/__init__.py +0 -0
  111. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/access.py +0 -0
  112. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/app.py +0 -0
  113. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/auth/__init__.py +0 -0
  114. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/auth/api_keys.py +0 -0
  115. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/auth/context.py +0 -0
  116. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/auth/jwt.py +0 -0
  117. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/auth/oauth.py +0 -0
  118. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/auth/passwords.py +0 -0
  119. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/deps.py +0 -0
  120. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/knowledge_bridge.py +0 -0
  121. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/mcp_transport.py +0 -0
  122. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/middleware.py +0 -0
  123. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/models.py +0 -0
  124. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/providers/__init__.py +0 -0
  125. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/providers/db_provider.py +0 -0
  126. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/providers/local_provider.py +0 -0
  127. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/providers/remote_provider.py +0 -0
  128. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/repository_source.py +0 -0
  129. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/routes/__init__.py +0 -0
  130. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/routes/_pin_helper.py +0 -0
  131. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/routes/activity.py +0 -0
  132. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/routes/adr.py +0 -0
  133. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/routes/analysis.py +0 -0
  134. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/routes/api_keys.py +0 -0
  135. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/routes/auth.py +0 -0
  136. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/routes/branches.py +0 -0
  137. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/routes/cross_repo_search.py +0 -0
  138. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/routes/embeddings.py +0 -0
  139. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/routes/files.py +0 -0
  140. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/routes/files_v2.py +0 -0
  141. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/routes/gc.py +0 -0
  142. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/routes/git_v2.py +0 -0
  143. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/routes/graph.py +0 -0
  144. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/routes/graph_viz.py +0 -0
  145. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/routes/health.py +0 -0
  146. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/routes/history.py +0 -0
  147. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/routes/jobs.py +0 -0
  148. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/routes/learning.py +0 -0
  149. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/routes/lsp.py +0 -0
  150. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/routes/notify.py +0 -0
  151. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/routes/operations.py +0 -0
  152. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/routes/orgs.py +0 -0
  153. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/routes/preferences.py +0 -0
  154. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/routes/presence.py +0 -0
  155. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/routes/projects.py +0 -0
  156. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/routes/repos.py +0 -0
  157. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/routes/search.py +0 -0
  158. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/routes/snapshots.py +0 -0
  159. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/routes/webhooks.py +0 -0
  160. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/routes/websocket.py +0 -0
  161. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/static/graph.html +0 -0
  162. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/api/utils.py +0 -0
  163. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/artifacts/__init__.py +0 -0
  164. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/artifacts/hashing.py +0 -0
  165. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/artifacts/provenance.py +0 -0
  166. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/artifacts/retrieval_pin.py +0 -0
  167. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/audit.py +0 -0
  168. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/bug_finder.py +0 -0
  169. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/bundle.py +0 -0
  170. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/catalog.py +0 -0
  171. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/change_review.py +0 -0
  172. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/cli.py +0 -0
  173. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/community.py +0 -0
  174. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/confidence/__init__.py +0 -0
  175. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/confidence/jev.py +0 -0
  176. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/confidence/llm.py +0 -0
  177. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/confidence/redact.py +0 -0
  178. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/confidence/settings.py +0 -0
  179. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/config.py +0 -0
  180. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/crypto.py +0 -0
  181. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/db/__init__.py +0 -0
  182. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/db/base.py +0 -0
  183. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/db/engine.py +0 -0
  184. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/db/models.py +0 -0
  185. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/entrypoint.py +0 -0
  186. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/focused_evidence.py +0 -0
  187. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/freshness.py +0 -0
  188. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/gateway.py +0 -0
  189. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/git/__init__.py +0 -0
  190. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/git/credentials.py +0 -0
  191. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/git/manager.py +0 -0
  192. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/git/models.py +0 -0
  193. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/git/storage.py +0 -0
  194. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/graph_query_parser.py +0 -0
  195. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/helpers.py +0 -0
  196. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/indexing/__init__.py +0 -0
  197. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/indexing/debouncer.py +0 -0
  198. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/indexing/delta_indexer.py +0 -0
  199. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/indexing/full_indexer.py +0 -0
  200. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/indexing/incremental.py +0 -0
  201. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/indexing/parser.py +0 -0
  202. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/indexing/summarizer.py +0 -0
  203. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/installer.py +0 -0
  204. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/knowledge.py +0 -0
  205. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/local_knowledge.py +0 -0
  206. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/migrations/alembic.ini +0 -0
  207. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/migrations/env.py +0 -0
  208. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/migrations/script.py.mako +0 -0
  209. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/migrations/versions/001_initial_schema.py +0 -0
  210. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/migrations/versions/002_branch_version_and_embeddings.py +0 -0
  211. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/migrations/versions/003_embedding_uniqueness_and_cascade.py +0 -0
  212. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/migrations/versions/004_audit_events.py +0 -0
  213. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/migrations/versions/005_user_preferences.py +0 -0
  214. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/migrations/versions/006_google_oauth.py +0 -0
  215. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/migrations/versions/007_pgvector_embeddings.py +0 -0
  216. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/migrations/versions/008_symbol_references.py +0 -0
  217. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/migrations/versions/009_webhook_secret_encryption.py +0 -0
  218. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/migrations/versions/010_add_commits_table.py +0 -0
  219. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/migrations/versions/011_commit_changed_files.py +0 -0
  220. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/migrations/versions/012_branch_merged_at.py +0 -0
  221. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/migrations/versions/013_revoked_tokens.py +0 -0
  222. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/migrations/versions/014_blame_hunks.py +0 -0
  223. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/migrations/versions/015_commit_file_stats.py +0 -0
  224. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/migrations/versions/016_embedding_provenance_columns.py +0 -0
  225. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/migrations/versions/017_provenance_table.py +0 -0
  226. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/migrations/versions/018_repo_snapshots.py +0 -0
  227. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/migrations/versions/019_symref_caller.py +0 -0
  228. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/migrations/versions/020_shared_knowledge.py +0 -0
  229. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/onboarding.py +0 -0
  230. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/output.py +0 -0
  231. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/precision.py +0 -0
  232. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/presence.py +0 -0
  233. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/probe.py +0 -0
  234. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/project_dir.py +0 -0
  235. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/pubsub.py +0 -0
  236. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/query_ranking.py +0 -0
  237. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/readiness.py +0 -0
  238. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/redis.py +0 -0
  239. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/reference_pages.py +0 -0
  240. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/remote.py +0 -0
  241. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/repo_ranker.py +0 -0
  242. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/request_context.py +0 -0
  243. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/__init__.py +0 -0
  244. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/ci.py +0 -0
  245. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/combinators.py +0 -0
  246. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/enricher.py +0 -0
  247. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/evolution.py +0 -0
  248. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/executor.py +0 -0
  249. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/filters/__init__.py +0 -0
  250. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/filters/pipeline.py +0 -0
  251. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/formatter.py +0 -0
  252. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/hygiene.py +0 -0
  253. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/importers/__init__.py +0 -0
  254. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/importers/semgrep.py +0 -0
  255. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/loader.py +0 -0
  256. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/marketplace.py +0 -0
  257. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/metavar.py +0 -0
  258. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/model.py +0 -0
  259. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/__init__.py +0 -0
  260. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/_license_templates/Apache-2.0.txt +0 -0
  261. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/_license_templates/MIT.txt +0 -0
  262. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/bandit-python/LICENSE +0 -0
  263. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/bandit-python/NOTICE +0 -0
  264. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/bandit-python/PORTING.md +0 -0
  265. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/bandit-python/manifest.yaml +0 -0
  266. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/bandit-python/rules/B105-hardcoded-password.yaml +0 -0
  267. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/bandit-python/rules/B303-weak-md5.yaml +0 -0
  268. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/bandit-python/rules/B304-weak-des.yaml +0 -0
  269. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/bandit-python/rules/B307-use-of-eval.yaml +0 -0
  270. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/bandit-python/rules/B324-weak-sha1.yaml +0 -0
  271. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/bandit-python/rules/B501-no-cert-validation.yaml +0 -0
  272. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/bandit-python/rules/B602-shell-true.yaml +0 -0
  273. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/bandit-python/rules/B608-sqli.yaml +0 -0
  274. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/eslint-typescript/LICENSE +0 -0
  275. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/eslint-typescript/NOTICE +0 -0
  276. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/eslint-typescript/PORTING.md +0 -0
  277. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/eslint-typescript/manifest.yaml +0 -0
  278. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/eslint-typescript/rules/eqeqeq.yaml +0 -0
  279. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/eslint-typescript/rules/no-eval.yaml +0 -0
  280. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/eslint-typescript/rules/no-implied-eval.yaml +0 -0
  281. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/eslint-typescript/rules/no-new-func.yaml +0 -0
  282. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/eslint-typescript/rules/no-throw-literal.yaml +0 -0
  283. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/eslint-typescript/rules/no-var.yaml +0 -0
  284. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/eslint-typescript/rules/no-with.yaml +0 -0
  285. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/gosec-go/LICENSE +0 -0
  286. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/gosec-go/NOTICE +0 -0
  287. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/gosec-go/PORTING.md +0 -0
  288. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/gosec-go/manifest.yaml +0 -0
  289. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/gosec-go/rules/G101-hardcoded-credentials.yaml +0 -0
  290. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/gosec-go/rules/G102-bind-all-interfaces.yaml +0 -0
  291. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/gosec-go/rules/G103-unsafe-block.yaml +0 -0
  292. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/gosec-go/rules/G201-sql-format.yaml +0 -0
  293. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/gosec-go/rules/G304-file-inclusion.yaml +0 -0
  294. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/gosec-go/rules/G401-weak-cipher.yaml +0 -0
  295. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/gosec-go/rules/G402-tls-min-version.yaml +0 -0
  296. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/community/gosec-go/rules/G501-md5-import.yaml +0 -0
  297. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/cpp/manifest.yaml +0 -0
  298. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/cpp/rules/security.yaml +0 -0
  299. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/cpp/rules/structural.yaml +0 -0
  300. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/csharp/manifest.yaml +0 -0
  301. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/csharp/rules/security.yaml +0 -0
  302. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/csharp/rules/structural.yaml +0 -0
  303. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/go/manifest.yaml +0 -0
  304. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/go/rules/performance.yaml +0 -0
  305. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/go/rules/security.yaml +0 -0
  306. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/go/rules/structural.yaml +0 -0
  307. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/go/taint/sanitizers.yaml +0 -0
  308. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/go/taint/sinks.yaml +0 -0
  309. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/go/taint/sources.yaml +0 -0
  310. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/java/manifest.yaml +0 -0
  311. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/java/rules/correctness.yaml +0 -0
  312. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/java/rules/structural.yaml +0 -0
  313. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/java/taint/sinks.yaml +0 -0
  314. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/java/taint/sources.yaml +0 -0
  315. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/kotlin/manifest.yaml +0 -0
  316. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/kotlin/rules/correctness.yaml +0 -0
  317. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/kotlin/rules/structural.yaml +0 -0
  318. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/php/manifest.yaml +0 -0
  319. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/php/rules/security.yaml +0 -0
  320. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/php/rules/structural.yaml +0 -0
  321. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/python/manifest.yaml +0 -0
  322. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/python/rules/performance.yaml +0 -0
  323. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/python/rules/structural.yaml +0 -0
  324. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/ruby/manifest.yaml +0 -0
  325. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/ruby/rules/security.yaml +0 -0
  326. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/ruby/rules/structural.yaml +0 -0
  327. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/rust/manifest.yaml +0 -0
  328. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/rust/rules/correctness.yaml +0 -0
  329. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/rust/rules/structural.yaml +0 -0
  330. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/typescript/manifest.yaml +0 -0
  331. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/typescript/rules/performance.yaml +0 -0
  332. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/examples/typescript/rules/structural.yaml +0 -0
  333. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/packs/pack_loader.py +0 -0
  334. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/plugins/__init__.py +0 -0
  335. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/plugins/plugin_loader.py +0 -0
  336. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/profiling.py +0 -0
  337. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/registry.py +0 -0
  338. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/sarif.py +0 -0
  339. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/synthesis.py +0 -0
  340. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/rules/testing.py +0 -0
  341. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/server.py +0 -0
  342. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/service.py +0 -0
  343. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/sharing.py +0 -0
  344. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/storage/__init__.py +0 -0
  345. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/storage/branch_overlay.py +0 -0
  346. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/storage/content_store.py +0 -0
  347. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/storage/dependency_store.py +0 -0
  348. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/storage/diff_engine.py +0 -0
  349. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/storage/embedding_store.py +0 -0
  350. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/storage/provenance_store.py +0 -0
  351. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/storage/security_scanner_db.py +0 -0
  352. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/storage/symbol_store.py +0 -0
  353. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/structural_evidence.py +0 -0
  354. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/symbol_inspection.py +0 -0
  355. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/symbol_links.py +0 -0
  356. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/telemetry.py +0 -0
  357. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/test_ranking.py +0 -0
  358. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/testing/__init__.py +0 -0
  359. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/testing/fixtures.py +0 -0
  360. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/testing/helpers.py +0 -0
  361. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/testing/mocks.py +0 -0
  362. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/tools/__init__.py +0 -0
  363. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/tools/adr_tools.py +0 -0
  364. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/tools/analysis_tools.py +0 -0
  365. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/tools/composite_tools.py +0 -0
  366. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/tools/cross_mode_tools.py +0 -0
  367. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/tools/dead_code_tools.py +0 -0
  368. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/tools/distill_tools.py +0 -0
  369. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/tools/frecency_tools.py +0 -0
  370. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/tools/fuzzy_tools.py +0 -0
  371. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/tools/history_tools.py +0 -0
  372. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/tools/learning_tools.py +0 -0
  373. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/tools/lsp_tools.py +0 -0
  374. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/tools/maintenance_tools.py +0 -0
  375. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/tools/navigation_tools.py +0 -0
  376. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/tools/overlay_tools.py +0 -0
  377. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/tools/pin_store.py +0 -0
  378. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/tools/pin_tools.py +0 -0
  379. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/tools/query_constraints_tools.py +0 -0
  380. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/tools/query_history_tools.py +0 -0
  381. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/tools/readiness_tools.py +0 -0
  382. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/tools/rule_tools.py +0 -0
  383. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/tools/search_tools.py +0 -0
  384. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/tools/snapshot_tools.py +0 -0
  385. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/workers/__init__.py +0 -0
  386. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/workers/job_utils.py +0 -0
  387. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/workers/jobs.py +0 -0
  388. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/workers/run.py +0 -0
  389. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/src/attocode_intel/workers/settings.py +0 -0
  390. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/tests/test_cold_discovery.py +0 -0
  391. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/tests/test_compact_inspection.py +0 -0
  392. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/tests/test_daily_workflows.py +0 -0
  393. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/tests/test_doctor.py +0 -0
  394. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/tests/test_edit_restart.py +0 -0
  395. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/tests/test_external_study.py +0 -0
  396. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/tests/test_focused_inspection.py +0 -0
  397. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/tests/test_index_reuse.py +0 -0
  398. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/tests/test_language_capabilities.py +0 -0
  399. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/tests/test_local_reranker.py +0 -0
  400. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/tests/test_localize_study.py +0 -0
  401. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/tests/test_onboarding_study.py +0 -0
  402. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/tests/test_pilot.py +0 -0
  403. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/tests/test_precision_protocol.py +0 -0
  404. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/tests/test_product.py +0 -0
  405. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/tests/test_quality_evaluation.py +0 -0
  406. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/tests/test_query_ranking.py +0 -0
  407. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/tests/test_ranking_intent.py +0 -0
  408. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/tests/test_remote.py +0 -0
  409. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/tests/test_structural_evidence.py +0 -0
  410. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/tests/test_study.py +0 -0
  411. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/tests/test_systemone_ranker.py +0 -0
  412. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/tests/test_token_overhead.py +0 -0
  413. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/tests/test_understanding_evaluation.py +0 -0
  414. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/tests/test_walk_order.py +0 -0
  415. {attocode_code_intel-0.1.3 → attocode_code_intel-0.1.4}/tests/test_warm_cache.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: attocode-code-intel
3
- Version: 0.1.3
3
+ Version: 0.1.4
4
4
  Summary: Local code search and navigation for coding agents and people
5
5
  Project-URL: Homepage, https://github.com/eren23/attocode
6
6
  Project-URL: Repository, https://github.com/eren23/attocode
@@ -6,7 +6,7 @@ build-backend = "hatchling.build"
6
6
 
7
7
  [project]
8
8
  name = "attocode-code-intel"
9
- version = "0.1.3"
9
+ version = "0.1.4"
10
10
  description = "Local code search and navigation for coding agents and people"
11
11
  readme = "README.md"
12
12
  requires-python = ">=3.12"
@@ -49,4 +49,4 @@ def __getattr__(name: str) -> Any:
49
49
  raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
50
50
 
51
51
  # The other copy is packages/code-intel/pyproject.toml. A test checks that both match.
52
- __version__ = "0.1.3"
52
+ __version__ = "0.1.4"
@@ -581,9 +581,11 @@ class IndexStore:
581
581
  return float(val) if val else None
582
582
 
583
583
  def close(self) -> None:
584
- if self._conn:
585
- self._conn.close()
586
- self._conn = None
584
+ # Background hydration can be inside a write. Closing under it crashes sqlite3.
585
+ with self._lock:
586
+ if self._conn:
587
+ self._conn.close()
588
+ self._conn = None
587
589
 
588
590
  def __del__(self) -> None:
589
591
  self.close()
@@ -383,9 +383,10 @@ class VectorStore:
383
383
  """
384
384
  conn = self._get_conn()
385
385
  try:
386
- row = conn.execute(
387
- "SELECT value FROM store_metadata WHERE key = 'rotation_state'"
388
- ).fetchone()
386
+ with self._lock:
387
+ row = conn.execute(
388
+ "SELECT value FROM store_metadata WHERE key = 'rotation_state'"
389
+ ).fetchone()
389
390
  except sqlite3.OperationalError:
390
391
  # Pre-v2 store without a store_metadata row yet — treat as
391
392
  # no rotation.
@@ -413,9 +414,10 @@ class VectorStore:
413
414
  """
414
415
  conn = self._get_conn()
415
416
  try:
416
- row = conn.execute(
417
- "SELECT value FROM store_metadata WHERE key = '_rotator_cache_ver'"
418
- ).fetchone()
417
+ with self._lock:
418
+ row = conn.execute(
419
+ "SELECT value FROM store_metadata WHERE key = '_rotator_cache_ver'"
420
+ ).fetchone()
419
421
  except sqlite3.OperationalError:
420
422
  return
421
423
  if row is None:
@@ -787,9 +789,11 @@ class VectorStore:
787
789
 
788
790
  def close(self) -> None:
789
791
  """Close the database connection."""
790
- if self._conn:
791
- self._conn.close()
792
- self._conn = None
792
+ # The background indexer can be inside a write. Closing under it crashes sqlite3.
793
+ with self._lock:
794
+ if self._conn:
795
+ self._conn.close()
796
+ self._conn = None
793
797
 
794
798
  def __del__(self) -> None:
795
799
  self.close()
@@ -198,6 +198,25 @@ def test_index_lookups_wait_for_a_background_writer():
198
198
  assert not reader.is_alive()
199
199
 
200
200
 
201
+
202
+ @pytest.mark.parametrize("kind", ["index", "vector"])
203
+ def test_close_waits_for_a_background_write(tmp_path, kind):
204
+ """Shutdown closed the store while hydration wrote to it, and sqlite3 crashed (R5)."""
205
+ from attocode_intel._internal.integrations.context.index_store import IndexStore
206
+ from attocode_intel._internal.integrations.context.vector_store import VectorStore
207
+
208
+ db = str(tmp_path / "store.db")
209
+ store = IndexStore(db_path=db) if kind == "index" else VectorStore(db_path=db, dimension=4)
210
+ closer = threading.Thread(target=store.close, daemon=True)
211
+ with store._lock: # A writer is inside a statement.
212
+ closer.start()
213
+ closer.join(0.2)
214
+ assert closer.is_alive()
215
+ assert store._conn is not None
216
+ closer.join(5)
217
+ assert not closer.is_alive()
218
+ assert store._conn is None
219
+
201
220
  def test_http_indexer_resolves_relative_imports_and_import_roots():
202
221
  from attocode_intel.indexing.full_indexer import _resolve_import_path
203
222