attocode-code-intel 0.1.11__tar.gz → 0.1.12__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 (872) hide show
  1. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/PKG-INFO +4 -2
  2. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/README.md +3 -1
  3. attocode_code_intel-0.1.12/evals/designs/2026-10-19-cpu-fn-embed-cost.json +33 -0
  4. attocode_code_intel-0.1.12/evals/results/2026-10-19-cpu-fn-embed-cost.json +365 -0
  5. attocode_code_intel-0.1.12/evals/results/2026-10-19-cpu-fn-embed-cost.md +157 -0
  6. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/pyproject.toml +1 -1
  7. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/__init__.py +1 -1
  8. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/onboarding.py +9 -0
  9. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_doctor.py +20 -0
  10. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/.gitignore +0 -0
  11. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/LICENSE +0 -0
  12. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/README.md +0 -0
  13. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/ast_restart_probe.py +0 -0
  14. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/body_cost_probe.py +0 -0
  15. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/broad_candidate_audit.yaml +0 -0
  16. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/broad_query_cases.yaml +0 -0
  17. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/broad_query_external_cases.yaml +0 -0
  18. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/broad_query_final_holdout.yaml +0 -0
  19. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/client_comparison.py +0 -0
  20. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/client_responses.py +0 -0
  21. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/codex_repair_study.py +0 -0
  22. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/daily.py +0 -0
  23. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-13-codex-repair-diagnostic.md +0 -0
  24. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-13-r7-task-completion-pilot.md +0 -0
  25. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-14-workflow-pilot.md +0 -0
  26. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-15-body-file-trial.md +0 -0
  27. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-15-body-file-validation.json +0 -0
  28. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-15-expansion-ablation.md +0 -0
  29. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-15-expansion-development.json +0 -0
  30. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-15-expansion-validation.json +0 -0
  31. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-15-fresh-navigation-queries.json +0 -0
  32. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-15-headroom-retrieval-questions.json +0 -0
  33. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-15-headroom-retrieval.md +0 -0
  34. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-16-cross-file-questions.json +0 -0
  35. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-16-deep-page-questions.json +0 -0
  36. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-16-kotlin-test-paths.json +0 -0
  37. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-16-navigation-prefix-validation.json +0 -0
  38. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-16-navigation-prefix.json +0 -0
  39. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-16-negation-candidate.patch.gz +0 -0
  40. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-16-negation-development.json +0 -0
  41. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-16-negation-freeze.json +0 -0
  42. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-16-negation-validation.json +0 -0
  43. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-16-search-correctness-candidates/accepted.patch.gz +0 -0
  44. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-16-search-correctness-candidates/boundaries.patch.gz +0 -0
  45. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-16-search-correctness-candidates/combined.patch.gz +0 -0
  46. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-16-search-correctness-candidates/expansion.patch.gz +0 -0
  47. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-16-search-correctness-candidates/identity.patch.gz +0 -0
  48. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-16-search-correctness-candidates/manifest.json +0 -0
  49. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-16-search-correctness-candidates/negation.patch.gz +0 -0
  50. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-16-search-correctness-candidates/owner_only.patch.gz +0 -0
  51. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-16-search-correctness-candidates/owners.patch.gz +0 -0
  52. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-16-search-correctness-confirmation-freeze.json +0 -0
  53. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-16-search-correctness-confirmation.json +0 -0
  54. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-16-search-correctness-development.json +0 -0
  55. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-16-search-correctness-freeze.json +0 -0
  56. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-16-search-correctness-validation.json +0 -0
  57. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-16-search-usefulness-development.json +0 -0
  58. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-16-search-usefulness-validation.json +0 -0
  59. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-16-search-usefulness.json +0 -0
  60. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-16-test-intent.json +0 -0
  61. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-17-change-focus-candidate.patch.gz +0 -0
  62. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-17-change-workflow-replays.json +0 -0
  63. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-17-change-workflow-replays.md +0 -0
  64. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-17-file-coverage-c2f.patch.gz +0 -0
  65. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-17-file-coverage-development.json +0 -0
  66. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-17-file-coverage-freeze.json +0 -0
  67. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-17-file-coverage-t.patch.gz +0 -0
  68. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-17-file-coverage-tcf.patch.gz +0 -0
  69. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-17-file-coverage-validation.json +0 -0
  70. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-17-search-batch-candidate.patch.gz +0 -0
  71. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-17-search-batch-development.json +0 -0
  72. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-17-search-batch-freeze.json +0 -0
  73. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-17-search-batch-validation.json +0 -0
  74. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-17-test-source-slot-candidate.json +0 -0
  75. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-17-test-source-slot-development.json +0 -0
  76. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-17-test-source-slot-freeze.json +0 -0
  77. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-17-test-source-slot-t2.patch.gz +0 -0
  78. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-17-test-source-slot-t3.patch.gz +0 -0
  79. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-17-test-source-slot-validation.json +0 -0
  80. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-18-paired-source-candidate.json +0 -0
  81. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-18-paired-source-development.json +0 -0
  82. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-18-paired-source-freeze.json +0 -0
  83. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-18-paired-source-p.patch.gz +0 -0
  84. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-18-paired-source-pf.patch.gz +0 -0
  85. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-18-paired-source-validation.json +0 -0
  86. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-18-query-source-candidate.json +0 -0
  87. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-18-query-source-development.json +0 -0
  88. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-18-query-source-freeze.json +0 -0
  89. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-18-query-source-q1.patch.gz +0 -0
  90. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-18-query-source-q2.patch.gz +0 -0
  91. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-18-query-source-q3.patch.gz +0 -0
  92. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-18-query-source-q5.patch.gz +0 -0
  93. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-18-query-source-s1.patch.gz +0 -0
  94. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-18-query-source-s2-equivalence.json +0 -0
  95. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-18-query-source-s2-freeze.json +0 -0
  96. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-18-query-source-s2-validation.json +0 -0
  97. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-18-query-source-s2.patch.gz +0 -0
  98. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/designs/2026-10-18-query-source-validation.json +0 -0
  99. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/discovery_reuse_probe.py +0 -0
  100. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/external_benchmarks.py +0 -0
  101. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/external_study.py +0 -0
  102. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/graded_blind_pack.yaml +0 -0
  103. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/lexical_sql_probe.py +0 -0
  104. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/localize_study.py +0 -0
  105. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/locbench_title_pack.yaml +0 -0
  106. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/onboarding_study.py +0 -0
  107. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/pilot.py +0 -0
  108. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/quality_scoring.py +0 -0
  109. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/quality_tasks.py +0 -0
  110. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/release_gate.py +0 -0
  111. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/repair_grading.py +0 -0
  112. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/repair_study.py +0 -0
  113. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/repair_worker.py +0 -0
  114. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/responses.py +0 -0
  115. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/restart_discovery_probe.py +0 -0
  116. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-09-05-macos.json +0 -0
  117. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-04-broad-query-ranking.md +0 -0
  118. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-04-decision-reranker-trial.md +0 -0
  119. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-04-systemone-http-local-trial.md +0 -0
  120. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-05-broad-candidate-audit.md +0 -0
  121. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-05-source-view-transfer.md +0 -0
  122. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-08-blind-graded-rerank.md +0 -0
  123. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-08-locbench-560.md +0 -0
  124. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-09-locbench-560-first-stage.md +0 -0
  125. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-10-agent-pilot.md +0 -0
  126. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-10-agent-r3.md +0 -0
  127. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-10-matrix-r1.md +0 -0
  128. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-11-agent-r4-stage0.md +0 -0
  129. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-12-r4-stage1-review-agents.md +0 -0
  130. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-12-r5-test-suggestions.md +0 -0
  131. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-13-codex-repair-diagnostic.md +0 -0
  132. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-13-r6-review-test-note.md +0 -0
  133. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-13-r7-preparation.md +0 -0
  134. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-13-r7-wiring.md +0 -0
  135. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-14-bounded-quality/broad-report.json +0 -0
  136. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-14-bounded-quality/lifecycle.json +0 -0
  137. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-14-bounded-quality/manifest.json +0 -0
  138. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-14-bounded-quality/quick-report.json +0 -0
  139. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-14-bounded-quality/ranking.json +0 -0
  140. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-14-bounded-quality/ranking.log +0 -0
  141. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-14-bounded-quality/scale.json +0 -0
  142. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-14-bounded-quality/storage.json +0 -0
  143. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-14-bounded-quality/workflows.json +0 -0
  144. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-14-bounded-quality.md +0 -0
  145. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-14-breadth-cloud-first.json +0 -0
  146. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-14-breadth-development.json +0 -0
  147. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-14-breadth-development.md +0 -0
  148. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-14-r7-completion-pilot.md +0 -0
  149. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-14-search-evidence-audit/fixture-replay.json +0 -0
  150. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-14-search-evidence-audit/ledger.json +0 -0
  151. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-14-search-evidence-audit/report.md +0 -0
  152. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-14-search-evidence.md +0 -0
  153. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-14-search-followup/README.md +0 -0
  154. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-14-search-followup/artifact-hashes.json +0 -0
  155. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-14-search-followup/chunk-analysis.json +0 -0
  156. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-14-search-followup/chunk-audit-script.txt +0 -0
  157. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-14-search-followup/chunk-pools.json +0 -0
  158. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-14-search-followup/mcp-smoke-script.txt +0 -0
  159. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-14-search-followup/mcp-smoke.json +0 -0
  160. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-14-search-followup/metadata-source-probe.json +0 -0
  161. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-ast-restart.json +0 -0
  162. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-ast-restart.md +0 -0
  163. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-body-index-profile.json +0 -0
  164. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-body-index-profile.md +0 -0
  165. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-breadth-cloud.json +0 -0
  166. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-breadth-cloud.md +0 -0
  167. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-cloud-bootstrap.json +0 -0
  168. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-cloud-bootstrap.md +0 -0
  169. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-cloud-setup-lock.json +0 -0
  170. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-cloud-setup-lock.md +0 -0
  171. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-cockroach-index-probe.json +0 -0
  172. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-cockroach-index-probe.md +0 -0
  173. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-cold-followup.json +0 -0
  174. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-cold-followup.md +0 -0
  175. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-cold-repair-cycle.json +0 -0
  176. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-cold-repair-cycle.md +0 -0
  177. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-discovery-body-repair.json +0 -0
  178. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-discovery-body-repair.md +0 -0
  179. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-discovery-validation.json +0 -0
  180. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-discovery-validation.md +0 -0
  181. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-expansion-choice.json +0 -0
  182. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-expansion-importance.json +0 -0
  183. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-expansion-importance.md +0 -0
  184. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-file-symbol-probe.json +0 -0
  185. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-file-symbol-validation.json +0 -0
  186. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-headroom-cloud.json +0 -0
  187. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-headroom-retrieval.json +0 -0
  188. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-headroom-retrieval.md +0 -0
  189. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-headroom-validation.json +0 -0
  190. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-index-probe-readiness.json +0 -0
  191. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-index-probe-readiness.md +0 -0
  192. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-lexical-sql-contention.json +0 -0
  193. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-lexical-sql-contention.md +0 -0
  194. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-protocol-body-followup.json +0 -0
  195. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-protocol-body-followup.md +0 -0
  196. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-protocol-body-validation.json +0 -0
  197. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-release-016.json +0 -0
  198. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-release-016.md +0 -0
  199. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-restart-discovery-repair.json +0 -0
  200. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-restart-discovery-repair.md +0 -0
  201. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-retrieval-audit.json +0 -0
  202. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-retrieval-file-symbol.md +0 -0
  203. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-retrieval-replay.json +0 -0
  204. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-structural-write-contention.json +0 -0
  205. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-15-structural-write-contention.md +0 -0
  206. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-16-change-investigation.md +0 -0
  207. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-16-cockroach-fresh-timing.json +0 -0
  208. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-16-cross-file-audit.json +0 -0
  209. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-16-cross-file-audit.md +0 -0
  210. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-16-deep-page-diversity.json +0 -0
  211. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-16-deep-page-diversity.md +0 -0
  212. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-16-intelligence-test-migration.json +0 -0
  213. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-16-intelligence-transition.json +0 -0
  214. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-16-intelligence-transition.md +0 -0
  215. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-16-kotlin-test-paths.json +0 -0
  216. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-16-kotlin-test-paths.md +0 -0
  217. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-16-navigation-prefix.json +0 -0
  218. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-16-navigation-prefix.md +0 -0
  219. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-16-negation-decision.json +0 -0
  220. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-16-negation-observations.json.gz +0 -0
  221. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-16-negation.md +0 -0
  222. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-16-search-correctness-decision.json +0 -0
  223. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-16-search-correctness-observations.json.gz +0 -0
  224. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-16-search-correctness.md +0 -0
  225. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-16-search-recovery-batch.md +0 -0
  226. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-16-search-recovery-validation.json +0 -0
  227. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-16-search-usefulness-decision.json +0 -0
  228. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-16-search-usefulness-development-express.json +0 -0
  229. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-16-search-usefulness-development-gson.json +0 -0
  230. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-16-search-usefulness-development-requests.json +0 -0
  231. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-16-search-usefulness-development-ripgrep.json +0 -0
  232. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-16-search-usefulness-validation-checks.json +0 -0
  233. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-16-search-usefulness-validation-express.json +0 -0
  234. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-16-search-usefulness-validation-gson.json +0 -0
  235. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-16-search-usefulness-validation-requests.json +0 -0
  236. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-16-search-usefulness-validation-ripgrep.json +0 -0
  237. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-16-search-usefulness.md +0 -0
  238. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-16-test-intent.json +0 -0
  239. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-17-change-focus-baseline.json.gz +0 -0
  240. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-17-change-focus-candidate.json.gz +0 -0
  241. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-17-change-focus-decision.json +0 -0
  242. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-17-change-workflow-observations.json.gz +0 -0
  243. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-17-change-workflow-replays.md +0 -0
  244. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-17-change-workflow-summary.json +0 -0
  245. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-17-file-coverage-decision.json +0 -0
  246. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-17-file-coverage-observations.json.gz +0 -0
  247. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-17-file-coverage.md +0 -0
  248. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-17-focused-change-reports.md +0 -0
  249. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-17-search-batch-decision.json +0 -0
  250. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-17-search-batch-observations.json.gz +0 -0
  251. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-17-search-batch.md +0 -0
  252. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-17-test-source-slot-decision.json +0 -0
  253. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-17-test-source-slot-observations.json.gz +0 -0
  254. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-17-test-source-slot.md +0 -0
  255. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-18-locbench-remeasure.json +0 -0
  256. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-18-locbench-remeasure.md +0 -0
  257. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-18-paired-source-decision.json +0 -0
  258. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-18-paired-source-observations.json.gz +0 -0
  259. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-18-paired-source.md +0 -0
  260. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-18-query-source-decision.json +0 -0
  261. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-18-query-source-observations.json.gz +0 -0
  262. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-18-query-source-s2-decision.json +0 -0
  263. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-18-query-source-s2-observations.json.gz +0 -0
  264. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-18-query-source.md +0 -0
  265. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-19-function-bm25.json +0 -0
  266. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/2026-10-19-function-bm25.md +0 -0
  267. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/results/README.md +0 -0
  268. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/search_evidence_audit.py +0 -0
  269. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/source_view_transfer.yaml +0 -0
  270. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/structural_write_probe.py +0 -0
  271. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/study.py +0 -0
  272. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/study_clients.py +0 -0
  273. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/study_events.py +0 -0
  274. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/study_tasks.py +0 -0
  275. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/token_overhead.py +0 -0
  276. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/understanding_scoring.py +0 -0
  277. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/understanding_study.py +0 -0
  278. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/warm_cache.py +0 -0
  279. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/evals/workflows.py +0 -0
  280. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/GUIDELINES.md +0 -0
  281. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/__init__.py +0 -0
  282. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/errors/__init__.py +0 -0
  283. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/__init__.py +0 -0
  284. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/__init__.py +0 -0
  285. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/architecture_drift.py +0 -0
  286. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/ast_chunker.py +0 -0
  287. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/ast_service.py +0 -0
  288. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/ast_snapshot.py +0 -0
  289. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/blob_oid.py +0 -0
  290. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/cache_manifest.py +0 -0
  291. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/cas.py +0 -0
  292. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/code_analyzer.py +0 -0
  293. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/codebase_ast.py +0 -0
  294. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/codebase_context.py +0 -0
  295. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/cross_mode.py +0 -0
  296. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/cross_references.py +0 -0
  297. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/discovery_snapshot.py +0 -0
  298. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/embedding_rotation.py +0 -0
  299. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/embeddings.py +0 -0
  300. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/frecency.py +0 -0
  301. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/fuzzy.py +0 -0
  302. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/hierarchical_explorer.py +0 -0
  303. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/hydration.py +0 -0
  304. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/index_probe.py +0 -0
  305. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/index_repair.py +0 -0
  306. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/index_store.py +0 -0
  307. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/language_registry.py +0 -0
  308. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/memory_store.py +0 -0
  309. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/module_resolution.py +0 -0
  310. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/query_constraints.py +0 -0
  311. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/query_history.py +0 -0
  312. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/reranker.py +0 -0
  313. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/semantic_search.py +0 -0
  314. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/syntax_evidence.py +0 -0
  315. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/systemone_ranker.py +0 -0
  316. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/temporal_coupling.py +0 -0
  317. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/trigram_index.py +0 -0
  318. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/trigram_regex.py +0 -0
  319. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/ts_parser.py +0 -0
  320. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/context/vector_store.py +0 -0
  321. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/feature_flags/__init__.py +0 -0
  322. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/lsp/__init__.py +0 -0
  323. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/lsp/client.py +0 -0
  324. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/mcp/__init__.py +0 -0
  325. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/mcp/client.py +0 -0
  326. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/security/__init__.py +0 -0
  327. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/security/custom_rules.py +0 -0
  328. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/security/dataflow.py +0 -0
  329. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/security/dependency_audit.py +0 -0
  330. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/security/matcher.py +0 -0
  331. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/security/patterns.py +0 -0
  332. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/security/scanner.py +0 -0
  333. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/utilities/__init__.py +0 -0
  334. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/utilities/ignore.py +0 -0
  335. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/integrations/utilities/token_estimate.py +0 -0
  336. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/tricks/__init__.py +0 -0
  337. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/tricks/recursive_context.py +0 -0
  338. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/types/__init__.py +0 -0
  339. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/types/events.py +0 -0
  340. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_internal/types/severity.py +0 -0
  341. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/_shared.py +0 -0
  342. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/analysis_coverage.py +0 -0
  343. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/__init__.py +0 -0
  344. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/access.py +0 -0
  345. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/app.py +0 -0
  346. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/auth/__init__.py +0 -0
  347. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/auth/api_keys.py +0 -0
  348. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/auth/context.py +0 -0
  349. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/auth/jwt.py +0 -0
  350. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/auth/oauth.py +0 -0
  351. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/auth/passwords.py +0 -0
  352. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/deps.py +0 -0
  353. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/knowledge_bridge.py +0 -0
  354. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/mcp_transport.py +0 -0
  355. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/middleware.py +0 -0
  356. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/models.py +0 -0
  357. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/providers/__init__.py +0 -0
  358. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/providers/db_provider.py +0 -0
  359. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/providers/local_provider.py +0 -0
  360. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/providers/remote_provider.py +0 -0
  361. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/repository_source.py +0 -0
  362. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/routes/__init__.py +0 -0
  363. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/routes/_pin_helper.py +0 -0
  364. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/routes/activity.py +0 -0
  365. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/routes/adr.py +0 -0
  366. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/routes/analysis.py +0 -0
  367. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/routes/api_keys.py +0 -0
  368. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/routes/auth.py +0 -0
  369. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/routes/branches.py +0 -0
  370. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/routes/cross_repo_search.py +0 -0
  371. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/routes/embeddings.py +0 -0
  372. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/routes/files.py +0 -0
  373. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/routes/files_v2.py +0 -0
  374. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/routes/gc.py +0 -0
  375. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/routes/git_v2.py +0 -0
  376. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/routes/graph.py +0 -0
  377. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/routes/graph_viz.py +0 -0
  378. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/routes/health.py +0 -0
  379. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/routes/history.py +0 -0
  380. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/routes/jobs.py +0 -0
  381. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/routes/learning.py +0 -0
  382. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/routes/lsp.py +0 -0
  383. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/routes/notify.py +0 -0
  384. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/routes/operations.py +0 -0
  385. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/routes/orgs.py +0 -0
  386. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/routes/preferences.py +0 -0
  387. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/routes/presence.py +0 -0
  388. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/routes/projects.py +0 -0
  389. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/routes/repos.py +0 -0
  390. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/routes/search.py +0 -0
  391. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/routes/snapshots.py +0 -0
  392. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/routes/webhooks.py +0 -0
  393. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/routes/websocket.py +0 -0
  394. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/static/graph.html +0 -0
  395. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/api/utils.py +0 -0
  396. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/artifacts/__init__.py +0 -0
  397. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/artifacts/hashing.py +0 -0
  398. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/artifacts/provenance.py +0 -0
  399. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/artifacts/retrieval_pin.py +0 -0
  400. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/audit.py +0 -0
  401. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/bug_finder.py +0 -0
  402. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/bundle.py +0 -0
  403. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/catalog.py +0 -0
  404. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/change_evidence.py +0 -0
  405. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/change_investigation.py +0 -0
  406. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/change_review.py +0 -0
  407. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/cli.py +0 -0
  408. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/community.py +0 -0
  409. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/confidence/__init__.py +0 -0
  410. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/confidence/jev.py +0 -0
  411. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/confidence/llm.py +0 -0
  412. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/confidence/redact.py +0 -0
  413. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/confidence/settings.py +0 -0
  414. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/config.py +0 -0
  415. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/crypto.py +0 -0
  416. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/db/__init__.py +0 -0
  417. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/db/base.py +0 -0
  418. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/db/engine.py +0 -0
  419. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/db/models.py +0 -0
  420. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/entrypoint.py +0 -0
  421. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/focused_evidence.py +0 -0
  422. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/freshness.py +0 -0
  423. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/gateway.py +0 -0
  424. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/git/__init__.py +0 -0
  425. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/git/credentials.py +0 -0
  426. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/git/manager.py +0 -0
  427. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/git/models.py +0 -0
  428. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/git/storage.py +0 -0
  429. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/graph_query_parser.py +0 -0
  430. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/helpers.py +0 -0
  431. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/indexing/__init__.py +0 -0
  432. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/indexing/debouncer.py +0 -0
  433. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/indexing/delta_indexer.py +0 -0
  434. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/indexing/full_indexer.py +0 -0
  435. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/indexing/incremental.py +0 -0
  436. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/indexing/parser.py +0 -0
  437. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/indexing/summarizer.py +0 -0
  438. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/installer.py +0 -0
  439. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/investigation_cli.py +0 -0
  440. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/knowledge.py +0 -0
  441. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/local_knowledge.py +0 -0
  442. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/migrations/alembic.ini +0 -0
  443. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/migrations/env.py +0 -0
  444. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/migrations/script.py.mako +0 -0
  445. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/migrations/versions/001_initial_schema.py +0 -0
  446. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/migrations/versions/002_branch_version_and_embeddings.py +0 -0
  447. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/migrations/versions/003_embedding_uniqueness_and_cascade.py +0 -0
  448. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/migrations/versions/004_audit_events.py +0 -0
  449. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/migrations/versions/005_user_preferences.py +0 -0
  450. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/migrations/versions/006_google_oauth.py +0 -0
  451. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/migrations/versions/007_pgvector_embeddings.py +0 -0
  452. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/migrations/versions/008_symbol_references.py +0 -0
  453. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/migrations/versions/009_webhook_secret_encryption.py +0 -0
  454. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/migrations/versions/010_add_commits_table.py +0 -0
  455. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/migrations/versions/011_commit_changed_files.py +0 -0
  456. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/migrations/versions/012_branch_merged_at.py +0 -0
  457. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/migrations/versions/013_revoked_tokens.py +0 -0
  458. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/migrations/versions/014_blame_hunks.py +0 -0
  459. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/migrations/versions/015_commit_file_stats.py +0 -0
  460. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/migrations/versions/016_embedding_provenance_columns.py +0 -0
  461. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/migrations/versions/017_provenance_table.py +0 -0
  462. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/migrations/versions/018_repo_snapshots.py +0 -0
  463. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/migrations/versions/019_symref_caller.py +0 -0
  464. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/migrations/versions/020_shared_knowledge.py +0 -0
  465. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/output.py +0 -0
  466. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/precision.py +0 -0
  467. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/presence.py +0 -0
  468. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/probe.py +0 -0
  469. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/project_dir.py +0 -0
  470. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/pubsub.py +0 -0
  471. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/query_ranking.py +0 -0
  472. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/readiness.py +0 -0
  473. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/redis.py +0 -0
  474. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/reference_pages.py +0 -0
  475. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/remote.py +0 -0
  476. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/repo_ranker.py +0 -0
  477. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/request_context.py +0 -0
  478. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/__init__.py +0 -0
  479. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/ci.py +0 -0
  480. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/combinators.py +0 -0
  481. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/enricher.py +0 -0
  482. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/evolution.py +0 -0
  483. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/executor.py +0 -0
  484. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/filters/__init__.py +0 -0
  485. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/filters/pipeline.py +0 -0
  486. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/formatter.py +0 -0
  487. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/hygiene.py +0 -0
  488. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/importers/__init__.py +0 -0
  489. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/importers/semgrep.py +0 -0
  490. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/loader.py +0 -0
  491. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/marketplace.py +0 -0
  492. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/metavar.py +0 -0
  493. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/model.py +0 -0
  494. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/__init__.py +0 -0
  495. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/_license_templates/Apache-2.0.txt +0 -0
  496. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/_license_templates/MIT.txt +0 -0
  497. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/bandit-python/LICENSE +0 -0
  498. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/bandit-python/NOTICE +0 -0
  499. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/bandit-python/PORTING.md +0 -0
  500. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/bandit-python/manifest.yaml +0 -0
  501. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/bandit-python/rules/B105-hardcoded-password.yaml +0 -0
  502. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/bandit-python/rules/B303-weak-md5.yaml +0 -0
  503. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/bandit-python/rules/B304-weak-des.yaml +0 -0
  504. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/bandit-python/rules/B307-use-of-eval.yaml +0 -0
  505. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/bandit-python/rules/B324-weak-sha1.yaml +0 -0
  506. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/bandit-python/rules/B501-no-cert-validation.yaml +0 -0
  507. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/bandit-python/rules/B602-shell-true.yaml +0 -0
  508. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/bandit-python/rules/B608-sqli.yaml +0 -0
  509. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/eslint-typescript/LICENSE +0 -0
  510. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/eslint-typescript/NOTICE +0 -0
  511. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/eslint-typescript/PORTING.md +0 -0
  512. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/eslint-typescript/manifest.yaml +0 -0
  513. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/eslint-typescript/rules/eqeqeq.yaml +0 -0
  514. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/eslint-typescript/rules/no-eval.yaml +0 -0
  515. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/eslint-typescript/rules/no-implied-eval.yaml +0 -0
  516. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/eslint-typescript/rules/no-new-func.yaml +0 -0
  517. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/eslint-typescript/rules/no-throw-literal.yaml +0 -0
  518. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/eslint-typescript/rules/no-var.yaml +0 -0
  519. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/eslint-typescript/rules/no-with.yaml +0 -0
  520. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/gosec-go/LICENSE +0 -0
  521. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/gosec-go/NOTICE +0 -0
  522. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/gosec-go/PORTING.md +0 -0
  523. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/gosec-go/manifest.yaml +0 -0
  524. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/gosec-go/rules/G101-hardcoded-credentials.yaml +0 -0
  525. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/gosec-go/rules/G102-bind-all-interfaces.yaml +0 -0
  526. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/gosec-go/rules/G103-unsafe-block.yaml +0 -0
  527. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/gosec-go/rules/G201-sql-format.yaml +0 -0
  528. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/gosec-go/rules/G304-file-inclusion.yaml +0 -0
  529. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/gosec-go/rules/G401-weak-cipher.yaml +0 -0
  530. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/gosec-go/rules/G402-tls-min-version.yaml +0 -0
  531. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/community/gosec-go/rules/G501-md5-import.yaml +0 -0
  532. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/cpp/manifest.yaml +0 -0
  533. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/cpp/rules/security.yaml +0 -0
  534. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/cpp/rules/structural.yaml +0 -0
  535. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/csharp/manifest.yaml +0 -0
  536. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/csharp/rules/security.yaml +0 -0
  537. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/csharp/rules/structural.yaml +0 -0
  538. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/go/manifest.yaml +0 -0
  539. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/go/rules/performance.yaml +0 -0
  540. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/go/rules/security.yaml +0 -0
  541. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/go/rules/structural.yaml +0 -0
  542. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/go/taint/sanitizers.yaml +0 -0
  543. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/go/taint/sinks.yaml +0 -0
  544. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/go/taint/sources.yaml +0 -0
  545. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/java/manifest.yaml +0 -0
  546. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/java/rules/correctness.yaml +0 -0
  547. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/java/rules/structural.yaml +0 -0
  548. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/java/taint/sinks.yaml +0 -0
  549. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/java/taint/sources.yaml +0 -0
  550. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/kotlin/manifest.yaml +0 -0
  551. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/kotlin/rules/correctness.yaml +0 -0
  552. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/kotlin/rules/structural.yaml +0 -0
  553. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/php/manifest.yaml +0 -0
  554. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/php/rules/security.yaml +0 -0
  555. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/php/rules/structural.yaml +0 -0
  556. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/python/manifest.yaml +0 -0
  557. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/python/rules/performance.yaml +0 -0
  558. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/python/rules/structural.yaml +0 -0
  559. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/ruby/manifest.yaml +0 -0
  560. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/ruby/rules/security.yaml +0 -0
  561. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/ruby/rules/structural.yaml +0 -0
  562. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/rust/manifest.yaml +0 -0
  563. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/rust/rules/correctness.yaml +0 -0
  564. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/rust/rules/structural.yaml +0 -0
  565. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/typescript/manifest.yaml +0 -0
  566. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/typescript/rules/performance.yaml +0 -0
  567. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/examples/typescript/rules/structural.yaml +0 -0
  568. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/packs/pack_loader.py +0 -0
  569. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/plugins/__init__.py +0 -0
  570. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/plugins/plugin_loader.py +0 -0
  571. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/profiling.py +0 -0
  572. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/registry.py +0 -0
  573. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/sarif.py +0 -0
  574. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/synthesis.py +0 -0
  575. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/rules/testing.py +0 -0
  576. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/search_evidence.py +0 -0
  577. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/server.py +0 -0
  578. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/service.py +0 -0
  579. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/sharing.py +0 -0
  580. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/storage/__init__.py +0 -0
  581. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/storage/branch_overlay.py +0 -0
  582. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/storage/content_store.py +0 -0
  583. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/storage/dependency_store.py +0 -0
  584. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/storage/diff_engine.py +0 -0
  585. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/storage/embedding_store.py +0 -0
  586. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/storage/provenance_store.py +0 -0
  587. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/storage/security_scanner_db.py +0 -0
  588. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/storage/symbol_store.py +0 -0
  589. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/structural_evidence.py +0 -0
  590. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/symbol_inspection.py +0 -0
  591. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/symbol_links.py +0 -0
  592. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/telemetry.py +0 -0
  593. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/test_ranking.py +0 -0
  594. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/testing/__init__.py +0 -0
  595. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/testing/fixtures.py +0 -0
  596. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/testing/helpers.py +0 -0
  597. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/testing/mocks.py +0 -0
  598. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/tools/__init__.py +0 -0
  599. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/tools/adr_tools.py +0 -0
  600. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/tools/analysis_tools.py +0 -0
  601. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/tools/composite_tools.py +0 -0
  602. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/tools/cross_mode_tools.py +0 -0
  603. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/tools/dead_code_tools.py +0 -0
  604. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/tools/distill_tools.py +0 -0
  605. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/tools/frecency_tools.py +0 -0
  606. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/tools/fuzzy_tools.py +0 -0
  607. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/tools/history_tools.py +0 -0
  608. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/tools/learning_tools.py +0 -0
  609. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/tools/lsp_tools.py +0 -0
  610. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/tools/maintenance_tools.py +0 -0
  611. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/tools/navigation_tools.py +0 -0
  612. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/tools/overlay_tools.py +0 -0
  613. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/tools/pin_store.py +0 -0
  614. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/tools/pin_tools.py +0 -0
  615. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/tools/query_constraints_tools.py +0 -0
  616. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/tools/query_history_tools.py +0 -0
  617. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/tools/readiness_tools.py +0 -0
  618. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/tools/rule_tools.py +0 -0
  619. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/tools/search_tools.py +0 -0
  620. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/tools/snapshot_tools.py +0 -0
  621. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/workers/__init__.py +0 -0
  622. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/workers/job_utils.py +0 -0
  623. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/workers/jobs.py +0 -0
  624. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/workers/run.py +0 -0
  625. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/src/attocode_intel/workers/settings.py +0 -0
  626. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/fixtures/rule_violations/.attocode/rules/team-preferences.yaml +0 -0
  627. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/fixtures/rule_violations/go/bad_patterns.go +0 -0
  628. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/fixtures/rule_violations/java/BadPatterns.java +0 -0
  629. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/fixtures/rule_violations/python/bad_patterns.py +0 -0
  630. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/fixtures/rule_violations/rust/bad_patterns.rs +0 -0
  631. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/fixtures/rule_violations/typescript/bad_patterns.ts +0 -0
  632. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/integration/__init__.py +0 -0
  633. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/integration/code_intel/__init__.py +0 -0
  634. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/integration/code_intel/conftest.py +0 -0
  635. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/integration/code_intel/test_http_smoke.py +0 -0
  636. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/integration/code_intel/test_mcp_tools_audit.py +0 -0
  637. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/integration/code_intel/test_remote_mcp_http_integration.py +0 -0
  638. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/integration/code_intel/test_service_integration.py +0 -0
  639. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/integration/test_rule_bench_floor_e2e.py +0 -0
  640. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_ast_snapshot.py +0 -0
  641. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_behavioral_negation.py +0 -0
  642. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_change_focus.py +0 -0
  643. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_change_investigation.py +0 -0
  644. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_chunk_identity.py +0 -0
  645. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_codex_repair_study.py +0 -0
  646. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_cold_discovery.py +0 -0
  647. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_cold_index_cost.py +0 -0
  648. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_compact_inspection.py +0 -0
  649. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_daily_workflows.py +0 -0
  650. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_db_navigation_http.py +0 -0
  651. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_discovery_reuse.py +0 -0
  652. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_edit_restart.py +0 -0
  653. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_external_study.py +0 -0
  654. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_file_symbol_scope.py +0 -0
  655. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_focused_inspection.py +0 -0
  656. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_importance_publication.py +0 -0
  657. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_index_probe.py +0 -0
  658. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_index_processes.py +0 -0
  659. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_index_reuse.py +0 -0
  660. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_index_sequences.py +0 -0
  661. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_kotlin_test_paths.py +0 -0
  662. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_language_capabilities.py +0 -0
  663. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_lean_profile.py +0 -0
  664. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_lexical_sql_cost.py +0 -0
  665. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_local_reranker.py +0 -0
  666. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_localize_study.py +0 -0
  667. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_lsp_document_lifecycle.py +0 -0
  668. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_mcp_search_evaluation.py +0 -0
  669. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_mixed_workspace.py +0 -0
  670. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_module_ownership.py +0 -0
  671. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_navigation_evidence.py +0 -0
  672. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_navigation_prefix_trial.py +0 -0
  673. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_onboarding_study.py +0 -0
  674. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_operation_contracts.py +0 -0
  675. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_pilot.py +0 -0
  676. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_precision_protocol.py +0 -0
  677. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_precision_recovery.py +0 -0
  678. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_product.py +0 -0
  679. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_quality_cloud.py +0 -0
  680. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_quality_evaluation.py +0 -0
  681. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_quality_evidence.py +0 -0
  682. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_quality_lifecycle.py +0 -0
  683. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_quality_runner.py +0 -0
  684. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_query_ranking.py +0 -0
  685. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_query_requirements.py +0 -0
  686. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_ranking_intent.py +0 -0
  687. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_real_language_server.py +0 -0
  688. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_remote.py +0 -0
  689. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_repair_study.py +0 -0
  690. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_retrieval_ablation.py +0 -0
  691. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_retrieval_audit.py +0 -0
  692. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_retrieval_body_trial.py +0 -0
  693. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_retrieval_cycle.py +0 -0
  694. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_search_evidence.py +0 -0
  695. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_search_evidence_audit.py +0 -0
  696. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_search_usefulness.py +0 -0
  697. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_source_exclusions.py +0 -0
  698. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_structural_evidence.py +0 -0
  699. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_structural_write_cost.py +0 -0
  700. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_study.py +0 -0
  701. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_systemone_ranker.py +0 -0
  702. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_test_intent_trial.py +0 -0
  703. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_token_overhead.py +0 -0
  704. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_trigram_workspace.py +0 -0
  705. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_understanding_evaluation.py +0 -0
  706. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_walk_order.py +0 -0
  707. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_warm_cache.py +0 -0
  708. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/test_workflow_sequences.py +0 -0
  709. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/__init__.py +0 -0
  710. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/__init__.py +0 -0
  711. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/conftest.py +0 -0
  712. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_advisory_lock.py +0 -0
  713. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_api.py +0 -0
  714. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_api_phase3a.py +0 -0
  715. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_api_v2.py +0 -0
  716. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_auth.py +0 -0
  717. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_branch_versioning.py +0 -0
  718. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_bug_finder.py +0 -0
  719. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_call_graph_tool.py +0 -0
  720. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_ci_runner.py +0 -0
  721. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_cli_lifecycle.py +0 -0
  722. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_cli_maintenance_local.py +0 -0
  723. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_cli_ops.py +0 -0
  724. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_cli_query_commands.py +0 -0
  725. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_cli_remote.py +0 -0
  726. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_codex_rereview_polish.py +0 -0
  727. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_combinators.py +0 -0
  728. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_confidence.py +0 -0
  729. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_confidence_adoption.py +0 -0
  730. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_config.py +0 -0
  731. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_config_remote.py +0 -0
  732. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_cross_mode.py +0 -0
  733. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_db_security_scan.py +0 -0
  734. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_deps.py +0 -0
  735. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_diff_engine.py +0 -0
  736. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_edge_cases.py +0 -0
  737. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_frecency.py +0 -0
  738. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_fuzzy.py +0 -0
  739. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_index_store_migration.py +0 -0
  740. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_kw_index_status.py +0 -0
  741. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_lsp_call_graph.py +0 -0
  742. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_lsp_enrichment.py +0 -0
  743. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_lsp_extended_models.py +0 -0
  744. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_marketplace.py +0 -0
  745. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_metavar.py +0 -0
  746. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_middleware.py +0 -0
  747. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_notify_enhanced.py +0 -0
  748. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_org_isolation.py +0 -0
  749. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_pack_autoload.py +0 -0
  750. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_profiling.py +0 -0
  751. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_project_discovery.py +0 -0
  752. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_provenance_store.py +0 -0
  753. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_pubsub_streams.py +0 -0
  754. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_query_constraints.py +0 -0
  755. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_query_history.py +0 -0
  756. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_readiness.py +0 -0
  757. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_reindex_embeddings.py +0 -0
  758. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_remote_local_fallback.py +0 -0
  759. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_remote_provider.py +0 -0
  760. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_remote_reliability.py +0 -0
  761. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_repo_ranker.py +0 -0
  762. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_rule_evolution.py +0 -0
  763. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_rule_hygiene.py +0 -0
  764. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_rule_synthesis.py +0 -0
  765. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_rule_tools.py +0 -0
  766. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_rule_violations.py +0 -0
  767. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_rules_engine.py +0 -0
  768. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_rules_integration.py +0 -0
  769. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_sarif.py +0 -0
  770. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_search_tools.py +0 -0
  771. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_server_startup.py +0 -0
  772. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_service.py +0 -0
  773. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_service_mode.py +0 -0
  774. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_status_health.py +0 -0
  775. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_structural_executor.py +0 -0
  776. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_supply_chain_rules.py +0 -0
  777. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_testing_framework.py +0 -0
  778. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/test_webhook_encryption.py +0 -0
  779. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/tools/__init__.py +0 -0
  780. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/tools/conftest.py +0 -0
  781. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/tools/test_adr_tools.py +0 -0
  782. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/tools/test_analysis_tools.py +0 -0
  783. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/tools/test_dead_code_tools.py +0 -0
  784. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/tools/test_distill_tools.py +0 -0
  785. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/tools/test_history_tools.py +0 -0
  786. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/tools/test_learning_tools.py +0 -0
  787. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/tools/test_lsp_tools.py +0 -0
  788. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/tools/test_maintenance_tools_phase2.py +0 -0
  789. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/tools/test_navigation_tools.py +0 -0
  790. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/tools/test_phase2c_anchors_and_overlays.py +0 -0
  791. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/tools/test_readiness_tools.py +0 -0
  792. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/tools/test_search_status_mismatch.py +0 -0
  793. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/tools/test_search_tools.py +0 -0
  794. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/code_intel/tools/test_server_tools.py +0 -0
  795. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/context/__init__.py +0 -0
  796. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/context/test_action_hash.py +0 -0
  797. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/context/test_ast_service_adapter.py +0 -0
  798. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/context/test_blob_oid.py +0 -0
  799. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/context/test_cache_manifest.py +0 -0
  800. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/context/test_cas.py +0 -0
  801. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/context/test_embedding_rotation.py +0 -0
  802. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/context/test_pagerank_restoration.py +0 -0
  803. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/context/test_provenance.py +0 -0
  804. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/context/test_retrieval_pin.py +0 -0
  805. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/context/test_vector_store_dim_safety.py +0 -0
  806. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/eval/__init__.py +0 -0
  807. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/eval/conftest.py +0 -0
  808. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/eval/test_acc_at_k.py +0 -0
  809. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/eval/test_broad_candidate_audit.py +0 -0
  810. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/eval/test_calibration_demo.py +0 -0
  811. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/eval/test_harness.py +0 -0
  812. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/eval/test_matrix_agents.py +0 -0
  813. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/eval/test_matrix_ci.py +0 -0
  814. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/eval/test_matrix_datasets.py +0 -0
  815. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/eval/test_matrix_dense.py +0 -0
  816. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/eval/test_matrix_function_bm25.py +0 -0
  817. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/eval/test_matrix_function_dense.py +0 -0
  818. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/eval/test_matrix_rerank.py +0 -0
  819. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/eval/test_matrix_retrieve.py +0 -0
  820. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/eval/test_matrix_run.py +0 -0
  821. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/eval/test_matrix_stats.py +0 -0
  822. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/eval/test_mcp_bench.py +0 -0
  823. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/eval/test_rule_accuracy.py +0 -0
  824. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/eval/test_rule_bench_config.py +0 -0
  825. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/eval/test_rule_bench_corpus.py +0 -0
  826. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/eval/test_rule_bench_evaluator.py +0 -0
  827. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/eval/test_rule_bench_predicate.py +0 -0
  828. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/eval/test_rule_bench_scoring.py +0 -0
  829. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/eval/test_rule_bench_template_engine.py +0 -0
  830. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/eval/test_rule_harness_import.py +0 -0
  831. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/eval/test_search_quality_reporting.py +0 -0
  832. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/eval/test_search_readiness.py +0 -0
  833. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/eval/test_seed_attocode_fixtures.py +0 -0
  834. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/integrations/__init__.py +0 -0
  835. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/integrations/context/__init__.py +0 -0
  836. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/integrations/context/test_architecture_drift.py +0 -0
  837. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/integrations/context/test_ast_service_hydration.py +0 -0
  838. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/integrations/context/test_body_chunking.py +0 -0
  839. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/integrations/context/test_call_graph.py +0 -0
  840. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/integrations/context/test_code_analyzer.py +0 -0
  841. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/integrations/context/test_codebase_ast.py +0 -0
  842. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/integrations/context/test_codebase_context.py +0 -0
  843. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/integrations/context/test_context_stores_closed.py +0 -0
  844. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/integrations/context/test_cross_ref_search.py +0 -0
  845. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/integrations/context/test_embedder_default.py +0 -0
  846. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/integrations/context/test_embeddings.py +0 -0
  847. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/integrations/context/test_embeddings_query.py +0 -0
  848. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/integrations/context/test_go_symbols.py +0 -0
  849. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/integrations/context/test_hydration.py +0 -0
  850. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/integrations/context/test_index_store.py +0 -0
  851. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/integrations/context/test_model_mismatch.py +0 -0
  852. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/integrations/context/test_path_downweight.py +0 -0
  853. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/integrations/context/test_query_routing.py +0 -0
  854. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/integrations/context/test_semantic_search.py +0 -0
  855. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/integrations/context/test_supported_languages.py +0 -0
  856. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/integrations/context/test_temporal_coupling.py +0 -0
  857. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/integrations/context/test_trigram_index.py +0 -0
  858. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/integrations/context/test_trigram_regex.py +0 -0
  859. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/integrations/context/test_ts_parser.py +0 -0
  860. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/integrations/test_dataflow.py +0 -0
  861. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/integrations/test_feature_flags.py +0 -0
  862. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/integrations/test_new_security_rules.py +0 -0
  863. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/integrations/test_security_autofix.py +0 -0
  864. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/integrations/test_security_matcher.py +0 -0
  865. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/integrations/test_streaming_lsp.py +0 -0
  866. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/integrations/utilities/__init__.py +0 -0
  867. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/integrations/utilities/test_ignore.py +0 -0
  868. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/integrations/utilities/test_token_estimate.py +0 -0
  869. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/test_code_intel.py +0 -0
  870. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/test_code_intel_hydration.py +0 -0
  871. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/test_errors.py +0 -0
  872. {attocode_code_intel-0.1.11 → attocode_code_intel-0.1.12}/tests/unit/test_memory_store.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: attocode-code-intel
