sourcecode 5.9.32__tar.gz → 5.9.33__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 (486) hide show
  1. {sourcecode-5.9.32 → sourcecode-5.9.33}/CHANGELOG.md +12 -0
  2. {sourcecode-5.9.32 → sourcecode-5.9.33}/PKG-INFO +3 -3
  3. {sourcecode-5.9.32 → sourcecode-5.9.33}/README.md +2 -2
  4. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/USER_GUIDE.md +1 -1
  5. sourcecode-5.9.33/docs/investigations/2026-09-15-core-audit.md +107 -0
  6. {sourcecode-5.9.32 → sourcecode-5.9.33}/pyproject.toml +1 -1
  7. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/__init__.py +1 -1
  8. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/cli.py +19 -1
  9. {sourcecode-5.9.32 → sourcecode-5.9.33}/.github/workflows/build-windows.yml +0 -0
  10. {sourcecode-5.9.32 → sourcecode-5.9.33}/.github/workflows/perf-gate.yml +0 -0
  11. {sourcecode-5.9.32 → sourcecode-5.9.33}/.github/workflows/windows-battery.yml +0 -0
  12. {sourcecode-5.9.32 → sourcecode-5.9.33}/.github/workflows/windows-regression.yml +0 -0
  13. {sourcecode-5.9.32 → sourcecode-5.9.33}/.gitignore +0 -0
  14. {sourcecode-5.9.32 → sourcecode-5.9.33}/.ruff.toml +0 -0
  15. {sourcecode-5.9.32 → sourcecode-5.9.33}/CLAUDE.md +0 -0
  16. {sourcecode-5.9.32 → sourcecode-5.9.33}/CODE_OF_CONDUCT.md +0 -0
  17. {sourcecode-5.9.32 → sourcecode-5.9.33}/CONTRIBUTING.md +0 -0
  18. {sourcecode-5.9.32 → sourcecode-5.9.33}/LICENSE +0 -0
  19. {sourcecode-5.9.32 → sourcecode-5.9.33}/NOTICE +0 -0
  20. {sourcecode-5.9.32 → sourcecode-5.9.33}/SECURITY.md +0 -0
  21. {sourcecode-5.9.32 → sourcecode-5.9.33}/SPEC-update-notifications.md +0 -0
  22. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/AUDIT-2026-08-22-5.8.22.md +0 -0
  23. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/AUDIT-2026-08-23-5.8.24.md +0 -0
  24. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/AUDIT-2026-08-23-COMMERCIAL.md +0 -0
  25. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/AUDIT-2026-08-23-CORPUS-AMPLIADO.md +0 -0
  26. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/AUDIT-2026-08-23-EXTERNAL-5.8.25.md +0 -0
  27. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/AUDIT-2026-08-23-EXTERNAL-5.8.26.md +0 -0
  28. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/AUDIT-2026-08-23-THINGSBOARD-FINDINGS.md +0 -0
  29. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/AUDIT-2026-08-26-EXTERNAL-5.8.26.md +0 -0
  30. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/AUDIT-2026-08-26-EXTERNAL-5.8.27.md +0 -0
  31. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/AUDIT-2026-08-26-EXTERNAL-5.8.28-PACK.md +0 -0
  32. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/AUDIT-2026-08-26-EXTERNAL-5.8.28.md +0 -0
  33. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/AUDIT-2026-08-26-EXTERNAL-5.8.31.md +0 -0
  34. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/AUDIT-2026-08-26-EXTERNAL-5.8.32.md +0 -0
  35. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/AUDIT-2026-08-26-EXTERNAL-5.9.0.md +0 -0
  36. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/AUDIT-2026-08-26-MONETIZATION.md +0 -0
  37. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/AUDIT-2026-08-27-EXTERNAL-5.9.2.md +0 -0
  38. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/AUDIT-2026-08-27-EXTERNAL-5.9.3.md +0 -0
  39. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/AUDIT-2026-08-28-EXTERNAL-5.9.10.md +0 -0
  40. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/AUDIT-2026-08-31-EXTERNAL-5.9.16.md +0 -0
  41. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/AUDIT-2026-08-31-EXTERNAL-5.9.17.md +0 -0
  42. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/AUDIT-2026-08-31-REMEDIATION-5.9.18.md +0 -0
  43. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/AUDIT-2026-09-01-ALTERNATIVE-5.9.23.md +0 -0
  44. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/AUDIT-2026-09-01-EXTERNAL-5.9.22.md +0 -0
  45. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/AUDIT-2026-09-01-EXTERNAL-5.9.23.md +0 -0
  46. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/AUDIT-2026-09-02-ALTERNATIVE-5.9.25.md +0 -0
  47. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/AUDIT-2026-09-02-ALTERNATIVE-5.9.27.md +0 -0
  48. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/AUDIT-2026-09-02-ALTERNATIVE-5.9.28.md +0 -0
  49. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/AUDIT-2026-09-02-ALTERNATIVE-5.9.29.md +0 -0
  50. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/AUDIT-2026-09-02-EXTERNAL-5.9.25.md +0 -0
  51. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/AUDIT-2026-09-02-EXTERNAL-5.9.26.md +0 -0
  52. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/AUDIT-2026-09-02-EXTERNAL-5.9.29.md +0 -0
  53. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/AUDIT-TESTING-CORPUS-2026-08-22.md +0 -0
  54. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/CACHE.md +0 -0
  55. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/COMMERCIAL-OFFER.md +0 -0
  56. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/CUSTOMER-VALIDATION.md +0 -0
  57. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/DEFECT-LEDGER.md +0 -0
  58. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/DEMO-5MIN.md +0 -0
  59. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/DEVELOPMENT-ROADMAP.md +0 -0
  60. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/DOCUMENTATION-HYGIENE-2026-08-23.md +0 -0
  61. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/EXECUTION-PLAN-12MO.md +0 -0
  62. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/EXECUTIVE-ROADMAP.md +0 -0
  63. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/MANUAL-USUARIO.md +0 -0
  64. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/MODERNIZATION.md +0 -0
  65. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/PRODUCT-ROUTE.md +0 -0
  66. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/PRODUCT_AUDIT.md +0 -0
  67. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/PRODUCT_IDENTITY.md +0 -0
  68. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/PRODUCT_TIERS.md +0 -0
  69. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/RC1-CHECKLIST.md +0 -0
  70. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/RD-JVM-ASK-TRIAGE-2026-08-31.md +0 -0
  71. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/RELEASE-CHECKLIST.md +0 -0
  72. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/RELEASE-VERIFICATION.md +0 -0
  73. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/STRATEGY-2026-08-26-AGENT-CONTEXT.md +0 -0
  74. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/architecture/CATALOG-retrieval-intents.md +0 -0
  75. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/architecture/DESIGN-assessment-deployment-evidence.md +0 -0
  76. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/architecture/DESIGN-assessment-report.md +0 -0
  77. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/architecture/DESIGN-build-closure-provenance.md +0 -0
  78. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/architecture/DESIGN-knowledge-provider-integration.md +0 -0
  79. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/architecture/DESIGN-p5.3b-statement-surface.md +0 -0
  80. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/architecture/DESIGN-p5.5-span-index.md +0 -0
  81. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/architecture/DESIGN-p6-semantic-impact-engine.md +0 -0
  82. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/architecture/DESIGN-p6-semantic-integration-engine.md +0 -0
  83. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/architecture/DESIGN-p7-semantic-services.md +0 -0
  84. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/architecture/DESIGN-pack-gate-ci.md +0 -0
  85. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/architecture/DESIGN-pack-manifest.md +0 -0
  86. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/architecture/DESIGN-pack-mcp-api.md +0 -0
  87. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/architecture/DESIGN-robustness-security-inference.md +0 -0
  88. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/architecture/DESIGN-semantic-retrieval.md +0 -0
  89. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/architecture/EPV-p6-class-typeref.md +0 -0
  90. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/architecture/REPORT-p6-flow-analyzer-comparison.md +0 -0
  91. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/architecture/REPORT-p6-integration-detector-comparison.md +0 -0
  92. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/architecture/REPORT-p8-flow-analyzer-migration.md +0 -0
  93. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/architecture/REPORT-p9-integration-detector-migration.md +0 -0
  94. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/architecture/adr/0001-semantic-ir.md +0 -0
  95. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/architecture/adr/0002-source-evidence-boundary.md +0 -0
  96. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/architecture/adr/0003-architectural-characterization.md +0 -0
  97. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/architecture/adr/0004-semantic-retrieval.md +0 -0
  98. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/architecture/adr/0005-evidence-reconciliation.md +0 -0
  99. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/architecture/adr/0006-performance-harness.md +0 -0
  100. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/architecture/adr/0007-composition-semantics.md +0 -0
  101. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/architecture/adr/0008-answer-coherence.md +0 -0
  102. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/architecture/consumer-disposition-inventory.md +0 -0
  103. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/architecture/overview.md +0 -0
  104. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/architecture/product-architecture-review.md +0 -0
  105. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/architecture/product-strategy-layering.md +0 -0
  106. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/architecture/semantic-ir-consumer-matrix.md +0 -0
  107. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/architecture/semantic-ir-roadmap.md +0 -0
  108. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/baseline-ci.yml +0 -0
  109. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/commercial-pipeline-audit.md +0 -0
  110. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/contracts-ci.yml +0 -0
  111. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/contracts.md +0 -0
  112. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/eval/2026-06-15-petclinic-rest-issue11-vets-pagination.md +0 -0
  113. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/eval/2026-06-15-petclinic-rest-issue147-validation.md +0 -0
  114. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/eval/2026-06-15-petclinic-rest-workflow.md +0 -0
  115. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/eval/2026-06-15-phase18-openapi-surface.md +0 -0
  116. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/eval/2026-06-15-phase20-validation-surface.md +0 -0
  117. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/eval/2026-06-16-broadleaf-checkout-impact-fieldtest.md +0 -0
  118. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/eval/2026-06-16-petclinic-rest-issue11-weakness2-closed.md +0 -0
  119. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/eval/2026-06-16-spring-petclinic-issue2333-dead-vets.md +0 -0
  120. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/investigations/2026-09-11-ask-mcp-telemetry.md +0 -0
  121. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/investigations/2026-09-15-telemetry-audit.md +0 -0
  122. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/licensing-schema.md +0 -0
  123. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/migrate-check.md +0 -0
  124. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/pack-gate-github-actions.yml +0 -0
  125. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/pack-gate-gitlab.yml +0 -0
  126. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/README.md +0 -0
  127. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/REGRESSION-GATE.md +0 -0
  128. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.15/SUMMARY.md +0 -0
  129. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.15/alfresco__ask__cold.json +0 -0
  130. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.15/alfresco__ask__warm.json +0 -0
  131. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.15/broadleaf__ask__cold.json +0 -0
  132. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.15/broadleaf__ask__warm.json +0 -0
  133. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.15/eureka__ask__cold.json +0 -0
  134. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.15/eureka__ask__warm.json +0 -0
  135. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.15/jenkins__ask__cold.json +0 -0
  136. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.15/jenkins__ask__warm.json +0 -0
  137. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.15/jobrunr__ask__cold.json +0 -0
  138. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.15/jobrunr__ask__warm.json +0 -0
  139. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.15/keycloak__ask__cold.json +0 -0
  140. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.15/keycloak__ask__warm.json +0 -0
  141. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.15/neo4j__ask__cold.json +0 -0
  142. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.15/neo4j__ask__warm.json +0 -0
  143. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.15/ofbiz__ask__cold.json +0 -0
  144. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.15/ofbiz__ask__warm.json +0 -0
  145. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.15/openmrs__ask__cold.json +0 -0
  146. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.15/openmrs__ask__warm.json +0 -0
  147. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.15/petclinic__ask__cold.json +0 -0
  148. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.15/petclinic__ask__warm.json +0 -0
  149. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.16/SUMMARY.md +0 -0
  150. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.16/alfresco__ask__cold.json +0 -0
  151. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.16/alfresco__ask__warm.json +0 -0
  152. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.16/broadleaf__ask__cold.json +0 -0
  153. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.16/broadleaf__ask__warm.json +0 -0
  154. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.16/eureka__ask__cold.json +0 -0
  155. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.16/eureka__ask__warm.json +0 -0
  156. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.16/jenkins__ask__cold.json +0 -0
  157. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.16/jenkins__ask__warm.json +0 -0
  158. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.16/jobrunr__ask__cold.json +0 -0
  159. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.16/jobrunr__ask__warm.json +0 -0
  160. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.16/keycloak__ask__cold.json +0 -0
  161. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.16/keycloak__ask__warm.json +0 -0
  162. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.16/neo4j__ask__cold.json +0 -0
  163. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.16/neo4j__ask__warm.json +0 -0
  164. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.16/ofbiz__ask__cold.json +0 -0
  165. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.16/ofbiz__ask__warm.json +0 -0
  166. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.16/openmrs__ask__cold.json +0 -0
  167. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.16/openmrs__ask__warm.json +0 -0
  168. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.16/petclinic__ask__cold.json +0 -0
  169. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/2.5.16/petclinic__ask__warm.json +0 -0
  170. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/5.9.22/petclinic__ask__cold.json +0 -0
  171. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/5.9.22/petclinic__ask__warm.json +0 -0
  172. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/gate-latest/README.md +0 -0
  173. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/gate-latest/broadleaf__ask__warm.json +0 -0
  174. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/gate-latest/broadleaf__endpoints__warm.json +0 -0
  175. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/gate-latest/broadleaf__migrate-check__warm.json +0 -0
  176. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/gate-latest/broadleaf__posture__warm.json +0 -0
  177. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/gate-latest/broadleaf__spring-audit__warm.json +0 -0
  178. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/gate-latest/broadleaf__validation__warm.json +0 -0
  179. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/baselines/reference-best/README.md +0 -0
  180. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/perf/corpus-testing-2026-08-22.md +0 -0
  181. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/posture.md +0 -0
  182. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/privacy.md +0 -0
  183. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/pro-experience-audit.md +0 -0
  184. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/schema.md +0 -0
  185. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/spec/envelope-v1.md +0 -0
  186. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/spring-audit-ci.yml +0 -0
  187. {sourcecode-5.9.32 → sourcecode-5.9.33}/docs/update.md +0 -0
  188. {sourcecode-5.9.32 → sourcecode-5.9.33}/hatch_build.py +0 -0
  189. {sourcecode-5.9.32 → sourcecode-5.9.33}/scripts/compare_integration_engines.py +0 -0
  190. {sourcecode-5.9.32 → sourcecode-5.9.33}/scripts/context_cost_harness.py +0 -0
  191. {sourcecode-5.9.32 → sourcecode-5.9.33}/scripts/customer_smoke_test.sh +0 -0
  192. {sourcecode-5.9.32 → sourcecode-5.9.33}/scripts/generate_jdk_exports.py +0 -0
  193. {sourcecode-5.9.32 → sourcecode-5.9.33}/scripts/perf_gate.py +0 -0
  194. {sourcecode-5.9.32 → sourcecode-5.9.33}/scripts/perf_harness.py +0 -0
  195. {sourcecode-5.9.32 → sourcecode-5.9.33}/scripts/sync_gate_anchors.py +0 -0
  196. {sourcecode-5.9.32 → sourcecode-5.9.33}/scripts/test_fast.sh +0 -0
  197. {sourcecode-5.9.32 → sourcecode-5.9.33}/scripts/windows_reliability_matrix.py +0 -0
  198. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/__main__.py +0 -0
  199. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/access_drift.py +0 -0
  200. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/adaptive_scanner.py +0 -0
  201. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/analysis_budget.py +0 -0
  202. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/answer_bounds.py +0 -0
  203. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/archetype.py +0 -0
  204. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/architectural_baseline.py +0 -0
  205. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/architectural_delta.py +0 -0
  206. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/architecture_analyzer.py +0 -0
  207. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/architecture_summary.py +0 -0
  208. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/ast_extractor.py +0 -0
  209. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/audit_clusters.py +0 -0
  210. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/audit_recipe.py +0 -0
  211. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/audit_report.py +0 -0
  212. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/audit_since.py +0 -0
  213. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/audit_verify.py +0 -0
  214. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/baseline_attestation.py +0 -0
  215. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/baseline_autocapture.py +0 -0
  216. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/breaking_changes.py +0 -0
  217. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/build_modules.py +0 -0
  218. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/build_stamp.py +0 -0
  219. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/bundled_docs.py +0 -0
  220. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/c4_render.py +0 -0
  221. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/cache.py +0 -0
  222. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/cache_model.py +0 -0
  223. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/cache_observation.py +0 -0
  224. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/call_surface.py +0 -0
  225. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/caller_metrics.py +0 -0
  226. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/caller_reach.py +0 -0
  227. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/canonical_ir.py +0 -0
  228. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/chain_rules.py +0 -0
  229. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/change_plan.py +0 -0
  230. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/ci_output.py +0 -0
  231. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/cir_graphs.py +0 -0
  232. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/classifier.py +0 -0
  233. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/click_runtime.py +0 -0
  234. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/client_calls.py +0 -0
  235. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/code_notes_analyzer.py +0 -0
  236. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/compare.py +0 -0
  237. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/concurrency.py +0 -0
  238. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/confidence_analyzer.py +0 -0
  239. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/constraint_diff.py +0 -0
  240. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/consumer_join.py +0 -0
  241. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/container_wiring.py +0 -0
  242. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/context_cache.py +0 -0
  243. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/context_graph.py +0 -0
  244. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/context_scorer.py +0 -0
  245. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/context_summarizer.py +0 -0
  246. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/contract_diff.py +0 -0
  247. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/contract_init.py +0 -0
  248. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/contract_model.py +0 -0
  249. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/contract_pipeline.py +0 -0
  250. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/coverage_parser.py +0 -0
  251. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/cve_feed.py +0 -0
  252. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/cve_reachability.py +0 -0
  253. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/data_exposure.py +0 -0
  254. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/data_labels.py +0 -0
  255. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/declarations.py +0 -0
  256. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/defect_classes/__init__.py +0 -0
  257. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/defect_classes/registry.json +0 -0
  258. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/defect_identity.py +0 -0
  259. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/degradation.py +0 -0
  260. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/dependency_analyzer.py +0 -0
  261. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/deployment_prefix.py +0 -0
  262. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/detach.py +0 -0
  263. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/detectors/__init__.py +0 -0
  264. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/detectors/base.py +0 -0
  265. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/detectors/csproj_parser.py +0 -0
  266. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/detectors/dart.py +0 -0
  267. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/detectors/dotnet.py +0 -0
  268. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/detectors/elixir.py +0 -0
  269. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/detectors/go.py +0 -0
  270. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/detectors/heuristic.py +0 -0
  271. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/detectors/hybrid.py +0 -0
  272. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/detectors/java.py +0 -0
  273. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/detectors/jvm_ext.py +0 -0
  274. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/detectors/nodejs.py +0 -0
  275. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/detectors/parsers.py +0 -0
  276. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/detectors/php.py +0 -0
  277. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/detectors/project.py +0 -0
  278. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/detectors/python.py +0 -0
  279. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/detectors/ruby.py +0 -0
  280. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/detectors/rust.py +0 -0
  281. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/detectors/systems.py +0 -0
  282. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/detectors/terraform.py +0 -0
  283. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/detectors/tooling.py +0 -0
  284. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/doc_analyzer.py +0 -0
  285. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/dynamic_argument_surface.py +0 -0
  286. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/empty_answer_diagnostics.py +0 -0
  287. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/empty_reach.py +0 -0
  288. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/endpoint_disposition.py +0 -0
  289. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/endpoint_literals.py +0 -0
  290. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/endpoint_metrics.py +0 -0
  291. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/entrypoint_classifier.py +0 -0
  292. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/env_analyzer.py +0 -0
  293. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/envelope.py +0 -0
  294. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/environment_resolution.py +0 -0
  295. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/error_schema.py +0 -0
  296. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/evidence_provider.py +0 -0
  297. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/execution_plan.py +0 -0
  298. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/explain.py +0 -0
  299. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/explain_endpoint.py +0 -0
  300. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/facts/__init__.py +0 -0
  301. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/facts/registry.json +0 -0
  302. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/field_deprecations.py +0 -0
  303. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/file_chunker.py +0 -0
  304. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/file_classifier.py +0 -0
  305. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/filter_surface.py +0 -0
  306. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/findings_baseline.py +0 -0
  307. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/format_contract.py +0 -0
  308. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/fqn_utils.py +0 -0
  309. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/functional_routes.py +0 -0
  310. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/gate_anchors.py +0 -0
  311. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/git_analyzer.py +0 -0
  312. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/git_checkout.py +0 -0
  313. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/github_diff.py +0 -0
  314. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/graph_analyzer.py +0 -0
  315. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/graph_evidence.py +0 -0
  316. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/hibernate_strat.py +0 -0
  317. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/identity_fallback.py +0 -0
  318. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/inflight.py +0 -0
  319. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/integration_coordinates.py +0 -0
  320. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/intent_router.py +0 -0
  321. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/jdk_exports.py +0 -0
  322. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/jvm_inventory.py +0 -0
  323. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/license.py +0 -0
  324. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/manifest_cache.py +0 -0
  325. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/mcp/__init__.py +0 -0
  326. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/mcp/dependency_import.py +0 -0
  327. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/mcp/onboarding/__init__.py +0 -0
  328. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/mcp/onboarding/applier.py +0 -0
  329. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/mcp/onboarding/backup.py +0 -0
  330. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/mcp/onboarding/detector.py +0 -0
  331. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/mcp/onboarding/planner.py +0 -0
  332. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/mcp/orchestrator.py +0 -0
  333. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/mcp/registry.py +0 -0
  334. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/mcp/runner.py +0 -0
  335. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/mcp/server.py +0 -0
  336. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/mcp_nudge.py +0 -0
  337. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/metrics_analyzer.py +0 -0
  338. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/migrate_check.py +0 -0
  339. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/migration_apply.py +0 -0
  340. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/migration_blast.py +0 -0
  341. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/non_coverage.py +0 -0
  342. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/openapi_surface.py +0 -0
  343. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/openrewrite_recipe.py +0 -0
  344. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/output_bounds.py +0 -0
  345. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/output_budget.py +0 -0
  346. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/output_ceiling.py +0 -0
  347. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/output_encoding.py +0 -0
  348. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/output_sink.py +0 -0
  349. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/pack_manifest.py +0 -0
  350. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/packs.py +0 -0
  351. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/parallel.py +0 -0
  352. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/parse_cache.py +0 -0
  353. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/partial_contract.py +0 -0
  354. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/path_admission.py +0 -0
  355. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/path_display.py +0 -0
  356. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/path_filters.py +0 -0
  357. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/perf.py +0 -0
  358. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/phased_run.py +0 -0
  359. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/pipe_contract.py +0 -0
  360. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/posture.py +0 -0
  361. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/pr_comment_renderer.py +0 -0
  362. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/pr_impact.py +0 -0
  363. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/pr_risk.py +0 -0
  364. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/prepare_context.py +0 -0
  365. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/product_info.py +0 -0
  366. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/progress.py +0 -0
  367. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/provenance.py +0 -0
  368. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/ranking_engine.py +0 -0
  369. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/readiness_timeline.py +0 -0
  370. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/readonly.py +0 -0
  371. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/reconciliation.py +0 -0
  372. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/redactor.py +0 -0
  373. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/reference_facts.py +0 -0
  374. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/regress.py +0 -0
  375. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/regulatory_pack.py +0 -0
  376. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/release_info.py +0 -0
  377. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/relevance_scorer.py +0 -0
  378. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/remediation_diff.py +0 -0
  379. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/remediation_flow.py +0 -0
  380. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/remediation_report.py +0 -0
  381. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/remedies.py +0 -0
  382. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/rename_refactor.py +0 -0
  383. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/repo_classifier.py +0 -0
  384. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/repository_ir.py +0 -0
  385. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/resource_budget.py +0 -0
  386. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/retrieval/__init__.py +0 -0
  387. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/retrieval/context.py +0 -0
  388. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/retrieval/errors.py +0 -0
  389. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/retrieval/executor.py +0 -0
  390. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/retrieval/planner.py +0 -0
  391. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/retrieval/query.py +0 -0
  392. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/retrieval/request.py +0 -0
  393. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/retrieval/resolution.py +0 -0
  394. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/retrieval/result.py +0 -0
  395. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/retrieval/retriever.py +0 -0
  396. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/retrieval/runtime.py +0 -0
  397. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/retrieval/steps.py +0 -0
  398. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/retrieval/steps_endpoint.py +0 -0
  399. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/retrieval/steps_graph.py +0 -0
  400. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/retrieval/steps_impact.py +0 -0
  401. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/retrieval/steps_intf.py +0 -0
  402. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/retrieval/steps_struct.py +0 -0
  403. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/retrieval/steps_txsec.py +0 -0
  404. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/ris.py +0 -0
  405. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/risk.py +0 -0
  406. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/risk_model.py +0 -0
  407. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/rule_catalog.py +0 -0
  408. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/rule_pass.py +0 -0
  409. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/runs.py +0 -0
  410. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/runtime_classifier.py +0 -0
  411. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/sarif.py +0 -0
  412. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/sarif_emit.py +0 -0
  413. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/scanner.py +0 -0
  414. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/schema.py +0 -0
  415. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/schema_producers.py +0 -0
  416. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/schema_registry.py +0 -0
  417. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/schemas/core-analysis-v1.schema.json +0 -0
  418. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/schemas/cve-reachability-v1.schema.json +0 -0
  419. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/schemas/endpoints-v1.schema.json +0 -0
  420. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/schemas/envelope-v1.schema.json +0 -0
  421. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/schemas/pr-impact-v1.schema.json +0 -0
  422. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/schemas/verify-edit-v1.schema.json +0 -0
  423. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/schemas/verify-v1.schema.json +0 -0
  424. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/security_chain.py +0 -0
  425. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/security_config.py +0 -0
  426. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/security_config_scan.py +0 -0
  427. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/security_posture.py +0 -0
  428. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/selection_contract.py +0 -0
  429. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/self_audit.py +0 -0
  430. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/selftest.py +0 -0
  431. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/semantic_analyzer.py +0 -0
  432. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/semantic_impact_engine.py +0 -0
  433. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/semantic_integration_engine.py +0 -0
  434. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/semantic_services.py +0 -0
  435. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/serializer.py +0 -0
  436. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/servlet_surface.py +0 -0
  437. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/source_text.py +0 -0
  438. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/spring_event_topology.py +0 -0
  439. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/spring_findings.py +0 -0
  440. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/spring_impact.py +0 -0
  441. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/spring_model.py +0 -0
  442. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/spring_profiles.py +0 -0
  443. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/spring_properties.py +0 -0
  444. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/spring_security_audit.py +0 -0
  445. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/spring_semantic.py +0 -0
  446. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/spring_tx_analyzer.py +0 -0
  447. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/sql_taint.py +0 -0
  448. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/summarizer.py +0 -0
  449. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/target_admission.py +0 -0
  450. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/telemetry/__init__.py +0 -0
  451. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/telemetry/config.py +0 -0
  452. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/telemetry/consent.py +0 -0
  453. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/telemetry/events.py +0 -0
  454. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/telemetry/filters.py +0 -0
  455. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/telemetry/lifecycle.py +0 -0
  456. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/telemetry/transport.py +0 -0
  457. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/test_gap_ranking.py +0 -0
  458. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/test_sources.py +0 -0
  459. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/text_input.py +0 -0
  460. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/timeline.py +0 -0
  461. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/timeline_cache.py +0 -0
  462. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/token_estimate.py +0 -0
  463. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/tree_utils.py +0 -0
  464. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/type_usage_surface.py +0 -0
  465. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/update.py +0 -0
  466. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/validation_inference.py +0 -0
  467. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/validation_surface.py +0 -0
  468. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/verify_edit.py +0 -0
  469. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/verify_repo.py +0 -0
  470. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/verify_rules.py +0 -0
  471. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/version_check.py +0 -0
  472. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/vex.py +0 -0
  473. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/waivers.py +0 -0
  474. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/watch_loop.py +0 -0
  475. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/wired_surface.py +0 -0
  476. {sourcecode-5.9.32 → sourcecode-5.9.33}/src/sourcecode/workspace.py +0 -0
  477. {sourcecode-5.9.32 → sourcecode-5.9.33}/supabase/functions/README.md +0 -0
  478. {sourcecode-5.9.32 → sourcecode-5.9.33}/supabase/functions/get-license/index.ts +0 -0
  479. {sourcecode-5.9.32 → sourcecode-5.9.33}/supabase/functions/lemonsqueezy-webhook/index.ts +0 -0
  480. {sourcecode-5.9.32 → sourcecode-5.9.33}/supabase/functions/telemetry/contract.test.ts +0 -0
  481. {sourcecode-5.9.32 → sourcecode-5.9.33}/supabase/functions/telemetry/contract.ts +0 -0
  482. {sourcecode-5.9.32 → sourcecode-5.9.33}/supabase/functions/telemetry/index.ts +0 -0
  483. {sourcecode-5.9.32 → sourcecode-5.9.33}/supabase/sql/license_event_ordering.sql +0 -0
  484. {sourcecode-5.9.32 → sourcecode-5.9.33}/supabase/sql/licensing_schema.sql +0 -0
  485. {sourcecode-5.9.32 → sourcecode-5.9.33}/supabase/sql/telemetry_events.sql +0 -0
  486. {sourcecode-5.9.32 → sourcecode-5.9.33}/supabase/sql/telemetry_product_metrics.sql +0 -0
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## [5.9.33] — 2026-09-15
4
+
5
+ *Patch release keeping `ask --help` responsive on large repositories.*
6
+
7
+ ### Fixed
8
+
9
+ - Bare `ask --help` no longer scans the current directory while building
10
+ contextual suggestions. Repository-aware help remains available with
11
+ `ask <repo> --help`.
12
+ - Informational `--help` and `--version` exits no longer fail because an
13
+ unrelated `--output` path was not created.
14
+
3
15
  ## [5.9.32] — 2026-09-15
4
16
 
5
17
  *Patch release adding safe, explicit PyPI update notifications and installation.*
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sourcecode
3
- Version: 5.9.32
3
+ Version: 5.9.33
4
4
  Summary: Persistent structural context and ultra-fast repeated analysis for AI coding agents
5
5
  Project-URL: Homepage, https://github.com/HarounDominique/sourcecode
6
6
  Project-URL: Repository, https://github.com/HarounDominique/sourcecode
@@ -59,7 +59,7 @@ Description-Content-Type: text/markdown
59
59
  > question. All analysis is local and deterministic; see [Privacy](#configuration--privacy)
60
60
  > before inspecting a repository whose telemetry policy you need to control.
61
61
 
62
- ![Version](https://img.shields.io/badge/version-5.9.32-blue)
62
+ ![Version](https://img.shields.io/badge/version-5.9.33-blue)
63
63
  ![Python](https://img.shields.io/badge/python-3.9%2B-green)
64
64
 
65
65
  Copyright (c) 2026 Dominique Haroun. All rights reserved. ASK Engine 5.7.0 and
@@ -290,7 +290,7 @@ brew tap haroundominique/sourcecode && brew install sourcecode
290
290
  # pip / pipx
291
291
  pipx install sourcecode # or: pip install sourcecode
292
292
 
293
- ask version # ask 5.9.32 — and, on a build that has aged,
293
+ ask version # ask 5.9.33 — and, on a build that has aged,
294
294
  # how many releases have probably shipped since
295
295
  ```
296
296
 
@@ -10,7 +10,7 @@
10
10
  > question. All analysis is local and deterministic; see [Privacy](#configuration--privacy)
11
11
  > before inspecting a repository whose telemetry policy you need to control.
12
12
 
13
- ![Version](https://img.shields.io/badge/version-5.9.32-blue)
13
+ ![Version](https://img.shields.io/badge/version-5.9.33-blue)
14
14
  ![Python](https://img.shields.io/badge/python-3.9%2B-green)
15
15
 
16
16
  Copyright (c) 2026 Dominique Haroun. All rights reserved. ASK Engine 5.7.0 and
@@ -241,7 +241,7 @@ brew tap haroundominique/sourcecode && brew install sourcecode
241
241
  # pip / pipx
242
242
  pipx install sourcecode # or: pip install sourcecode
243
243
 
244
- ask version # ask 5.9.32 — and, on a build that has aged,
244
+ ask version # ask 5.9.33 — and, on a build that has aged,
245
245
  # how many releases have probably shipped since
246
246
  ```
247
247
 
@@ -279,7 +279,7 @@ pipx install sourcecode # isolated install, no venv needed
279
279
 
280
280
  # Verify
281
281
  ask version
282
- # ask 5.9.32
282
+ # ask 5.9.33
283
283
  ```
284
284
 
285
285
  Requires Python 3.9+.
@@ -0,0 +1,107 @@
1
+ # Auditoría intensiva del camino crítico de ASK (2026-09-15)
2
+
3
+ ## Repositorios y ground truth
4
+
5
+ | Repo | SHA auditado | Características |
6
+ |---|---|---|
7
+ | `testing/fullstack-app/spring-boot-server` | `de63350a76b0ad272b43a17d6aa071e5585b904c` | 6 Java, Spring Boot 3.1, Maven, REST/JPA; checkout padre Git |
8
+ | `spring-projects/spring-petclinic` | `818c4136ea971c21674525f9053de0d9c7ad8cfe` | 50 Java, Spring Boot 4.1, Maven/Gradle, MVC/Thymeleaf/JPA |
9
+ | `apache/kafka` | `3eb0b8c1b27d10084a6fee3b787616ddc06bcedc` | 6,188 Java, Gradle, multimódulo, Scala, JAX-RS/Trogdor |
10
+ | `micronaut-projects/micronaut-core` | `09c62d0ed1a51703dab798867218a9a116192ca7` | 5,378 Java, Gradle, JVM/Micronaut, Java/Kotlin/Groovy |
11
+
12
+ Los tres últimos fueron clones shallow de GitHub sin modificar sus fuentes; Kafka y
13
+ Micronaut se usaron para estresar tamaño y arquitectura. El checkout local contiene
14
+ archivos no versionados del entorno (`.ade`, `memory-bank`, `testdb.mv.db`), que ASK
15
+ reporta honestamente como estado Git sucio.
16
+
17
+ ## Alcance y matriz ejecutada
18
+
19
+ Se inspeccionaron CLI, `prepare-context`, parser/IR, serializadores `compact` y
20
+ `agent`, Git, caché, MCP, contratos de salida y tests. Para cada repo se ejecutaron
21
+ las salidas compacta y agent, endpoints cuando aplicaba, tres análisis repetidos,
22
+ frío/cálido, y un ciclo modificar → analizar → revertir → analizar. También se
23
+ probaron repositorio vacío, POM roto, Java inválido, Unicode y symlink.
24
+
25
+ Ground truth independiente: conteo `find`, lectura directa de controladores,
26
+ `ripgrep` de anotaciones, `git log/diff/status`, manifests y SHAs. En el servidor
27
+ local ASK encontró exactamente los 7 mappings REST reales. En Petclinic encontró
28
+ 17 rutas; la inspección de controladores confirma 17 mappings literales. Kafka
29
+ expone 44 rutas JAX-RS en Trogdor, que ASK enumera como 44.
30
+
31
+ ## Rendimiento observado
32
+
33
+ Medianas aproximadas de cuatro ejecuciones de `ask <repo> --compact --format json`
34
+ (primera fría, tres posteriores cálidas; macOS/Python 3.14, caché local):
35
+
36
+ | Repo | Java | Frío | Cálido (mediana) | Compact bytes | Agent bytes |
37
+ |---|---:|---:|---:|---:|---:|
38
+ | server local | 6 | 0.57 s | 0.40 s | 8,603 | 12,288 |
39
+ | Petclinic | 50 | 0.67 s | 0.40 s | 11,661 | 26,778 |
40
+ | Kafka | 6,188 | 6.02 s | 0.46 s | 14,332 | 39,329 |
41
+ | Micronaut | 5,378 | 4.13 s | 0.56 s | 15,096 | 25,120 |
42
+
43
+ No es una baseline de memoria ni de otras plataformas. El principal coste frío es
44
+ el escaneo/parsing inicial; la caché reduce el coste posterior de forma material.
45
+
46
+ ## Findings
47
+
48
+ | ID / severidad / estado | Reproducción y evidencia | Impacto / decisión |
49
+ |---|---|---|
50
+ | CORE-001 / HIGH / CONFIRMED | `ask analyze --since HEAD` no es una invocación válida; `--since` existe en `prepare-context delta`. | La documentación de la tarea usa un nombre conceptual distinto al contrato CLI real. No se cambia retrospectivamente: usar `ask prepare-context delta <repo> --since REF`; añadir alias sería una decisión de API separada. |
51
+ | CORE-002 / MEDIUM / CONFIRMED | `prepare-context delta --since HEAD` publica `git diff --name-only HEAD HEAD` e `includes_uncommitted=false`; una modificación sin commit produce `no_changes`. | Correcto para comparación de refs, peligroso si el agente cree que incluye working tree. El payload lo declara; el bucle de cambios locales debe usar la ruta de análisis con `--git-context`/changed-only. |
52
+ | CORE-003 / MEDIUM / CONFIRMED LIMITATION | Micronaut: 87 controladores aparecen en el inventario, pero `endpoints` devuelve 0 y `coverage.gaps` declara `micronaut: 87 controllers`. | No es un falso cero oculto: la limitación está explícita. ASK no debe usarse como inventario HTTP Micronaut hasta añadir extractor específico. |
53
+ | CORE-004 / LOW / CONFIRMED LIMITATION | Arquitectura de Kafka/Micronaut infiere capas por directorios y emite limitaciones de baja confianza/refutación. | El resultado no presenta la inferencia como certeza y conserva `confidence`/`limitations`. No corregir con heurísticas por repo. |
54
+ | CORE-005 / LOW / CONFIRMED | En el checkout local, archivos no versionados del entorno entran en `uncommitted_files` y hotspots no distinguen intención humana. | Es fiel a Git y no altera la semántica; consumidores deben leer `tree_state` y `scope`. |
55
+ | CORE-006 / LOW / NOT-REPRODUCED | Tres ejecuciones idénticas de Petclinic producen el mismo hash semántico tras quitar clocks/cache metadata. | No hay defecto de determinismo en la muestra. |
56
+
57
+ No se encontraron defectos CRITICAL/HIGH de corrección en las rutas ejecutadas
58
+ fuera de la incompatibilidad de nombre `analyze --since`. No se modificó código de
59
+ análisis porque las limitaciones observadas ya se publican de manera inequívoca.
60
+
61
+ ## CLI, MCP, compact y agent
62
+
63
+ `get_agent_context` MCP y `ask <repo> --agent` devolvieron el mismo proyecto,
64
+ frameworks, entry points y señales para Petclinic. MCP añade la envoltura
65
+ `success/data/error`, conservando el contrato interno. Las llamadas consecutivas
66
+ comparten la misma caché y el mismo scope; los errores se estructuran sin traceback.
67
+
68
+ `--compact` cambia la forma y elimina detalle, pero conserva identidad de proyecto,
69
+ entry points, dependencias, confianza y gaps. No se observaron cifras materiales
70
+ contradictorias respecto a `--agent`; los bytes muestran una reducción clara en
71
+ repos pequeños y grandes. La salida agent puede ser 1.7–2.7× mayor que compacta,
72
+ porque incorpora señales y razones útiles para decisiones del modelo.
73
+
74
+ ## Caché e incrementalidad
75
+
76
+ La clave incorpora SHA, estado dirty y fingerprint del analizador. En Petclinic:
77
+
78
+ ```text
79
+ cold served_from_cache=false, fresh
80
+ repetido served_from_cache=true, L2_view
81
+ modificar served_from_cache=false, fresh, tree=<sha>+dirty:<hash>
82
+ revertir served_from_cache=true, L2_view
83
+ ```
84
+
85
+ No se observó stale-cache, símbolo fantasma ni duplicación en este ciclo. `--since`
86
+ debe interpretarse como comparación de commits/ref; no sustituye la detección de
87
+ cambios no committeados.
88
+
89
+ ## Robustez y seguridad
90
+
91
+ Repos vacío, POM roto, Java sintácticamente inválido, Unicode y symlink terminaron
92
+ con JSON válido y `rc=0` con gaps/confianza, sin traceback. No se escribieron los
93
+ repositorios auditados. Los límites de salida publican `answer_bounds`; las
94
+ superficies no soportadas se enumeran en `non_coverage`/`coverage.gaps`.
95
+
96
+ ## Veredicto
97
+
98
+ 1. `ask <repo> --agent` es suficientemente fiable para comprensión continua de repos Java/Spring muestreados, siempre leyendo confianza y gaps.
99
+ 2. `prepare-context delta --since REF` es fiable para deltas entre refs; no debe tratarse como working-tree delta cuando REF es `HEAD`.
100
+ 3. `--compact` conserva hechos centrales y reduce materialmente el output.
101
+ 4. `--agent` es claro y estable para un LLM, con límites explícitos.
102
+ 5. CLI y MCP son semánticamente equivalentes en la muestra; MCP añade envoltura y límites propios.
103
+ 6. No se confirmó stale-cache; la invalidación por estado dirty funcionó.
104
+ 7. El cuello de botella principal es el primer escaneo/parsing frío de repos grandes.
105
+ 8. El principal riesgo de corrección es interpretar como completa una superficie que ASK declara fuera de cobertura (Micronaut HTTP, servlets y DSLs no soportados).
106
+ 9. La siguiente inversión base debería ser un contrato incremental unificado que nombre explícitamente `ref delta` frente a `working-tree delta`, seguido de extractor Micronaut si ese stack es prioritario.
107
+ 10. Confiaría en ASK para estructura, dependencias, mappings soportados, cambios Git entre refs y contexto agent; no lo usaría como única fuente de verdad para reflexión, proxies runtime o endpoints de frameworks declarados en `coverage.gaps`.
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "sourcecode"
7
- version = "5.9.32"
7
+ version = "5.9.33"
8
8
  description = "Persistent structural context and ultra-fast repeated analysis for AI coding agents"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
@@ -4,4 +4,4 @@ ASK Engine is the product. ``ask`` is the canonical CLI command; ``sourcecode``
4
4
  the legacy compatibility alias and the Python/PyPI package name. See
5
5
  docs/PRODUCT_IDENTITY.md (normative)."""
6
6
 
7
- __version__ = "5.9.32"
7
+ __version__ = "5.9.33"
@@ -782,13 +782,24 @@ def _help_scope() -> "Optional[Any]":
782
782
  # carries this block.
783
783
  if any(not arg.startswith("-") and arg in _SUBCOMMANDS for arg in argv):
784
784
  return None
785
+ # Bare ``ask --help`` is an informational command. Do not infer the
786
+ # current working directory as its repository: on a large checkout that
787
+ # turns help generation into an unbounded recursive scan before Click can
788
+ # print a single line. Scope-aware help remains available when the caller
789
+ # explicitly supplies a repository path (``ask <repo> --help``).
790
+ explicit_roots = [
791
+ Path(arg) for arg in argv
792
+ if not arg.startswith("-") and arg not in _SUBCOMMANDS
793
+ ]
794
+ if not explicit_roots:
795
+ return None
785
796
  try:
786
797
  from sourcecode.execution_plan import measure_scope
787
798
 
788
799
  # The path token is lifted out of argv by `_preprocess_args` before Click
789
800
  # sees it, so `ask <repo> --help` is read from the same thread-local every
790
801
  # command reads, not from argv.
791
- target = Path(_get_detected_path() or ".")
802
+ target = Path(_get_detected_path() or explicit_roots[0])
792
803
  if not target.is_dir():
793
804
  target = Path.cwd()
794
805
  return measure_scope(target)
@@ -3214,6 +3225,13 @@ def _record_output_promise(argv: "list[str]") -> None:
3214
3225
  _OUTPUT_PROMISED = None
3215
3226
  _OUTPUT_DELIVERED = False
3216
3227
  _ANSWER_REQUIRED_BY = None
3228
+ # Informational exits are handled by Click before any command callback or
3229
+ # output seam runs. An output option may still be present (for example
3230
+ # ``ask --help --output help.txt``), but help/version are not answers that
3231
+ # promise the requested analysis file. Arming the delivery guard here
3232
+ # would turn a successful informational command into a false failure.
3233
+ if any(token in ("--help", "-h", "--version") for token in argv):
3234
+ return
3217
3235
  for i, token in enumerate(argv):
3218
3236
  value: "Optional[str]" = None
3219
3237
  if token in ("--output", "-o"):
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes