attocode-code-intel 0.1.6__tar.gz → 0.1.8__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.
- attocode_code_intel-0.1.8/.gitignore +88 -0
- attocode_code_intel-0.1.8/PKG-INFO +246 -0
- attocode_code_intel-0.1.8/README.md +133 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-15-body-file-trial.md +34 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-15-body-file-validation.json +427 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-15-expansion-ablation.md +33 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-15-expansion-development.json +192 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-15-expansion-validation.json +180 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-15-fresh-navigation-queries.json +90 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-15-headroom-retrieval-questions.json +859 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-15-headroom-retrieval.md +17 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-16-cross-file-questions.json +158 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-16-deep-page-questions.json +160 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-16-kotlin-test-paths.json +106 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-16-navigation-prefix-validation.json +266 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-16-navigation-prefix.json +310 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-16-negation-candidate.patch.gz +0 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-16-negation-development.json +208 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-16-negation-freeze.json +48 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-16-negation-validation.json +208 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-16-search-correctness-candidates/accepted.patch.gz +0 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-16-search-correctness-candidates/boundaries.patch.gz +0 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-16-search-correctness-candidates/combined.patch.gz +0 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-16-search-correctness-candidates/expansion.patch.gz +0 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-16-search-correctness-candidates/identity.patch.gz +0 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-16-search-correctness-candidates/manifest.json +76 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-16-search-correctness-candidates/negation.patch.gz +0 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-16-search-correctness-candidates/owner_only.patch.gz +0 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-16-search-correctness-candidates/owners.patch.gz +0 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-16-search-correctness-confirmation-freeze.json +7 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-16-search-correctness-confirmation.json +206 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-16-search-correctness-development.json +206 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-16-search-correctness-freeze.json +348 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-16-search-correctness-validation.json +206 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-16-search-usefulness-development.json +285 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-16-search-usefulness-validation.json +285 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-16-search-usefulness.json +36 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-16-test-intent.json +210 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-17-change-focus-candidate.patch.gz +0 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-17-change-workflow-replays.json +98 -0
- attocode_code_intel-0.1.8/evals/designs/2026-10-17-change-workflow-replays.md +61 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-15-expansion-choice.json +12 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-15-expansion-importance.json +22925 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-15-expansion-importance.md +109 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-15-file-symbol-probe.json +76 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-15-file-symbol-validation.json +82 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-15-headroom-cloud.json +788 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-15-headroom-retrieval.json +18910 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-15-headroom-retrieval.md +100 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-15-headroom-validation.json +965 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-15-protocol-body-followup.json +12985 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-15-protocol-body-followup.md +116 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-15-protocol-body-validation.json +971 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-15-release-016.json +2414 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-15-release-016.md +81 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-15-retrieval-audit.json +5592 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-15-retrieval-file-symbol.md +112 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-15-retrieval-replay.json +2809 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-16-change-investigation.md +74 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-16-cockroach-fresh-timing.json +35 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-16-cross-file-audit.json +1271 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-16-cross-file-audit.md +113 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-16-deep-page-diversity.json +6938 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-16-deep-page-diversity.md +81 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-16-intelligence-test-migration.json +1334 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-16-intelligence-transition.json +254 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-16-intelligence-transition.md +81 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-16-kotlin-test-paths.json +5188 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-16-kotlin-test-paths.md +90 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-16-navigation-prefix.json +11198 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-16-navigation-prefix.md +104 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-16-negation-decision.json +107 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-16-negation-observations.json.gz +0 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-16-negation.md +85 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-16-search-correctness-decision.json +560 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-16-search-correctness-observations.json.gz +0 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-16-search-correctness.md +135 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-16-search-recovery-batch.md +118 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-16-search-recovery-validation.json +189 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-16-search-usefulness-decision.json +256 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-16-search-usefulness-development-express.json +1 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-16-search-usefulness-development-gson.json +1 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-16-search-usefulness-development-requests.json +1 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-16-search-usefulness-development-ripgrep.json +1 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-16-search-usefulness-validation-checks.json +57 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-16-search-usefulness-validation-express.json +1 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-16-search-usefulness-validation-gson.json +1 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-16-search-usefulness-validation-requests.json +1 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-16-search-usefulness-validation-ripgrep.json +1 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-16-search-usefulness.md +132 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-16-test-intent.json +1 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-17-change-focus-baseline.json.gz +0 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-17-change-focus-candidate.json.gz +0 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-17-change-focus-decision.json +160 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-17-change-workflow-observations.json.gz +0 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-17-change-workflow-replays.md +109 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-17-change-workflow-summary.json +467 -0
- attocode_code_intel-0.1.8/evals/results/2026-10-17-focused-change-reports.md +117 -0
- attocode_code_intel-0.1.8/pyproject.toml +150 -0
- attocode_code_intel-0.1.8/src/attocode_intel/__init__.py +52 -0
- attocode_code_intel-0.1.8/src/attocode_intel/_internal/integrations/context/ast_service.py +1525 -0
- attocode_code_intel-0.1.8/src/attocode_intel/_internal/integrations/context/cross_references.py +682 -0
- attocode_code_intel-0.1.8/src/attocode_intel/_internal/integrations/context/semantic_search.py +3234 -0
- attocode_code_intel-0.1.8/src/attocode_intel/_internal/integrations/lsp/client.py +1166 -0
- attocode_code_intel-0.1.8/src/attocode_intel/api/models.py +703 -0
- attocode_code_intel-0.1.8/src/attocode_intel/api/providers/db_provider.py +1053 -0
- attocode_code_intel-0.1.8/src/attocode_intel/catalog.py +266 -0
- attocode_code_intel-0.1.8/src/attocode_intel/change_evidence.py +297 -0
- attocode_code_intel-0.1.8/src/attocode_intel/change_investigation.py +598 -0
- attocode_code_intel-0.1.8/src/attocode_intel/cli.py +3067 -0
- attocode_code_intel-0.1.8/src/attocode_intel/entrypoint.py +190 -0
- attocode_code_intel-0.1.8/src/attocode_intel/focused_evidence.py +160 -0
- attocode_code_intel-0.1.8/src/attocode_intel/gateway.py +767 -0
- attocode_code_intel-0.1.8/src/attocode_intel/git/manager.py +496 -0
- attocode_code_intel-0.1.8/src/attocode_intel/indexing/full_indexer.py +336 -0
- attocode_code_intel-0.1.8/src/attocode_intel/indexing/incremental.py +259 -0
- attocode_code_intel-0.1.8/src/attocode_intel/indexing/parser.py +399 -0
- attocode_code_intel-0.1.8/src/attocode_intel/investigation_cli.py +138 -0
- attocode_code_intel-0.1.8/src/attocode_intel/precision.py +168 -0
- attocode_code_intel-0.1.8/src/attocode_intel/query_ranking.py +247 -0
- attocode_code_intel-0.1.8/src/attocode_intel/search_evidence.py +173 -0
- attocode_code_intel-0.1.8/src/attocode_intel/service.py +3429 -0
- attocode_code_intel-0.1.8/src/attocode_intel/storage/symbol_store.py +195 -0
- attocode_code_intel-0.1.8/src/attocode_intel/symbol_links.py +228 -0
- attocode_code_intel-0.1.8/src/attocode_intel/test_ranking.py +159 -0
- attocode_code_intel-0.1.8/src/attocode_intel/tools/composite_tools.py +761 -0
- attocode_code_intel-0.1.8/src/attocode_intel/tools/search_tools.py +787 -0
- attocode_code_intel-0.1.8/tests/fixtures/rule_violations/.attocode/rules/team-preferences.yaml +139 -0
- attocode_code_intel-0.1.8/tests/fixtures/rule_violations/go/bad_patterns.go +33 -0
- attocode_code_intel-0.1.8/tests/fixtures/rule_violations/java/BadPatterns.java +32 -0
- attocode_code_intel-0.1.8/tests/fixtures/rule_violations/python/bad_patterns.py +39 -0
- attocode_code_intel-0.1.8/tests/fixtures/rule_violations/rust/bad_patterns.rs +22 -0
- attocode_code_intel-0.1.8/tests/fixtures/rule_violations/typescript/bad_patterns.ts +24 -0
- attocode_code_intel-0.1.8/tests/integration/__init__.py +0 -0
- attocode_code_intel-0.1.8/tests/integration/code_intel/__init__.py +0 -0
- attocode_code_intel-0.1.8/tests/integration/code_intel/conftest.py +28 -0
- attocode_code_intel-0.1.8/tests/integration/code_intel/test_http_smoke.py +100 -0
- attocode_code_intel-0.1.8/tests/integration/code_intel/test_mcp_tools_audit.py +872 -0
- attocode_code_intel-0.1.8/tests/integration/code_intel/test_remote_mcp_http_integration.py +95 -0
- attocode_code_intel-0.1.8/tests/integration/code_intel/test_service_integration.py +168 -0
- attocode_code_intel-0.1.8/tests/integration/test_rule_bench_floor_e2e.py +153 -0
- attocode_code_intel-0.1.8/tests/test_behavioral_negation.py +117 -0
- attocode_code_intel-0.1.8/tests/test_change_focus.py +306 -0
- attocode_code_intel-0.1.8/tests/test_change_investigation.py +519 -0
- attocode_code_intel-0.1.8/tests/test_chunk_identity.py +168 -0
- attocode_code_intel-0.1.8/tests/test_db_navigation_http.py +717 -0
- attocode_code_intel-0.1.8/tests/test_file_symbol_scope.py +95 -0
- attocode_code_intel-0.1.8/tests/test_importance_publication.py +89 -0
- attocode_code_intel-0.1.8/tests/test_kotlin_test_paths.py +149 -0
- attocode_code_intel-0.1.8/tests/test_lexical_sql_cost.py +164 -0
- attocode_code_intel-0.1.8/tests/test_lsp_document_lifecycle.py +78 -0
- attocode_code_intel-0.1.8/tests/test_mcp_search_evaluation.py +116 -0
- attocode_code_intel-0.1.8/tests/test_navigation_prefix_trial.py +75 -0
- attocode_code_intel-0.1.8/tests/test_precision_recovery.py +99 -0
- attocode_code_intel-0.1.8/tests/test_quality_cloud.py +574 -0
- attocode_code_intel-0.1.8/tests/test_query_ranking.py +289 -0
- attocode_code_intel-0.1.8/tests/test_query_requirements.py +29 -0
- attocode_code_intel-0.1.8/tests/test_ranking_intent.py +207 -0
- attocode_code_intel-0.1.8/tests/test_real_language_server.py +172 -0
- attocode_code_intel-0.1.8/tests/test_retrieval_ablation.py +21 -0
- attocode_code_intel-0.1.8/tests/test_retrieval_audit.py +45 -0
- attocode_code_intel-0.1.8/tests/test_retrieval_body_trial.py +81 -0
- attocode_code_intel-0.1.8/tests/test_retrieval_cycle.py +84 -0
- attocode_code_intel-0.1.8/tests/test_search_usefulness.py +116 -0
- attocode_code_intel-0.1.8/tests/test_test_intent_trial.py +57 -0
- attocode_code_intel-0.1.8/tests/test_trigram_workspace.py +79 -0
- attocode_code_intel-0.1.8/tests/test_workflow_sequences.py +72 -0
- attocode_code_intel-0.1.8/tests/unit/__init__.py +0 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/__init__.py +0 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/conftest.py +50 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_advisory_lock.py +132 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_api.py +1078 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_api_phase3a.py +829 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_api_v2.py +735 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_auth.py +83 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_branch_versioning.py +108 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_bug_finder.py +168 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_call_graph_tool.py +156 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_ci_runner.py +196 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_cli_lifecycle.py +162 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_cli_maintenance_local.py +238 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_cli_ops.py +219 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_cli_query_commands.py +210 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_cli_remote.py +195 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_codex_rereview_polish.py +725 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_combinators.py +236 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_confidence.py +212 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_confidence_adoption.py +266 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_config.py +53 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_config_remote.py +193 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_cross_mode.py +155 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_db_security_scan.py +71 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_deps.py +93 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_diff_engine.py +98 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_edge_cases.py +328 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_frecency.py +288 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_fuzzy.py +165 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_index_store_migration.py +62 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_kw_index_status.py +28 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_lsp_call_graph.py +241 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_lsp_enrichment.py +198 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_lsp_extended_models.py +87 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_marketplace.py +175 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_metavar.py +212 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_middleware.py +38 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_notify_enhanced.py +195 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_org_isolation.py +68 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_pack_autoload.py +44 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_profiling.py +152 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_project_discovery.py +165 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_provenance_store.py +225 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_pubsub_streams.py +240 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_query_constraints.py +160 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_query_history.py +222 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_readiness.py +487 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_reindex_embeddings.py +45 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_remote_local_fallback.py +113 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_remote_provider.py +313 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_remote_reliability.py +121 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_repo_ranker.py +161 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_rule_evolution.py +428 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_rule_hygiene.py +344 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_rule_synthesis.py +332 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_rule_tools.py +366 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_rule_violations.py +266 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_rules_engine.py +810 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_rules_integration.py +260 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_sarif.py +146 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_search_tools.py +179 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_server_startup.py +118 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_service.py +45 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_service_mode.py +836 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_status_health.py +68 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_structural_executor.py +623 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_supply_chain_rules.py +409 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_testing_framework.py +239 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/test_webhook_encryption.py +95 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/tools/__init__.py +1 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/tools/conftest.py +141 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/tools/test_adr_tools.py +89 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/tools/test_analysis_tools.py +173 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/tools/test_dead_code_tools.py +62 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/tools/test_distill_tools.py +62 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/tools/test_history_tools.py +101 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/tools/test_learning_tools.py +81 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/tools/test_lsp_tools.py +156 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/tools/test_maintenance_tools_phase2.py +550 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/tools/test_navigation_tools.py +128 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/tools/test_phase2c_anchors_and_overlays.py +715 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/tools/test_readiness_tools.py +62 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/tools/test_search_status_mismatch.py +33 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/tools/test_search_tools.py +238 -0
- attocode_code_intel-0.1.8/tests/unit/code_intel/tools/test_server_tools.py +45 -0
- attocode_code_intel-0.1.8/tests/unit/context/__init__.py +0 -0
- attocode_code_intel-0.1.8/tests/unit/context/test_action_hash.py +170 -0
- attocode_code_intel-0.1.8/tests/unit/context/test_ast_service_adapter.py +209 -0
- attocode_code_intel-0.1.8/tests/unit/context/test_blob_oid.py +277 -0
- attocode_code_intel-0.1.8/tests/unit/context/test_cache_manifest.py +117 -0
- attocode_code_intel-0.1.8/tests/unit/context/test_cas.py +163 -0
- attocode_code_intel-0.1.8/tests/unit/context/test_embedding_rotation.py +751 -0
- attocode_code_intel-0.1.8/tests/unit/context/test_pagerank_restoration.py +150 -0
- attocode_code_intel-0.1.8/tests/unit/context/test_provenance.py +117 -0
- attocode_code_intel-0.1.8/tests/unit/context/test_retrieval_pin.py +257 -0
- attocode_code_intel-0.1.8/tests/unit/context/test_vector_store_dim_safety.py +166 -0
- attocode_code_intel-0.1.8/tests/unit/eval/__init__.py +0 -0
- attocode_code_intel-0.1.8/tests/unit/eval/conftest.py +12 -0
- attocode_code_intel-0.1.8/tests/unit/eval/test_acc_at_k.py +10 -0
- attocode_code_intel-0.1.8/tests/unit/eval/test_broad_candidate_audit.py +47 -0
- attocode_code_intel-0.1.8/tests/unit/eval/test_calibration_demo.py +89 -0
- attocode_code_intel-0.1.8/tests/unit/eval/test_harness.py +69 -0
- attocode_code_intel-0.1.8/tests/unit/eval/test_matrix_agents.py +132 -0
- attocode_code_intel-0.1.8/tests/unit/eval/test_matrix_ci.py +55 -0
- attocode_code_intel-0.1.8/tests/unit/eval/test_matrix_datasets.py +281 -0
- attocode_code_intel-0.1.8/tests/unit/eval/test_matrix_dense.py +143 -0
- attocode_code_intel-0.1.8/tests/unit/eval/test_matrix_rerank.py +290 -0
- attocode_code_intel-0.1.8/tests/unit/eval/test_matrix_retrieve.py +220 -0
- attocode_code_intel-0.1.8/tests/unit/eval/test_matrix_run.py +79 -0
- attocode_code_intel-0.1.8/tests/unit/eval/test_matrix_stats.py +107 -0
- attocode_code_intel-0.1.8/tests/unit/eval/test_mcp_bench.py +265 -0
- attocode_code_intel-0.1.8/tests/unit/eval/test_rule_accuracy.py +269 -0
- attocode_code_intel-0.1.8/tests/unit/eval/test_rule_bench_config.py +260 -0
- attocode_code_intel-0.1.8/tests/unit/eval/test_rule_bench_corpus.py +182 -0
- attocode_code_intel-0.1.8/tests/unit/eval/test_rule_bench_evaluator.py +186 -0
- attocode_code_intel-0.1.8/tests/unit/eval/test_rule_bench_predicate.py +77 -0
- attocode_code_intel-0.1.8/tests/unit/eval/test_rule_bench_scoring.py +170 -0
- attocode_code_intel-0.1.8/tests/unit/eval/test_rule_bench_template_engine.py +197 -0
- attocode_code_intel-0.1.8/tests/unit/eval/test_rule_harness_import.py +172 -0
- attocode_code_intel-0.1.8/tests/unit/eval/test_search_quality_reporting.py +201 -0
- attocode_code_intel-0.1.8/tests/unit/eval/test_search_readiness.py +72 -0
- attocode_code_intel-0.1.8/tests/unit/eval/test_seed_attocode_fixtures.py +77 -0
- attocode_code_intel-0.1.8/tests/unit/integrations/__init__.py +0 -0
- attocode_code_intel-0.1.8/tests/unit/integrations/context/__init__.py +0 -0
- attocode_code_intel-0.1.8/tests/unit/integrations/context/test_architecture_drift.py +317 -0
- attocode_code_intel-0.1.8/tests/unit/integrations/context/test_ast_service_hydration.py +121 -0
- attocode_code_intel-0.1.8/tests/unit/integrations/context/test_body_chunking.py +88 -0
- attocode_code_intel-0.1.8/tests/unit/integrations/context/test_call_graph.py +325 -0
- attocode_code_intel-0.1.8/tests/unit/integrations/context/test_code_analyzer.py +428 -0
- attocode_code_intel-0.1.8/tests/unit/integrations/context/test_codebase_ast.py +829 -0
- attocode_code_intel-0.1.8/tests/unit/integrations/context/test_codebase_context.py +853 -0
- attocode_code_intel-0.1.8/tests/unit/integrations/context/test_context_stores_closed.py +64 -0
- attocode_code_intel-0.1.8/tests/unit/integrations/context/test_cross_ref_search.py +243 -0
- attocode_code_intel-0.1.8/tests/unit/integrations/context/test_embedder_default.py +23 -0
- attocode_code_intel-0.1.8/tests/unit/integrations/context/test_embeddings.py +306 -0
- attocode_code_intel-0.1.8/tests/unit/integrations/context/test_embeddings_query.py +38 -0
- attocode_code_intel-0.1.8/tests/unit/integrations/context/test_go_symbols.py +530 -0
- attocode_code_intel-0.1.8/tests/unit/integrations/context/test_hydration.py +71 -0
- attocode_code_intel-0.1.8/tests/unit/integrations/context/test_index_store.py +231 -0
- attocode_code_intel-0.1.8/tests/unit/integrations/context/test_model_mismatch.py +43 -0
- attocode_code_intel-0.1.8/tests/unit/integrations/context/test_path_downweight.py +12 -0
- attocode_code_intel-0.1.8/tests/unit/integrations/context/test_query_routing.py +27 -0
- attocode_code_intel-0.1.8/tests/unit/integrations/context/test_semantic_search.py +730 -0
- attocode_code_intel-0.1.8/tests/unit/integrations/context/test_supported_languages.py +42 -0
- attocode_code_intel-0.1.8/tests/unit/integrations/context/test_temporal_coupling.py +188 -0
- attocode_code_intel-0.1.8/tests/unit/integrations/context/test_trigram_index.py +512 -0
- attocode_code_intel-0.1.8/tests/unit/integrations/context/test_trigram_regex.py +241 -0
- attocode_code_intel-0.1.8/tests/unit/integrations/context/test_ts_parser.py +520 -0
- attocode_code_intel-0.1.8/tests/unit/integrations/test_dataflow.py +206 -0
- attocode_code_intel-0.1.8/tests/unit/integrations/test_feature_flags.py +43 -0
- attocode_code_intel-0.1.8/tests/unit/integrations/test_new_security_rules.py +789 -0
- attocode_code_intel-0.1.8/tests/unit/integrations/test_security_autofix.py +399 -0
- attocode_code_intel-0.1.8/tests/unit/integrations/test_security_matcher.py +128 -0
- attocode_code_intel-0.1.8/tests/unit/integrations/test_streaming_lsp.py +957 -0
- attocode_code_intel-0.1.8/tests/unit/integrations/utilities/__init__.py +0 -0
- attocode_code_intel-0.1.8/tests/unit/integrations/utilities/test_ignore.py +53 -0
- attocode_code_intel-0.1.8/tests/unit/integrations/utilities/test_token_estimate.py +63 -0
- attocode_code_intel-0.1.8/tests/unit/test_code_intel.py +4088 -0
- attocode_code_intel-0.1.8/tests/unit/test_code_intel_hydration.py +112 -0
- attocode_code_intel-0.1.8/tests/unit/test_errors.py +174 -0
- attocode_code_intel-0.1.8/tests/unit/test_memory_store.py +348 -0
- attocode_code_intel-0.1.6/.gitignore +0 -85
- attocode_code_intel-0.1.6/PKG-INFO +0 -238
- attocode_code_intel-0.1.6/README.md +0 -126
- attocode_code_intel-0.1.6/pyproject.toml +0 -148
- attocode_code_intel-0.1.6/src/attocode_intel/__init__.py +0 -52
- attocode_code_intel-0.1.6/src/attocode_intel/_internal/integrations/context/ast_service.py +0 -1529
- attocode_code_intel-0.1.6/src/attocode_intel/_internal/integrations/context/cross_references.py +0 -659
- attocode_code_intel-0.1.6/src/attocode_intel/_internal/integrations/context/semantic_search.py +0 -3199
- attocode_code_intel-0.1.6/src/attocode_intel/_internal/integrations/lsp/client.py +0 -1144
- attocode_code_intel-0.1.6/src/attocode_intel/api/models.py +0 -698
- attocode_code_intel-0.1.6/src/attocode_intel/api/providers/db_provider.py +0 -1111
- attocode_code_intel-0.1.6/src/attocode_intel/catalog.py +0 -266
- attocode_code_intel-0.1.6/src/attocode_intel/cli.py +0 -3062
- attocode_code_intel-0.1.6/src/attocode_intel/entrypoint.py +0 -188
- attocode_code_intel-0.1.6/src/attocode_intel/focused_evidence.py +0 -130
- attocode_code_intel-0.1.6/src/attocode_intel/gateway.py +0 -758
- attocode_code_intel-0.1.6/src/attocode_intel/git/manager.py +0 -493
- attocode_code_intel-0.1.6/src/attocode_intel/indexing/full_indexer.py +0 -334
- attocode_code_intel-0.1.6/src/attocode_intel/indexing/incremental.py +0 -246
- attocode_code_intel-0.1.6/src/attocode_intel/indexing/parser.py +0 -403
- attocode_code_intel-0.1.6/src/attocode_intel/precision.py +0 -138
- attocode_code_intel-0.1.6/src/attocode_intel/query_ranking.py +0 -243
- attocode_code_intel-0.1.6/src/attocode_intel/search_evidence.py +0 -170
- attocode_code_intel-0.1.6/src/attocode_intel/service.py +0 -3428
- attocode_code_intel-0.1.6/src/attocode_intel/storage/symbol_store.py +0 -160
- attocode_code_intel-0.1.6/src/attocode_intel/symbol_links.py +0 -213
- attocode_code_intel-0.1.6/src/attocode_intel/test_ranking.py +0 -143
- attocode_code_intel-0.1.6/src/attocode_intel/tools/composite_tools.py +0 -742
- attocode_code_intel-0.1.6/src/attocode_intel/tools/search_tools.py +0 -770
- attocode_code_intel-0.1.6/tests/test_lexical_sql_cost.py +0 -164
- attocode_code_intel-0.1.6/tests/test_quality_cloud.py +0 -535
- attocode_code_intel-0.1.6/tests/test_query_ranking.py +0 -253
- attocode_code_intel-0.1.6/tests/test_ranking_intent.py +0 -207
- attocode_code_intel-0.1.6/tests/test_real_language_server.py +0 -148
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/LICENSE +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/README.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/ast_restart_probe.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/body_cost_probe.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/broad_candidate_audit.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/broad_query_cases.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/broad_query_external_cases.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/broad_query_final_holdout.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/client_comparison.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/client_responses.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/codex_repair_study.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/daily.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/designs/2026-10-13-codex-repair-diagnostic.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/designs/2026-10-13-r7-task-completion-pilot.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/designs/2026-10-14-workflow-pilot.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/discovery_reuse_probe.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/external_benchmarks.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/external_study.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/graded_blind_pack.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/lexical_sql_probe.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/localize_study.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/locbench_title_pack.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/onboarding_study.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/pilot.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/quality_scoring.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/quality_tasks.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/release_gate.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/repair_grading.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/repair_study.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/repair_worker.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/responses.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/restart_discovery_probe.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-09-05-macos.json +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-04-broad-query-ranking.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-04-decision-reranker-trial.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-04-systemone-http-local-trial.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-05-broad-candidate-audit.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-05-source-view-transfer.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-08-blind-graded-rerank.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-08-locbench-560.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-09-locbench-560-first-stage.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-10-agent-pilot.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-10-agent-r3.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-10-matrix-r1.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-11-agent-r4-stage0.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-12-r4-stage1-review-agents.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-12-r5-test-suggestions.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-13-codex-repair-diagnostic.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-13-r6-review-test-note.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-13-r7-preparation.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-13-r7-wiring.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-14-bounded-quality/broad-report.json +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-14-bounded-quality/lifecycle.json +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-14-bounded-quality/manifest.json +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-14-bounded-quality/quick-report.json +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-14-bounded-quality/ranking.json +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-14-bounded-quality/ranking.log +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-14-bounded-quality/scale.json +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-14-bounded-quality/storage.json +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-14-bounded-quality/workflows.json +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-14-bounded-quality.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-14-breadth-cloud-first.json +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-14-breadth-development.json +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-14-breadth-development.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-14-r7-completion-pilot.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-14-search-evidence-audit/fixture-replay.json +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-14-search-evidence-audit/ledger.json +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-14-search-evidence-audit/report.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-14-search-evidence.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-14-search-followup/README.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-14-search-followup/artifact-hashes.json +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-14-search-followup/chunk-analysis.json +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-14-search-followup/chunk-audit-script.txt +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-14-search-followup/chunk-pools.json +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-14-search-followup/mcp-smoke-script.txt +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-14-search-followup/mcp-smoke.json +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-14-search-followup/metadata-source-probe.json +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-15-ast-restart.json +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-15-ast-restart.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-15-body-index-profile.json +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-15-body-index-profile.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-15-breadth-cloud.json +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-15-breadth-cloud.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-15-cloud-bootstrap.json +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-15-cloud-bootstrap.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-15-cloud-setup-lock.json +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-15-cloud-setup-lock.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-15-cockroach-index-probe.json +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-15-cockroach-index-probe.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-15-cold-followup.json +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-15-cold-followup.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-15-cold-repair-cycle.json +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-15-cold-repair-cycle.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-15-discovery-body-repair.json +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-15-discovery-body-repair.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-15-discovery-validation.json +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-15-discovery-validation.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-15-index-probe-readiness.json +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-15-index-probe-readiness.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-15-lexical-sql-contention.json +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-15-lexical-sql-contention.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-15-restart-discovery-repair.json +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-15-restart-discovery-repair.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-15-structural-write-contention.json +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/2026-10-15-structural-write-contention.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/results/README.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/search_evidence_audit.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/source_view_transfer.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/structural_write_probe.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/study.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/study_clients.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/study_events.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/study_tasks.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/token_overhead.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/understanding_scoring.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/understanding_study.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/warm_cache.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/evals/workflows.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/GUIDELINES.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/__init__.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/errors/__init__.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/__init__.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/context/__init__.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/context/architecture_drift.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/context/ast_chunker.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/context/ast_snapshot.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/context/blob_oid.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/context/cache_manifest.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/context/cas.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/context/code_analyzer.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/context/codebase_ast.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/context/codebase_context.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/context/cross_mode.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/context/discovery_snapshot.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/context/embedding_rotation.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/context/embeddings.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/context/frecency.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/context/fuzzy.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/context/hierarchical_explorer.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/context/hydration.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/context/index_probe.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/context/index_repair.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/context/index_store.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/context/language_registry.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/context/memory_store.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/context/module_resolution.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/context/query_constraints.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/context/query_history.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/context/reranker.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/context/syntax_evidence.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/context/systemone_ranker.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/context/temporal_coupling.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/context/trigram_index.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/context/trigram_regex.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/context/ts_parser.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/context/vector_store.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/feature_flags/__init__.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/lsp/__init__.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/mcp/__init__.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/mcp/client.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/security/__init__.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/security/custom_rules.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/security/dataflow.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/security/dependency_audit.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/security/matcher.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/security/patterns.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/security/scanner.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/utilities/__init__.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/utilities/ignore.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/integrations/utilities/token_estimate.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/tricks/__init__.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/tricks/recursive_context.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/types/__init__.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/types/events.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_internal/types/severity.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/_shared.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/analysis_coverage.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/__init__.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/access.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/app.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/auth/__init__.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/auth/api_keys.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/auth/context.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/auth/jwt.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/auth/oauth.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/auth/passwords.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/deps.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/knowledge_bridge.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/mcp_transport.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/middleware.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/providers/__init__.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/providers/local_provider.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/providers/remote_provider.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/repository_source.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/routes/__init__.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/routes/_pin_helper.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/routes/activity.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/routes/adr.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/routes/analysis.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/routes/api_keys.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/routes/auth.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/routes/branches.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/routes/cross_repo_search.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/routes/embeddings.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/routes/files.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/routes/files_v2.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/routes/gc.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/routes/git_v2.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/routes/graph.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/routes/graph_viz.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/routes/health.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/routes/history.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/routes/jobs.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/routes/learning.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/routes/lsp.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/routes/notify.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/routes/operations.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/routes/orgs.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/routes/preferences.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/routes/presence.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/routes/projects.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/routes/repos.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/routes/search.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/routes/snapshots.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/routes/webhooks.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/routes/websocket.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/static/graph.html +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/api/utils.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/artifacts/__init__.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/artifacts/hashing.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/artifacts/provenance.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/artifacts/retrieval_pin.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/audit.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/bug_finder.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/bundle.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/change_review.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/community.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/confidence/__init__.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/confidence/jev.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/confidence/llm.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/confidence/redact.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/confidence/settings.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/config.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/crypto.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/db/__init__.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/db/base.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/db/engine.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/db/models.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/freshness.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/git/__init__.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/git/credentials.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/git/models.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/git/storage.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/graph_query_parser.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/helpers.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/indexing/__init__.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/indexing/debouncer.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/indexing/delta_indexer.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/indexing/summarizer.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/installer.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/knowledge.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/local_knowledge.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/migrations/alembic.ini +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/migrations/env.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/migrations/script.py.mako +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/migrations/versions/001_initial_schema.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/migrations/versions/002_branch_version_and_embeddings.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/migrations/versions/003_embedding_uniqueness_and_cascade.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/migrations/versions/004_audit_events.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/migrations/versions/005_user_preferences.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/migrations/versions/006_google_oauth.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/migrations/versions/007_pgvector_embeddings.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/migrations/versions/008_symbol_references.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/migrations/versions/009_webhook_secret_encryption.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/migrations/versions/010_add_commits_table.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/migrations/versions/011_commit_changed_files.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/migrations/versions/012_branch_merged_at.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/migrations/versions/013_revoked_tokens.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/migrations/versions/014_blame_hunks.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/migrations/versions/015_commit_file_stats.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/migrations/versions/016_embedding_provenance_columns.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/migrations/versions/017_provenance_table.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/migrations/versions/018_repo_snapshots.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/migrations/versions/019_symref_caller.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/migrations/versions/020_shared_knowledge.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/onboarding.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/output.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/presence.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/probe.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/project_dir.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/pubsub.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/readiness.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/redis.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/reference_pages.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/remote.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/repo_ranker.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/request_context.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/__init__.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/ci.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/combinators.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/enricher.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/evolution.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/executor.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/filters/__init__.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/filters/pipeline.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/formatter.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/hygiene.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/importers/__init__.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/importers/semgrep.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/loader.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/marketplace.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/metavar.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/model.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/__init__.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/_license_templates/Apache-2.0.txt +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/_license_templates/MIT.txt +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/bandit-python/LICENSE +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/bandit-python/NOTICE +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/bandit-python/PORTING.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/bandit-python/manifest.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/bandit-python/rules/B105-hardcoded-password.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/bandit-python/rules/B303-weak-md5.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/bandit-python/rules/B304-weak-des.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/bandit-python/rules/B307-use-of-eval.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/bandit-python/rules/B324-weak-sha1.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/bandit-python/rules/B501-no-cert-validation.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/bandit-python/rules/B602-shell-true.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/bandit-python/rules/B608-sqli.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/eslint-typescript/LICENSE +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/eslint-typescript/NOTICE +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/eslint-typescript/PORTING.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/eslint-typescript/manifest.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/eslint-typescript/rules/eqeqeq.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/eslint-typescript/rules/no-eval.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/eslint-typescript/rules/no-implied-eval.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/eslint-typescript/rules/no-new-func.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/eslint-typescript/rules/no-throw-literal.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/eslint-typescript/rules/no-var.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/eslint-typescript/rules/no-with.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/gosec-go/LICENSE +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/gosec-go/NOTICE +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/gosec-go/PORTING.md +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/gosec-go/manifest.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/gosec-go/rules/G101-hardcoded-credentials.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/gosec-go/rules/G102-bind-all-interfaces.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/gosec-go/rules/G103-unsafe-block.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/gosec-go/rules/G201-sql-format.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/gosec-go/rules/G304-file-inclusion.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/gosec-go/rules/G401-weak-cipher.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/gosec-go/rules/G402-tls-min-version.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/community/gosec-go/rules/G501-md5-import.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/cpp/manifest.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/cpp/rules/security.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/cpp/rules/structural.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/csharp/manifest.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/csharp/rules/security.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/csharp/rules/structural.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/go/manifest.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/go/rules/performance.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/go/rules/security.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/go/rules/structural.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/go/taint/sanitizers.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/go/taint/sinks.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/go/taint/sources.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/java/manifest.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/java/rules/correctness.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/java/rules/structural.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/java/taint/sinks.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/java/taint/sources.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/kotlin/manifest.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/kotlin/rules/correctness.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/kotlin/rules/structural.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/php/manifest.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/php/rules/security.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/php/rules/structural.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/python/manifest.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/python/rules/performance.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/python/rules/structural.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/ruby/manifest.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/ruby/rules/security.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/ruby/rules/structural.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/rust/manifest.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/rust/rules/correctness.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/rust/rules/structural.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/typescript/manifest.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/typescript/rules/performance.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/examples/typescript/rules/structural.yaml +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/packs/pack_loader.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/plugins/__init__.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/plugins/plugin_loader.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/profiling.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/registry.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/sarif.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/synthesis.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/rules/testing.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/server.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/sharing.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/storage/__init__.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/storage/branch_overlay.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/storage/content_store.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/storage/dependency_store.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/storage/diff_engine.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/storage/embedding_store.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/storage/provenance_store.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/storage/security_scanner_db.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/structural_evidence.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/symbol_inspection.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/telemetry.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/testing/__init__.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/testing/fixtures.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/testing/helpers.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/testing/mocks.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/tools/__init__.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/tools/adr_tools.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/tools/analysis_tools.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/tools/cross_mode_tools.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/tools/dead_code_tools.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/tools/distill_tools.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/tools/frecency_tools.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/tools/fuzzy_tools.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/tools/history_tools.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/tools/learning_tools.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/tools/lsp_tools.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/tools/maintenance_tools.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/tools/navigation_tools.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/tools/overlay_tools.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/tools/pin_store.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/tools/pin_tools.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/tools/query_constraints_tools.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/tools/query_history_tools.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/tools/readiness_tools.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/tools/rule_tools.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/tools/snapshot_tools.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/workers/__init__.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/workers/job_utils.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/workers/jobs.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/workers/run.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/src/attocode_intel/workers/settings.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_ast_snapshot.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_codex_repair_study.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_cold_discovery.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_cold_index_cost.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_compact_inspection.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_daily_workflows.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_discovery_reuse.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_doctor.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_edit_restart.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_external_study.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_focused_inspection.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_index_probe.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_index_processes.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_index_reuse.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_index_sequences.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_language_capabilities.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_lean_profile.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_local_reranker.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_localize_study.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_mixed_workspace.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_module_ownership.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_navigation_evidence.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_onboarding_study.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_operation_contracts.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_pilot.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_precision_protocol.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_product.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_quality_evaluation.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_quality_evidence.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_quality_lifecycle.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_quality_runner.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_remote.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_repair_study.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_search_evidence.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_search_evidence_audit.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_source_exclusions.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_structural_evidence.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_structural_write_cost.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_study.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_systemone_ranker.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_token_overhead.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_understanding_evaluation.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_walk_order.py +0 -0
- {attocode_code_intel-0.1.6 → attocode_code_intel-0.1.8}/tests/test_warm_cache.py +0 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
dist/
|
|
3
|
+
__pycache__/
|
|
4
|
+
.venv/
|
|
5
|
+
*.egg-info/
|
|
6
|
+
*.db
|
|
7
|
+
*.db-shm
|
|
8
|
+
*.db-wal
|
|
9
|
+
*.jsonl
|
|
10
|
+
.mypy_cache/
|
|
11
|
+
.pytest_cache/
|
|
12
|
+
.ruff_cache/
|
|
13
|
+
|
|
14
|
+
# Node (lessons/)
|
|
15
|
+
node_modules/
|
|
16
|
+
|
|
17
|
+
# Environment
|
|
18
|
+
.env
|
|
19
|
+
|
|
20
|
+
# Claude/Agent
|
|
21
|
+
.claude/
|
|
22
|
+
.agent/
|
|
23
|
+
.traces/
|
|
24
|
+
.production-agent-sessions/
|
|
25
|
+
.test-sandbox/
|
|
26
|
+
|
|
27
|
+
# Attocode runtime
|
|
28
|
+
.attocode/traces/
|
|
29
|
+
.attocode/sessions/
|
|
30
|
+
.attocode/recordings/
|
|
31
|
+
.attocode/cache/
|
|
32
|
+
.attocode/reports/
|
|
33
|
+
.attocode/rule_feedback.json
|
|
34
|
+
.attocode/packs/python/
|
|
35
|
+
.attocode/.attocode/
|
|
36
|
+
.attocode/dev-state.json
|
|
37
|
+
.attocode/config.toml
|
|
38
|
+
.attocode/vectors
|
|
39
|
+
attocode/attocode_py/.attocode/
|
|
40
|
+
tests/unit/tui/__snapshots__/
|
|
41
|
+
.attocode/exports/
|
|
42
|
+
.attocode/index/
|
|
43
|
+
.attocode/meta_harness/
|
|
44
|
+
tests/fixtures/sample_project/
|
|
45
|
+
docs/superpowers/
|
|
46
|
+
eval/charts/
|
|
47
|
+
eval/*.md
|
|
48
|
+
eval/*.log
|
|
49
|
+
eval/*.json
|
|
50
|
+
# Legacy TS runtime artifacts
|
|
51
|
+
legacy/.attocode/traces/
|
|
52
|
+
legacy/.attocode/sessions/
|
|
53
|
+
legacy/.attocode/recordings/
|
|
54
|
+
|
|
55
|
+
# attocode snapshots
|
|
56
|
+
tests/unit/tui/__snapshots__/
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
# Build outputs
|
|
60
|
+
*.vsix
|
|
61
|
+
site/
|
|
62
|
+
snapshot_report.html
|
|
63
|
+
.internal
|
|
64
|
+
|
|
65
|
+
# scripts
|
|
66
|
+
scripts/*
|
|
67
|
+
!scripts/validate_release_version.py
|
|
68
|
+
!scripts/check_pack_licenses.py
|
|
69
|
+
.DS_Store
|
|
70
|
+
|
|
71
|
+
#playwright
|
|
72
|
+
.playwright-mcp
|
|
73
|
+
|
|
74
|
+
#gsd
|
|
75
|
+
.gsd/
|
|
76
|
+
.bg-shell/
|
|
77
|
+
|
|
78
|
+
#cursor
|
|
79
|
+
.cursor/
|
|
80
|
+
|
|
81
|
+
# search-quality sweep scratch output
|
|
82
|
+
eval/sweep_out/
|
|
83
|
+
|
|
84
|
+
# Bounded validation workspaces, reports and cloud ledger
|
|
85
|
+
.attocode/quality/
|
|
86
|
+
|
|
87
|
+
# Local outputs left by the archived TypeScript checkout stay private.
|
|
88
|
+
/legacy/
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
|
+
Name: attocode-code-intel
|
|
3
|
+
Version: 0.1.8
|
|
4
|
+
Summary: Local code search and navigation for coding agents and people
|
|
5
|
+
Project-URL: Homepage, https://github.com/eren23/attocode
|
|
6
|
+
Project-URL: Repository, https://github.com/eren23/attocode
|
|
7
|
+
Project-URL: Bug Tracker, https://github.com/eren23/attocode/issues
|
|
8
|
+
Project-URL: Changelog, https://github.com/eren23/attocode/blob/main/CHANGELOG.md
|
|
9
|
+
License-Expression: MIT
|
|
10
|
+
License-File: LICENSE
|
|
11
|
+
Keywords: code-navigation,code-search,coding-agents,mcp,tree-sitter
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
|
+
Classifier: Environment :: Console
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Operating System :: MacOS
|
|
16
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
19
|
+
Classifier: Topic :: Software Development
|
|
20
|
+
Requires-Python: >=3.12
|
|
21
|
+
Requires-Dist: aiosqlite>=0.20
|
|
22
|
+
Requires-Dist: click>=8.1
|
|
23
|
+
Requires-Dist: filelock>=3.16
|
|
24
|
+
Requires-Dist: httpx>=0.27
|
|
25
|
+
Requires-Dist: mcp<2,>=1.26
|
|
26
|
+
Requires-Dist: numpy>=2
|
|
27
|
+
Requires-Dist: pathspec>=0.12
|
|
28
|
+
Requires-Dist: psutil>=6
|
|
29
|
+
Requires-Dist: pydantic>=2
|
|
30
|
+
Requires-Dist: python-dotenv>=1
|
|
31
|
+
Requires-Dist: pyyaml>=6
|
|
32
|
+
Requires-Dist: rich>=13
|
|
33
|
+
Requires-Dist: structlog>=24.1
|
|
34
|
+
Requires-Dist: tenacity>=9
|
|
35
|
+
Requires-Dist: tiktoken>=0.7
|
|
36
|
+
Requires-Dist: tomli-w>=1
|
|
37
|
+
Requires-Dist: tomlkit>=0.13
|
|
38
|
+
Requires-Dist: tree-sitter-bash
|
|
39
|
+
Requires-Dist: tree-sitter-c
|
|
40
|
+
Requires-Dist: tree-sitter-c-sharp
|
|
41
|
+
Requires-Dist: tree-sitter-cpp
|
|
42
|
+
Requires-Dist: tree-sitter-css
|
|
43
|
+
Requires-Dist: tree-sitter-elixir
|
|
44
|
+
Requires-Dist: tree-sitter-go
|
|
45
|
+
Requires-Dist: tree-sitter-hcl
|
|
46
|
+
Requires-Dist: tree-sitter-html
|
|
47
|
+
Requires-Dist: tree-sitter-java
|
|
48
|
+
Requires-Dist: tree-sitter-javascript
|
|
49
|
+
Requires-Dist: tree-sitter-json
|
|
50
|
+
Requires-Dist: tree-sitter-kotlin
|
|
51
|
+
Requires-Dist: tree-sitter-lua
|
|
52
|
+
Requires-Dist: tree-sitter-php
|
|
53
|
+
Requires-Dist: tree-sitter-python
|
|
54
|
+
Requires-Dist: tree-sitter-ruby
|
|
55
|
+
Requires-Dist: tree-sitter-rust
|
|
56
|
+
Requires-Dist: tree-sitter-scala
|
|
57
|
+
Requires-Dist: tree-sitter-swift
|
|
58
|
+
Requires-Dist: tree-sitter-toml
|
|
59
|
+
Requires-Dist: tree-sitter-typescript
|
|
60
|
+
Requires-Dist: tree-sitter-yaml
|
|
61
|
+
Requires-Dist: tree-sitter-zig
|
|
62
|
+
Requires-Dist: tree-sitter<0.26,>=0.23
|
|
63
|
+
Requires-Dist: watchfiles>=1
|
|
64
|
+
Provides-Extra: dev
|
|
65
|
+
Requires-Dist: ast-grep-cli>=0.42; extra == 'dev'
|
|
66
|
+
Requires-Dist: bcrypt>=4.0; extra == 'dev'
|
|
67
|
+
Requires-Dist: bump-my-version>=0.28; extra == 'dev'
|
|
68
|
+
Requires-Dist: mypy>=1.10; extra == 'dev'
|
|
69
|
+
Requires-Dist: pytest-asyncio>=0.24; extra == 'dev'
|
|
70
|
+
Requires-Dist: pytest-cov>=5.0; extra == 'dev'
|
|
71
|
+
Requires-Dist: pytest-mock>=3.14; extra == 'dev'
|
|
72
|
+
Requires-Dist: pytest>=8.0; extra == 'dev'
|
|
73
|
+
Requires-Dist: python-jose[cryptography]>=3.3; extra == 'dev'
|
|
74
|
+
Requires-Dist: respx>=0.22; extra == 'dev'
|
|
75
|
+
Requires-Dist: ruff>=0.5; extra == 'dev'
|
|
76
|
+
Requires-Dist: sqlalchemy[asyncio]>=2.0; extra == 'dev'
|
|
77
|
+
Provides-Extra: docs
|
|
78
|
+
Requires-Dist: mkdocs-material>=9.5; extra == 'docs'
|
|
79
|
+
Requires-Dist: mkdocs>=1.6; extra == 'docs'
|
|
80
|
+
Requires-Dist: pymdown-extensions>=10.0; extra == 'docs'
|
|
81
|
+
Provides-Extra: graph
|
|
82
|
+
Requires-Dist: networkx>=3.0; extra == 'graph'
|
|
83
|
+
Provides-Extra: http
|
|
84
|
+
Requires-Dist: fastapi>=0.115; extra == 'http'
|
|
85
|
+
Requires-Dist: networkx>=3.0; extra == 'http'
|
|
86
|
+
Requires-Dist: python-multipart>=0.0.18; extra == 'http'
|
|
87
|
+
Requires-Dist: uvicorn[standard]>=0.34; extra == 'http'
|
|
88
|
+
Provides-Extra: semantic
|
|
89
|
+
Requires-Dist: sentence-transformers>=3.0; extra == 'semantic'
|
|
90
|
+
Provides-Extra: semantic-nomic
|
|
91
|
+
Requires-Dist: einops; extra == 'semantic-nomic'
|
|
92
|
+
Requires-Dist: sentence-transformers>=3.0; extra == 'semantic-nomic'
|
|
93
|
+
Provides-Extra: service
|
|
94
|
+
Requires-Dist: alembic>=1.14; extra == 'service'
|
|
95
|
+
Requires-Dist: arq>=0.26; extra == 'service'
|
|
96
|
+
Requires-Dist: asyncpg>=0.30; extra == 'service'
|
|
97
|
+
Requires-Dist: bcrypt>=4.0; extra == 'service'
|
|
98
|
+
Requires-Dist: cryptography>=41.0; extra == 'service'
|
|
99
|
+
Requires-Dist: fastapi>=0.115; extra == 'service'
|
|
100
|
+
Requires-Dist: httpx-oauth>=0.15; extra == 'service'
|
|
101
|
+
Requires-Dist: networkx>=3.0; extra == 'service'
|
|
102
|
+
Requires-Dist: pgvector>=0.3; extra == 'service'
|
|
103
|
+
Requires-Dist: pydantic-settings>=2.0; extra == 'service'
|
|
104
|
+
Requires-Dist: pygit2>=1.14; extra == 'service'
|
|
105
|
+
Requires-Dist: python-jose[cryptography]>=3.3; extra == 'service'
|
|
106
|
+
Requires-Dist: python-multipart>=0.0.18; extra == 'service'
|
|
107
|
+
Requires-Dist: redis[hiredis]>=5.0; extra == 'service'
|
|
108
|
+
Requires-Dist: sqlalchemy[asyncio]>=2.0; extra == 'service'
|
|
109
|
+
Requires-Dist: uvicorn[standard]>=0.34; extra == 'service'
|
|
110
|
+
Provides-Extra: tree-sitter-all
|
|
111
|
+
Requires-Dist: tree-sitter-language-pack>=0.6; extra == 'tree-sitter-all'
|
|
112
|
+
Description-Content-Type: text/markdown
|
|
113
|
+
|
|
114
|
+
# attocode-code-intel
|
|
115
|
+
|
|
116
|
+
Local code search and navigation for coding agents and for people. It runs as an MCP server for Codex, Claude Code, Cursor and other MCP clients, and as a command in your terminal. It needs no model, no API key and no network.
|
|
117
|
+
|
|
118
|
+
**Status: beta.** We measured the search quality (see [What we measured](#what-we-measured)). We have not shown that it makes agents faster or more accurate.
|
|
119
|
+
|
|
120
|
+
## Quickstart
|
|
121
|
+
|
|
122
|
+
You need Python 3.12 or later and Git.
|
|
123
|
+
|
|
124
|
+
```sh
|
|
125
|
+
uv tool install attocode-code-intel
|
|
126
|
+
cd /path/to/your/project
|
|
127
|
+
attocode-code-intel init
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
Then restart your agent. `init` configures Codex, Claude Code and Cursor. Use `--client claude`, `--client codex` or `--client cursor` for one client. Codex needs a trusted project for a project configuration. Claude Code can ask you to enable the project MCP server.
|
|
131
|
+
|
|
132
|
+
To check the setup, run `attocode-code-intel doctor`. It starts the configured server, calls two tools and shows the result for each client.
|
|
133
|
+
|
|
134
|
+
For other clients (VS Code, Zed, Windsurf, Claude Desktop and more), run `attocode-code-intel install <target>`. `attocode-code-intel commands` lists the targets.
|
|
135
|
+
|
|
136
|
+
To use the latest source, install from a clone of this repository: `uv tool install /path/to/attocode/packages/code-intel`.
|
|
137
|
+
|
|
138
|
+
## What your agent gets
|
|
139
|
+
|
|
140
|
+
Version 0.1.7 also provides `changes` and `trace` commands: investigate a diff,
|
|
141
|
+
follow source-backed caller paths, export JSON/Markdown, and check or refresh saved
|
|
142
|
+
evidence. MCP equivalents `change_context` and `trace_flow` are local full-profile
|
|
143
|
+
tools. Version 0.1.8 adds exact file/symbol selection and bounded changed-class
|
|
144
|
+
summaries, with `--class-mode expand` for class-wide callers. See the [change investigation guide](https://github.com/eren23/attocode/blob/main/docs/guides/change-investigation.md).
|
|
145
|
+
|
|
146
|
+
The agent sees 16 tools (the `daily` profile):
|
|
147
|
+
|
|
148
|
+
| Use | Tools |
|
|
149
|
+
|---|---|
|
|
150
|
+
| Find code | `semantic_search`, `fast_search`, `search_symbols`, `bootstrap`, `relevant_context` |
|
|
151
|
+
| Read a symbol | `inspect_symbol`, `symbols`, `cross_references`, `call_graph` |
|
|
152
|
+
| See structure | `dependencies`, `explore_codebase`, `project_summary` |
|
|
153
|
+
| Plan a change | `impact_analysis`, `suggest_tests`, `review_change` |
|
|
154
|
+
| Check the server | `capabilities` |
|
|
155
|
+
|
|
156
|
+
- When the agent knows a symbol, `inspect_symbol(symbol_name="...", task_hint="...")` gives the definition, the source, the references and candidate tests in one call.
|
|
157
|
+
- In an unfamiliar repository, `bootstrap(task_hint="...")` finds the relevant code and gives a map.
|
|
158
|
+
- `impact_analysis` and `suggest_tests` help plan the checks for a change.
|
|
159
|
+
|
|
160
|
+
For all tools (about 140: rules, security scans, history, snapshots and more), add `--profile full` to `init`. The [tool catalog](https://github.com/eren23/attocode/blob/main/docs/intelligence-tools.md) lists them. The [search details](https://github.com/eren23/attocode/blob/main/docs/intelligence-search.md) page describes ranking, the response format and the experimental rerankers.
|
|
161
|
+
|
|
162
|
+
For an experimental local seven-tool surface (0.1.5 or later), use
|
|
163
|
+
`init --profile lean` and restart your client. It advertises `bootstrap`,
|
|
164
|
+
`search_symbols`, `inspect_symbol`, `semantic_search`, `impact_analysis`,
|
|
165
|
+
`suggest_tests` and `capabilities`, with conditional routing instructions
|
|
166
|
+
and 2,000-token responses. Without file watching, `notify_file_changed`
|
|
167
|
+
is an eighth tool. Advanced tools require a full-profile session.
|
|
168
|
+
This opt-in profile has no demonstrated completion benefit; see the
|
|
169
|
+
[completed pilot](https://github.com/eren23/attocode/blob/main/packages/code-intel/evals/results/2026-10-14-r7-completion-pilot.md).
|
|
170
|
+
|
|
171
|
+
## Commands for people
|
|
172
|
+
|
|
173
|
+
Run these in your project:
|
|
174
|
+
|
|
175
|
+
```sh
|
|
176
|
+
attocode-code-intel query "parse config" # search the code with its own words
|
|
177
|
+
attocode-code-intel symbols src/app.py # the symbols of a file
|
|
178
|
+
attocode-code-intel symbols --search greet # find a symbol by name
|
|
179
|
+
attocode-code-intel impact src/app.py # the files that a change can affect
|
|
180
|
+
attocode-code-intel deps src/app.py # what a file imports, and what imports it
|
|
181
|
+
attocode-code-intel hotspots # the files with the most risk or complexity
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
Search matches the words of the code and its paths. It does not use embeddings unless you install the `semantic` extra.
|
|
185
|
+
|
|
186
|
+
## What we measured
|
|
187
|
+
|
|
188
|
+
- **Search.** We ran the 560 issues of Loc-Bench V1, with the full issue as the query. For 53.2% of them, the first five files held all files of the fix (file Acc@5 0.532). On a mix of 10 public benchmarks, file Acc@5 was 0.425. See the [first-stage results](https://github.com/eren23/attocode/blob/main/packages/code-intel/evals/results/2026-10-09-locbench-560-first-stage.md) and the [matrix results](https://github.com/eren23/attocode/blob/main/packages/code-intel/evals/results/2026-10-10-matrix-r1.md).
|
|
189
|
+
- **Agents.** In four studies, Claude Code (Sonnet 5.5) named the files to edit for an issue. The server did not raise file Acc@5. Each run with the server cost 1.4 to 2.1 times as much. When the agent could choose, it seldom called the server. See the [agent pilot](https://github.com/eren23/attocode/blob/main/packages/code-intel/evals/results/2026-10-10-agent-pilot.md) and [study R3](https://github.com/eren23/attocode/blob/main/packages/code-intel/evals/results/2026-10-10-agent-r3.md).
|
|
190
|
+
|
|
191
|
+
The [R6 review study](https://github.com/eren23/attocode/blob/main/packages/code-intel/evals/results/2026-10-13-r6-review-test-note.md)
|
|
192
|
+
found no demonstrated review benefit. The [completed R7 repair pilot](https://github.com/eren23/attocode/blob/main/packages/code-intel/evals/results/2026-10-14-r7-completion-pilot.md)
|
|
193
|
+
also found no demonstrated benefit; its reviewed decision is to stop expansion.
|
|
194
|
+
|
|
195
|
+
## Limits and troubleshooting
|
|
196
|
+
|
|
197
|
+
- **First search.** The first tool call starts the index build. A search waits up to 15 seconds for the index. On a large repository, a search can report that the index is warming. Then search again. An empty result during warm-up does not prove that the code is absent.
|
|
198
|
+
- **Index location.** The index is in `.attocode/` in your project. When the server makes that folder, it adds a `.gitignore`, so the index stays out of commits.
|
|
199
|
+
- **What the index reads.** The server reads at most 50,000 files and skips files over 1 MB. It skips files that `.gitignore` ignores, and folders that start with a dot. It also skips folders named `dist`, `build`, `out`, `output`, `target`, `env`, `tmp`, `vendor` or `coverage`, and binary, media and lock files. If a build-named folder contains real source, explicitly re-include it with a root `.gitignore` entry such as `!dist/`; discovery and edit refresh honor that override.
|
|
200
|
+
- **Languages.** The base install parses Bash, C, C#, C++, CSS, Elixir, Go, HCL, HTML, Java, JavaScript, JSON, Kotlin, Lua, PHP, Python, Ruby, Rust, Scala, Swift, TOML, TypeScript, YAML and Zig. Optional grammars are loaded only when already installed or cached; installing the `tree-sitter-all` extra does not trigger grammar downloads during navigation. A slow grammar falls back after a 100 ms parse budget. Static imports and references are partial evidence, not compiler/type resolution.
|
|
201
|
+
- **Test paths.** Search and test suggestions recognize conventional test folders and filenames, plus supported Kotlin/Android source sets directly under `src` (for example `commonTest`, `jvmTest`, `androidHostTest` and `androidDeviceTest`). Helpers in those sets count as test code even without a test filename. Custom target or flavor names are not inferred from a `Test` suffix alone. Short queries explicitly asking for tests put recognized test files first, preserving order within each group; longer issue descriptions keep source-first behavior. Suggestions can include helpers; verify the actual runnable tests.
|
|
202
|
+
- **Remove the setup.** Run `attocode-code-intel init --remove`. It restores an entry that existed before `init`.
|
|
203
|
+
- **Server does not answer.** Run `attocode-code-intel doctor`. If a client shows "not configured", run `init` for it. After a change, restart the agent. In Claude Code, `/mcp` shows the server state.
|
|
204
|
+
- **HTTP server.** `attocode-code-intel --transport http` needs the `http` extra. It serves only this computer unless you set `ATTOCODE_API_KEY`.
|
|
205
|
+
|
|
206
|
+
For one installation for all repositories, use `init --global`. A global server works on the repository of its working directory, or on the `workspace` that a tool call names.
|
|
207
|
+
|
|
208
|
+
## Teams and remote agents
|
|
209
|
+
|
|
210
|
+
[Self-hosting and migration](https://github.com/eren23/attocode/blob/main/docs/intelligence.md) covers PostgreSQL, Redis, workers, authentication, and the dashboard. The service serves native Streamable HTTP MCP at `/mcp/`. The dashboard provides connection snippets and knowledge editing.
|
|
211
|
+
|
|
212
|
+
```sh
|
|
213
|
+
attocode-code-intel init --client all --server https://intel.example.com --repo REPOSITORY_UUID
|
|
214
|
+
attocode-code-intel doctor --client codex --remote
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
Set `ATTOCODE_API_KEY` in the agent's environment. Use `intelligence:read` for analysis and add `intelligence:write` for knowledge changes. Every repository operation checks membership and scope before using cached analysis. Results identify repository, source, commit, index coverage, and truncation. PostgreSQL stores shared knowledge with authorship, revision, and file anchors.
|
|
218
|
+
|
|
219
|
+
Local and remote entries coexist. Remote calls analyze committed branches or explicit revisions. Local edits remain local. To copy a particular learning to your team, review and run an explicit share:
|
|
220
|
+
|
|
221
|
+
```sh
|
|
222
|
+
attocode-code-intel share --project . --learning 12 --server https://intel.example.com --repo REPOSITORY_UUID --dry-run
|
|
223
|
+
attocode-code-intel share --project . --learning 12 --server https://intel.example.com --repo REPOSITORY_UUID
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
`cross_repo_search` searches explicitly selected authorized repositories and retains provenance on each result.
|
|
227
|
+
|
|
228
|
+
## Development
|
|
229
|
+
|
|
230
|
+
The package is in `packages/code-intel` of the [attocode repository](https://github.com/eren23/attocode).
|
|
231
|
+
|
|
232
|
+
```sh
|
|
233
|
+
uv sync --extra dev --extra code-intel
|
|
234
|
+
uv run pytest -c packages/code-intel/pyproject.toml --confcutdir=packages/code-intel/tests packages/code-intel/tests
|
|
235
|
+
uv build --package attocode-code-intel
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
For routine work, use `.venv/bin/python -m eval.quality quick` (two minutes)
|
|
239
|
+
or `local` (ten minutes). They isolate scratch and caches in a monitored 5 GiB
|
|
240
|
+
workspace and report incomplete runs separately from passes. The
|
|
241
|
+
[quality guide](https://github.com/eren23/attocode/blob/main/docs/intelligence-quality.md) covers pinned multi-language
|
|
242
|
+
workflow checks, storage inventory, cleanup and optional CPU cloud batches.
|
|
243
|
+
|
|
244
|
+
Releases use `intel-v*` tags ([release guide](https://github.com/eren23/attocode/blob/main/docs/intelligence-release.md)).
|
|
245
|
+
|
|
246
|
+
[Product and operations guide](https://github.com/eren23/attocode/blob/main/docs/intelligence.md) · [Tool catalog](https://github.com/eren23/attocode/blob/main/docs/intelligence-tools.md) · [Search details](https://github.com/eren23/attocode/blob/main/docs/intelligence-search.md) · [Changelog](https://github.com/eren23/attocode/blob/main/CHANGELOG.md) · [MIT license](https://github.com/eren23/attocode/blob/main/packages/code-intel/LICENSE)
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# attocode-code-intel
|
|
2
|
+
|
|
3
|
+
Local code search and navigation for coding agents and for people. It runs as an MCP server for Codex, Claude Code, Cursor and other MCP clients, and as a command in your terminal. It needs no model, no API key and no network.
|
|
4
|
+
|
|
5
|
+
**Status: beta.** We measured the search quality (see [What we measured](#what-we-measured)). We have not shown that it makes agents faster or more accurate.
|
|
6
|
+
|
|
7
|
+
## Quickstart
|
|
8
|
+
|
|
9
|
+
You need Python 3.12 or later and Git.
|
|
10
|
+
|
|
11
|
+
```sh
|
|
12
|
+
uv tool install attocode-code-intel
|
|
13
|
+
cd /path/to/your/project
|
|
14
|
+
attocode-code-intel init
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Then restart your agent. `init` configures Codex, Claude Code and Cursor. Use `--client claude`, `--client codex` or `--client cursor` for one client. Codex needs a trusted project for a project configuration. Claude Code can ask you to enable the project MCP server.
|
|
18
|
+
|
|
19
|
+
To check the setup, run `attocode-code-intel doctor`. It starts the configured server, calls two tools and shows the result for each client.
|
|
20
|
+
|
|
21
|
+
For other clients (VS Code, Zed, Windsurf, Claude Desktop and more), run `attocode-code-intel install <target>`. `attocode-code-intel commands` lists the targets.
|
|
22
|
+
|
|
23
|
+
To use the latest source, install from a clone of this repository: `uv tool install /path/to/attocode/packages/code-intel`.
|
|
24
|
+
|
|
25
|
+
## What your agent gets
|
|
26
|
+
|
|
27
|
+
Version 0.1.7 also provides `changes` and `trace` commands: investigate a diff,
|
|
28
|
+
follow source-backed caller paths, export JSON/Markdown, and check or refresh saved
|
|
29
|
+
evidence. MCP equivalents `change_context` and `trace_flow` are local full-profile
|
|
30
|
+
tools. Version 0.1.8 adds exact file/symbol selection and bounded changed-class
|
|
31
|
+
summaries, with `--class-mode expand` for class-wide callers. See the [change investigation guide](https://github.com/eren23/attocode/blob/main/docs/guides/change-investigation.md).
|
|
32
|
+
|
|
33
|
+
The agent sees 16 tools (the `daily` profile):
|
|
34
|
+
|
|
35
|
+
| Use | Tools |
|
|
36
|
+
|---|---|
|
|
37
|
+
| Find code | `semantic_search`, `fast_search`, `search_symbols`, `bootstrap`, `relevant_context` |
|
|
38
|
+
| Read a symbol | `inspect_symbol`, `symbols`, `cross_references`, `call_graph` |
|
|
39
|
+
| See structure | `dependencies`, `explore_codebase`, `project_summary` |
|
|
40
|
+
| Plan a change | `impact_analysis`, `suggest_tests`, `review_change` |
|
|
41
|
+
| Check the server | `capabilities` |
|
|
42
|
+
|
|
43
|
+
- When the agent knows a symbol, `inspect_symbol(symbol_name="...", task_hint="...")` gives the definition, the source, the references and candidate tests in one call.
|
|
44
|
+
- In an unfamiliar repository, `bootstrap(task_hint="...")` finds the relevant code and gives a map.
|
|
45
|
+
- `impact_analysis` and `suggest_tests` help plan the checks for a change.
|
|
46
|
+
|
|
47
|
+
For all tools (about 140: rules, security scans, history, snapshots and more), add `--profile full` to `init`. The [tool catalog](https://github.com/eren23/attocode/blob/main/docs/intelligence-tools.md) lists them. The [search details](https://github.com/eren23/attocode/blob/main/docs/intelligence-search.md) page describes ranking, the response format and the experimental rerankers.
|
|
48
|
+
|
|
49
|
+
For an experimental local seven-tool surface (0.1.5 or later), use
|
|
50
|
+
`init --profile lean` and restart your client. It advertises `bootstrap`,
|
|
51
|
+
`search_symbols`, `inspect_symbol`, `semantic_search`, `impact_analysis`,
|
|
52
|
+
`suggest_tests` and `capabilities`, with conditional routing instructions
|
|
53
|
+
and 2,000-token responses. Without file watching, `notify_file_changed`
|
|
54
|
+
is an eighth tool. Advanced tools require a full-profile session.
|
|
55
|
+
This opt-in profile has no demonstrated completion benefit; see the
|
|
56
|
+
[completed pilot](https://github.com/eren23/attocode/blob/main/packages/code-intel/evals/results/2026-10-14-r7-completion-pilot.md).
|
|
57
|
+
|
|
58
|
+
## Commands for people
|
|
59
|
+
|
|
60
|
+
Run these in your project:
|
|
61
|
+
|
|
62
|
+
```sh
|
|
63
|
+
attocode-code-intel query "parse config" # search the code with its own words
|
|
64
|
+
attocode-code-intel symbols src/app.py # the symbols of a file
|
|
65
|
+
attocode-code-intel symbols --search greet # find a symbol by name
|
|
66
|
+
attocode-code-intel impact src/app.py # the files that a change can affect
|
|
67
|
+
attocode-code-intel deps src/app.py # what a file imports, and what imports it
|
|
68
|
+
attocode-code-intel hotspots # the files with the most risk or complexity
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Search matches the words of the code and its paths. It does not use embeddings unless you install the `semantic` extra.
|
|
72
|
+
|
|
73
|
+
## What we measured
|
|
74
|
+
|
|
75
|
+
- **Search.** We ran the 560 issues of Loc-Bench V1, with the full issue as the query. For 53.2% of them, the first five files held all files of the fix (file Acc@5 0.532). On a mix of 10 public benchmarks, file Acc@5 was 0.425. See the [first-stage results](https://github.com/eren23/attocode/blob/main/packages/code-intel/evals/results/2026-10-09-locbench-560-first-stage.md) and the [matrix results](https://github.com/eren23/attocode/blob/main/packages/code-intel/evals/results/2026-10-10-matrix-r1.md).
|
|
76
|
+
- **Agents.** In four studies, Claude Code (Sonnet 5.5) named the files to edit for an issue. The server did not raise file Acc@5. Each run with the server cost 1.4 to 2.1 times as much. When the agent could choose, it seldom called the server. See the [agent pilot](https://github.com/eren23/attocode/blob/main/packages/code-intel/evals/results/2026-10-10-agent-pilot.md) and [study R3](https://github.com/eren23/attocode/blob/main/packages/code-intel/evals/results/2026-10-10-agent-r3.md).
|
|
77
|
+
|
|
78
|
+
The [R6 review study](https://github.com/eren23/attocode/blob/main/packages/code-intel/evals/results/2026-10-13-r6-review-test-note.md)
|
|
79
|
+
found no demonstrated review benefit. The [completed R7 repair pilot](https://github.com/eren23/attocode/blob/main/packages/code-intel/evals/results/2026-10-14-r7-completion-pilot.md)
|
|
80
|
+
also found no demonstrated benefit; its reviewed decision is to stop expansion.
|
|
81
|
+
|
|
82
|
+
## Limits and troubleshooting
|
|
83
|
+
|
|
84
|
+
- **First search.** The first tool call starts the index build. A search waits up to 15 seconds for the index. On a large repository, a search can report that the index is warming. Then search again. An empty result during warm-up does not prove that the code is absent.
|
|
85
|
+
- **Index location.** The index is in `.attocode/` in your project. When the server makes that folder, it adds a `.gitignore`, so the index stays out of commits.
|
|
86
|
+
- **What the index reads.** The server reads at most 50,000 files and skips files over 1 MB. It skips files that `.gitignore` ignores, and folders that start with a dot. It also skips folders named `dist`, `build`, `out`, `output`, `target`, `env`, `tmp`, `vendor` or `coverage`, and binary, media and lock files. If a build-named folder contains real source, explicitly re-include it with a root `.gitignore` entry such as `!dist/`; discovery and edit refresh honor that override.
|
|
87
|
+
- **Languages.** The base install parses Bash, C, C#, C++, CSS, Elixir, Go, HCL, HTML, Java, JavaScript, JSON, Kotlin, Lua, PHP, Python, Ruby, Rust, Scala, Swift, TOML, TypeScript, YAML and Zig. Optional grammars are loaded only when already installed or cached; installing the `tree-sitter-all` extra does not trigger grammar downloads during navigation. A slow grammar falls back after a 100 ms parse budget. Static imports and references are partial evidence, not compiler/type resolution.
|
|
88
|
+
- **Test paths.** Search and test suggestions recognize conventional test folders and filenames, plus supported Kotlin/Android source sets directly under `src` (for example `commonTest`, `jvmTest`, `androidHostTest` and `androidDeviceTest`). Helpers in those sets count as test code even without a test filename. Custom target or flavor names are not inferred from a `Test` suffix alone. Short queries explicitly asking for tests put recognized test files first, preserving order within each group; longer issue descriptions keep source-first behavior. Suggestions can include helpers; verify the actual runnable tests.
|
|
89
|
+
- **Remove the setup.** Run `attocode-code-intel init --remove`. It restores an entry that existed before `init`.
|
|
90
|
+
- **Server does not answer.** Run `attocode-code-intel doctor`. If a client shows "not configured", run `init` for it. After a change, restart the agent. In Claude Code, `/mcp` shows the server state.
|
|
91
|
+
- **HTTP server.** `attocode-code-intel --transport http` needs the `http` extra. It serves only this computer unless you set `ATTOCODE_API_KEY`.
|
|
92
|
+
|
|
93
|
+
For one installation for all repositories, use `init --global`. A global server works on the repository of its working directory, or on the `workspace` that a tool call names.
|
|
94
|
+
|
|
95
|
+
## Teams and remote agents
|
|
96
|
+
|
|
97
|
+
[Self-hosting and migration](https://github.com/eren23/attocode/blob/main/docs/intelligence.md) covers PostgreSQL, Redis, workers, authentication, and the dashboard. The service serves native Streamable HTTP MCP at `/mcp/`. The dashboard provides connection snippets and knowledge editing.
|
|
98
|
+
|
|
99
|
+
```sh
|
|
100
|
+
attocode-code-intel init --client all --server https://intel.example.com --repo REPOSITORY_UUID
|
|
101
|
+
attocode-code-intel doctor --client codex --remote
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Set `ATTOCODE_API_KEY` in the agent's environment. Use `intelligence:read` for analysis and add `intelligence:write` for knowledge changes. Every repository operation checks membership and scope before using cached analysis. Results identify repository, source, commit, index coverage, and truncation. PostgreSQL stores shared knowledge with authorship, revision, and file anchors.
|
|
105
|
+
|
|
106
|
+
Local and remote entries coexist. Remote calls analyze committed branches or explicit revisions. Local edits remain local. To copy a particular learning to your team, review and run an explicit share:
|
|
107
|
+
|
|
108
|
+
```sh
|
|
109
|
+
attocode-code-intel share --project . --learning 12 --server https://intel.example.com --repo REPOSITORY_UUID --dry-run
|
|
110
|
+
attocode-code-intel share --project . --learning 12 --server https://intel.example.com --repo REPOSITORY_UUID
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
`cross_repo_search` searches explicitly selected authorized repositories and retains provenance on each result.
|
|
114
|
+
|
|
115
|
+
## Development
|
|
116
|
+
|
|
117
|
+
The package is in `packages/code-intel` of the [attocode repository](https://github.com/eren23/attocode).
|
|
118
|
+
|
|
119
|
+
```sh
|
|
120
|
+
uv sync --extra dev --extra code-intel
|
|
121
|
+
uv run pytest -c packages/code-intel/pyproject.toml --confcutdir=packages/code-intel/tests packages/code-intel/tests
|
|
122
|
+
uv build --package attocode-code-intel
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
For routine work, use `.venv/bin/python -m eval.quality quick` (two minutes)
|
|
126
|
+
or `local` (ten minutes). They isolate scratch and caches in a monitored 5 GiB
|
|
127
|
+
workspace and report incomplete runs separately from passes. The
|
|
128
|
+
[quality guide](https://github.com/eren23/attocode/blob/main/docs/intelligence-quality.md) covers pinned multi-language
|
|
129
|
+
workflow checks, storage inventory, cleanup and optional CPU cloud batches.
|
|
130
|
+
|
|
131
|
+
Releases use `intel-v*` tags ([release guide](https://github.com/eren23/attocode/blob/main/docs/intelligence-release.md)).
|
|
132
|
+
|
|
133
|
+
[Product and operations guide](https://github.com/eren23/attocode/blob/main/docs/intelligence.md) · [Tool catalog](https://github.com/eren23/attocode/blob/main/docs/intelligence-tools.md) · [Search details](https://github.com/eren23/attocode/blob/main/docs/intelligence-search.md) · [Changelog](https://github.com/eren23/attocode/blob/main/CHANGELOG.md) · [MIT license](https://github.com/eren23/attocode/blob/main/packages/code-intel/LICENSE)
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Body-file fusion follow-up
|
|
2
|
+
|
|
3
|
+
The preceding 48 questions are consumed development evidence. Three of their
|
|
4
|
+
four top-24 misses had labeled files in retained keyword/body pools, including
|
|
5
|
+
one body-rank-two file displaced to final rank 32. This motivates a file-level
|
|
6
|
+
fusion trial; it does not justify promoting a known answer directly.
|
|
7
|
+
|
|
8
|
+
Before scoring, fix exactly one candidate: unique-file RRF over the saved
|
|
9
|
+
expanded-query keyword and body lists, keyword weight 1, body weight 2, k=60.
|
|
10
|
+
Break score ties by path, retain existing original-query test-intent demotion,
|
|
11
|
+
and return at most 24 files. No new retrieval or source access in this stage.
|
|
12
|
+
This differs from the earlier 1:1.15 file-fusion trial; it remains a hypothesis,
|
|
13
|
+
not a product policy. No weight sweep or post-result alternative candidate.
|
|
14
|
+
|
|
15
|
+
Development gate, all 48 consumed questions: at least four net additional
|
|
16
|
+
labeled Hit@5, gains in at least two repositories, at most two individual Hit@5
|
|
17
|
+
losses, no individual Hit@24 loss, and no mean labeled Recall@5 decrease.
|
|
18
|
+
If any condition fails, stop this candidate and leave product ranking unchanged.
|
|
19
|
+
Do not spend fresh validation questions on a failed development candidate.
|
|
20
|
+
|
|
21
|
+
If it passes, freeze 24 new source-backed questions before retrieval at the same
|
|
22
|
+
six pinned repositories (four per repository, distinct from all consumed
|
|
23
|
+
behavior families). Use the existing intent/cross-file/configuration/ambiguous
|
|
24
|
+
categories and record non-exhaustive labels plus source hashes. Freeze the
|
|
25
|
+
candidate/manifest identity, then evaluate once: at least three net Hit@5 gains
|
|
26
|
+
across two repositories, at most one individual Hit@5 loss, zero Hit@24 losses,
|
|
27
|
+
no mean labeled Recall@5 decrease, p95 <= max(1.5 baseline, 50ms). All required.
|
|
28
|
+
Any passing product option must remain default off. A failed or incomplete gate
|
|
29
|
+
cannot enable it. Source packs must remain local-only, at most two/invocation,
|
|
30
|
+
64 MiB source each, 180 seconds, 512 MiB managed disk and 1.5 GiB RSS; clean up.
|
|
31
|
+
|
|
32
|
+
No model requests, cloud rentals, release or default ranking changes in this
|
|
33
|
+
follow-up. Initial Rust diagnostics and the bounded Cockroach component profile
|
|
34
|
+
are separate from ranking evidence.
|