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.
Files changed (191) hide show
  1. sourcecode-1.30.7/.continue-here.md +173 -0
  2. {sourcecode-1.30.5 → sourcecode-1.30.7}/PKG-INFO +3 -3
  3. {sourcecode-1.30.5 → sourcecode-1.30.7}/README.md +2 -2
  4. {sourcecode-1.30.5 → sourcecode-1.30.7}/pyproject.toml +1 -1
  5. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/__init__.py +1 -1
  6. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/cli.py +12 -1
  7. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/prepare_context.py +309 -95
  8. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_v1_10_regressions.py +10 -7
  9. sourcecode-1.30.5/.continue-here.md +0 -163
  10. {sourcecode-1.30.5 → sourcecode-1.30.7}/.agents/skills/source-command-gsd-join-discord/SKILL.md +0 -0
  11. {sourcecode-1.30.5 → sourcecode-1.30.7}/.agents/skills/source-command-gsd-review-backlog/SKILL.md +0 -0
  12. {sourcecode-1.30.5 → sourcecode-1.30.7}/.agents/skills/source-command-gsd-workstreams/SKILL.md +0 -0
  13. {sourcecode-1.30.5 → sourcecode-1.30.7}/.github/workflows/build-windows.yml +0 -0
  14. {sourcecode-1.30.5 → sourcecode-1.30.7}/.gitignore +0 -0
  15. {sourcecode-1.30.5 → sourcecode-1.30.7}/.ruff.toml +0 -0
  16. {sourcecode-1.30.5 → sourcecode-1.30.7}/CONTRIBUTING.md +0 -0
  17. {sourcecode-1.30.5 → sourcecode-1.30.7}/LICENSE +0 -0
  18. {sourcecode-1.30.5 → sourcecode-1.30.7}/SECURITY.md +0 -0
  19. {sourcecode-1.30.5 → sourcecode-1.30.7}/docs/privacy.md +0 -0
  20. {sourcecode-1.30.5 → sourcecode-1.30.7}/docs/schema.md +0 -0
  21. {sourcecode-1.30.5 → sourcecode-1.30.7}/raw +0 -0
  22. {sourcecode-1.30.5 → sourcecode-1.30.7}/run_cli.py +0 -0
  23. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/adaptive_scanner.py +0 -0
  24. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/architecture_analyzer.py +0 -0
  25. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/architecture_summary.py +0 -0
  26. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/ast_extractor.py +0 -0
  27. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/classifier.py +0 -0
  28. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/code_notes_analyzer.py +0 -0
  29. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/confidence_analyzer.py +0 -0
  30. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/context_scorer.py +0 -0
  31. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/context_summarizer.py +0 -0
  32. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/contract_model.py +0 -0
  33. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/contract_pipeline.py +0 -0
  34. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/coverage_parser.py +0 -0
  35. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/dependency_analyzer.py +0 -0
  36. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/__init__.py +0 -0
  37. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/base.py +0 -0
  38. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/csproj_parser.py +0 -0
  39. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/dart.py +0 -0
  40. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/dotnet.py +0 -0
  41. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/elixir.py +0 -0
  42. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/go.py +0 -0
  43. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/heuristic.py +0 -0
  44. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/hybrid.py +0 -0
  45. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/java.py +0 -0
  46. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/jvm_ext.py +0 -0
  47. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/nodejs.py +0 -0
  48. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/parsers.py +0 -0
  49. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/php.py +0 -0
  50. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/project.py +0 -0
  51. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/python.py +0 -0
  52. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/ruby.py +0 -0
  53. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/rust.py +0 -0
  54. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/systems.py +0 -0
  55. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/terraform.py +0 -0
  56. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/detectors/tooling.py +0 -0
  57. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/doc_analyzer.py +0 -0
  58. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/entrypoint_classifier.py +0 -0
  59. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/env_analyzer.py +0 -0
  60. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/file_classifier.py +0 -0
  61. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/flow_analyzer.py +0 -0
  62. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/git_analyzer.py +0 -0
  63. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/graph_analyzer.py +0 -0
  64. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/metrics_analyzer.py +0 -0
  65. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/progress.py +0 -0
  66. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/ranking_engine.py +0 -0
  67. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/redactor.py +0 -0
  68. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/relevance_scorer.py +0 -0
  69. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/repo_classifier.py +0 -0
  70. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/runtime_classifier.py +0 -0
  71. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/scanner.py +0 -0
  72. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/schema.py +0 -0
  73. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/semantic_analyzer.py +0 -0
  74. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/serializer.py +0 -0
  75. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/summarizer.py +0 -0
  76. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/telemetry/__init__.py +0 -0
  77. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/telemetry/config.py +0 -0
  78. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/telemetry/consent.py +0 -0
  79. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/telemetry/events.py +0 -0
  80. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/telemetry/filters.py +0 -0
  81. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/telemetry/transport.py +0 -0
  82. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/tree_utils.py +0 -0
  83. {sourcecode-1.30.5 → sourcecode-1.30.7}/src/sourcecode/workspace.py +0 -0
  84. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/__init__.py +0 -0
  85. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/conftest.py +0 -0
  86. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/coverage.xml +0 -0
  87. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/fastapi_app/pyproject.toml +0 -0
  88. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/fastapi_app/src/main.py +0 -0
  89. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/go_service/cmd/api/main.go +0 -0
  90. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/go_service/go.mod +0 -0
  91. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/jacoco.xml +0 -0
  92. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/latin1_sample.java +0 -0
  93. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/latin1_sample_iso.java +0 -0
  94. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/lcov.info +0 -0
  95. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/nextjs_app/app/page.tsx +0 -0
  96. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/nextjs_app/package.json +0 -0
  97. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/nextjs_app/pnpm-lock.yaml +0 -0
  98. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/pnpm_monorepo/apps/web/app/page.tsx +0 -0
  99. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/pnpm_monorepo/apps/web/package.json +0 -0
  100. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/pnpm_monorepo/packages/api/main.py +0 -0
  101. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/pnpm_monorepo/packages/api/pyproject.toml +0 -0
  102. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/pnpm_monorepo/pnpm-workspace.yaml +0 -0
  103. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/pom.xml +0 -0
  104. {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
  105. {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
  106. {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
  107. {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
  108. {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
  109. {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
  110. {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
  111. {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
  112. {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
  113. {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
  114. {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
  115. {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
  116. {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
  117. {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
  118. {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
  119. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/DemoApplication.java +0 -0
  120. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/config/FilterConfig.java +0 -0
  121. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/domain/Health.java +0 -0
  122. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/mapper/HealthMapper.java +0 -0
  123. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/repository/HealthRepository.java +0 -0
  124. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/service/HealthService.java +0 -0
  125. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/web/HealthRestController.java +0 -0
  126. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/web/NominaRestController.java +0 -0
  127. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/resources/application-dev.yml +0 -0
  128. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/resources/application.yml +0 -0
  129. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/fixtures/spring_boot_minimal/src/main/resources/mapper/HealthMapper.xml +0 -0
  130. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_architecture_analyzer.py +0 -0
  131. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_architecture_summary.py +0 -0
  132. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_ast_extractor.py +0 -0
  133. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_block1_reliability.py +0 -0
  134. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_block2_coverage.py +0 -0
  135. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_block5_quality.py +0 -0
  136. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_bug_fixes_v16.py +0 -0
  137. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_classifier.py +0 -0
  138. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_cli.py +0 -0
  139. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_code_notes_analyzer.py +0 -0
  140. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_context_scorer.py +0 -0
  141. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_contract_pipeline.py +0 -0
  142. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_coverage_parser.py +0 -0
  143. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_cross_consistency.py +0 -0
  144. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_dependency_analyzer_node_python.py +0 -0
  145. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_dependency_analyzer_polyglot.py +0 -0
  146. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_dependency_schema.py +0 -0
  147. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_detector_dotnet.py +0 -0
  148. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_detector_go_rust_java.py +0 -0
  149. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_detector_nodejs.py +0 -0
  150. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_detector_php_ruby_dart.py +0 -0
  151. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_detector_python.py +0 -0
  152. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_detector_universal_managed.py +0 -0
  153. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_detector_universal_systems.py +0 -0
  154. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_detectors_base.py +0 -0
  155. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_doc_analyzer_jsdom.py +0 -0
  156. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_doc_analyzer_python.py +0 -0
  157. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_encoding_regression.py +0 -0
  158. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_graph_analyzer_polyglot.py +0 -0
  159. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_graph_analyzer_python_node.py +0 -0
  160. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_graph_schema.py +0 -0
  161. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_hybrid_inference.py +0 -0
  162. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_integration.py +0 -0
  163. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_integration_dependencies.py +0 -0
  164. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_integration_detection.py +0 -0
  165. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_integration_docs.py +0 -0
  166. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_integration_graph_modules.py +0 -0
  167. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_integration_lqn.py +0 -0
  168. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_integration_metrics.py +0 -0
  169. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_integration_multistack.py +0 -0
  170. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_integration_semantics.py +0 -0
  171. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_integration_universal.py +0 -0
  172. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_java_spring_integration.py +0 -0
  173. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_metrics_analyzer.py +0 -0
  174. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_packaging.py +0 -0
  175. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_phase1_improvements.py +0 -0
  176. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_pipeline_integrity.py +0 -0
  177. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_real_projects.py +0 -0
  178. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_redactor.py +0 -0
  179. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_scanner.py +0 -0
  180. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_schema.py +0 -0
  181. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_schema_normalization.py +0 -0
  182. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_semantic_analyzer_node.py +0 -0
  183. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_semantic_analyzer_python.py +0 -0
  184. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_semantic_import_resolution.py +0 -0
  185. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_semantic_schema.py +0 -0
  186. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_signal_hierarchy.py +0 -0
  187. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_summarizer.py +0 -0
  188. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_surface_honesty.py +0 -0
  189. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_task_differentiation.py +0 -0
  190. {sourcecode-1.30.5 → sourcecode-1.30.7}/tests/test_telemetry.py +0 -0
  191. {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.5
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
- ![Version](https://img.shields.io/badge/version-1.30.5-blue)
224
+ ![Version](https://img.shields.io/badge/version-1.30.7-blue)
225
225
  ![Python](https://img.shields.io/badge/python-3.10%2B-green)
226
226
 
227
227
  ---
@@ -257,7 +257,7 @@ pipx install sourcecode
257
257
 
258
258
  ```bash
259
259
  sourcecode version
260
- # sourcecode 1.30.5
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
- ![Version](https://img.shields.io/badge/version-1.30.5-blue)
5
+ ![Version](https://img.shields.io/badge/version-1.30.7-blue)
6
6
  ![Python](https://img.shields.io/badge/python-3.10%2B-green)
7
7
 
8
8
  ---
@@ -38,7 +38,7 @@ pipx install sourcecode
38
38
 
39
39
  ```bash
40
40
  sourcecode version
41
- # sourcecode 1.30.5
41
+ # sourcecode 1.30.7
42
42
  ```
43
43
 
44
44
  ---
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "sourcecode"
7
- version = "1.30.5"
7
+ version = "1.30.7"
8
8
  description = "Deterministic codebase context for AI coding agents"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
@@ -1,3 +1,3 @@
1
1
  """sourcecode — Deterministic codebase context maps for AI coding agents."""
2
2
 
3
- __version__ = "1.30.5"
3
+ __version__ = "1.30.7"
@@ -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: