sourcecode 1.30.3__tar.gz → 1.30.4__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 (190) hide show
  1. {sourcecode-1.30.3 → sourcecode-1.30.4}/PKG-INFO +81 -5
  2. {sourcecode-1.30.3 → sourcecode-1.30.4}/README.md +80 -4
  3. {sourcecode-1.30.3 → sourcecode-1.30.4}/pyproject.toml +1 -1
  4. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/__init__.py +1 -1
  5. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/cli.py +1 -1
  6. {sourcecode-1.30.3 → sourcecode-1.30.4}/.agents/skills/source-command-gsd-join-discord/SKILL.md +0 -0
  7. {sourcecode-1.30.3 → sourcecode-1.30.4}/.agents/skills/source-command-gsd-review-backlog/SKILL.md +0 -0
  8. {sourcecode-1.30.3 → sourcecode-1.30.4}/.agents/skills/source-command-gsd-workstreams/SKILL.md +0 -0
  9. {sourcecode-1.30.3 → sourcecode-1.30.4}/.continue-here.md +0 -0
  10. {sourcecode-1.30.3 → sourcecode-1.30.4}/.github/workflows/build-windows.yml +0 -0
  11. {sourcecode-1.30.3 → sourcecode-1.30.4}/.gitignore +0 -0
  12. {sourcecode-1.30.3 → sourcecode-1.30.4}/.ruff.toml +0 -0
  13. {sourcecode-1.30.3 → sourcecode-1.30.4}/CONTRIBUTING.md +0 -0
  14. {sourcecode-1.30.3 → sourcecode-1.30.4}/LICENSE +0 -0
  15. {sourcecode-1.30.3 → sourcecode-1.30.4}/SECURITY.md +0 -0
  16. {sourcecode-1.30.3 → sourcecode-1.30.4}/docs/privacy.md +0 -0
  17. {sourcecode-1.30.3 → sourcecode-1.30.4}/docs/schema.md +0 -0
  18. {sourcecode-1.30.3 → sourcecode-1.30.4}/raw +0 -0
  19. {sourcecode-1.30.3 → sourcecode-1.30.4}/run_cli.py +0 -0
  20. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/adaptive_scanner.py +0 -0
  21. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/architecture_analyzer.py +0 -0
  22. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/architecture_summary.py +0 -0
  23. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/ast_extractor.py +0 -0
  24. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/classifier.py +0 -0
  25. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/code_notes_analyzer.py +0 -0
  26. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/confidence_analyzer.py +0 -0
  27. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/context_scorer.py +0 -0
  28. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/context_summarizer.py +0 -0
  29. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/contract_model.py +0 -0
  30. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/contract_pipeline.py +0 -0
  31. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/coverage_parser.py +0 -0
  32. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/dependency_analyzer.py +0 -0
  33. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/detectors/__init__.py +0 -0
  34. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/detectors/base.py +0 -0
  35. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/detectors/csproj_parser.py +0 -0
  36. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/detectors/dart.py +0 -0
  37. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/detectors/dotnet.py +0 -0
  38. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/detectors/elixir.py +0 -0
  39. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/detectors/go.py +0 -0
  40. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/detectors/heuristic.py +0 -0
  41. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/detectors/hybrid.py +0 -0
  42. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/detectors/java.py +0 -0
  43. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/detectors/jvm_ext.py +0 -0
  44. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/detectors/nodejs.py +0 -0
  45. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/detectors/parsers.py +0 -0
  46. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/detectors/php.py +0 -0
  47. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/detectors/project.py +0 -0
  48. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/detectors/python.py +0 -0
  49. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/detectors/ruby.py +0 -0
  50. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/detectors/rust.py +0 -0
  51. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/detectors/systems.py +0 -0
  52. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/detectors/terraform.py +0 -0
  53. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/detectors/tooling.py +0 -0
  54. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/doc_analyzer.py +0 -0
  55. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/entrypoint_classifier.py +0 -0
  56. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/env_analyzer.py +0 -0
  57. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/file_classifier.py +0 -0
  58. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/flow_analyzer.py +0 -0
  59. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/git_analyzer.py +0 -0
  60. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/graph_analyzer.py +0 -0
  61. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/metrics_analyzer.py +0 -0
  62. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/prepare_context.py +0 -0
  63. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/progress.py +0 -0
  64. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/ranking_engine.py +0 -0
  65. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/redactor.py +0 -0
  66. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/relevance_scorer.py +0 -0
  67. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/repo_classifier.py +0 -0
  68. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/runtime_classifier.py +0 -0
  69. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/scanner.py +0 -0
  70. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/schema.py +0 -0
  71. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/semantic_analyzer.py +0 -0
  72. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/serializer.py +0 -0
  73. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/summarizer.py +0 -0
  74. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/telemetry/__init__.py +0 -0
  75. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/telemetry/config.py +0 -0
  76. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/telemetry/consent.py +0 -0
  77. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/telemetry/events.py +0 -0
  78. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/telemetry/filters.py +0 -0
  79. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/telemetry/transport.py +0 -0
  80. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/tree_utils.py +0 -0
  81. {sourcecode-1.30.3 → sourcecode-1.30.4}/src/sourcecode/workspace.py +0 -0
  82. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/__init__.py +0 -0
  83. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/conftest.py +0 -0
  84. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/coverage.xml +0 -0
  85. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/fastapi_app/pyproject.toml +0 -0
  86. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/fastapi_app/src/main.py +0 -0
  87. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/go_service/cmd/api/main.go +0 -0
  88. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/go_service/go.mod +0 -0
  89. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/jacoco.xml +0 -0
  90. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/latin1_sample.java +0 -0
  91. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/latin1_sample_iso.java +0 -0
  92. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/lcov.info +0 -0
  93. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/nextjs_app/app/page.tsx +0 -0
  94. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/nextjs_app/package.json +0 -0
  95. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/nextjs_app/pnpm-lock.yaml +0 -0
  96. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/pnpm_monorepo/apps/web/app/page.tsx +0 -0
  97. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/pnpm_monorepo/apps/web/package.json +0 -0
  98. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/pnpm_monorepo/packages/api/main.py +0 -0
  99. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/pnpm_monorepo/packages/api/pyproject.toml +0 -0
  100. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/pnpm_monorepo/pnpm-workspace.yaml +0 -0
  101. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/spring_boot_minimal/pom.xml +0 -0
  102. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/ausente/application/service/FindAusenteService.java +0 -0
  103. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/ausente/domain/entities/Ausente.java +0 -0
  104. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/ausente/infrastructure/rest/AusenteRestController.java +0 -0
  105. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/autocoberturas/application/service/FindAutocoberturasService.java +0 -0
  106. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/autocoberturas/domain/entities/Autocoberturas.java +0 -0
  107. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/autocoberturas/infrastructure/rest/AutocoberturasRestController.java +0 -0
  108. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/calendarioTrabajador/application/service/FindCalendarioTrabajadorService.java +0 -0
  109. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/calendarioTrabajador/domain/entities/CalendarioTrabajador.java +0 -0
  110. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/calendarioTrabajador/infrastructure/rest/CalendarioTrabajadorRestController.java +0 -0
  111. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/departamento/application/service/FindDepartamentoService.java +0 -0
  112. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/departamento/domain/entities/Departamento.java +0 -0
  113. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/departamento/infrastructure/rest/DepartamentoRestController.java +0 -0
  114. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/empleado/application/service/FindEmpleadoService.java +0 -0
  115. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/empleado/domain/entities/Empleado.java +0 -0
  116. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/empleado/infrastructure/rest/EmpleadoRestController.java +0 -0
  117. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/DemoApplication.java +0 -0
  118. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/config/FilterConfig.java +0 -0
  119. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/domain/Health.java +0 -0
  120. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/mapper/HealthMapper.java +0 -0
  121. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/repository/HealthRepository.java +0 -0
  122. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/service/HealthService.java +0 -0
  123. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/web/HealthRestController.java +0 -0
  124. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/web/NominaRestController.java +0 -0
  125. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/spring_boot_minimal/src/main/resources/application-dev.yml +0 -0
  126. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/spring_boot_minimal/src/main/resources/application.yml +0 -0
  127. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/fixtures/spring_boot_minimal/src/main/resources/mapper/HealthMapper.xml +0 -0
  128. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_architecture_analyzer.py +0 -0
  129. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_architecture_summary.py +0 -0
  130. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_ast_extractor.py +0 -0
  131. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_block1_reliability.py +0 -0
  132. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_block2_coverage.py +0 -0
  133. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_block5_quality.py +0 -0
  134. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_bug_fixes_v16.py +0 -0
  135. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_classifier.py +0 -0
  136. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_cli.py +0 -0
  137. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_code_notes_analyzer.py +0 -0
  138. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_context_scorer.py +0 -0
  139. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_contract_pipeline.py +0 -0
  140. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_coverage_parser.py +0 -0
  141. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_cross_consistency.py +0 -0
  142. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_dependency_analyzer_node_python.py +0 -0
  143. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_dependency_analyzer_polyglot.py +0 -0
  144. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_dependency_schema.py +0 -0
  145. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_detector_dotnet.py +0 -0
  146. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_detector_go_rust_java.py +0 -0
  147. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_detector_nodejs.py +0 -0
  148. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_detector_php_ruby_dart.py +0 -0
  149. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_detector_python.py +0 -0
  150. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_detector_universal_managed.py +0 -0
  151. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_detector_universal_systems.py +0 -0
  152. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_detectors_base.py +0 -0
  153. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_doc_analyzer_jsdom.py +0 -0
  154. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_doc_analyzer_python.py +0 -0
  155. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_encoding_regression.py +0 -0
  156. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_graph_analyzer_polyglot.py +0 -0
  157. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_graph_analyzer_python_node.py +0 -0
  158. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_graph_schema.py +0 -0
  159. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_hybrid_inference.py +0 -0
  160. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_integration.py +0 -0
  161. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_integration_dependencies.py +0 -0
  162. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_integration_detection.py +0 -0
  163. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_integration_docs.py +0 -0
  164. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_integration_graph_modules.py +0 -0
  165. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_integration_lqn.py +0 -0
  166. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_integration_metrics.py +0 -0
  167. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_integration_multistack.py +0 -0
  168. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_integration_semantics.py +0 -0
  169. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_integration_universal.py +0 -0
  170. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_java_spring_integration.py +0 -0
  171. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_metrics_analyzer.py +0 -0
  172. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_packaging.py +0 -0
  173. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_phase1_improvements.py +0 -0
  174. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_pipeline_integrity.py +0 -0
  175. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_real_projects.py +0 -0
  176. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_redactor.py +0 -0
  177. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_scanner.py +0 -0
  178. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_schema.py +0 -0
  179. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_schema_normalization.py +0 -0
  180. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_semantic_analyzer_node.py +0 -0
  181. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_semantic_analyzer_python.py +0 -0
  182. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_semantic_import_resolution.py +0 -0
  183. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_semantic_schema.py +0 -0
  184. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_signal_hierarchy.py +0 -0
  185. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_summarizer.py +0 -0
  186. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_surface_honesty.py +0 -0
  187. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_task_differentiation.py +0 -0
  188. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_telemetry.py +0 -0
  189. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_v1_10_regressions.py +0 -0
  190. {sourcecode-1.30.3 → sourcecode-1.30.4}/tests/test_workspace_analyzer.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sourcecode
