sourcecode 1.8.0__tar.gz → 1.9.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.
Files changed (180) hide show
  1. {sourcecode-1.8.0 → sourcecode-1.9.0}/PKG-INFO +1 -1
  2. {sourcecode-1.8.0 → sourcecode-1.9.0}/pyproject.toml +1 -1
  3. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/__init__.py +1 -1
  4. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/cli.py +11 -1
  5. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/serializer.py +7 -1
  6. {sourcecode-1.8.0 → sourcecode-1.9.0}/.agents/skills/source-command-gsd-join-discord/SKILL.md +0 -0
  7. {sourcecode-1.8.0 → sourcecode-1.9.0}/.agents/skills/source-command-gsd-review-backlog/SKILL.md +0 -0
  8. {sourcecode-1.8.0 → sourcecode-1.9.0}/.agents/skills/source-command-gsd-workstreams/SKILL.md +0 -0
  9. {sourcecode-1.8.0 → sourcecode-1.9.0}/.continue-here.md +0 -0
  10. {sourcecode-1.8.0 → sourcecode-1.9.0}/.github/workflows/build-windows.yml +0 -0
  11. {sourcecode-1.8.0 → sourcecode-1.9.0}/.gitignore +0 -0
  12. {sourcecode-1.8.0 → sourcecode-1.9.0}/.ruff.toml +0 -0
  13. {sourcecode-1.8.0 → sourcecode-1.9.0}/CONTRIBUTING.md +0 -0
  14. {sourcecode-1.8.0 → sourcecode-1.9.0}/LICENSE +0 -0
  15. {sourcecode-1.8.0 → sourcecode-1.9.0}/README.md +0 -0
  16. {sourcecode-1.8.0 → sourcecode-1.9.0}/SECURITY.md +0 -0
  17. {sourcecode-1.8.0 → sourcecode-1.9.0}/docs/privacy.md +0 -0
  18. {sourcecode-1.8.0 → sourcecode-1.9.0}/docs/schema.md +0 -0
  19. {sourcecode-1.8.0 → sourcecode-1.9.0}/raw +0 -0
  20. {sourcecode-1.8.0 → sourcecode-1.9.0}/run_cli.py +0 -0
  21. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/adaptive_scanner.py +0 -0
  22. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/architecture_analyzer.py +0 -0
  23. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/architecture_summary.py +0 -0
  24. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/ast_extractor.py +0 -0
  25. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/classifier.py +0 -0
  26. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/code_notes_analyzer.py +0 -0
  27. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/confidence_analyzer.py +0 -0
  28. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/context_scorer.py +0 -0
  29. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/context_summarizer.py +0 -0
  30. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/contract_model.py +0 -0
  31. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/contract_pipeline.py +0 -0
  32. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/coverage_parser.py +0 -0
  33. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/dependency_analyzer.py +0 -0
  34. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/detectors/__init__.py +0 -0
  35. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/detectors/base.py +0 -0
  36. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/detectors/csproj_parser.py +0 -0
  37. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/detectors/dart.py +0 -0
  38. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/detectors/dotnet.py +0 -0
  39. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/detectors/elixir.py +0 -0
  40. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/detectors/go.py +0 -0
  41. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/detectors/heuristic.py +0 -0
  42. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/detectors/hybrid.py +0 -0
  43. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/detectors/java.py +0 -0
  44. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/detectors/jvm_ext.py +0 -0
  45. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/detectors/nodejs.py +0 -0
  46. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/detectors/parsers.py +0 -0
  47. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/detectors/php.py +0 -0
  48. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/detectors/project.py +0 -0
  49. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/detectors/python.py +0 -0
  50. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/detectors/ruby.py +0 -0
  51. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/detectors/rust.py +0 -0
  52. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/detectors/systems.py +0 -0
  53. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/detectors/terraform.py +0 -0
  54. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/detectors/tooling.py +0 -0
  55. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/doc_analyzer.py +0 -0
  56. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/entrypoint_classifier.py +0 -0
  57. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/env_analyzer.py +0 -0
  58. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/file_classifier.py +0 -0
  59. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/git_analyzer.py +0 -0
  60. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/graph_analyzer.py +0 -0
  61. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/metrics_analyzer.py +0 -0
  62. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/prepare_context.py +0 -0
  63. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/progress.py +0 -0
  64. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/ranking_engine.py +0 -0
  65. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/redactor.py +0 -0
  66. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/relevance_scorer.py +0 -0
  67. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/repo_classifier.py +0 -0
  68. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/runtime_classifier.py +0 -0
  69. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/scanner.py +0 -0
  70. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/schema.py +0 -0
  71. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/semantic_analyzer.py +0 -0
  72. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/summarizer.py +0 -0
  73. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/telemetry/__init__.py +0 -0
  74. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/telemetry/config.py +0 -0
  75. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/telemetry/consent.py +0 -0
  76. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/telemetry/events.py +0 -0
  77. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/telemetry/filters.py +0 -0
  78. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/telemetry/transport.py +0 -0
  79. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/tree_utils.py +0 -0
  80. {sourcecode-1.8.0 → sourcecode-1.9.0}/src/sourcecode/workspace.py +0 -0
  81. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/__init__.py +0 -0
  82. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/conftest.py +0 -0
  83. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/coverage.xml +0 -0
  84. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/fastapi_app/pyproject.toml +0 -0
  85. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/fastapi_app/src/main.py +0 -0
  86. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/go_service/cmd/api/main.go +0 -0
  87. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/go_service/go.mod +0 -0
  88. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/jacoco.xml +0 -0
  89. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/lcov.info +0 -0
  90. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/nextjs_app/app/page.tsx +0 -0
  91. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/nextjs_app/package.json +0 -0
  92. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/nextjs_app/pnpm-lock.yaml +0 -0
  93. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/pnpm_monorepo/apps/web/app/page.tsx +0 -0
  94. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/pnpm_monorepo/apps/web/package.json +0 -0
  95. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/pnpm_monorepo/packages/api/main.py +0 -0
  96. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/pnpm_monorepo/packages/api/pyproject.toml +0 -0
  97. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/pnpm_monorepo/pnpm-workspace.yaml +0 -0
  98. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/spring_boot_minimal/pom.xml +0 -0
  99. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/ausente/application/service/FindAusenteService.java +0 -0
  100. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/ausente/domain/entities/Ausente.java +0 -0
  101. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/ausente/infrastructure/rest/AusenteRestController.java +0 -0
  102. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/autocoberturas/application/service/FindAutocoberturasService.java +0 -0
  103. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/autocoberturas/domain/entities/Autocoberturas.java +0 -0
  104. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/autocoberturas/infrastructure/rest/AutocoberturasRestController.java +0 -0
  105. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/calendarioTrabajador/application/service/FindCalendarioTrabajadorService.java +0 -0
  106. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/calendarioTrabajador/domain/entities/CalendarioTrabajador.java +0 -0
  107. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/calendarioTrabajador/infrastructure/rest/CalendarioTrabajadorRestController.java +0 -0
  108. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/departamento/application/service/FindDepartamentoService.java +0 -0
  109. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/departamento/domain/entities/Departamento.java +0 -0
  110. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/departamento/infrastructure/rest/DepartamentoRestController.java +0 -0
  111. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/empleado/application/service/FindEmpleadoService.java +0 -0
  112. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/empleado/domain/entities/Empleado.java +0 -0
  113. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/ddd/empleado/infrastructure/rest/EmpleadoRestController.java +0 -0
  114. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/DemoApplication.java +0 -0
  115. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/domain/Health.java +0 -0
  116. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/mapper/HealthMapper.java +0 -0
  117. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/repository/HealthRepository.java +0 -0
  118. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/service/HealthService.java +0 -0
  119. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/spring_boot_minimal/src/main/java/com/example/demo/web/HealthRestController.java +0 -0
  120. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/spring_boot_minimal/src/main/resources/application-dev.yml +0 -0
  121. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/fixtures/spring_boot_minimal/src/main/resources/application.yml +0 -0
  122. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_architecture_analyzer.py +0 -0
  123. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_architecture_summary.py +0 -0
  124. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_ast_extractor.py +0 -0
  125. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_block1_reliability.py +0 -0
  126. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_block2_coverage.py +0 -0
  127. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_block5_quality.py +0 -0
  128. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_bug_fixes_v16.py +0 -0
  129. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_classifier.py +0 -0
  130. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_cli.py +0 -0
  131. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_code_notes_analyzer.py +0 -0
  132. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_context_scorer.py +0 -0
  133. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_contract_pipeline.py +0 -0
  134. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_coverage_parser.py +0 -0
  135. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_cross_consistency.py +0 -0
  136. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_dependency_analyzer_node_python.py +0 -0
  137. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_dependency_analyzer_polyglot.py +0 -0
  138. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_dependency_schema.py +0 -0
  139. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_detector_dotnet.py +0 -0
  140. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_detector_go_rust_java.py +0 -0
  141. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_detector_nodejs.py +0 -0
  142. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_detector_php_ruby_dart.py +0 -0
  143. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_detector_python.py +0 -0
  144. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_detector_universal_managed.py +0 -0
  145. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_detector_universal_systems.py +0 -0
  146. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_detectors_base.py +0 -0
  147. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_doc_analyzer_jsdom.py +0 -0
  148. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_doc_analyzer_python.py +0 -0
  149. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_graph_analyzer_polyglot.py +0 -0
  150. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_graph_analyzer_python_node.py +0 -0
  151. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_graph_schema.py +0 -0
  152. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_hybrid_inference.py +0 -0
  153. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_integration.py +0 -0
  154. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_integration_dependencies.py +0 -0
  155. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_integration_detection.py +0 -0
  156. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_integration_docs.py +0 -0
  157. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_integration_graph_modules.py +0 -0
  158. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_integration_lqn.py +0 -0
  159. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_integration_metrics.py +0 -0
  160. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_integration_multistack.py +0 -0
  161. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_integration_semantics.py +0 -0
  162. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_integration_universal.py +0 -0
  163. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_java_spring_integration.py +0 -0
  164. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_metrics_analyzer.py +0 -0
  165. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_packaging.py +0 -0
  166. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_phase1_improvements.py +0 -0
  167. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_pipeline_integrity.py +0 -0
  168. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_real_projects.py +0 -0
  169. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_redactor.py +0 -0
  170. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_scanner.py +0 -0
  171. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_schema.py +0 -0
  172. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_schema_normalization.py +0 -0
  173. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_semantic_analyzer_node.py +0 -0
  174. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_semantic_analyzer_python.py +0 -0
  175. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_semantic_import_resolution.py +0 -0
  176. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_semantic_schema.py +0 -0
  177. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_signal_hierarchy.py +0 -0
  178. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_summarizer.py +0 -0
  179. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_telemetry.py +0 -0
  180. {sourcecode-1.8.0 → sourcecode-1.9.0}/tests/test_workspace_analyzer.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sourcecode
3
- Version: 1.8.0
3
+ Version: 1.9.0
4
4
  Summary: Deterministic codebase context for AI coding agents
5
5
  License: Apache License
6
6
  Version 2.0, January 2004
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "sourcecode"
7
- version = "1.8.0"
7
+ version = "1.9.0"
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.8.0"
3
+ __version__ = "1.9.0"
@@ -1485,7 +1485,17 @@ def main(
1485
1485
  if _is_contract_mode and sm.file_contracts:
1486
1486
  from sourcecode.serializer import _serialize_contract_minimal
1487
1487
  data.pop("file_relevance", None)
1488
- data["contracts"] = [_serialize_contract_minimal(c) for c in sm.file_contracts]
1488
+ _MAX_AGENT_CONTRACTS = 10
1489
+ _all_contracts = sm.file_contracts
1490
+ _sorted = sorted(_all_contracts, key=lambda c: getattr(c, "relevance_score", 0.0), reverse=True)
1491
+ _sampled = _sorted[:_MAX_AGENT_CONTRACTS]
1492
+ _total_contracts = len(_all_contracts)
1493
+ data["contracts"] = [_serialize_contract_minimal(c) for c in _sampled]
1494
+ data["contracts_meta"] = {
1495
+ "total": _total_contracts,
1496
+ "shown": len(_sampled),
1497
+ "truncated": _total_contracts > _MAX_AGENT_CONTRACTS,
1498
+ }
1489
1499
  if sm.contract_summary is not None:
1490
1500
  cs = sm.contract_summary
1491
1501
  data["contract_summary"] = {
@@ -958,7 +958,13 @@ def agent_view(sm: SourceMap) -> dict[str, Any]:
958
958
  "sections": _section_confidence(sm),
959
959
  }
960
960
  if cs.hard_signals:
961
- conf["hard_signals"] = cs.hard_signals
961
+ _MAX_HARD_SIGNALS = 20
962
+ _hs = cs.hard_signals
963
+ _hs_total = len(_hs)
964
+ conf["hard_signals"] = _hs[:_MAX_HARD_SIGNALS]
965
+ if _hs_total > _MAX_HARD_SIGNALS:
966
+ conf["hard_signals_truncated"] = True
967
+ conf["hard_signals_total"] = _hs_total
962
968
  if cs.soft_signals:
963
969
  conf["soft_signals"] = cs.soft_signals
964
970
  if cs.ignored_signals:
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
File without changes
File without changes
File without changes
File without changes
File without changes