sourcecode 1.21.0__tar.gz → 1.22.0__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.22.0/.continue-here.md +173 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/PKG-INFO +3 -3
- {sourcecode-1.21.0 → sourcecode-1.22.0}/README.md +2 -2
- {sourcecode-1.21.0 → sourcecode-1.22.0}/pyproject.toml +1 -1
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/__init__.py +1 -1
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/prepare_context.py +227 -95
- sourcecode-1.21.0/.continue-here.md +0 -178
- {sourcecode-1.21.0 → sourcecode-1.22.0}/.agents/skills/source-command-gsd-join-discord/SKILL.md +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/.agents/skills/source-command-gsd-review-backlog/SKILL.md +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/.agents/skills/source-command-gsd-workstreams/SKILL.md +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/.github/workflows/build-windows.yml +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/.gitignore +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/.ruff.toml +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/CONTRIBUTING.md +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/LICENSE +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/SECURITY.md +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/docs/privacy.md +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/docs/schema.md +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/raw +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/run_cli.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/adaptive_scanner.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/architecture_analyzer.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/architecture_summary.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/ast_extractor.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/classifier.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/cli.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/code_notes_analyzer.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/confidence_analyzer.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/context_scorer.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/context_summarizer.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/contract_model.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/contract_pipeline.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/coverage_parser.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/dependency_analyzer.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/detectors/__init__.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/detectors/base.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/detectors/csproj_parser.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/detectors/dart.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/detectors/dotnet.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/detectors/elixir.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/detectors/go.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/detectors/heuristic.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/detectors/hybrid.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/detectors/java.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/detectors/jvm_ext.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/detectors/nodejs.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/detectors/parsers.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/detectors/php.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/detectors/project.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/detectors/python.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/detectors/ruby.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/detectors/rust.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/detectors/systems.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/detectors/terraform.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/detectors/tooling.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/doc_analyzer.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/entrypoint_classifier.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/env_analyzer.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/file_classifier.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/git_analyzer.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/graph_analyzer.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/metrics_analyzer.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/progress.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/ranking_engine.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/redactor.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/relevance_scorer.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/repo_classifier.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/runtime_classifier.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/scanner.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/schema.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/semantic_analyzer.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/serializer.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/summarizer.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/telemetry/__init__.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/telemetry/config.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/telemetry/consent.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/telemetry/events.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/telemetry/filters.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/telemetry/transport.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/tree_utils.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/src/sourcecode/workspace.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/__init__.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/conftest.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/coverage.xml +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/fastapi_app/pyproject.toml +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/fastapi_app/src/main.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/go_service/cmd/api/main.go +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/go_service/go.mod +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/jacoco.xml +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/latin1_sample.java +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/latin1_sample_iso.java +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/lcov.info +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/nextjs_app/app/page.tsx +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/nextjs_app/package.json +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/nextjs_app/pnpm-lock.yaml +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/pnpm_monorepo/apps/web/app/page.tsx +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/pnpm_monorepo/apps/web/package.json +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/pnpm_monorepo/packages/api/main.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/pnpm_monorepo/packages/api/pyproject.toml +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/pnpm_monorepo/pnpm-workspace.yaml +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/spring_boot_minimal/pom.xml +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/ausente/application/service/FindAusenteService.java +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/ausente/domain/entities/Ausente.java +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/ausente/infrastructure/rest/AusenteRestController.java +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/autocoberturas/application/service/FindAutocoberturasService.java +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/autocoberturas/domain/entities/Autocoberturas.java +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/autocoberturas/infrastructure/rest/AutocoberturasRestController.java +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/calendarioTrabajador/application/service/FindCalendarioTrabajadorService.java +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/calendarioTrabajador/domain/entities/CalendarioTrabajador.java +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/calendarioTrabajador/infrastructure/rest/CalendarioTrabajadorRestController.java +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/departamento/application/service/FindDepartamentoService.java +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/departamento/domain/entities/Departamento.java +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/departamento/infrastructure/rest/DepartamentoRestController.java +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/empleado/application/service/FindEmpleadoService.java +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/empleado/domain/entities/Empleado.java +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/empleado/infrastructure/rest/EmpleadoRestController.java +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/DemoApplication.java +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/config/FilterConfig.java +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/domain/Health.java +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/mapper/HealthMapper.java +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/repository/HealthRepository.java +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/service/HealthService.java +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/web/HealthRestController.java +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/web/NominaRestController.java +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/spring_boot_minimal/src/main/resources/application-dev.yml +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/spring_boot_minimal/src/main/resources/application.yml +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/fixtures/spring_boot_minimal/src/main/resources/mapper/HealthMapper.xml +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_architecture_analyzer.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_architecture_summary.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_ast_extractor.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_block1_reliability.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_block2_coverage.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_block5_quality.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_bug_fixes_v16.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_classifier.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_cli.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_code_notes_analyzer.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_context_scorer.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_contract_pipeline.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_coverage_parser.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_cross_consistency.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_dependency_analyzer_node_python.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_dependency_analyzer_polyglot.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_dependency_schema.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_detector_dotnet.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_detector_go_rust_java.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_detector_nodejs.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_detector_php_ruby_dart.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_detector_python.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_detector_universal_managed.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_detector_universal_systems.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_detectors_base.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_doc_analyzer_jsdom.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_doc_analyzer_python.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_encoding_regression.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_graph_analyzer_polyglot.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_graph_analyzer_python_node.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_graph_schema.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_hybrid_inference.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_integration.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_integration_dependencies.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_integration_detection.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_integration_docs.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_integration_graph_modules.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_integration_lqn.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_integration_metrics.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_integration_multistack.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_integration_semantics.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_integration_universal.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_java_spring_integration.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_metrics_analyzer.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_packaging.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_phase1_improvements.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_pipeline_integrity.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_real_projects.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_redactor.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_scanner.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_schema.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_schema_normalization.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_semantic_analyzer_node.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_semantic_analyzer_python.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_semantic_import_resolution.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_semantic_schema.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_signal_hierarchy.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_summarizer.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_surface_honesty.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_task_differentiation.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_telemetry.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_v1_10_regressions.py +0 -0
- {sourcecode-1.21.0 → sourcecode-1.22.0}/tests/test_workspace_analyzer.py +0 -0
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
# Continue Here — atlas-cli delta engine overhaul
|
|
2
|
+
|
|
3
|
+
**Paused:** 2026-05-13 (sesión 3)
|
|
4
|
+
**Repo:** `/Users/user/Downloads/atlas-cli`
|
|
5
|
+
**Branch:** master
|
|
6
|
+
**Commit:** `8258c4c implementando delta` (committed, pushed to origin/master)
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Estado actual
|
|
11
|
+
|
|
12
|
+
Sesión 3: `prepare-context delta` completamente reimplementado como motor de contexto incremental real. **Todo committed y pusheado.** Working tree limpio (solo este fichero untracked).
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Qué se implementó esta sesión
|
|
17
|
+
|
|
18
|
+
### Motor delta real (`_build_delta_impact`)
|
|
19
|
+
|
|
20
|
+
Reemplaza el uso de `_rank_files` para la tarea `delta`. Nuevo flujo:
|
|
21
|
+
|
|
22
|
+
1. **`_classify_changed_file(path)`** — clasificador estático determinista por ruta/nombre:
|
|
23
|
+
- Tipos: `security`, `api_endpoint`, `business_logic`, `data_access`, `mybatis_mapper`, `spring_config`, `spring_profile`, `configuration`, `build_manifest`, `db_migration`, `domain_model`, `dto`, `test`, `ide_noise`, `unknown_source`, `unknown_config`, `documentation`
|
|
24
|
+
- Impacto: `critical / high / medium / low / noise`
|
|
25
|
+
- Áreas de riesgo: `security`, `api`, `transactions`, `business_logic`, `persistence`, `config`, `dependencies`, `tests`
|
|
26
|
+
- `.idea/`, `.vscode/`, etc. → `ide_noise`, `is_noise=True`
|
|
27
|
+
|
|
28
|
+
2. **`_build_delta_impact(changed_files, all_paths, entry_points, since)`** — análisis de impacto:
|
|
29
|
+
- Changed files siempre incluidos en `relevant_files` (nunca filtrados por score)
|
|
30
|
+
- Expansión a ficheros relacionados: mismo módulo DDD o mismo directorio padre
|
|
31
|
+
- Solo expande a stems de alto impacto (controller, service, repository, mapper, security, config)
|
|
32
|
+
- Límite: 10 ficheros relacionados máximo
|
|
33
|
+
- Returns: `(relevant_files, impact_summary, affected_modules, risk_areas, why, analysis_gaps)`
|
|
34
|
+
|
|
35
|
+
3. **Nuevos campos en `TaskOutput`** (delta only):
|
|
36
|
+
- `impact_summary: str` — resumen textual del impacto global
|
|
37
|
+
- `affected_modules: list[str]` — módulos DDD afectados
|
|
38
|
+
- `risk_areas: list[dict]` — por área con severity y ficheros
|
|
39
|
+
- `since: str` — ref usada
|
|
40
|
+
|
|
41
|
+
4. **Nuevo output delta** (cli.py):
|
|
42
|
+
- `project_summary` suprimido (change-focused, no snapshot)
|
|
43
|
+
- `gaps` habilitado (delta-specific gaps, no ConfidenceAnalyzer gaps)
|
|
44
|
+
- Serializa: `since`, `impact_summary`, `affected_modules`, `risk_areas`, `reasoning`
|
|
45
|
+
|
|
46
|
+
### Bugs corregidos
|
|
47
|
+
|
|
48
|
+
| Bug | Fix |
|
|
49
|
+
|-----|-----|
|
|
50
|
+
| `relevant_files: []` con cambios reales | Changed files usan `_build_delta_impact`, no `_rank_files`. Nunca filtrados por score. |
|
|
51
|
+
| `.idea/vcs.xml` → `relevant_files: []` | Clasificado como `ide_noise`, score=0.1, role="noise". Aparece con mensaje explicativo. |
|
|
52
|
+
| Output idéntico a `--compact` | Delta ya no llama `_rank_files` — lógica completamente separada. |
|
|
53
|
+
| `relevant_files` genérico sin relación al diff | Ahora construye desde changed_files hacia afuera, no desde entrypoints hacia adentro. |
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Ficheros modificados esta sesión
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
src/sourcecode/prepare_context.py +_classify_changed_file, +_build_delta_impact, +TaskOutput fields, build() delta branch
|
|
61
|
+
src/sourcecode/cli.py delta content filter: project_summary=False, gaps=True, new fields serialized
|
|
62
|
+
tests/test_signal_hierarchy.py test_delta_task_returns_valid_json: project_summary not in data, impact_summary in data
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Tests
|
|
68
|
+
|
|
69
|
+
- **743 passed, 3 skipped** — sin regresiones nuevas
|
|
70
|
+
- Fallos pre-existentes (no relacionados):
|
|
71
|
+
- `test_block2_coverage.py::test_java_marked_unsupported`
|
|
72
|
+
- `test_dependency_analyzer_node_python.py::test_python_requirements_without_lockfile`
|
|
73
|
+
- `test_pipeline_integrity.py::TestBenchmarkContamination`
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Smoke tests pendientes (necesitan saint-server)
|
|
78
|
+
|
|
79
|
+
### Smoke delta (nuevo)
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
# Test básico: relevant_files no vacío con cambios reales
|
|
83
|
+
cd saint-server
|
|
84
|
+
git diff --name-only main | head -5 # confirmar hay cambios
|
|
85
|
+
sourcecode prepare-context delta . --since main --output /tmp/delta_test.json
|
|
86
|
+
python3 -c "
|
|
87
|
+
import json; d=json.load(open('/tmp/delta_test.json'))
|
|
88
|
+
assert d['task'] == 'delta'
|
|
89
|
+
assert len(d['relevant_files']) > 0, 'relevant_files is EMPTY — bug not fixed'
|
|
90
|
+
assert 'impact_summary' in d, 'missing impact_summary'
|
|
91
|
+
assert 'affected_modules' in d or 'risk_areas' in d, 'no impact fields'
|
|
92
|
+
assert 'project_summary' not in d, 'project_summary should be suppressed'
|
|
93
|
+
print('delta PASS:', d['impact_summary'])
|
|
94
|
+
print('changed_files:', d.get('changed_files', [])[:3])
|
|
95
|
+
print('affected_modules:', d.get('affected_modules', []))
|
|
96
|
+
"
|
|
97
|
+
|
|
98
|
+
# Test IDE noise: .idea change → baja prioridad
|
|
99
|
+
python3 -c "
|
|
100
|
+
from sourcecode.prepare_context import TaskContextBuilder
|
|
101
|
+
from pathlib import Path
|
|
102
|
+
b = TaskContextBuilder.__new__(TaskContextBuilder)
|
|
103
|
+
b.root = Path('.')
|
|
104
|
+
relevant, impact, modules, risks, why, gaps = b._build_delta_impact(
|
|
105
|
+
changed_files=['.idea/vcs.xml'],
|
|
106
|
+
all_paths=[],
|
|
107
|
+
entry_points=[],
|
|
108
|
+
since='main',
|
|
109
|
+
)
|
|
110
|
+
assert len(relevant) == 1
|
|
111
|
+
assert relevant[0].role == 'noise'
|
|
112
|
+
assert relevant[0].score == 0.1
|
|
113
|
+
assert 'no semantic impact' in impact
|
|
114
|
+
print('IDE noise PASS:', impact)
|
|
115
|
+
"
|
|
116
|
+
|
|
117
|
+
# Test seguridad: cambio en SecurityConfig → impacto critical
|
|
118
|
+
python3 -c "
|
|
119
|
+
from sourcecode.prepare_context import TaskContextBuilder
|
|
120
|
+
b = TaskContextBuilder.__new__(TaskContextBuilder)
|
|
121
|
+
cls = b._classify_changed_file('src/.../security/SecurityConfig.java')
|
|
122
|
+
assert cls['artifact_type'] == 'security'
|
|
123
|
+
assert cls['impact_level'] == 'critical'
|
|
124
|
+
assert 'security' in cls['risk_areas']
|
|
125
|
+
print('security PASS:', cls)
|
|
126
|
+
"
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Smoke tests sesión 2 (pendientes desde antes)
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
# FIX-1: síntoma inyecta ficheros en fix-bug
|
|
133
|
+
sourcecode prepare-context fix-bug saint-server --symptom "ausencias contador" \
|
|
134
|
+
--output /tmp/fix_symptom.json
|
|
135
|
+
|
|
136
|
+
# FIX-2: resource_names resueltos en security_surface
|
|
137
|
+
sourcecode saint-server --compact --output /tmp/sec_test.json
|
|
138
|
+
|
|
139
|
+
# FIX-4: score presente en file_relevance
|
|
140
|
+
sourcecode saint-server --agent --output /tmp/agent_test.json
|
|
141
|
+
|
|
142
|
+
# (ver .continue-here.md sesión 2 para comandos completos de verificación)
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Mejoras opcionales para sesión siguiente
|
|
148
|
+
|
|
149
|
+
1. **`_classify_changed_file` con más patrones**: añadir `cli` (como `cli.py`) → `cli_entrypoint`, `interceptor` → `security`, `aspect` → `cross_cutting`
|
|
150
|
+
2. **`--since` sin argumento**: en vez de default `HEAD~1`, inferir mejor (e.g., base del branch actual vs main)
|
|
151
|
+
3. **Soporte para staged/untracked**: cuando `since` es None, incluir `git status --porcelain` para capturar staged + untracked (no solo `git diff --name-only --relative`)
|
|
152
|
+
4. **Test unitario dedicado** para `_build_delta_impact` y `_classify_changed_file` en `tests/test_task_differentiation.py`
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Para retomar
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
cd /Users/user/Downloads/atlas-cli
|
|
160
|
+
git log --oneline -3 # debe mostrar 8258c4c implementando delta
|
|
161
|
+
python3 -m pytest tests/ \
|
|
162
|
+
--ignore=tests/test_block2_coverage.py \
|
|
163
|
+
--ignore=tests/test_dependency_analyzer_node_python.py \
|
|
164
|
+
--ignore=tests/test_pipeline_integrity.py -q
|
|
165
|
+
# Expected: 743 passed, 3 skipped
|
|
166
|
+
|
|
167
|
+
# Smoke test rápido del delta
|
|
168
|
+
python3 run_cli.py prepare-context delta . --since HEAD~3 | python3 -m json.tool | head -30
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
*Pausado 2026-05-13 sesión 3 — gsd:pause-work*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sourcecode
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.22.0
|
|
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
|
**Compressed AI-ready context for Java/Spring enterprise codebases.**
|
|
223
223
|
|
|
224
|
-

|
|
225
225
|

|
|
226
226
|
|
|
227
227
|
---
|
|
@@ -255,7 +255,7 @@ pipx install sourcecode
|
|
|
255
255
|
|
|
256
256
|
```bash
|
|
257
257
|
sourcecode version
|
|
258
|
-
# sourcecode 1.
|
|
258
|
+
# sourcecode 1.22.0
|
|
259
259
|
```
|
|
260
260
|
|
|
261
261
|
---
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
**Compressed AI-ready context for Java/Spring enterprise codebases.**
|
|
4
4
|
|
|
5
|
-

|
|
6
6
|

|
|
7
7
|
|
|
8
8
|
---
|
|
@@ -36,7 +36,7 @@ pipx install sourcecode
|
|
|
36
36
|
|
|
37
37
|
```bash
|
|
38
38
|
sourcecode version
|
|
39
|
-
# sourcecode 1.
|
|
39
|
+
# sourcecode 1.22.0
|
|
40
40
|
```
|
|
41
41
|
|
|
42
42
|
---
|