3
- Version: 0.1.11
3
+ Version: 0.1.12
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
@@ -145,7 +145,9 @@ summaries, with `--class-mode expand` for class-wide callers. Version 0.1.9 keep
145
145
  Python docstrings and parameter types, and lists impact results nearest first.
146
146
  Version 0.1.10 shows the best test hit second for "tested" searches, and counts
147
147
  Swift `Tests/` folders as tests. Version 0.1.11 counts more test file names as
148
- tests, such as `_test.dart` and Perl `.t` scripts and `t/` modules. See the [change investigation guide](https://github.com/eren23/attocode/blob/main/docs/guides/change-investigation.md).
148
+ tests, such as `_test.dart` and Perl `.t` scripts and `t/` modules. Version
149
+ 0.1.12 makes `doctor --client claude` read the local-scope entry that
150
+ `claude mcp add` writes to `~/.claude.json`. See the [change investigation guide](https://github.com/eren23/attocode/blob/main/docs/guides/change-investigation.md).
149
151
 
150
152
  The agent sees 16 tools (the `daily` profile):
151
153
 
@@ -32,7 +32,9 @@ summaries, with `--class-mode expand` for class-wide callers. Version 0.1.9 keep
32
32
  Python docstrings and parameter types, and lists impact results nearest first.
33
33
  Version 0.1.10 shows the best test hit second for "tested" searches, and counts
34
34
  Swift `Tests/` folders as tests. Version 0.1.11 counts more test file names as
35
- tests, such as `_test.dart` and Perl `.t` scripts and `t/` modules. See the [change investigation guide](https://github.com/eren23/attocode/blob/main/docs/guides/change-investigation.md).
35
+ tests, such as `_test.dart` and Perl `.t` scripts and `t/` modules. Version
36
+ 0.1.12 makes `doctor --client claude` read the local-scope entry that
37
+ `claude mcp add` writes to `~/.claude.json`. See the [change investigation guide](https://github.com/eren23/attocode/blob/main/docs/guides/change-investigation.md).
36
38
 
37
39
  The agent sees 16 tools (the `daily` profile):
38
40
 
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "CPU cost of function-unit CodeRankEmbed embeddings",
3
+ "date": "2026-10-19",
4
+ "question": "Can product search embed function units with nomic-ai/CodeRankEmbed on a CPU, as an opt-in mode, at an acceptable index time, query time and memory?",
5
+ "model": "nomic-ai/CodeRankEmbed at revision 3c4b60807d71f79b43f3c4363786d9493691f8b1 (eval.matrix.dense.MODEL_REVISION)",
6
+ "units": "Product discovery (CodebaseContextManager.discover_files) and product parse_file: every top-level function and every class method, all parsed languages, test files included and counted separately. Text: relative path, newline, source lines of the unit.",
7
+ "repos": {
8
+ "fastapi": ["fastapi/fastapi", "11614be9021aa4ac078d4d0693a8b5250a1010d8"],
9
+ "express": ["expressjs/express", "6c4249feec8ab40631817c8e7001baf2ed022224"],
10
+ "cli": ["cli/cli", "6e49747f49f31c9c0a68cfa344df7262a684e723"],
11
+ "pandas": ["pandas-dev/pandas", "0039f168fe057b945e8ec2a65c9d1e973c7c1fe9"],
12
+ "cockroach": ["cockroachdb/cockroach", "53aadff3cedde4d810c72b69ddd96e6a735d93e7"]
13
+ },
14
+ "configs": ["fp32-512-4", "fp32-512-8", "fp32-1024-8", "int8-512-8"],
15
+ "config_meaning": "weights - max tokens per unit - CPU threads. Each config runs in its own process, pinned with taskset to that many vCPUs; torch and OpenMP use the same thread count. The GPU is not used.",
16
+ "measure": {
17
+ "sample": "1,000 units per repo (all units if fewer), random.Random(0); seconds per unit times the unit count gives the full index time",
18
+ "check": "one full index of cli/cli with fp32-512-8; it must fall within 20 percent of its estimate, else every estimate is reported as unreliable",
19
+ "query": "50 workflow-pack query texts with the query prefix, one at a time, after 5 warm-up calls; p50 and p95",
20
+ "memory": "peak RSS of each config process",
21
+ "int8": "cosine of each int8 sample vector to its fp32 vector"
22
+ },
23
+ "rule": {
24
+ "pass": "At least one config with 8 threads meets all of: query p95 <= 150 ms; estimated full index <= 10 min for the median repo (by unit count) and <= 60 min for the largest; peak RSS <= 2 GiB. An int8 config counts only if its mean cosine to fp32 is >= 0.99.",
25
+ "on_pass": "Next step: an opt-in product mode and a quality test on Loc-Bench and fresh questions. A pass is not a quality result.",
26
+ "on_fail": "Report which limit fails and by how much. Do not tune the limits after the run."
27
+ },
28
+ "limits": [
29
+ "RunPod x86 server vCPUs (hyperthreads), not Apple Silicon. A Mac can use MPS, which is not measured here.",
30
+ "No retrieval quality is measured. The 0.739 Acc@5 of #241 used bf16, 1,024 tokens, Python-only CoRNStack units, on a GPU."
31
+ ],
32
+ "budget": "RunPod $2 cap, one pod, destroyed by node name within 100 minutes of creation."
33
+ }
@@ -0,0 +1,365 @@
1
+ {
2
+ "schema": 1,
3
+ "date": "2026-10-19",
4
+ "source": "94471b6",
5
+ "design": {
6
+ "path": "packages/code-intel/evals/designs/2026-10-19-cpu-fn-embed-cost.json",
7
+ "sha256": "94c1bff807a7f9f30252d81767ee5f860f647f810167e65dcbfad4b68bb330f7"
8
+ },
9
+ "script": {
10
+ "path": "eval/matrix/function_embed_cost.py",
11
+ "frozen_sha256": "a315e3a1c0ff6fc9a08736821e77c5c74e56ff865b9e527a12856829628e6823",
12
+ "committed_sha256": "4598311225a9022c4dd9444def816f5f6fa8915f67861699556e7f78c1bff2f7",
13
+ "committed_change": "The rule path points to the design file; a docstring fix; two Ruff fixes. The measurement code is the same."
14
+ },
15
+ "host": {
16
+ "provider": "RunPod",
17
+ "gpu_type": "RTX PRO 4500 SE (not used)",
18
+ "cpu": "AMD EPYC 7282 16-Core Processor (Zen 2)",
19
+ "visible_vcpus": 64,
20
+ "cgroup_cpu_quota": 13.6,
21
+ "cgroup_note": "cgroup v1; the script reads only cgroup v2, so its JSON records cpu_max null. The quota was read by hand.",
22
+ "torch": "2.8.0+cu128",
23
+ "sentence_transformers": "3.4.1",
24
+ "transformers": "4.51.3"
25
+ },
26
+ "units": {
27
+ "fastapi": {
28
+ "repo": "fastapi/fastapi",
29
+ "commit": "11614be9021aa4ac078d4d0693a8b5250a1010d8",
30
+ "files": 2640,
31
+ "units": 4583,
32
+ "discovered": 2646,
33
+ "discovery_truncated": true,
34
+ "test_units": 3491,
35
+ "discover_s": 2.41,
36
+ "parse_s": 0.84,
37
+ "tokens": {
38
+ "p50": 91,
39
+ "p90": 264,
40
+ "max": 44828,
41
+ "over_512": 292,
42
+ "over_1024": 105,
43
+ "sum_capped_512": 598867,
44
+ "sum_capped_1024": 698042
45
+ }
46
+ },
47
+ "express": {
48
+ "repo": "expressjs/express",
49
+ "commit": "6c4249feec8ab40631817c8e7001baf2ed022224",
50
+ "files": 158,
51
+ "units": 175,
52
+ "discovered": 201,
53
+ "discovery_truncated": false,
54
+ "test_units": 30,
55
+ "discover_s": 0.19,
56
+ "parse_s": 0.39,
57
+ "tokens": {
58
+ "p50": 73,
59
+ "p90": 205,
60
+ "max": 664,
61
+ "over_512": 4,
62
+ "over_1024": 0,
63
+ "sum_capped_512": 19614,
64
+ "sum_capped_1024": 20055
65
+ }
66
+ },
67
+ "cli": {
68
+ "repo": "cli/cli",
69
+ "commit": "6e49747f49f31c9c0a68cfa344df7262a684e723",
70
+ "files": 904,
71
+ "units": 4893,
72
+ "discovered": 1050,
73
+ "discovery_truncated": false,
74
+ "test_units": 1659,
75
+ "discover_s": 2.06,
76
+ "parse_s": 0.6,
77
+ "tokens": {
78
+ "p50": 180,
79
+ "p90": 817,
80
+ "max": 33657,
81
+ "over_512": 971,
82
+ "over_1024": 336,
83
+ "sum_capped_512": 1172201,
84
+ "sum_capped_1024": 1476788
85
+ }
86
+ },
87
+ "pandas": {
88
+ "repo": "pandas-dev/pandas",
89
+ "commit": "0039f168fe057b945e8ec2a65c9d1e973c7c1fe9",
90
+ "files": 1658,
91
+ "units": 31056,
92
+ "discovered": 2337,
93
+ "discovery_truncated": true,
94
+ "test_units": 20979,
95
+ "discover_s": 7.1,
96
+ "parse_s": 1.16,
97
+ "tokens": {
98
+ "p50": 148,
99
+ "p90": 415,
100
+ "max": 9050,
101
+ "over_512": 2080,
102
+ "over_1024": 460,
103
+ "sum_capped_512": 5820897,
104
+ "sum_capped_1024": 6330441
105
+ }
106
+ },
107
+ "cockroach": {
108
+ "repo": "cockroachdb/cockroach",
109
+ "commit": "53aadff3cedde4d810c72b69ddd96e6a735d93e7",
110
+ "files": 8462,
111
+ "units": 80319,
112
+ "discovered": 18850,
113
+ "discovery_truncated": true,
114
+ "test_units": 7727,
115
+ "discover_s": 3.32,
116
+ "parse_s": 2.45,
117
+ "tokens": {
118
+ "p50": 103,
119
+ "p90": 576,
120
+ "max": 202355,
121
+ "over_512": 9382,
122
+ "over_1024": 3403,
123
+ "sum_capped_512": 14235911,
124
+ "sum_capped_1024": 17157451
125
+ }
126
+ }
127
+ },
128
+ "results": {
129
+ "fp32-512-8": {
130
+ "load_s": 19.17,
131
+ "rss_after_load_mib": 1882.9,
132
+ "peak_rss_mib": 2107.4,
133
+ "query_ms": {
134
+ "n": 50,
135
+ "p50": 51.7,
136
+ "p95": 52.9,
137
+ "max": 55.0
138
+ },
139
+ "repos": {
140
+ "fastapi": {
141
+ "sample": 1000,
142
+ "seconds": 122.0,
143
+ "units_per_s": 8.2,
144
+ "estimate_full_min": 9.32
145
+ },
146
+ "express": {
147
+ "sample": 175,
148
+ "seconds": 23.0,
149
+ "units_per_s": 7.61,
150
+ "estimate_full_min": 0.38
151
+ },
152
+ "cli": {
153
+ "sample": 1000,
154
+ "seconds": 264.37,
155
+ "units_per_s": 3.78,
156
+ "estimate_full_min": 21.56
157
+ },
158
+ "pandas": {
159
+ "sample": 1000,
160
+ "seconds": 216.35,
161
+ "units_per_s": 4.62,
162
+ "estimate_full_min": 111.98
163
+ },
164
+ "cockroach": {
165
+ "sample": 1000,
166
+ "seconds": 219.04,
167
+ "units_per_s": 4.57,
168
+ "estimate_full_min": 293.22
169
+ }
170
+ }
171
+ },
172
+ "fp32-1024-8": {
173
+ "load_s": 2.59,
174
+ "rss_after_load_mib": 1861.2,
175
+ "peak_rss_mib": 3273.9,
176
+ "query_ms": {
177
+ "n": 50,
178
+ "p50": 62.0,
179
+ "p95": 63.3,
180
+ "max": 65.0
181
+ },
182
+ "repos": {
183
+ "fastapi": {
184
+ "sample": 1000,
185
+ "seconds": 199.98,
186
+ "units_per_s": 5.0,
187
+ "estimate_full_min": 15.28
188
+ },
189
+ "express": {
190
+ "sample": 175,
191
+ "seconds": 23.57,
192
+ "units_per_s": 7.42,
193
+ "estimate_full_min": 0.39
194
+ },
195
+ "cli": {
196
+ "sample": 1000,
197
+ "seconds": 387.2,
198
+ "units_per_s": 2.58,
199
+ "estimate_full_min": 31.58
200
+ },
201
+ "pandas": {
202
+ "sample": 1000,
203
+ "seconds": 259.51,
204
+ "units_per_s": 3.85,
205
+ "estimate_full_min": 134.32
206
+ },
207
+ "cockroach": {
208
+ "sample": 1000,
209
+ "seconds": 348.82,
210
+ "units_per_s": 2.87,
211
+ "estimate_full_min": 466.95
212
+ }
213
+ }
214
+ },
215
+ "int8-512-8": {
216
+ "load_s": 3.86,
217
+ "rss_after_load_mib": 1970.7,
218
+ "peak_rss_mib": 2205.1,
219
+ "query_ms": {
220
+ "n": 50,
221
+ "p50": 21.3,
222
+ "p95": 23.1,
223
+ "max": 24.4
224
+ },
225
+ "repos": {
226
+ "fastapi": {
227
+ "sample": 1000,
228
+ "seconds": 102.14,
229
+ "units_per_s": 9.79,
230
+ "estimate_full_min": 7.8
231
+ },
232
+ "express": {
233
+ "sample": 175,
234
+ "seconds": 15.82,
235
+ "units_per_s": 11.06,
236
+ "estimate_full_min": 0.26
237
+ },
238
+ "cli": {
239
+ "sample": 1000,
240
+ "seconds": 209.69,
241
+ "units_per_s": 4.77,
242
+ "estimate_full_min": 17.1
243
+ },
244
+ "pandas": {
245
+ "sample": 1000,
246
+ "seconds": 169.34,
247
+ "units_per_s": 5.91,
248
+ "estimate_full_min": 87.65
249
+ },
250
+ "cockroach": {
251
+ "sample": 1000,
252
+ "seconds": 168.22,
253
+ "units_per_s": 5.94,
254
+ "estimate_full_min": 225.19
255
+ }
256
+ }
257
+ }
258
+ },
259
+ "partial": {
260
+ "fp32-512-4": {
261
+ "note": "Stopped at the pod time limit after 3 of 5 repositories. It is not an 8-thread config, so the rule does not use it.",
262
+ "estimate_full_min": {
263
+ "fastapi": 18.46,
264
+ "express": 0.64,
265
+ "cli": 37.2
266
+ }
267
+ }
268
+ },
269
+ "int8_cosine": {
270
+ "fastapi": {
271
+ "mean": 0.834,
272
+ "p01": 0.7386
273
+ },
274
+ "express": {
275
+ "mean": 0.8231,
276
+ "p01": 0.7395
277
+ },
278
+ "cli": {
279
+ "mean": 0.7754,
280
+ "p01": 0.6676
281
+ },
282
+ "pandas": {
283
+ "mean": 0.817,
284
+ "p01": 0.7445
285
+ },
286
+ "cockroach": {
287
+ "mean": 0.7985,
288
+ "p01": 0.6934
289
+ }
290
+ },
291
+ "checks": {
292
+ "fp32-512-8": {
293
+ "query_p95_ms": 52.9,
294
+ "query_ok": true,
295
+ "median_repo": "cli",
296
+ "median_min": 21.56,
297
+ "median_ok": false,
298
+ "largest_repo": "cockroach",
299
+ "largest_min": 293.22,
300
+ "largest_ok": false,
301
+ "peak_rss_mib": 2107.4,
302
+ "rss_ok": false,
303
+ "pass": false
304
+ },
305
+ "fp32-1024-8": {
306
+ "query_p95_ms": 63.3,
307
+ "query_ok": true,
308
+ "median_repo": "cli",
309
+ "median_min": 31.58,
310
+ "median_ok": false,
311
+ "largest_repo": "cockroach",
312
+ "largest_min": 466.95,
313
+ "largest_ok": false,
314
+ "peak_rss_mib": 3273.9,
315
+ "rss_ok": false,
316
+ "pass": false
317
+ },
318
+ "int8-512-8": {
319
+ "query_p95_ms": 23.1,
320
+ "query_ok": true,
321
+ "median_repo": "cli",
322
+ "median_min": 17.1,
323
+ "median_ok": false,
324
+ "largest_repo": "cockroach",
325
+ "largest_min": 225.19,
326
+ "largest_ok": false,
327
+ "peak_rss_mib": 2205.1,
328
+ "rss_ok": false,
329
+ "cosine_mean": 0.8096,
330
+ "cosine_ok": false,
331
+ "pass": false
332
+ }
333
+ },
334
+ "estimate_check": {
335
+ "estimate_min": 21.56,
336
+ "actual_min": 20.57,
337
+ "ratio": 0.954,
338
+ "within_20pct": true,
339
+ "peak_rss_mib": 2054.2,
340
+ "units": 4893,
341
+ "seconds": 1234.1
342
+ },
343
+ "decision": "fail",
344
+ "speedup_needed_fp32_512_8": {
345
+ "median_repo_cli": 2.16,
346
+ "largest_repo_cockroach": 4.89
347
+ },
348
+ "run_order": [
349
+ "prepare",
350
+ "fp32-512-8",
351
+ "int8-512-8",
352
+ "fp32-1024-8 (stopped at 20:51:05Z, then run again)",
353
+ "full cli fp32-512-8",
354
+ "fp32-1024-8",
355
+ "fp32-512-4 (partial)",
356
+ "summary"
357
+ ],
358
+ "spend": {
359
+ "pod_minutes": 85.8,
360
+ "rate_usd_per_hour": 0.5,
361
+ "estimate_usd": 0.72,
362
+ "invoice_checked": false,
363
+ "pod_destroyed": "2026-10-19T21:46Z"
364
+ }
365
+ }
@@ -0,0 +1,157 @@
1
+ # CPU cost of function-unit embeddings (2026-10-19)
2
+
3
+ **Status: fail. CodeRankEmbed over function units is too slow on 8 CPU
4
+ threads for an opt-in product mode. The query time passes (p95 52.9 ms).
5
+ The index time fails: 21.6 minutes for the median repository (limit 10)
6
+ and 293 minutes for the largest (limit 60). Peak memory is 2,107 MiB
7
+ (limit 2,048). A naive int8 model is only 1.25 times faster, and it
8
+ changes the vectors (mean cosine 0.81 to fp32). One full index confirmed
9
+ the estimates within 5 percent.**
10
+
11
+ ## The question
12
+
13
+ On Loc-Bench 560, `fn-dense` (CodeRankEmbed over function units) gave
14
+ 0.739 Acc@5, against 0.566 for `product`
15
+ ([2026-10-18](2026-10-18-locbench-remeasure.md)). The function unit gives
16
+ +0.055 of that gain ([2026-10-19](2026-10-19-function-bm25.md)). That run
17
+ used a GPU. This test asks whether a CPU can build and query the same
18
+ index as an opt-in product mode. It measures cost only, not quality.
19
+
20
+ ## What we ran
21
+
22
+ - **Code.** `main` at `94471b6`. The script is
23
+ `eval/matrix/function_embed_cost.py`.
24
+ - **Model.** `nomic-ai/CodeRankEmbed` at revision `3c4b6080`, the revision
25
+ of `eval.matrix.dense`.
26
+ - **Units.** Product discovery and product `parse_file`: every top-level
27
+ function and every class method, in all parsed languages. The units include
28
+ test files. The text of a unit is its relative path, a newline and its
29
+ source lines.
30
+ - **Configs.** Weights, maximum tokens and CPU threads: `fp32-512-8`,
31
+ `int8-512-8`, `fp32-1024-8` and `fp32-512-4`. Each config runs in its own
32
+ process. The process pins itself to that many vCPUs before torch loads.
33
+ int8 uses `torch.ao.quantization.quantize_dynamic` on the linear layers.
34
+ - **Measure.** 1,000 random units of each repository (all units if fewer),
35
+ batch 16. The seconds for each unit times the unit count give the full
36
+ index time. Query time is 50 workflow-pack queries, one at a time, after
37
+ 5 warm-up calls. Memory is the peak RSS of the process.
38
+ - **Computer.** One RunPod pod: AMD EPYC 7282 (Zen 2, AVX2), 64 visible
39
+ vCPUs, a cgroup quota of 13.6 CPUs. The pod had a GPU (RTX PRO 4500 SE),
40
+ but the test did not use it. torch 2.8.0, sentence-transformers 3.4.1.
41
+
42
+ | Repository | Commit | Files | Units | Test units | Token p50 | Token p90 |
43
+ | --- | --- | ---: | ---: | ---: | ---: | ---: |
44
+ | express | `6c4249fe` | 158 | 175 | 30 | 73 | 205 |
45
+ | fastapi | `11614be9` | 2,640 | 4,583 | 3,491 | 91 | 264 |
46
+ | cli | `6e49747f` | 904 | 4,893 | 1,659 | 180 | 817 |
47
+ | pandas | `0039f168` | 1,658 | 31,056 | 20,979 | 148 | 415 |
48
+ | cockroach | `53aadff3` | 8,462 | 80,319 | 7,727 | 103 | 576 |
49
+
50
+ By unit count, `cli` is the median repository and `cockroach` is the
51
+ largest.
52
+
53
+ ## Frozen rule
54
+
55
+ We wrote the rule before the pod started
56
+ ([design](../designs/2026-10-19-cpu-fn-embed-cost.json)). The test passes
57
+ if at least one 8-thread config meets all of these limits:
58
+
59
+ 1. Query p95 ≤ 150 ms.
60
+ 2. Estimated full index ≤ 10 minutes for the median repository.
61
+ 3. Estimated full index ≤ 60 minutes for the largest repository.
62
+ 4. Peak RSS ≤ 2 GiB.
63
+ 5. For int8: a mean cosine to fp32 of at least 0.99.
64
+
65
+ One full index of `cli` with `fp32-512-8` must fall within 20 percent of
66
+ its estimate. Otherwise every estimate is unreliable.
67
+
68
+ ## Results
69
+
70
+ | Config | Query p95 | cli | cockroach | Peak RSS | int8 cosine | Pass |
71
+ | --- | ---: | ---: | ---: | ---: | ---: | --- |
72
+ | `fp32-512-8` | 52.9 ms | 21.56 min | 293.22 min | 2,107 MiB | | no |
73
+ | `int8-512-8` | 23.1 ms | 17.10 min | 225.19 min | 2,205 MiB | 0.810 | no |
74
+ | `fp32-1024-8` | 63.3 ms | 31.58 min | 466.95 min | 3,274 MiB | | no |
75
+
76
+ Only the query limit passes, in all three configs. Estimated full index
77
+ times for the other repositories with
78
+ `fp32-512-8`: express 0.38 minutes, fastapi 9.32, pandas 111.98.
79
+
80
+ - **Estimate check.** The full `cli` index took 20.57 minutes for 4,893
81
+ units, against an estimate of 21.56 minutes (ratio 0.954). The estimates
82
+ are reliable.
83
+ - **Throughput.** `fp32-512-8` encodes 3.8 to 8.2 units per second. Go
84
+ units in `cli` are the longest, and they are the slowest.
85
+ - **Memory.** The model alone needs 1,883 MiB after it loads, before it
86
+ encodes a unit.
87
+ - **int8.** Per repository, the mean cosine to fp32 is 0.78 to 0.83. This
88
+ quantization method changes the vectors too much to keep the quality of
89
+ the fp32 model.
90
+ - **Gap.** To meet the limits, `fp32-512-8` must be 2.2 times faster for
91
+ `cli` and 4.9 times faster for `cockroach`.
92
+
93
+ ## Changes during the run
94
+
95
+ The rule did not change. The run order did:
96
+
97
+ 1. The planned order was the four configs, then the full `cli` check. The
98
+ pod had a time limit, so the check moved forward.
99
+ 2. After `int8-512-8` finished (20:51:05Z), the operator stopped
100
+ `fp32-1024-8` and started the full check. `fp32-1024-8` then ran again
101
+ from the start.
102
+ 3. `fp32-512-4` stopped at the time limit after 3 of 5 repositories. Its
103
+ partial `cli` estimate is 37.2 minutes. The rule uses only 8-thread
104
+ configs, so this partial result does not change the decision.
105
+
106
+ The script reads only the cgroup v2 quota. The pod used cgroup v1, so the
107
+ JSON records the quota as null. We read the 13.6-CPU quota by hand.
108
+
109
+ ## Limits
110
+
111
+ - **One older CPU.** Zen 2 is from 2019 and has no AVX-512 VNNI or AMX.
112
+ A newer server CPU can be faster. Apple Silicon with MPS was not
113
+ measured.
114
+ - **One int8 method.** Dynamic quantization of the linear layers only.
115
+ ONNX Runtime or OpenVINO int8 can keep more quality. They were not
116
+ tested.
117
+ - **No shorter units.** A cap of 256 tokens was not tested.
118
+ - **No quality.** The test measures cost only.
119
+ - **express.** The JavaScript parser makes no unit from a function that
120
+ the code assigns to a property (`res.send = function ...`). Thus express
121
+ has only 175 units. It is the smallest repository, so this does not
122
+ change the median or the largest.
123
+
124
+ ## What this means
125
+
126
+ A full CPU index of function units is not a product option on this class
127
+ of hardware. The query side is cheap, but the index side is 2 to 5 times
128
+ too slow. Encoding only a short candidate list at query time is not cheap
129
+ either: at 4 to 8 units per second, 24 candidates take about 3 to 6
130
+ seconds. This estimate comes from the throughput above, not from a
131
+ measurement. A useful function-unit embedding needs a GPU or a remote
132
+ service.
133
+
134
+ ## Reproduce
135
+
136
+ On a Linux x86 host with this repository at `94471b6` and the model
137
+ installed:
138
+
139
+ 1. Run `python eval/matrix/function_embed_cost.py prepare WORK CODE`.
140
+ 2. For each config, run
141
+ `python eval/matrix/function_embed_cost.py encode WORK CODE CONFIG`.
142
+ 3. Run `python eval/matrix/function_embed_cost.py full WORK CODE cli fp32-512-8`.
143
+ 4. Run `python eval/matrix/function_embed_cost.py summary WORK`.
144
+
145
+ ## Spend
146
+
147
+ The pod ran 85.8 minutes at $0.50 an hour, about $0.72. This is an
148
+ estimate. We did not check the invoice. We destroyed the pod at 21:46Z,
149
+ and the fleet then had no nodes.
150
+
151
+ ## Artifacts
152
+
153
+ - [Design](../designs/2026-10-19-cpu-fn-embed-cost.json): the frozen rule.
154
+ - [Summary](2026-10-19-cpu-fn-embed-cost.json): the units, every config,
155
+ the checks, the estimate check, the int8 cosines, the run order, the
156
+ spend and the SHA-256 of the frozen script.
157
+ - The logs and the per-config result files stay private.
@@ -6,7 +6,7 @@ build-backend = "hatchling.build"
6
6
 
7
7
  [project]
8
8
  name = "attocode-code-intel"
9
- version = "0.1.11"
9
+ version = "0.1.12"
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.11"
52
+ __version__ = "0.1.12"
@@ -204,6 +204,14 @@ async def diagnose(client, project=".", *, global_scope=False, remote=False):
204
204
  text = config.read_text() if config.exists() else ""
205
205
  doc = (tomlkit.parse(text) if config.suffix == ".toml" else json.loads(text)) if text else {}
206
206
  entry = doc.get(key, {}).get(name)
207
+ if client == "claude" and not global_scope:
208
+ # `claude mcp add` uses local scope by default: ~/.claude.json, under the project path.
209
+ # Claude Code prefers a local entry to a project entry with the same name.
210
+ home_config = Path.home() / ".claude.json"
211
+ home = json.loads(home_config.read_text()) if home_config.exists() else {}
212
+ local = home.get("projects", {}).get(str(root), {}).get(key, {}).get(name)
213
+ if local:
214
+ config, entry = home_config, local
207
215
  if not entry:
208
216
  return {"client": client, "status": "not configured", "config": str(config),
209
217
  "hint": f"Run: attocode-code-intel init --client {client}"}
@@ -231,6 +239,7 @@ async def diagnose(client, project=".", *, global_scope=False, remote=False):
231
239
  raise RuntimeError("Bounded project query failed")
232
240
  return {
233
241
  "client": client,
242
+ "config": str(config),
234
243
  "tools": len(catalog.tools),
235
244
  "metadata": metadata,
236
245
  "status": "ok",
@@ -25,6 +25,26 @@ async def test_doctor_reports_a_client_without_configuration(tmp_path):
25
25
  assert "init --client claude" in result["hint"]
26
26
 
27
27
 
28
+ @pytest.mark.asyncio
29
+ async def test_doctor_reads_claude_local_scope_first(tmp_path, monkeypatch):
30
+ import json
31
+
32
+ project, home = tmp_path / "project", tmp_path / "home"
33
+ project.mkdir()
34
+ home.mkdir()
35
+ (project / "main.py").write_text("def example(): return 1\n")
36
+ monkeypatch.setenv("HOME", str(home))
37
+ entry = configure_client("claude", project, dry_run=True)["configuration"]
38
+ # `claude mcp add` (local scope) writes here; a broken project entry must not hide it.
39
+ (home / ".claude.json").write_text(json.dumps(
40
+ {"projects": {str(project.resolve()): {"mcpServers": {"attocode-code-intel": entry}}}}))
41
+ (project / ".mcp.json").write_text(json.dumps(
42
+ {"mcpServers": {"attocode-code-intel": {"command": str(tmp_path / "missing")}}}))
43
+ result = await diagnose("claude", project)
44
+ assert result["status"] == "ok"
45
+ assert result["config"] == str(home / ".claude.json")
46
+
47
+
28
48
  def test_doctor_for_all_clients_fails_only_when_none_is_ready(tmp_path, capsys):
29
49
  from attocode_intel import entrypoint
30
50