3
- Version: 1.30.3
3
+ Version: 1.30.4
4
4
  Summary: Deterministic codebase context for AI coding agents
5
5
  License: Apache License
6
6
  Version 2.0, January 2004
@@ -219,9 +219,9 @@ Description-Content-Type: text/markdown
219
219
 
220
220
  # sourcecode
221
221
 
222
- **Compressed AI-ready context for Java/Spring enterprise codebases.**
222
+ **Deterministic, behavior-aware codebase context for AI agents and PR review.**
223
223
 
224
- ![Version](https://img.shields.io/badge/version-1.30.3-blue)
224
+ ![Version](https://img.shields.io/badge/version-1.30.4-blue)
225
225
  ![Python](https://img.shields.io/badge/python-3.10%2B-green)
226
226
 
227
227
  ---
@@ -230,6 +230,8 @@ Description-Content-Type: text/markdown
230
230
 
231
231
  `sourcecode` analyzes a repository and produces structured JSON or YAML designed to be fed directly to AI agents or language models. It solves the "stuff the whole repo into the prompt" problem by extracting a deterministic, high-signal summary: stack detection, entry points, dependencies, git hotspots, inline annotations, and confidence metadata.
232
232
 
233
+ For PR review specifically, `sourcecode` extracts **execution paths**: ordered chains from entry point through service to data access, with runtime signals (auth guards, cache short-circuits, async execution) anchored to the specific step where they affect behavior. A reviewer sees _what the system does_ under this change, not just which files changed.
234
+
233
235
  Optimized for Java/Spring Boot monorepos. Works on any codebase.
234
236
 
235
237
  ---
@@ -255,7 +257,7 @@ pipx install sourcecode
255
257
 
256
258
  ```bash
257
259
  sourcecode version
258
- # sourcecode 1.30.3
260
+ # sourcecode 1.30.4
259
261
  ```
260
262
 
261
263
  ---
@@ -342,7 +344,7 @@ sourcecode prepare-context TASK [PATH] [OPTIONS]
342
344
  | `fix-bug` | Files ranked by risk (annotations, churn, uncommitted changes), suspected areas | Debugging session |
343
345
  | `refactor` | Structural problems, improvement opportunities, high-annotation files | Code quality review |
344
346
  | `generate-tests` | Source files without test pairs, coverage gap analysis | Writing missing tests |
345
- | `review-pr` | Uncommitted/changed files + architectural impact | Pre-merge review |
347
+ | `review-pr` | Execution paths with per-step runtime signals, security/transactional impact, test coverage gaps | Pre-merge behavior review |
346
348
  | `delta` | Changed files with multi-hop impact analysis, structural import graph, system-level impact summary | Incremental CI/review context |
347
349
 
348
350
  ### Options
@@ -423,6 +425,80 @@ sourcecode prepare-context delta . --since main
423
425
 
424
426
  ---
425
427
 
428
+ ## `review-pr` — behavior-aware PR analysis
429
+
430
+ Extracts **execution paths**: ordered chains from entry point through service to data access layer, with runtime signals anchored to the specific step where they affect behavior.
431
+
432
+ ```bash
433
+ sourcecode prepare-context review-pr [PATH] --since REF
434
+ # or against uncommitted working-tree changes:
435
+ sourcecode prepare-context review-pr
436
+ ```
437
+
438
+ **`execution_paths` schema:**
439
+
440
+ ```json
441
+ {
442
+ "execution_paths": [
443
+ {
444
+ "name": "Order",
445
+ "entry_point": {
446
+ "step": "OrderController.createOrder",
447
+ "notes": ["condition: authorization check present (@PreAuthorize / @Secured)"]
448
+ },
449
+ "path": [
450
+ {
451
+ "step": "ShippingService.process",
452
+ "notes": [
453
+ "branch: Spring cache may short-circuit downstream call",
454
+ "async: runs in separate thread (@Async)"
455
+ ]
456
+ },
457
+ {
458
+ "step": "OrderRepository.save",
459
+ "notes": []
460
+ }
461
+ ],
462
+ "end_state": "DB write"
463
+ }
464
+ ]
465
+ }
466
+ ```
467
+
468
+ **Path rules:**
469
+
470
+ - One path per changed entry point — most-evident downstream call, not all branches
471
+ - Each step requires direct code evidence: field injection, constructor param, method call, or type annotation
472
+ - `notes` are scanned from that step's own source file — no cross-contamination between steps
473
+ - Path terminates where evidence ends; no gap-filling by naming convention or module similarity
474
+
475
+ **Runtime signals detected per step:**
476
+
477
+ | Signal | Example code | Note emitted |
478
+ |--------|-------------|--------------|
479
+ | Auth guard | `@PreAuthorize`, `@Secured`, `isAuthenticated()` | `condition: authorization check present` |
480
+ | Feature flag | `featureFlag.isEnabled()`, `FeatureToggle` | `condition: feature flag gates execution` |
481
+ | Null/empty guard | `if (x == null) return` | `condition: null/empty guard with early return` |
482
+ | Spring cache | `@Cacheable`, `@CacheEvict` | `branch: Spring cache may short-circuit downstream call` |
483
+ | Optional absence | `Optional<>`, `.orElseThrow()` | `branch: result may be absent (Optional)` |
484
+ | Async thread | `@Async`, `CompletableFuture` | `async: runs in separate thread (@Async)` |
485
+ | Event publishing | `publishEvent()`, `applicationEventPublisher` | `async: Spring application event emitted` |
486
+ | Kafka | `kafkaTemplate.send()` | `async: Kafka message produced` |
487
+ | RabbitMQ | `rabbitTemplate.send()` | `async: RabbitMQ message sent` |
488
+
489
+ **Other `review-pr` output fields:**
490
+
491
+ | Field | Description |
492
+ |-------|-------------|
493
+ | `review_hotspots` | Top changed files ranked by impact score |
494
+ | `suggested_review_order` | Security → API → Service → Persistence → Config |
495
+ | `security_impact` | Changed files touching the security surface |
496
+ | `transactional_impact` | Files crossing transaction boundaries |
497
+ | `test_coverage_risk` | Changed source files with no corresponding test |
498
+ | `affected_modules` | DDD domain modules touched by the change |
499
+
500
+ ---
501
+
426
502
  ## Output schema
427
503
 
428
504
  All outputs include a `confidence_summary` block with `overall`, `stack`, and `entry_points` confidence levels (`high` / `medium` / `low`), plus an `analysis_gaps` list describing what could not be analyzed and why.
@@ -1,8 +1,8 @@
1
1
  # sourcecode
2
2
 
3
- **Compressed AI-ready context for Java/Spring enterprise codebases.**
3
+ **Deterministic, behavior-aware codebase context for AI agents and PR review.**
4
4
 
5
- ![Version](https://img.shields.io/badge/version-1.30.3-blue)
5
+ ![Version](https://img.shields.io/badge/version-1.30.4-blue)
6
6
  ![Python](https://img.shields.io/badge/python-3.10%2B-green)
7
7
 
8
8
  ---
@@ -11,6 +11,8 @@
11
11
 
12
12
  `sourcecode` analyzes a repository and produces structured JSON or YAML designed to be fed directly to AI agents or language models. It solves the "stuff the whole repo into the prompt" problem by extracting a deterministic, high-signal summary: stack detection, entry points, dependencies, git hotspots, inline annotations, and confidence metadata.
13
13
 
14
+ For PR review specifically, `sourcecode` extracts **execution paths**: ordered chains from entry point through service to data access, with runtime signals (auth guards, cache short-circuits, async execution) anchored to the specific step where they affect behavior. A reviewer sees _what the system does_ under this change, not just which files changed.
15
+
14
16
  Optimized for Java/Spring Boot monorepos. Works on any codebase.
15
17
 
16
18
  ---
@@ -36,7 +38,7 @@ pipx install sourcecode
36
38
 
37
39
  ```bash
38
40
  sourcecode version
39
- # sourcecode 1.30.3
41
+ # sourcecode 1.30.4
40
42
  ```
41
43
 
42
44
  ---
@@ -123,7 +125,7 @@ sourcecode prepare-context TASK [PATH] [OPTIONS]
123
125
  | `fix-bug` | Files ranked by risk (annotations, churn, uncommitted changes), suspected areas | Debugging session |
124
126
  | `refactor` | Structural problems, improvement opportunities, high-annotation files | Code quality review |
125
127
  | `generate-tests` | Source files without test pairs, coverage gap analysis | Writing missing tests |
126
- | `review-pr` | Uncommitted/changed files + architectural impact | Pre-merge review |
128
+ | `review-pr` | Execution paths with per-step runtime signals, security/transactional impact, test coverage gaps | Pre-merge behavior review |
127
129
  | `delta` | Changed files with multi-hop impact analysis, structural import graph, system-level impact summary | Incremental CI/review context |
128
130
 
129
131
  ### Options
@@ -204,6 +206,80 @@ sourcecode prepare-context delta . --since main
204
206
 
205
207
  ---
206
208
 
209
+ ## `review-pr` — behavior-aware PR analysis
210
+
211
+ Extracts **execution paths**: ordered chains from entry point through service to data access layer, with runtime signals anchored to the specific step where they affect behavior.
212
+
213
+ ```bash
214
+ sourcecode prepare-context review-pr [PATH] --since REF
215
+ # or against uncommitted working-tree changes:
216
+ sourcecode prepare-context review-pr
217
+ ```
218
+
219
+ **`execution_paths` schema:**
220
+
221
+ ```json
222
+ {
223
+ "execution_paths": [
224
+ {
225
+ "name": "Order",
226
+ "entry_point": {
227
+ "step": "OrderController.createOrder",
228
+ "notes": ["condition: authorization check present (@PreAuthorize / @Secured)"]
229
+ },
230
+ "path": [
231
+ {
232
+ "step": "ShippingService.process",
233
+ "notes": [
234
+ "branch: Spring cache may short-circuit downstream call",
235
+ "async: runs in separate thread (@Async)"
236
+ ]
237
+ },
238
+ {
239
+ "step": "OrderRepository.save",
240
+ "notes": []
241
+ }
242
+ ],
243
+ "end_state": "DB write"
244
+ }
245
+ ]
246
+ }
247
+ ```
248
+
249
+ **Path rules:**
250
+
251
+ - One path per changed entry point — most-evident downstream call, not all branches
252
+ - Each step requires direct code evidence: field injection, constructor param, method call, or type annotation
253
+ - `notes` are scanned from that step's own source file — no cross-contamination between steps
254
+ - Path terminates where evidence ends; no gap-filling by naming convention or module similarity
255
+
256
+ **Runtime signals detected per step:**
257
+
258
+ | Signal | Example code | Note emitted |
259
+ |--------|-------------|--------------|
260
+ | Auth guard | `@PreAuthorize`, `@Secured`, `isAuthenticated()` | `condition: authorization check present` |
261
+ | Feature flag | `featureFlag.isEnabled()`, `FeatureToggle` | `condition: feature flag gates execution` |
262
+ | Null/empty guard | `if (x == null) return` | `condition: null/empty guard with early return` |
263
+ | Spring cache | `@Cacheable`, `@CacheEvict` | `branch: Spring cache may short-circuit downstream call` |
264
+ | Optional absence | `Optional<>`, `.orElseThrow()` | `branch: result may be absent (Optional)` |
265
+ | Async thread | `@Async`, `CompletableFuture` | `async: runs in separate thread (@Async)` |
266
+ | Event publishing | `publishEvent()`, `applicationEventPublisher` | `async: Spring application event emitted` |
267
+ | Kafka | `kafkaTemplate.send()` | `async: Kafka message produced` |
268
+ | RabbitMQ | `rabbitTemplate.send()` | `async: RabbitMQ message sent` |
269
+
270
+ **Other `review-pr` output fields:**
271
+
272
+ | Field | Description |
273
+ |-------|-------------|
274
+ | `review_hotspots` | Top changed files ranked by impact score |
275
+ | `suggested_review_order` | Security → API → Service → Persistence → Config |
276
+ | `security_impact` | Changed files touching the security surface |
277
+ | `transactional_impact` | Files crossing transaction boundaries |
278
+ | `test_coverage_risk` | Changed source files with no corresponding test |
279
+ | `affected_modules` | DDD domain modules touched by the change |
280
+
281
+ ---
282
+
207
283
  ## Output schema
208
284
 
209
285
  All outputs include a `confidence_summary` block with `overall`, `stack`, and `entry_points` confidence levels (`high` / `medium` / `low`), plus an `analysis_gaps` list describing what could not be analyzed and why.
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "sourcecode"
7
- version = "1.30.3"
7
+ version = "1.30.4"
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.3"
3
+ __version__ = "1.30.4"
@@ -1633,7 +1633,7 @@ def prepare_context_cmd(
1633
1633
  refactor Structural issues, improvement opportunities
1634
1634
  generate-tests Untested source files, test gap analysis
1635
1635
  onboard Full project context for new agents/developers
1636
- review-pr PR diff: changed files, security/transactional impact, test gaps (requires git diff or --since)
1636
+ review-pr PR diff: execution paths with per-step runtime signals, security/transactional impact, test gaps (requires git diff or --since)
1637
1637
  delta Incremental context: git-changed files only
1638
1638
 
1639
1639
  \b
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes