sourcecode 1.30.5__tar.gz → 1.30.7__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.
- sourcecode-1.30.7/.continue-here.md +173 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/PKG-INFO +3 -3
- {sourcecode-1.30.5 → sourcecode-1.30.7}/README.md +2 -2
- {sourcecode-1.30.5 → sourcecode-1.30.7}/pyproject.toml +1 -1
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/__init__.py +1 -1
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/cli.py +12 -1
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/prepare_context.py +309 -95
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_v1_10_regressions.py +10 -7
- sourcecode-1.30.5/.continue-here.md +0 -163
- {sourcecode-1.30.5 → sourcecode-1.30.7}/.agents/skills/source-command-gsd-join-discord/SKILL.md +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/.agents/skills/source-command-gsd-review-backlog/SKILL.md +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/.agents/skills/source-command-gsd-workstreams/SKILL.md +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/.github/workflows/build-windows.yml +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/.gitignore +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/.ruff.toml +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/CONTRIBUTING.md +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/LICENSE +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/SECURITY.md +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/docs/privacy.md +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/docs/schema.md +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/raw +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/run_cli.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/adaptive_scanner.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/architecture_analyzer.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/architecture_summary.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/ast_extractor.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/classifier.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/code_notes_analyzer.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/confidence_analyzer.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/context_scorer.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/context_summarizer.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/contract_model.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/contract_pipeline.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/coverage_parser.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/dependency_analyzer.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/__init__.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/base.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/csproj_parser.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/dart.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/dotnet.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/elixir.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/go.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/heuristic.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/hybrid.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/java.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/jvm_ext.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/nodejs.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/parsers.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/php.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/project.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/python.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/ruby.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/rust.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/systems.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/terraform.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/tooling.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/doc_analyzer.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/entrypoint_classifier.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/env_analyzer.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/file_classifier.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/flow_analyzer.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/git_analyzer.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/graph_analyzer.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/metrics_analyzer.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/progress.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/ranking_engine.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/redactor.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/relevance_scorer.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/repo_classifier.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/runtime_classifier.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/scanner.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/schema.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/semantic_analyzer.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/serializer.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/summarizer.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/telemetry/__init__.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/telemetry/config.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/telemetry/consent.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/telemetry/events.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/telemetry/filters.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/telemetry/transport.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/tree_utils.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/workspace.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/__init__.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/conftest.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/coverage.xml +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/fastapi_app/pyproject.toml +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/fastapi_app/src/main.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/go_service/cmd/api/main.go +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/go_service/go.mod +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/jacoco.xml +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/latin1_sample.java +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/latin1_sample_iso.java +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/lcov.info +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/nextjs_app/app/page.tsx +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/nextjs_app/package.json +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/nextjs_app/pnpm-lock.yaml +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/pnpm_monorepo/apps/web/app/page.tsx +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/pnpm_monorepo/apps/web/package.json +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/pnpm_monorepo/packages/api/main.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/pnpm_monorepo/packages/api/pyproject.toml +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/pnpm_monorepo/pnpm-workspace.yaml +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/pom.xml +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/ausente/application/service/FindAusenteService.java +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/ausente/domain/entities/Ausente.java +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/ausente/infrastructure/rest/AusenteRestController.java +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/autocoberturas/application/service/FindAutocoberturasService.java +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/autocoberturas/domain/entities/Autocoberturas.java +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/autocoberturas/infrastructure/rest/AutocoberturasRestController.java +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/calendarioTrabajador/application/service/FindCalendarioTrabajadorService.java +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/calendarioTrabajador/domain/entities/CalendarioTrabajador.java +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/calendarioTrabajador/infrastructure/rest/CalendarioTrabajadorRestController.java +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/departamento/application/service/FindDepartamentoService.java +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/departamento/domain/entities/Departamento.java +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/departamento/infrastructure/rest/DepartamentoRestController.java +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/empleado/application/service/FindEmpleadoService.java +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/empleado/domain/entities/Empleado.java +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/empleado/infrastructure/rest/EmpleadoRestController.java +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/DemoApplication.java +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/config/FilterConfig.java +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/domain/Health.java +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/mapper/HealthMapper.java +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/repository/HealthRepository.java +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/service/HealthService.java +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/web/HealthRestController.java +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/web/NominaRestController.java +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/resources/application-dev.yml +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/resources/application.yml +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/resources/mapper/HealthMapper.xml +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_architecture_analyzer.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_architecture_summary.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_ast_extractor.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_block1_reliability.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_block2_coverage.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_block5_quality.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_bug_fixes_v16.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_classifier.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_cli.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_code_notes_analyzer.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_context_scorer.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_contract_pipeline.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_coverage_parser.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_cross_consistency.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_dependency_analyzer_node_python.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_dependency_analyzer_polyglot.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_dependency_schema.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_detector_dotnet.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_detector_go_rust_java.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_detector_nodejs.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_detector_php_ruby_dart.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_detector_python.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_detector_universal_managed.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_detector_universal_systems.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_detectors_base.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_doc_analyzer_jsdom.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_doc_analyzer_python.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_encoding_regression.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_graph_analyzer_polyglot.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_graph_analyzer_python_node.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_graph_schema.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_hybrid_inference.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_integration.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_integration_dependencies.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_integration_detection.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_integration_docs.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_integration_graph_modules.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_integration_lqn.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_integration_metrics.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_integration_multistack.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_integration_semantics.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_integration_universal.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_java_spring_integration.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_metrics_analyzer.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_packaging.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_phase1_improvements.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_pipeline_integrity.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_real_projects.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_redactor.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_scanner.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_schema.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_schema_normalization.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_semantic_analyzer_node.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_semantic_analyzer_python.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_semantic_import_resolution.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_semantic_schema.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_signal_hierarchy.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_summarizer.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_surface_honesty.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_task_differentiation.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_telemetry.py +0 -0
- {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_workspace_analyzer.py +0 -0
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
# Continue Here — atlas-cli sesión 10
|
|
2
|
+
|
|
3
|
+
**Paused:** 2026-05-16 (sesión 10)
|
|
4
|
+
**Repo:** `/Users/user/Downloads/atlas-cli`
|
|
5
|
+
**Branch:** master
|
|
6
|
+
**Último commit:** `f269c64` — (fix)solucionando bug de review-pr en repos masivos
|
|
7
|
+
**Working tree:** CLEAN
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Lo que se hizo esta sesión
|
|
12
|
+
|
|
13
|
+
### Fix 1: Contrato de verdad en `behavioral_impact` (Fase 1 del rediseño)
|
|
14
|
+
|
|
15
|
+
Motivación: output parecía "falsa autoridad" — emitía paths sin indicar nivel de evidencia.
|
|
16
|
+
|
|
17
|
+
**Cambios en `flow_analyzer.py`:**
|
|
18
|
+
|
|
19
|
+
Nuevas helpers:
|
|
20
|
+
- `_classify_evidence_type(clean, class_name)` → `"direct_injection" | "direct_call" | "heuristic_only" | "none"`
|
|
21
|
+
- `_worst_evidence(levels)` → evidencia más débil de la cadena
|
|
22
|
+
- `_compute_confidence(evidence_level, trace_len)` → `"high" | "medium" | "low"`
|
|
23
|
+
- `_build_trace_step(source, target, evidence_type)` → e.g. `"ArticleController injects ArticleFavoriteService"`
|
|
24
|
+
- `_impact_item(statement, support, certainty)` → dict con 3 campos
|
|
25
|
+
|
|
26
|
+
**Nuevo schema de cada entry en `behavioral_impact`:**
|
|
27
|
+
|
|
28
|
+
```json
|
|
29
|
+
{
|
|
30
|
+
"entry_point": "ArticleController.favoriteArticle",
|
|
31
|
+
"affected_path": ["ArticleFavoriteService.favorite", "ArticleFavoriteRepository.save"],
|
|
32
|
+
"impact": [
|
|
33
|
+
{
|
|
34
|
+
"statement": "article favorite persistence affected",
|
|
35
|
+
"support": "ArticleFavoriteRepository is a repository in path",
|
|
36
|
+
"certainty": "medium"
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
"end_state": "DB write",
|
|
40
|
+
"confidence": "high",
|
|
41
|
+
"evidence_level": "direct_injection",
|
|
42
|
+
"trace": [
|
|
43
|
+
"ArticleController injects ArticleFavoriteService",
|
|
44
|
+
"ArticleFavoriteService injects ArticleFavoriteRepository"
|
|
45
|
+
]
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Regla: no trace → no entry. `heuristic_only` → confidence máximo `low`.
|
|
50
|
+
Scope de `impact`: solo persistence + security annotations + `@Transactional`.
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
### Fix 2: Git-first scope resolution para `review-pr`
|
|
55
|
+
|
|
56
|
+
Motivación: `review-pr` colgaba en repos grandes (Broadleaf Commerce) por traversal completo del filesystem antes de conocer el scope.
|
|
57
|
+
|
|
58
|
+
**Nuevo flujo:**
|
|
59
|
+
```
|
|
60
|
+
ANTES: filesystem scan → heuristics → analysis
|
|
61
|
+
AHORA: git diff → scope resolution → targeted loading → analysis
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**Cambios en `prepare_context.py`:**
|
|
65
|
+
|
|
66
|
+
Nuevos métodos en `TaskContextBuilder`:
|
|
67
|
+
- `_resolve_git_root()` → `git rev-parse --show-toplevel`
|
|
68
|
+
- `_get_pr_scope_files(since)` → union de `git diff HEAD~1` + `git diff HEAD` + staged + untracked; filtra paths `../`
|
|
69
|
+
- `_expand_scope_for_analysis(scope_files)` → scope files + siblings en mismos directorios (depth=1)
|
|
70
|
+
|
|
71
|
+
Nuevo Step 0 en `build()` (antes del scanner):
|
|
72
|
+
- Resuelve git root + scope completo
|
|
73
|
+
- Early returns para no-git y ref inválida (sin hacer ningún scan)
|
|
74
|
+
|
|
75
|
+
Step 1 (scanner) — rama git-first:
|
|
76
|
+
- Skip `AdaptiveScanner` completamente → `file_tree = {}`
|
|
77
|
+
- `all_paths = _expand_scope_for_analysis(scope_files)` (bounded context para behavioral_impact)
|
|
78
|
+
|
|
79
|
+
Step 2 (detection) — rama git-first:
|
|
80
|
+
- Skip workspace sub-scans (cada workspace corría su propio `AdaptiveScanner`)
|
|
81
|
+
|
|
82
|
+
Step 5d — simplificado:
|
|
83
|
+
- Ya no re-corre git (scope pre-resuelto en step 0)
|
|
84
|
+
- Solo: `_delta_files = set(_pr_scope_files)`
|
|
85
|
+
|
|
86
|
+
Nuevos campos en `TaskOutput`: `scope_source`, `scope_files`, `repo_root`.
|
|
87
|
+
|
|
88
|
+
Output JSON nuevo bloque:
|
|
89
|
+
```json
|
|
90
|
+
"scope": {
|
|
91
|
+
"source": "git_diff,untracked",
|
|
92
|
+
"files": [...],
|
|
93
|
+
"repo_root": "/path/to/repo"
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
**Tiempo real:** 1.2s (antes: ∞ en Broadleaf).
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Estado de tests
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
777 passed, 3 skipped, 1 deselected
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Commits de esta sesión
|
|
110
|
+
|
|
111
|
+
| Hash | Descripción |
|
|
112
|
+
|------|-------------|
|
|
113
|
+
| `fc861e1` | (fix)incrementando representatividad del análisis de flujo |
|
|
114
|
+
| `f269c64` | (fix)solucionando bug de review-pr en repos masivos |
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## Pendiente
|
|
119
|
+
|
|
120
|
+
1. **Smoke test `behavioral_impact`** en repo real spring-boot:
|
|
121
|
+
```bash
|
|
122
|
+
cd ~/Documents/workspace/spring-boot-realworld-example-app
|
|
123
|
+
sourcecode prepare-context review-pr . 2>/dev/null | python3 -c "
|
|
124
|
+
import json, sys
|
|
125
|
+
d = json.load(sys.stdin)
|
|
126
|
+
for bi in d.get('behavioral_impact', []):
|
|
127
|
+
print('entry:', bi['entry_point'])
|
|
128
|
+
print('confidence:', bi['confidence'])
|
|
129
|
+
print('trace:', bi['trace'])
|
|
130
|
+
print()
|
|
131
|
+
"
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
2. **Smoke test en Broadleaf Commerce** — verificar que no cuelga:
|
|
135
|
+
```bash
|
|
136
|
+
cd ~/Documents/workspace/broadleaf-commerce
|
|
137
|
+
time sourcecode prepare-context review-pr . 2>/dev/null | python3 -c "
|
|
138
|
+
import json, sys
|
|
139
|
+
d = json.load(sys.stdin)
|
|
140
|
+
print('scope_source:', d.get('scope', {}).get('source'))
|
|
141
|
+
print('scope_files:', len(d.get('scope', {}).get('files', [])))
|
|
142
|
+
"
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
3. **Evaluar si `execution_paths` sigue siendo útil** o si `behavioral_impact` lo reemplaza.
|
|
146
|
+
|
|
147
|
+
4. **Fase 2 del rediseño behavioral_impact** — smoke en Broadleaf, medir false positives.
|
|
148
|
+
|
|
149
|
+
5. **Tests unitarios para `_classify_diff_severity`** — sin tests.
|
|
150
|
+
|
|
151
|
+
6. **`User.java` clasificado como `"source"` no `"domain_model"`** — fix opcional.
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## Para retomar
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
cd /Users/user/Downloads/atlas-cli
|
|
159
|
+
git log --oneline -3
|
|
160
|
+
|
|
161
|
+
python3 -m pytest tests/ \
|
|
162
|
+
--ignore=tests/test_block2_coverage.py \
|
|
163
|
+
--ignore=tests/test_packaging.py \
|
|
164
|
+
--deselect=tests/test_dependency_analyzer_node_python.py::test_python_requirements_without_lockfile_keeps_declared_versions \
|
|
165
|
+
-q
|
|
166
|
+
# Expected: 777 passed
|
|
167
|
+
|
|
168
|
+
python3 -m pytest tests/test_v1_10_regressions.py::TestBehavioralImpact tests/test_v1_10_regressions.py::TestReviewPrSuspectedAreas -v
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
*Pausado 2026-05-16 sesión 10 — gsd:pause-work*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sourcecode
|
|
3
|
-
Version: 1.30.
|
|
3
|
+
Version: 1.30.7
|
|
4
4
|
Summary: Deterministic codebase context for AI coding agents
|
|
5
5
|
License: Apache License
|
|
6
6
|
Version 2.0, January 2004
|
|
@@ -221,7 +221,7 @@ Description-Content-Type: text/markdown
|
|
|
221
221
|
|
|
222
222
|
**Deterministic, behavior-aware codebase context for AI agents and PR review.**
|
|
223
223
|
|
|
224
|
-

|
|
225
225
|

|
|
226
226
|
|
|
227
227
|
---
|
|
@@ -257,7 +257,7 @@ pipx install sourcecode
|
|
|
257
257
|
|
|
258
258
|
```bash
|
|
259
259
|
sourcecode version
|
|
260
|
-
# sourcecode 1.30.
|
|
260
|
+
# sourcecode 1.30.7
|
|
261
261
|
```
|
|
262
262
|
|
|
263
263
|
---
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
**Deterministic, behavior-aware codebase context for AI agents and PR review.**
|
|
4
4
|
|
|
5
|
-

|
|
6
6
|

|
|
7
7
|
|
|
8
8
|
---
|
|
@@ -38,7 +38,7 @@ pipx install sourcecode
|
|
|
38
38
|
|
|
39
39
|
```bash
|
|
40
40
|
sourcecode version
|
|
41
|
-
# sourcecode 1.30.
|
|
41
|
+
# sourcecode 1.30.7
|
|
42
42
|
```
|
|
43
43
|
|
|
44
44
|
---
|
|
@@ -1760,7 +1760,7 @@ def prepare_context_cmd(
|
|
|
1760
1760
|
out["architecture_summary"] = output.architecture_summary
|
|
1761
1761
|
if _task_include("confidence"):
|
|
1762
1762
|
out["confidence"] = output.confidence
|
|
1763
|
-
if _task_include("relevant_files"):
|
|
1763
|
+
if task != "review-pr" and _task_include("relevant_files"):
|
|
1764
1764
|
out["relevant_files"] = [
|
|
1765
1765
|
{k: v for k, v in asdict(f).items() if v != ""}
|
|
1766
1766
|
for f in output.relevant_files
|
|
@@ -1862,6 +1862,11 @@ def prepare_context_cmd(
|
|
|
1862
1862
|
out["configuration_impact"] = output.configuration_impact
|
|
1863
1863
|
if output.test_coverage_risk:
|
|
1864
1864
|
out["test_coverage_risk"] = output.test_coverage_risk
|
|
1865
|
+
# honest split: runtime files vs build artifacts — no mixed ranking
|
|
1866
|
+
if output.runtime_changes:
|
|
1867
|
+
out["runtime_changes"] = output.runtime_changes
|
|
1868
|
+
if output.build_changes:
|
|
1869
|
+
out["build_changes"] = output.build_changes
|
|
1865
1870
|
if output.review_hotspots:
|
|
1866
1871
|
out["review_hotspots"] = output.review_hotspots
|
|
1867
1872
|
if output.suggested_review_order:
|
|
@@ -1874,6 +1879,12 @@ def prepare_context_cmd(
|
|
|
1874
1879
|
out["impact_summary"] = output.impact_summary
|
|
1875
1880
|
if output.why_these_files:
|
|
1876
1881
|
out["reasoning"] = output.why_these_files
|
|
1882
|
+
# git-first scope metadata
|
|
1883
|
+
out["scope"] = {
|
|
1884
|
+
"source": output.scope_source or "git_diff",
|
|
1885
|
+
"files": output.scope_files,
|
|
1886
|
+
"repo_root": output.repo_root or "",
|
|
1887
|
+
}
|
|
1877
1888
|
if output.limitations:
|
|
1878
1889
|
out["limitations"] = output.limitations
|
|
1879
1890
|
if output.symptom:
|