sourcecode 5.9.4__tar.gz → 5.9.7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (451) hide show
  1. {sourcecode-5.9.4 → sourcecode-5.9.7}/CHANGELOG.md +27 -0
  2. {sourcecode-5.9.4 → sourcecode-5.9.7}/PKG-INFO +5 -5
  3. {sourcecode-5.9.4 → sourcecode-5.9.7}/README.md +4 -4
  4. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/DEFECT-LEDGER.md +94 -0
  5. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/DEVELOPMENT-ROADMAP.md +130 -3
  6. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/EXECUTIVE-ROADMAP.md +15 -2
  7. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/MANUAL-USUARIO.md +2 -2
  8. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/USER_GUIDE.md +4 -4
  9. {sourcecode-5.9.4 → sourcecode-5.9.7}/pyproject.toml +1 -1
  10. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/__init__.py +1 -1
  11. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/cli.py +78 -56
  12. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/git_checkout.py +1 -1
  13. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/intent_router.py +2 -1
  14. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/prepare_context.py +2 -2
  15. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/progress.py +32 -1
  16. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/self_audit.py +25 -1
  17. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/spring_impact.py +2 -0
  18. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/spring_model.py +41 -1
  19. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/summarizer.py +4 -0
  20. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/timeline.py +1 -1
  21. {sourcecode-5.9.4 → sourcecode-5.9.7}/.github/workflows/build-windows.yml +0 -0
  22. {sourcecode-5.9.4 → sourcecode-5.9.7}/.github/workflows/perf-gate.yml +0 -0
  23. {sourcecode-5.9.4 → sourcecode-5.9.7}/.github/workflows/windows-battery.yml +0 -0
  24. {sourcecode-5.9.4 → sourcecode-5.9.7}/.gitignore +0 -0
  25. {sourcecode-5.9.4 → sourcecode-5.9.7}/.ruff.toml +0 -0
  26. {sourcecode-5.9.4 → sourcecode-5.9.7}/CLAUDE.md +0 -0
  27. {sourcecode-5.9.4 → sourcecode-5.9.7}/CODE_OF_CONDUCT.md +0 -0
  28. {sourcecode-5.9.4 → sourcecode-5.9.7}/CONTRIBUTING.md +0 -0
  29. {sourcecode-5.9.4 → sourcecode-5.9.7}/LICENSE +0 -0
  30. {sourcecode-5.9.4 → sourcecode-5.9.7}/NOTICE +0 -0
  31. {sourcecode-5.9.4 → sourcecode-5.9.7}/SECURITY.md +0 -0
  32. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/AUDIT-2026-08-22-5.8.22.md +0 -0
  33. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/AUDIT-2026-08-23-5.8.24.md +0 -0
  34. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/AUDIT-2026-08-23-COMMERCIAL.md +0 -0
  35. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/AUDIT-2026-08-23-CORPUS-AMPLIADO.md +0 -0
  36. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/AUDIT-2026-08-23-EXTERNAL-5.8.25.md +0 -0
  37. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/AUDIT-2026-08-23-EXTERNAL-5.8.26.md +0 -0
  38. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/AUDIT-2026-08-23-THINGSBOARD-FINDINGS.md +0 -0
  39. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/AUDIT-2026-08-26-EXTERNAL-5.8.26.md +0 -0
  40. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/AUDIT-2026-08-26-EXTERNAL-5.8.27.md +0 -0
  41. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/AUDIT-2026-08-26-EXTERNAL-5.8.28-PACK.md +0 -0
  42. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/AUDIT-2026-08-26-EXTERNAL-5.8.28.md +0 -0
  43. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/AUDIT-2026-08-26-EXTERNAL-5.8.31.md +0 -0
  44. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/AUDIT-2026-08-26-EXTERNAL-5.8.32.md +0 -0
  45. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/AUDIT-2026-08-26-EXTERNAL-5.9.0.md +0 -0
  46. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/AUDIT-2026-08-26-MONETIZATION.md +0 -0
  47. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/AUDIT-2026-08-27-EXTERNAL-5.9.2.md +0 -0
  48. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/AUDIT-2026-08-27-EXTERNAL-5.9.3.md +0 -0
  49. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/AUDIT-TESTING-CORPUS-2026-08-22.md +0 -0
  50. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/CACHE.md +0 -0
  51. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/COMMERCIAL-OFFER.md +0 -0
  52. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/CUSTOMER-VALIDATION.md +0 -0
  53. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/DEMO-5MIN.md +0 -0
  54. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/DOCUMENTATION-HYGIENE-2026-08-23.md +0 -0
  55. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/EXECUTION-PLAN-12MO.md +0 -0
  56. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/MODERNIZATION.md +0 -0
  57. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/PRODUCT-ROUTE.md +0 -0
  58. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/PRODUCT_AUDIT.md +0 -0
  59. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/PRODUCT_IDENTITY.md +0 -0
  60. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/PRODUCT_TIERS.md +0 -0
  61. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/RC1-CHECKLIST.md +0 -0
  62. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/RELEASE-CHECKLIST.md +0 -0
  63. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/STRATEGY-2026-08-26-AGENT-CONTEXT.md +0 -0
  64. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/architecture/CATALOG-retrieval-intents.md +0 -0
  65. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/architecture/DESIGN-assessment-deployment-evidence.md +0 -0
  66. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/architecture/DESIGN-assessment-report.md +0 -0
  67. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/architecture/DESIGN-build-closure-provenance.md +0 -0
  68. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/architecture/DESIGN-knowledge-provider-integration.md +0 -0
  69. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/architecture/DESIGN-p5.3b-statement-surface.md +0 -0
  70. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/architecture/DESIGN-p5.5-span-index.md +0 -0
  71. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/architecture/DESIGN-p6-semantic-impact-engine.md +0 -0
  72. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/architecture/DESIGN-p6-semantic-integration-engine.md +0 -0
  73. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/architecture/DESIGN-p7-semantic-services.md +0 -0
  74. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/architecture/DESIGN-pack-gate-ci.md +0 -0
  75. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/architecture/DESIGN-pack-manifest.md +0 -0
  76. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/architecture/DESIGN-pack-mcp-api.md +0 -0
  77. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/architecture/DESIGN-robustness-security-inference.md +0 -0
  78. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/architecture/DESIGN-semantic-retrieval.md +0 -0
  79. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/architecture/EPV-p6-class-typeref.md +0 -0
  80. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/architecture/REPORT-p6-flow-analyzer-comparison.md +0 -0
  81. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/architecture/REPORT-p6-integration-detector-comparison.md +0 -0
  82. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/architecture/REPORT-p8-flow-analyzer-migration.md +0 -0
  83. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/architecture/REPORT-p9-integration-detector-migration.md +0 -0
  84. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/architecture/adr/0001-semantic-ir.md +0 -0
  85. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/architecture/adr/0002-source-evidence-boundary.md +0 -0
  86. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/architecture/adr/0003-architectural-characterization.md +0 -0
  87. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/architecture/adr/0004-semantic-retrieval.md +0 -0
  88. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/architecture/adr/0005-evidence-reconciliation.md +0 -0
  89. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/architecture/adr/0006-performance-harness.md +0 -0
  90. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/architecture/adr/0007-composition-semantics.md +0 -0
  91. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/architecture/adr/0008-answer-coherence.md +0 -0
  92. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/architecture/consumer-disposition-inventory.md +0 -0
  93. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/architecture/overview.md +0 -0
  94. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/architecture/product-architecture-review.md +0 -0
  95. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/architecture/product-strategy-layering.md +0 -0
  96. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/architecture/semantic-ir-consumer-matrix.md +0 -0
  97. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/architecture/semantic-ir-roadmap.md +0 -0
  98. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/baseline-ci.yml +0 -0
  99. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/commercial-pipeline-audit.md +0 -0
  100. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/contracts-ci.yml +0 -0
  101. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/contracts.md +0 -0
  102. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/eval/2026-06-15-petclinic-rest-issue11-vets-pagination.md +0 -0
  103. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/eval/2026-06-15-petclinic-rest-issue147-validation.md +0 -0
  104. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/eval/2026-06-15-petclinic-rest-workflow.md +0 -0
  105. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/eval/2026-06-15-phase18-openapi-surface.md +0 -0
  106. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/eval/2026-06-15-phase20-validation-surface.md +0 -0
  107. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/eval/2026-06-16-broadleaf-checkout-impact-fieldtest.md +0 -0
  108. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/eval/2026-06-16-petclinic-rest-issue11-weakness2-closed.md +0 -0
  109. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/eval/2026-06-16-spring-petclinic-issue2333-dead-vets.md +0 -0
  110. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/licensing-schema.md +0 -0
  111. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/migrate-check.md +0 -0
  112. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/pack-gate-github-actions.yml +0 -0
  113. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/pack-gate-gitlab.yml +0 -0
  114. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/README.md +0 -0
  115. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/REGRESSION-GATE.md +0 -0
  116. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.15/SUMMARY.md +0 -0
  117. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.15/alfresco__ask__cold.json +0 -0
  118. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.15/alfresco__ask__warm.json +0 -0
  119. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.15/broadleaf__ask__cold.json +0 -0
  120. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.15/broadleaf__ask__warm.json +0 -0
  121. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.15/eureka__ask__cold.json +0 -0
  122. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.15/eureka__ask__warm.json +0 -0
  123. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.15/jenkins__ask__cold.json +0 -0
  124. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.15/jenkins__ask__warm.json +0 -0
  125. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.15/jobrunr__ask__cold.json +0 -0
  126. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.15/jobrunr__ask__warm.json +0 -0
  127. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.15/keycloak__ask__cold.json +0 -0
  128. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.15/keycloak__ask__warm.json +0 -0
  129. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.15/neo4j__ask__cold.json +0 -0
  130. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.15/neo4j__ask__warm.json +0 -0
  131. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.15/ofbiz__ask__cold.json +0 -0
  132. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.15/ofbiz__ask__warm.json +0 -0
  133. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.15/openmrs__ask__cold.json +0 -0
  134. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.15/openmrs__ask__warm.json +0 -0
  135. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.15/petclinic__ask__cold.json +0 -0
  136. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.15/petclinic__ask__warm.json +0 -0
  137. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.16/SUMMARY.md +0 -0
  138. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.16/alfresco__ask__cold.json +0 -0
  139. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.16/alfresco__ask__warm.json +0 -0
  140. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.16/broadleaf__ask__cold.json +0 -0
  141. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.16/broadleaf__ask__warm.json +0 -0
  142. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.16/eureka__ask__cold.json +0 -0
  143. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.16/eureka__ask__warm.json +0 -0
  144. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.16/jenkins__ask__cold.json +0 -0
  145. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.16/jenkins__ask__warm.json +0 -0
  146. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.16/jobrunr__ask__cold.json +0 -0
  147. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.16/jobrunr__ask__warm.json +0 -0
  148. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.16/keycloak__ask__cold.json +0 -0
  149. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.16/keycloak__ask__warm.json +0 -0
  150. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.16/neo4j__ask__cold.json +0 -0
  151. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.16/neo4j__ask__warm.json +0 -0
  152. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.16/ofbiz__ask__cold.json +0 -0
  153. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.16/ofbiz__ask__warm.json +0 -0
  154. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.16/openmrs__ask__cold.json +0 -0
  155. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.16/openmrs__ask__warm.json +0 -0
  156. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.16/petclinic__ask__cold.json +0 -0
  157. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/2.5.16/petclinic__ask__warm.json +0 -0
  158. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/gate-latest/README.md +0 -0
  159. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/gate-latest/broadleaf__ask__warm.json +0 -0
  160. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/gate-latest/broadleaf__endpoints__warm.json +0 -0
  161. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/gate-latest/broadleaf__migrate-check__warm.json +0 -0
  162. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/gate-latest/broadleaf__posture__warm.json +0 -0
  163. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/gate-latest/broadleaf__spring-audit__warm.json +0 -0
  164. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/gate-latest/broadleaf__validation__warm.json +0 -0
  165. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/baselines/reference-best/README.md +0 -0
  166. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/perf/corpus-testing-2026-08-22.md +0 -0
  167. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/posture.md +0 -0
  168. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/privacy.md +0 -0
  169. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/pro-experience-audit.md +0 -0
  170. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/schema.md +0 -0
  171. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/spec/envelope-v1.md +0 -0
  172. {sourcecode-5.9.4 → sourcecode-5.9.7}/docs/spring-audit-ci.yml +0 -0
  173. {sourcecode-5.9.4 → sourcecode-5.9.7}/hatch_build.py +0 -0
  174. {sourcecode-5.9.4 → sourcecode-5.9.7}/scripts/compare_integration_engines.py +0 -0
  175. {sourcecode-5.9.4 → sourcecode-5.9.7}/scripts/context_cost_harness.py +0 -0
  176. {sourcecode-5.9.4 → sourcecode-5.9.7}/scripts/customer_smoke_test.sh +0 -0
  177. {sourcecode-5.9.4 → sourcecode-5.9.7}/scripts/generate_jdk_exports.py +0 -0
  178. {sourcecode-5.9.4 → sourcecode-5.9.7}/scripts/perf_gate.py +0 -0
  179. {sourcecode-5.9.4 → sourcecode-5.9.7}/scripts/perf_harness.py +0 -0
  180. {sourcecode-5.9.4 → sourcecode-5.9.7}/scripts/sync_gate_anchors.py +0 -0
  181. {sourcecode-5.9.4 → sourcecode-5.9.7}/scripts/test_fast.sh +0 -0
  182. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/__main__.py +0 -0
  183. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/access_drift.py +0 -0
  184. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/adaptive_scanner.py +0 -0
  185. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/analysis_budget.py +0 -0
  186. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/answer_bounds.py +0 -0
  187. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/archetype.py +0 -0
  188. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/architectural_baseline.py +0 -0
  189. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/architectural_delta.py +0 -0
  190. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/architecture_analyzer.py +0 -0
  191. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/architecture_summary.py +0 -0
  192. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/ast_extractor.py +0 -0
  193. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/audit_clusters.py +0 -0
  194. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/audit_recipe.py +0 -0
  195. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/audit_report.py +0 -0
  196. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/audit_since.py +0 -0
  197. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/audit_verify.py +0 -0
  198. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/baseline_attestation.py +0 -0
  199. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/baseline_autocapture.py +0 -0
  200. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/breaking_changes.py +0 -0
  201. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/build_modules.py +0 -0
  202. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/build_stamp.py +0 -0
  203. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/bundled_docs.py +0 -0
  204. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/c4_render.py +0 -0
  205. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/cache.py +0 -0
  206. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/cache_model.py +0 -0
  207. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/cache_observation.py +0 -0
  208. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/call_surface.py +0 -0
  209. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/caller_metrics.py +0 -0
  210. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/caller_reach.py +0 -0
  211. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/canonical_ir.py +0 -0
  212. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/chain_rules.py +0 -0
  213. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/change_plan.py +0 -0
  214. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/ci_output.py +0 -0
  215. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/cir_graphs.py +0 -0
  216. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/classifier.py +0 -0
  217. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/client_calls.py +0 -0
  218. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/code_notes_analyzer.py +0 -0
  219. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/compare.py +0 -0
  220. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/confidence_analyzer.py +0 -0
  221. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/constraint_diff.py +0 -0
  222. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/consumer_join.py +0 -0
  223. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/container_wiring.py +0 -0
  224. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/context_cache.py +0 -0
  225. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/context_graph.py +0 -0
  226. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/context_scorer.py +0 -0
  227. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/context_summarizer.py +0 -0
  228. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/contract_diff.py +0 -0
  229. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/contract_init.py +0 -0
  230. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/contract_model.py +0 -0
  231. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/contract_pipeline.py +0 -0
  232. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/coverage_parser.py +0 -0
  233. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/cve_feed.py +0 -0
  234. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/cve_reachability.py +0 -0
  235. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/data_exposure.py +0 -0
  236. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/data_labels.py +0 -0
  237. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/declarations.py +0 -0
  238. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/defect_classes/__init__.py +0 -0
  239. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/defect_classes/registry.json +0 -0
  240. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/defect_identity.py +0 -0
  241. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/degradation.py +0 -0
  242. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/dependency_analyzer.py +0 -0
  243. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/deployment_prefix.py +0 -0
  244. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/detach.py +0 -0
  245. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/detectors/__init__.py +0 -0
  246. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/detectors/base.py +0 -0
  247. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/detectors/csproj_parser.py +0 -0
  248. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/detectors/dart.py +0 -0
  249. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/detectors/dotnet.py +0 -0
  250. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/detectors/elixir.py +0 -0
  251. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/detectors/go.py +0 -0
  252. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/detectors/heuristic.py +0 -0
  253. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/detectors/hybrid.py +0 -0
  254. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/detectors/java.py +0 -0
  255. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/detectors/jvm_ext.py +0 -0
  256. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/detectors/nodejs.py +0 -0
  257. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/detectors/parsers.py +0 -0
  258. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/detectors/php.py +0 -0
  259. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/detectors/project.py +0 -0
  260. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/detectors/python.py +0 -0
  261. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/detectors/ruby.py +0 -0
  262. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/detectors/rust.py +0 -0
  263. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/detectors/systems.py +0 -0
  264. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/detectors/terraform.py +0 -0
  265. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/detectors/tooling.py +0 -0
  266. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/doc_analyzer.py +0 -0
  267. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/dynamic_argument_surface.py +0 -0
  268. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/empty_reach.py +0 -0
  269. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/endpoint_disposition.py +0 -0
  270. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/endpoint_literals.py +0 -0
  271. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/endpoint_metrics.py +0 -0
  272. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/entrypoint_classifier.py +0 -0
  273. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/env_analyzer.py +0 -0
  274. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/envelope.py +0 -0
  275. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/environment_resolution.py +0 -0
  276. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/error_schema.py +0 -0
  277. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/evidence_provider.py +0 -0
  278. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/execution_plan.py +0 -0
  279. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/explain.py +0 -0
  280. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/explain_endpoint.py +0 -0
  281. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/facts/__init__.py +0 -0
  282. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/facts/registry.json +0 -0
  283. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/field_deprecations.py +0 -0
  284. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/file_chunker.py +0 -0
  285. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/file_classifier.py +0 -0
  286. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/filter_surface.py +0 -0
  287. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/findings_baseline.py +0 -0
  288. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/format_contract.py +0 -0
  289. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/fqn_utils.py +0 -0
  290. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/functional_routes.py +0 -0
  291. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/gate_anchors.py +0 -0
  292. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/git_analyzer.py +0 -0
  293. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/github_diff.py +0 -0
  294. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/graph_analyzer.py +0 -0
  295. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/graph_evidence.py +0 -0
  296. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/hibernate_strat.py +0 -0
  297. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/identity_fallback.py +0 -0
  298. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/integration_coordinates.py +0 -0
  299. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/jdk_exports.py +0 -0
  300. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/license.py +0 -0
  301. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/manifest_cache.py +0 -0
  302. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/mcp/__init__.py +0 -0
  303. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/mcp/dependency_import.py +0 -0
  304. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/mcp/onboarding/__init__.py +0 -0
  305. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/mcp/onboarding/applier.py +0 -0
  306. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/mcp/onboarding/backup.py +0 -0
  307. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/mcp/onboarding/detector.py +0 -0
  308. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/mcp/onboarding/planner.py +0 -0
  309. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/mcp/orchestrator.py +0 -0
  310. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/mcp/registry.py +0 -0
  311. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/mcp/runner.py +0 -0
  312. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/mcp/server.py +0 -0
  313. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/mcp_nudge.py +0 -0
  314. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/metrics_analyzer.py +0 -0
  315. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/migrate_check.py +0 -0
  316. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/migration_apply.py +0 -0
  317. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/migration_blast.py +0 -0
  318. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/non_coverage.py +0 -0
  319. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/openapi_surface.py +0 -0
  320. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/openrewrite_recipe.py +0 -0
  321. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/output_bounds.py +0 -0
  322. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/output_budget.py +0 -0
  323. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/output_ceiling.py +0 -0
  324. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/output_encoding.py +0 -0
  325. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/output_sink.py +0 -0
  326. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/pack_manifest.py +0 -0
  327. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/packs.py +0 -0
  328. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/parallel.py +0 -0
  329. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/parse_cache.py +0 -0
  330. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/partial_contract.py +0 -0
  331. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/path_admission.py +0 -0
  332. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/path_display.py +0 -0
  333. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/path_filters.py +0 -0
  334. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/perf.py +0 -0
  335. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/phased_run.py +0 -0
  336. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/pipe_contract.py +0 -0
  337. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/posture.py +0 -0
  338. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/pr_comment_renderer.py +0 -0
  339. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/pr_impact.py +0 -0
  340. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/pr_risk.py +0 -0
  341. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/product_info.py +0 -0
  342. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/provenance.py +0 -0
  343. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/ranking_engine.py +0 -0
  344. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/readiness_timeline.py +0 -0
  345. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/readonly.py +0 -0
  346. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/reconciliation.py +0 -0
  347. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/redactor.py +0 -0
  348. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/reference_facts.py +0 -0
  349. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/regress.py +0 -0
  350. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/regulatory_pack.py +0 -0
  351. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/release_info.py +0 -0
  352. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/relevance_scorer.py +0 -0
  353. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/remediation_diff.py +0 -0
  354. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/remediation_flow.py +0 -0
  355. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/remediation_report.py +0 -0
  356. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/remedies.py +0 -0
  357. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/rename_refactor.py +0 -0
  358. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/repo_classifier.py +0 -0
  359. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/repository_ir.py +0 -0
  360. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/resource_budget.py +0 -0
  361. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/retrieval/__init__.py +0 -0
  362. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/retrieval/context.py +0 -0
  363. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/retrieval/errors.py +0 -0
  364. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/retrieval/executor.py +0 -0
  365. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/retrieval/planner.py +0 -0
  366. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/retrieval/query.py +0 -0
  367. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/retrieval/request.py +0 -0
  368. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/retrieval/resolution.py +0 -0
  369. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/retrieval/result.py +0 -0
  370. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/retrieval/retriever.py +0 -0
  371. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/retrieval/runtime.py +0 -0
  372. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/retrieval/steps.py +0 -0
  373. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/retrieval/steps_endpoint.py +0 -0
  374. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/retrieval/steps_graph.py +0 -0
  375. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/retrieval/steps_impact.py +0 -0
  376. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/retrieval/steps_intf.py +0 -0
  377. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/retrieval/steps_struct.py +0 -0
  378. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/retrieval/steps_txsec.py +0 -0
  379. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/ris.py +0 -0
  380. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/risk.py +0 -0
  381. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/risk_model.py +0 -0
  382. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/rule_catalog.py +0 -0
  383. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/rule_pass.py +0 -0
  384. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/runs.py +0 -0
  385. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/runtime_classifier.py +0 -0
  386. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/sarif.py +0 -0
  387. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/sarif_emit.py +0 -0
  388. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/scanner.py +0 -0
  389. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/schema.py +0 -0
  390. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/schema_producers.py +0 -0
  391. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/schema_registry.py +0 -0
  392. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/schemas/core-analysis-v1.schema.json +0 -0
  393. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/schemas/cve-reachability-v1.schema.json +0 -0
  394. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/schemas/endpoints-v1.schema.json +0 -0
  395. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/schemas/envelope-v1.schema.json +0 -0
  396. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/schemas/pr-impact-v1.schema.json +0 -0
  397. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/schemas/verify-edit-v1.schema.json +0 -0
  398. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/schemas/verify-v1.schema.json +0 -0
  399. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/security_chain.py +0 -0
  400. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/security_config.py +0 -0
  401. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/security_config_scan.py +0 -0
  402. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/security_posture.py +0 -0
  403. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/selection_contract.py +0 -0
  404. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/selftest.py +0 -0
  405. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/semantic_analyzer.py +0 -0
  406. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/semantic_impact_engine.py +0 -0
  407. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/semantic_integration_engine.py +0 -0
  408. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/semantic_services.py +0 -0
  409. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/serializer.py +0 -0
  410. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/servlet_surface.py +0 -0
  411. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/source_text.py +0 -0
  412. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/spring_event_topology.py +0 -0
  413. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/spring_findings.py +0 -0
  414. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/spring_profiles.py +0 -0
  415. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/spring_properties.py +0 -0
  416. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/spring_security_audit.py +0 -0
  417. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/spring_semantic.py +0 -0
  418. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/spring_tx_analyzer.py +0 -0
  419. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/sql_taint.py +0 -0
  420. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/target_admission.py +0 -0
  421. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/telemetry/__init__.py +0 -0
  422. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/telemetry/config.py +0 -0
  423. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/telemetry/consent.py +0 -0
  424. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/telemetry/events.py +0 -0
  425. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/telemetry/filters.py +0 -0
  426. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/telemetry/transport.py +0 -0
  427. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/test_gap_ranking.py +0 -0
  428. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/test_sources.py +0 -0
  429. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/text_input.py +0 -0
  430. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/timeline_cache.py +0 -0
  431. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/token_estimate.py +0 -0
  432. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/tree_utils.py +0 -0
  433. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/type_usage_surface.py +0 -0
  434. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/validation_inference.py +0 -0
  435. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/validation_surface.py +0 -0
  436. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/verify_edit.py +0 -0
  437. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/verify_repo.py +0 -0
  438. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/verify_rules.py +0 -0
  439. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/version_check.py +0 -0
  440. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/vex.py +0 -0
  441. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/waivers.py +0 -0
  442. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/watch_loop.py +0 -0
  443. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/wired_surface.py +0 -0
  444. {sourcecode-5.9.4 → sourcecode-5.9.7}/src/sourcecode/workspace.py +0 -0
  445. {sourcecode-5.9.4 → sourcecode-5.9.7}/supabase/functions/README.md +0 -0
  446. {sourcecode-5.9.4 → sourcecode-5.9.7}/supabase/functions/get-license/index.ts +0 -0
  447. {sourcecode-5.9.4 → sourcecode-5.9.7}/supabase/functions/lemonsqueezy-webhook/index.ts +0 -0
  448. {sourcecode-5.9.4 → sourcecode-5.9.7}/supabase/functions/telemetry/index.ts +0 -0
  449. {sourcecode-5.9.4 → sourcecode-5.9.7}/supabase/sql/license_event_ordering.sql +0 -0
  450. {sourcecode-5.9.4 → sourcecode-5.9.7}/supabase/sql/licensing_schema.sql +0 -0
  451. {sourcecode-5.9.4 → sourcecode-5.9.7}/supabase/sql/telemetry_events.sql +0 -0
@@ -1,5 +1,22 @@
1
1
  # Changelog
2
2
 
3
+ ## [5.9.6] — 2026-08-27
4
+
5
+ *Roadmap correction and release-alignment patch release.*
6
+
7
+ **Fixed**
8
+
9
+ - Makes explicit cache warming durable across processes.
10
+ - Reconciles Spring presence detection for foreign member annotations.
11
+ - Removes split Markdown badge fragments from README-derived summaries.
12
+ - Makes empty baseline history an explicit `no_history` result.
13
+ - Explains the intentional CLI/MCP population difference in `self-audit`.
14
+
15
+ **Validation**
16
+
17
+ - Added dedicated regression coverage using `/Users/user/Documents/workspace/testing/teavm`.
18
+ - Updated README, English and Spanish guides, roadmap, ledger and CLI version output.
19
+
3
20
  ## [5.9.4] — 2026-08-27
4
21
 
5
22
  *External-audit reliability and contract-alignment release.*
@@ -9200,3 +9217,13 @@ implementors.
9200
9217
  - 3 `--slim` tests verifying the option is absent from help and CLI surface.
9201
9218
  - 6 `angular_version` parsing tests covering `dependencies`, `devDependencies`,
9202
9219
  `peerDependencies`, `null` JSON values, and version prefix stripping.
9220
+ ## [5.9.7] — 2026-08-27
9221
+
9222
+ ### Fixed
9223
+ - Exposed functional root options in `ask --help` and aligned help discoverability tests.
9224
+ - Unified empty `--files -` handling for `pr-impact` and `pr-risk`.
9225
+ - Normalized Git reference failures to `GIT_REF_NOT_FOUND`.
9226
+ - Corrected the `cold-start --compact` size contract and endpoint omission disclosure.
9227
+ - Added delayed liveness warnings for long non-interactive runs.
9228
+ - Improved natural-language routing for unsecured endpoint questions.
9229
+ - Kept unresolved impact symbols explicitly unscored.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sourcecode
3
- Version: 5.9.4
3
+ Version: 5.9.7
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.4-blue)
62
+ ![Version](https://img.shields.io/badge/version-5.9.7-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
@@ -196,7 +196,7 @@ set `ASK_MAX_RSS_MB=<megabytes>`; if the process exceeds it, ASK refuses the
196
196
  answer with `MEMORY_TOO_LARGE`, including the observed peak and limit. Leave it
197
197
  unset, or set it to `0`, to disable the ceiling explicitly.
198
198
 
199
- **Current performance status.** Release 5.9.4 retains the shared Canonical IR
199
+ **Current performance status.** Release 5.9.7 retains the shared Canonical IR
200
200
  path used by `validation` and now passes that same CIR into labelled `data-exposure`
201
201
  runs; the no-label path remains parse-free. These are implementation properties,
202
202
  not duration promises. A controlled external warm-path audit has opened performance
@@ -218,7 +218,7 @@ in `overlapping_paths`; a missing or non-directory path is rejected as structure
218
218
  invalid input rather than treated as an empty repository. This prevents silent
219
219
  entitlement errors in CI and does not change per-repository gates or billing.
220
220
 
221
- Release 5.9.4 also hardens the boundary contracts: missing consumer repositories,
221
+ Release 5.9.7 also hardens the boundary contracts: missing consumer repositories,
222
222
  malformed CVE feeds and unresolved `pack gate --since` refs fail as structured
223
223
  input errors; duplicate same-commit baselines are never overwritten. `posture
224
224
  --diff` validates unknown profiles when the repository declares profiles. In
@@ -251,7 +251,7 @@ brew tap haroundominique/sourcecode && brew install sourcecode
251
251
  # pip / pipx
252
252
  pipx install sourcecode # or: pip install sourcecode
253
253
 
254
- ask version # ask 5.9.4 — and, on a build that has aged,
254
+ ask version # ask 5.9.7 — and, on a build that has aged,
255
255
  # how many releases have probably shipped since
256
256
  ```
257
257
 
@@ -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.4-blue)
13
+ ![Version](https://img.shields.io/badge/version-5.9.7-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
@@ -147,7 +147,7 @@ set `ASK_MAX_RSS_MB=<megabytes>`; if the process exceeds it, ASK refuses the
147
147
  answer with `MEMORY_TOO_LARGE`, including the observed peak and limit. Leave it
148
148
  unset, or set it to `0`, to disable the ceiling explicitly.
149
149
 
150
- **Current performance status.** Release 5.9.4 retains the shared Canonical IR
150
+ **Current performance status.** Release 5.9.7 retains the shared Canonical IR
151
151
  path used by `validation` and now passes that same CIR into labelled `data-exposure`
152
152
  runs; the no-label path remains parse-free. These are implementation properties,
153
153
  not duration promises. A controlled external warm-path audit has opened performance
@@ -169,7 +169,7 @@ in `overlapping_paths`; a missing or non-directory path is rejected as structure
169
169
  invalid input rather than treated as an empty repository. This prevents silent
170
170
  entitlement errors in CI and does not change per-repository gates or billing.
171
171
 
172
- Release 5.9.4 also hardens the boundary contracts: missing consumer repositories,
172
+ Release 5.9.7 also hardens the boundary contracts: missing consumer repositories,
173
173
  malformed CVE feeds and unresolved `pack gate --since` refs fail as structured
174
174
  input errors; duplicate same-commit baselines are never overwritten. `posture
175
175
  --diff` validates unknown profiles when the repository declares profiles. In
@@ -202,7 +202,7 @@ brew tap haroundominique/sourcecode && brew install sourcecode
202
202
  # pip / pipx
203
203
  pipx install sourcecode # or: pip install sourcecode
204
204
 
205
- ask version # ask 5.9.4 — and, on a build that has aged,
205
+ ask version # ask 5.9.7 — and, on a build that has aged,
206
206
  # how many releases have probably shipped since
207
207
  ```
208
208
 
@@ -16,6 +16,100 @@ The facts these rows are keyed to are published: `ask schema facts-v1` prints th
16
16
 
17
17
  ## Current Synchronization
18
18
 
19
+ **Field simulation on TeaVM, 2026-08-27 — `ASK-FIELD`.** A deep, non-destructive
20
+ run of ASK `5.9.5` against `/Users/user/Documents/workspace/testing/teavm`
21
+ (4,024 files; 3,539 Java files) exercised the main analysis commands, packs,
22
+ baseline lifecycle, contracts and cache lifecycle. The checkout stayed clean
23
+ and the prior release closure set showed no regression. Three behaviours were
24
+ reproduced and are now closed below: cache warming was not visible to subsequent
25
+ processes, root README summary extraction emitted a Markdown-link fragment, and
26
+ Spring presence disagreed between `spring-audit` and `migrate-check`. The run
27
+ also confirmed that endpoint zero-result disclosure, legal input refusals,
28
+ baseline collision protection, pack `UNVERIFIED` semantics and target
29
+ non-mutation remain intact. This is field evidence, not an external audit; it
30
+ must not be represented as a release certification.
31
+
32
+ | ID | Severity | Status | Evidence and required closure |
33
+ |---|---:|---|---|
34
+ | `ASK-FIELD-01` | P1 | **closed 5.9.6 (`829f9fa`)** | Explicit warm persists synchronously in its declared namespace; the fresh-process TeaVM lifecycle battery passes. |
35
+ | `ASK-FIELD-02` | P1 | **closed 5.9.6 (`6a659fa`)** | Member annotation imports resolve from the declaring class and confirmed Spring evidence drives presence; TeaVM and Spring control parity passes. |
36
+ | `ASK-FIELD-03` | P2 | **closed 5.9.6 (`55b0d51`)** | Split Markdown badge continuations are discarded without changing normal inline-link unwrapping; the real TeaVM summary regression passes. |
37
+
38
+ The simulation did not open the Kotlin/Java/Node classification as a defect:
39
+ the signals were explicitly confidence-scored and may represent a legitimate
40
+ polyglot repository. It also did not open zero endpoints, minimum token-budget
41
+ refusal, unsupported `explain --compact`, or contractless `verify`: each matched
42
+ the declared contract and non-coverage in the observed run.
43
+
44
+ **External audit intake AUD-611, re-audit of release 5.9.6 — 2026-08-27.**
45
+ The external scope was restricted to repositories under Documents/workspace/testing
46
+ and covered about 250 real invocations across seven forks, with 104/104 CLI
47
+ commands exercised. The auditor reports zero target-repository writes, commits
48
+ or dirty worktrees. The final score was 7.4/10; an earlier interim pass recorded
49
+ 8/10, so 7.4/10 is the governing result.
50
+
51
+ The three TeaVM field fixes are confirmed across eight or more control
52
+ repositories with no regressions. The new and still-relevant queue is:
53
+
54
+ | ID | Severity | Status | Evidence / closure boundary |
55
+ |---|---:|---|---|
56
+ | AUD-611-B01 | Critical | open | With stdout redirected to /dev/null, an invalid invocation returned exit 0 and empty stderr in 5/5 runs; normal files, pipes and command substitution retained exit 1. Scope is currently INVALID_INPUT only. Fix error transport and exit status independently, then test every error class and redirection form. |
57
+ | AUD-611-B02 | Critical | open | tutorials has 24,073 Java files; cold root compact ran 240.092 seconds, ended with external timeout exit 124 and zero stdout/stderr. CPU was active, so deadlock versus extreme analysis cost is unresolved. Reproduce on supported Windows/Git Bash and POSIX environments, add progress/deadline/partial diagnostics and define a scale contract. |
58
+ | AUD-611-B03 | High | open | Root compact/agent YAML took 85-380 seconds and reported served_from_cache false on repeated unchanged runs. Add a format/view cache regression and publish latency expectations. |
59
+ | AUD-611-B04 | High | open | One selftest hang occurred in about 16 aggregate runs. Other suspected hangs were retracted after adequate-timeout reruns. Add phase correlation, bounded execution and structured timeout failure. |
60
+ | AUD-611-B05 | High | closed | Root help now exposes all 22 accepted functional flags. Dedicated parity coverage and a real TeaVM execution of `--tree --compact` pass; future internal-only options must be explicitly deprecated or hidden. |
61
+ | AUD-611-B06 | Medium | closed | `pr-risk --files -` now rejects an empty list with the same `INVALID_INPUT` stderr envelope and `exit 1` as `pr-impact`; dedicated TeaVM regression passes. No-diff behavior from implicit Git sources remains separately scoped. |
62
+ | AUD-611-B07 | Medium | closed | Shared Git-ref failures now publish canonical `GIT_REF_NOT_FOUND`; TeaVM regressions cover delta and contract-diff, and existing ref consumers were aligned. |
63
+ | AUD-611-B08 | Medium | closed | `cold-start --compact` now qualifies its size as snapshot-dependent instead of claiming `~10K`; the TeaVM no-RIS path and compact identity regressions pass. A hard ceiling remains an optional future product requirement. |
64
+ | AUD-611-B09 | Medium-high | closed | Non-interactive long runs now emit one delayed stderr warning after 60 seconds by default, configurable with `ASK_PROGRESS_WARNING_SECONDS`; short runs remain silent. TeaVM stdout JSON remains valid under the regression. |
65
+ | AUD-611-B10 | Medium | closed | Added the missing `which endpoints have no security` anchor for `security-surface`; natural TeaVM resolution succeeds without scanning, while equal security-intent questions still refuse deterministically. |
66
+ | AUD-611-B11 | Medium | closed | Missing-symbol `impact-chain` results now use `risk_score: null` and `risk_score_raw: null`, matching `impact`'s unscored semantics; both TeaVM command paths return `not_found`, `unknown`, and `exit 1`. |
67
+ | AUD-611-B12 | Medium | open | Compact endpoint omission now carries explicit `population_total` and an inline measured-population note; the JUnit4 project-type classification half remains open. |
68
+ | AUD-611-B13 | Medium | investigation | retrieve endpoint-security failed silently once in 15 runs (6.7%), exit 1 and zero bytes. Add phase/correlation capture and repeated/concurrent reproduction before closure. |
69
+
70
+ Commercially, the audit supports normal repositories up to several thousand
71
+ files and keeps a provisional $35-50/developer/month range, but B01/B02 block
72
+ annual-grade reliability and enterprise-scale positioning until resolved.
73
+
74
+ **External audit intake `AUD-610`, release 5.9.3 — 2026-08-27.** The attached
75
+ report scored the build **7.2/10** after five parallel batches and approximately
76
+ 120 invocations. It verified a clean target repository, no Java-file changes,
77
+ no commits and no unauthorized persistence. The report praised structured errors,
78
+ output bounding for agents and dry-run safety, but identified 17 defects or
79
+ follow-ups. The full future closure criteria are maintained in
80
+ [`DEVELOPMENT-ROADMAP.md`](DEVELOPMENT-ROADMAP.md); the ledger records their
81
+ status boundary here so a later fix cannot silently close only one consumer.
82
+
83
+ The report's P1 reliability cluster was `AUD-610-B01` (root YAML compact/agent
84
+ zero-byte failure), `AUD-610-B02` (all `audit-report` formats zero-byte failure),
85
+ `AUD-610-B03` (`risk --limit 0` legal-boundary crash) and `AUD-610-B04`
86
+ (`timeline --since` pays for work then fails silently). None reproduced in the
87
+ TeaVM `5.9.5` simulation; they are held as release-artifact verification items,
88
+ not open deterministic defects.
89
+
90
+ The remaining rows are: `AUD-610-B05` consumer-path admission (**closed
91
+ 5.9.4**, `86ed0a3`); `AUD-610-B06` invalid-input exit parity (**closed**,
92
+ `ae2e8b1`, `f4b4f77`); `AUD-610-B07` command/path typo disambiguation
93
+ (**closed**, `178aa6d`); `AUD-610-B08` pack
94
+ gate ref admission (**closed 5.9.4**, `6690a7f`); `AUD-610-B09` inaccurate
95
+ root help for `--files -` (**closed**, `f66cd28`, `52bcc36`); `AUD-610-B10`
96
+ not-found envelope parity (**closed**, `c07581a`);
97
+ `AUD-610-B11` malformed CVE feed status (**closed 5.9.4**, `abc6319`);
98
+ `AUD-610-B12` unknown posture profiles (**closed 5.9.4**, `f7335b1`, `6e75646`);
99
+ `AUD-610-B13` baseline overwrite (**closed 5.9.4**, `cbe4da9`);
100
+ `AUD-610-B14` CLI/MCP population explanation (**closed**, `7c9b23e`);
101
+ `AUD-610-B15` no-history contract parity (**closed**, `a130637`);
102
+ `AUD-610-B16` UTF-8 replacement character (**platform verification hold**);
103
+ and `AUD-610-B17` one-off retrieve silent failure (**investigation hold, not
104
+ reproduced**).
105
+
106
+ Commercially, the report recommends conditional pilot/adoption and a provisional
107
+ `$35-50/developer/month` band, requiring closure of the flagship zero-byte paths
108
+ before an annual commitment. This is recorded as external market evidence, not
109
+ as a pricing approval or a product claim. The destructive commands excluded by
110
+ the auditor remain outside the evidence set because only their dry-run paths were
111
+ executed.
112
+
19
113
  **External `5.9.0` audit received, 2026-08-26 - `AUD-608`; corrections shipped in `5.9.1`.** The audited
20
114
  revision is the released `5.9.0` commit. The three confirmed corrections are
21
115
  closed: `AUD-608-C01` (P1, `cve` now declares its static inventory scope,
@@ -3,7 +3,7 @@
3
3
  *Chief-engineer development record. This is the internal, dev-facing counterpart to the
4
4
  customer-facing `docs/EXECUTIVE-ROADMAP.md`.*
5
5
 
6
- > **CURRENT QUEUE — release `5.9.4`; external reconciliation `AUD-610` is implemented for the reproducible fixes.**
6
+ > **CURRENT QUEUE — release `5.9.7`; external reconciliation `AUD-611` adds the next correction queue.**
7
7
  > The 2026-08-27 external review adds `AUD-610-B01` through `AUD-610-B10`, led by
8
8
  > silent `selftest` nondeterminism, silent root/audit-report failures, a legal-zero
9
9
  > `risk --limit 0` crash, an unvalidated consumer path and contradictory Spring
@@ -11,14 +11,29 @@ customer-facing `docs/EXECUTIVE-ROADMAP.md`.*
11
11
  > admission (`86ed0a3`), CVE feed integrity (`abc6319`), gate ref admission
12
12
  > (`6690a7f`), posture profile admission (`f7335b1`, `6e75646`), baseline
13
13
  > collision protection (`cbe4da9`), compact endpoint disclosure (`8a1936f`)
14
- > and unresolved impact exits (`c07581a`). The non-reproduced reliability and
15
- > Spring observations remain open and must not be presented as fixed. Full triage is in
14
+ > and unresolved impact exits (`c07581a`). The remaining external-only reliability
15
+ > observations are held for release-artifact verification and must not be presented
16
+ > as product defects. Full triage is in
16
17
  > [`AUDIT-2026-08-27-EXTERNAL-5.9.3.md`](AUDIT-2026-08-27-EXTERNAL-5.9.3.md).
17
18
  > The 2026-08-27 external review adds `AUD-609-B01` (overlapping workspace paths
18
19
  > double-count Java files) and `AUD-609-B02` (missing workspace paths accepted as
19
20
  > empty repositories); both are fixed in `5.9.3`. It reports no regression in the
20
21
  > prior closure set. Evidence and the commercial interpretation are in
21
22
  > [`AUDIT-2026-08-27-EXTERNAL-5.9.2.md`](AUDIT-2026-08-27-EXTERNAL-5.9.2.md).
23
+
24
+ > **FIELD SIMULATION — TeaVM, 2026-08-27.** A deep real-use simulation of the
25
+ > released `5.9.6` build was run against
26
+ > `/Users/user/Documents/workspace/testing/teavm` (4,024 files, 3,539 Java
27
+ > files, clean checkout before and after, 96 persisted artefacts). It exercised
28
+ > root JSON/YAML, `spring-audit`, `migrate-check`, `endpoints`, `risk`, `impact`,
29
+ > `impact-chain`, `posture --diff`, audit reports, self-audit, packs, contracts,
30
+ > baselines, attestation and cache lifecycle. No regression was found in the
31
+ > previously closed contract fixes, and the target repository was not modified.
32
+ > It did, however, confirm three follow-up defects: cache persistence across
33
+ > processes, a split Markdown badge fragment in the README summary, and divergent
34
+ > Spring-presence signals. All three are now closed below as `ASK-FIELD-01` through
35
+ > `ASK-FIELD-03`; the fix evidence does not imply that TeaVM is a supported Spring
36
+ > target.
22
37
  > `AUD-608-C01` is closed in `fe1f624`: `cve` declares static
23
38
  > dependency-inventory coverage and non-coverage. `AUD-608-P01` is closed in
24
39
  > `b479465`: `pr-risk --since` constructs its base context and surfaces failures
@@ -129,6 +144,118 @@ triage is in [`AUDIT-2026-08-27-EXTERNAL-5.9.2.md`](AUDIT-2026-08-27-EXTERNAL-5.
129
144
  | `AUD-609-C01` | P2 | Signed evidence and historical attestation use different integrity contracts. | Decide whether `baseline attest` gains the existing signing mechanism or clearly publishes that it is unsigned; document the choice in help, schema and buyer-facing material. Do not call unsigned output a certificate or compliance proof. | **Queued, commercial validation.** No implementation claim until the signing boundary and key model are explicit. |
130
145
  | `AUD-609-C02` | P3 | Translate technical evidence into concrete ENS/CRA controls. | Define a named control mapping with source evidence, missing evidence and `legal_claim: false`; validate it with a named compliance buyer or auditor before presenting it as a market capability. | **Queued, buyer-gated.** `audit-report --pack ens` remains evidence mapping only. |
131
146
 
147
+ ### Field Follow-up — TeaVM simulation, 2026-08-27
148
+
149
+ These rows are engineering follow-ups from a controlled real-repository
150
+ simulation, not findings from an external auditor. They are intentionally
151
+ separate from `AUD-610`: the earlier release audit's non-reproduced observations
152
+ remain non-reproduced, while these three behaviours were reproduced directly on
153
+ the TeaVM checkout. The simulation also confirms that the normal structured-error
154
+ paths, pack verdicts, baseline collision protection, output bounds and target
155
+ repository cleanliness continue to behave as documented.
156
+
157
+ | ID | Priority | Finding | Acceptance criteria | Status/order |
158
+ |---|---:|---|---|---|
159
+ | `ASK-FIELD-01` | P1 | `cache warm` failed to make the next process observe persisted cache state. | Use one canonical cache namespace and target identity; a fresh process must observe the declared warm state and persisted entries. | **Closed in `5.9.6` (`829f9fa`).** Explicit warm persistence is synchronous and the TeaVM lifecycle battery passes. |
160
+ | `ASK-FIELD-02` | P1 | TeaVM exposed divergent Spring-presence signals between `spring-audit` and `migrate-check`. | Resolve member annotation imports and require confirmed Spring evidence for cross-command presence. | **Closed in `5.9.6` (`6a659fa`).** TeaVM and a Spring control repository now agree; no heuristic broadening was added. |
161
+ | `ASK-FIELD-03` | P2 | Root compact summary leaked a split Markdown Discord badge continuation. | README summaries must never emit URL delimiters or badge fragments while preserving normal inline links. | **Closed in `5.9.6` (`55b0d51`).** The TeaVM README regression and summarizer battery pass. |
162
+
163
+ **Observed but not opened as defects:** TeaVM was classified as Kotlin
164
+ full-stack with Java as a low-confidence secondary signal and Node.js from a
165
+ manifest; this may be expected multi-language evidence but needs corpus review
166
+ before changing classification. `endpoints` returning zero was accompanied by
167
+ the declared zero-result/non-coverage explanation. `repo-ir --budget-tokens`
168
+ refusing a budget below its minimum estimate, `explain --compact` rejecting an
169
+ unsupported flag, and `verify` returning `UNVERIFIED` without contracts all
170
+ matched their documented contracts. These behaviours must remain in regression
171
+ coverage, but are not roadmap bugs from this run.
172
+
173
+ ### External Audit Intake — `AUD-611` re-audit, release 5.9.6
174
+
175
+ The external re-audit covered only repositories under the testing corpus:
176
+ antlr4, netty, junit4, struts, spring-petclinic, spring-framework-petclinic,
177
+ thingsboard, dropwizard, quarkus-quickstarts, vertx-examples, byte-buddy,
178
+ aspectj, mall, spring-security, openmrs-core and tutorials. It reports
179
+ approximately 250 real invocations across seven forks, 104/104 CLI commands
180
+ exercised, no target-repository writes, no commits and clean Git status
181
+ throughout. The final score is 7.4/10 (an interim pass recorded 8/10); the
182
+ final score is the governing assessment.
183
+
184
+ The audit confirms the previous cache, Spring-presence and README-badge fixes
185
+ across multiple repositories with no regression. It also confirms that
186
+ audit-report, risk --limit 0, timeline, consumer-path admission, CVE validation,
187
+ baseline collision protection, MCP population disclosure and empty baseline
188
+ handling now behave correctly. The following queue captures the new defects and
189
+ the older findings that remain materially relevant:
190
+
191
+ | ID | Severity | Finding | Required future closure |
192
+ |---|---:|---|---|
193
+ | AUD-611-B01 | Critical | Redirecting an invalid invocation with ask <bad-input> >/dev/null suppresses both the structured error and the non-zero exit: 5/5 reproductions returned exit 0 with empty stderr. Pipes and command substitution retained exit 1. Only INVALID_INPUT was tested; other error classes remain unverified. | Make error emission and process status independent of stdout destination. Test /dev/null, regular files, pipes, merged streams and all error codes; require structured stderr and non-zero status. |
194
+ | AUD-611-B02 | Critical | Cold root ask . --compact on tutorials (24,073 Java files) ran for exactly 240 seconds until external timeout, returned exit 124 and produced zero bytes on stdout/stderr. The process consumed CPU; no progress or partial answer was available. Windows/Git Bash signal handling may contribute and must be distinguished from analysis cost. | Reproduce on the supported matrix, publish phase progress/heartbeat, enforce an internal deadline that preserves diagnostics, and establish an explicit scale ceiling or bounded execution mode before enterprise-scale claims. |
195
+ | AUD-611-B03 | High | Three consecutive root --compact/--agent -f yaml runs took 85-380 seconds and reported served_from_cache false every time on the same unchanged repository. Output eventually completed, so this is cache/performance correctness rather than a crash. | Include format/view/mode in the canonical cache key or share the context cache correctly; add a cold/warm multi-process benchmark and document expected latency. |
196
+ | AUD-611-B04 | High | selftest still hung once in approximately 16 aggregate executions across three evaluators. Prior suspected hangs for pr-risk, pack gate and audit-report were retracted after isolated reruns with adequate timeouts. | Instrument phase/correlation IDs, enforce bounded child execution and preserve a structured failure envelope; distinguish tool hangs from auditor timeout artefacts. |
197
+ | AUD-611-B05 | High | **Closed in this fix.** Root --help now exposes the 22 functional root flags accepted by the callback, including architecture, tree, symbol, graph, dependency and docs flags. | Keep the live help/registry parity test green; internal-only options must be explicitly deprecated or hidden rather than silently omitted. |
198
+ | AUD-611-B06 | Medium | **Closed in this fix.** Empty `--files -` now yields the same `INVALID_INPUT` structured stderr envelope and `exit 1` in `pr-impact` and `pr-risk`. | Keep both command contracts covered; no-diff paths not sourced from `--files` remain a separate policy surface. |
199
+ | AUD-611-B07 | Medium | **Closed in this fix.** Shared Git reference failures now publish `GIT_REF_NOT_FOUND` across delta, contract-diff and the other ref-consuming surfaces. | Keep the cross-command error-code vocabulary test green. |
200
+ | AUD-611-B08 | Medium | **Closed in this fix.** `cold-start --compact` no longer promises a fixed `~10K` ceiling; help and command documentation now state that the bounded orientation subset depends on stored snapshot size. No data is silently truncated to satisfy a false bound. | If a hard token ceiling becomes a product requirement, implement it with explicit omission metadata and corpus benchmarks. |
201
+ | AUD-611-B09 | Medium-high | **Closed in this fix.** Non-interactive runs now emit one delayed stderr liveness warning after 60 seconds by default (configurable with `ASK_PROGRESS_WARNING_SECONDS`), while short runs remain byte-silent and stdout stays machine-readable. | Keep the warning opt-out and periodic `--progress` heartbeat contracts covered. |
202
+ | AUD-611-B10 | Medium | **Closed in this fix.** The natural question `which endpoints have no security` now maps deterministically to `security-surface`; equal security intents continue to refuse with both candidates named. | Keep lexical anchors and equal-score refusal tests synchronized with the retrieve registry. |
203
+ | AUD-611-B11 | Medium | **Closed in this fix.** For missing symbols, `impact-chain` now publishes null risk scores instead of the misleading numeric zero and preserves the same `not_found`/`unknown`/`exit 1` policy as `impact`. | Keep the shared not-found risk semantics covered; `impact`'s existing omission of `risk_score_raw` remains a separate schema choice. |
204
+ | AUD-611-B12 | Medium | **Partially closed in this fix.** Compact endpoint output now publishes an explicit `population_total` beside the omitted rows and repeats the measured population in the inline note, so `endpoints: []` cannot be read as “no endpoints”. JUnit4 classification remains open. | Add evidence-backed JUnit4 project classification without heuristic overreach. |
205
+ | AUD-611-B13 | Medium | retrieve endpoint-security failed silently once in 15 consecutive attempts (6.7%), exit 1 and zero bytes, with normal timing and no traceback. | Capture correlation/phase failures and reproduce under repeated/concurrent cache-control tests before claiming deterministic closure. |
206
+
207
+ **Commercial interpretation.** The audit supports adoption for normal repositories up
208
+ to several thousand files and values the product at a provisional $35-50 per
209
+ developer/month, but the final score and the critical /dev/null and extreme-scale
210
+ findings block an annual-grade reliability claim. Pricing and enterprise
211
+ positioning remain hypotheses until AUD-611-B01 and AUD-611-B02 are closed and
212
+ the latency contract is explicit.
213
+
214
+ ### External Audit Intake — `AUD-610` detail, release 5.9.3
215
+
216
+ The attached external report audited ASK `5.9.3` in five parallel batches
217
+ (approximately 120 invocations), scored it **7.2/10**, and found the audited
218
+ repository clean: no Java files, commits or unauthorized persisted files were
219
+ changed. Its strongest positive evidence was structured error quality (9.0),
220
+ agent-oriented output bounding (9.5) and default non-destructiveness (9.0).
221
+ Its commercial conclusion was **conditional adoption/pilot**, with a suggested
222
+ price band of `$35-50/developer/month`, contingent on closing the flagship
223
+ silent-failure paths before an annual commitment. That price is an external
224
+ hypothesis, not an ASK pricing decision.
225
+
226
+ The detailed intake below preserves every reported error and its future closure
227
+ boundary. Status is evaluated against the current `5.9.6` documentation and the
228
+ TeaVM simulation above, not blindly copied from the audited `5.9.3` build.
229
+
230
+ | ID | Severity | Reported issue | Roadmap disposition and future closure |
231
+ |---|---:|---|---|
232
+ | `AUD-610-B01` | P1 | Root YAML compact/agent reportedly returned zero bytes and progress reportedly exited 127. | **Not reproduced in `5.9.5` TeaVM; held as release-artifact verification, not an open product defect.** Current usage/error batteries require structured stderr on failure. |
233
+ | `AUD-610-B02` | P1 | `audit-report` reportedly returned zero bytes across formats and output modes. | **Not reproduced in `5.9.5` TeaVM; held as release-artifact verification.** JSON, YAML, Markdown and file-output paths completed with evidence. |
234
+ | `AUD-610-B03` | P1 | `risk --limit 0` reportedly crashed silently. | **Not reproduced in `5.9.5` TeaVM; held as release-artifact verification.** TeaVM accepted zero as a legal empty-list bound and the boundary battery passes. |
235
+ | `AUD-610-B04` | P1 | `timeline --since HEAD~5` reportedly paid for work and then returned empty output. | **Not reproduced in `5.9.5` TeaVM; held as release-artifact verification.** Timeline failures publish structured diagnostics and sampled failures retain per-sample reasons. |
236
+ | `AUD-610-B05` | P1 | `endpoints --consumer <missing-path>` reportedly behaved like a valid consumer path and produced the same oversized result. | **Closed in `5.9.4` (`86ed0a3`).** Consumer paths now have explicit admission and fail closed; retain the missing-path and valid-path differential battery. |
237
+ | `AUD-610-B06` | P2 | Semantic input errors reportedly had inconsistent process exits. | **Closed by the shared error contract (`ae2e8b1`, `f4b4f77`).** `INVALID_INPUT` is exit 1 and parser/grammar failures are exit 2; usage and subprocess parity batteries pass. |
238
+ | `AUD-610-B07` | P2 | Unknown subcommands were reportedly swallowed as repository paths. | **Closed (`178aa6d`).** Registry-derived dispatch rejects the typo before path fallback and preserves valid lone path arguments. |
239
+ | `AUD-610-B08` | P2 | `pack gate --since <missing-ref>` reportedly collapsed the actionable Git ref error into generic `UNVERIFIED`, unlike direct `pr-impact`. | **Closed in `5.9.4` (`6690a7f`).** Unresolved refs are rejected at admission with structured input evidence; preserve direct-vs-pack parity coverage. |
240
+ | `AUD-610-B09` | P2 | Root help reportedly described `--files -` ambiguously. | **Closed (`f66cd28`, `52bcc36`).** Root and subcommand help state path-list stdin, file and comma-separated shapes; real unified diffs are rejected as invalid input. |
241
+ | `AUD-610-B10` | P2 | Missing symbols reportedly produced divergent impact risk/score semantics. | **Closed (`c07581a` plus `tests/test_direct_callers_unit.py`).** Unresolved paths use the shared `not_found` vocabulary, unknown risk, null score where arithmetic is not applicable and consistent non-zero exit. |
242
+ | `AUD-610-B11` | P2 | Malformed CVE feed reportedly yielded `status: ok` with the parse problem buried in `limitations`. | **Closed in `5.9.4` (`abc6319`).** Feed integrity is fail-closed and statically scoped; preserve malformed, empty and mixed-validity feed tests so a security feed cannot silently degrade to “clean”. |
243
+ | `AUD-610-B12` | P2 | Invented posture profile names were accepted and returned a normal-looking result. | **Closed in `5.9.4` (`f7335b1`, `6e75646`).** Unknown declared populations are rejected; retain profile-admission and cross-command tests. |
244
+ | `AUD-610-B13` | P2 | Repeated baseline capture at the same commit reportedly overwrote the prior evidence without warning or `--force`. | **Closed in `5.9.4` (`cbe4da9`).** Same-commit collisions are rejected; retain duplicate, explicit overwrite and cross-kind tests. |
245
+ | `AUD-610-B14` | P2 | `self-audit` reported a different CLI/MCP count without explaining the populations. | **Closed in `5.9.6` (`7c9b23e`).** `self-audit` publishes both populations, native MCP additions and the relationship formula; TeaVM process regression passes. |
246
+ | `AUD-610-B15` | P3 | `baseline diff`/`trend` failed on no history while `baseline attest` returned `no_history`. | **Closed in `5.9.6` (`a130637`).** Diff, trend and attest now return `status: no_history`, exit 0 and explicit `non_coverage` for empty history. |
247
+ | `AUD-610-B16` | P3 | A replacement character (`�`) reportedly appeared in production JSON around a UTF-8 boundary in posture non-coverage text. | **Open reproduction follow-up.** Run byte-level UTF-8 tests on the exact payload and supported platforms, including em dash/arrow boundaries. If confirmed, fix serialization/truncation at code-point boundaries; if not, record the platform cause and keep the claim withdrawn. |
248
+ | `AUD-610-B17` | P3 | One `retrieve endpoint-security` invocation reportedly failed silently, then succeeded immediately on retry; no second reproduction was obtained. | **Investigation only.** Add correlation IDs, phase-level failure capture and a repeated/concurrent cache-control test. Do not classify a transient single sample as a deterministic defect until reproduced. |
249
+
250
+ **Audit exclusions and interpretation:** destructive `rename-class` without
251
+ `--dry-run` and `migrate-apply --write` were not executed for safety; the latter
252
+ was additionally blocked by the auditor's sandbox heuristic, not by an ASK
253
+ failure. The report found no regression in the previously closed surfaces and
254
+ confirmed dry-run/non-destructive behaviour. Until `AUD-610-B01` through
255
+ `AUD-610-B04` and the remaining consistency rows are independently closed, ASK
256
+ must retain conditional-pilot positioning and must not promise silent-failure
257
+ freedom or annual-grade reliability.
258
+
132
259
  ### Explicitly Rejected
133
260
 
134
261
  These are not roadmap work: `--format` and `--compact` remain separate contracts;
@@ -5,7 +5,7 @@
5
5
  > `pack assessment` and `pack gate`, and make evidence and safe change the
6
6
  > product surface. This roadmap must not introduce a competing product thesis.
7
7
 
8
- > **CURRENT UPDATE — release `5.9.4`, following the external `5.9.3` reconciliation.**
8
+ > **CURRENT UPDATE — release `5.9.7`, following the external `5.9.3` reconciliation.**
9
9
  > The commercial increment adds stateless context budgets, a reproducible context-cost harness,
10
10
  > source-level migration SARIF and an opt-in workspace entitlement pilot. Advisory behaviour remains
11
11
  > the default; named-buyer validation is still required before broad enforcement.
@@ -19,6 +19,19 @@
19
19
  > non-reproduction did not cover the payload shape now identified. Details are
20
20
  > in [`AUDIT-2026-08-26-EXTERNAL-5.9.0.md`](AUDIT-2026-08-26-EXTERNAL-5.9.0.md).
21
21
 
22
+ > **RE-AUDIT — 5.9.6, received 2026-08-27.** Seven independent forks exercised
23
+ > approximately 250 invocations across the testing corpus with no target-repository
24
+ > mutation or regression in the three latest fixes. The final score is **7.4/10**.
25
+ > Commercial adoption remains suitable for normal repositories, provisionally
26
+ > `$35-50/developer/month`, but annual-grade reliability is blocked by two new
27
+ > critical findings: invalid-input errors can be suppressed by redirecting stdout
28
+ > to `/dev/null`, and the root compact scan of a 24,073-Java-file repository timed
29
+ > out after 240 seconds with no output. Additional roadmap debt covers root help
30
+ > parity, cache reuse for YAML/view combinations, default progress signals, intent
31
+ > tie semantics, impact not-found parity, compact sizing and one intermittent
32
+ > retrieve failure. Full engineering detail is recorded in `AUD-611` in the
33
+ > development roadmap and defect ledger.
34
+
22
35
  > **EXTERNAL REVIEW — 5.9.2, received 2026-08-27.** No regression was reported in the
23
36
  > previously closed surface. Two `auth workspace` defects are now open: overlapping
24
37
  > parent/child paths can double-count Java files, and nonexistent paths are accepted as
@@ -45,7 +58,7 @@
45
58
  > posture is conditional pilot until the flagship failures are fixed and re-tested.
46
59
  > Full triage: [`AUDIT-2026-08-27-EXTERNAL-5.9.3.md`](AUDIT-2026-08-27-EXTERNAL-5.9.3.md).
47
60
 
48
- > **5.9.4 reliability correction.** The reproducible contract defects from the
61
+ > **5.9.6 reliability correction.** The reproducible contract defects from the
49
62
  > latest review are closed: missing consumer paths and malformed CVE feeds now
50
63
  > fail closed; `pack gate` rejects unresolved refs; posture profile diffs reject
51
64
  > unknown declared-population names; baselines refuse same-commit overwrite;
@@ -1,6 +1,6 @@
1
1
  # Manual de usuario — ASK Engine
2
2
 
3
- > Versión de la herramienta: **5.9.4** · El comando que se ejecuta es `ask`.
3
+ > Versión de la herramienta: **5.9.7** · El comando que se ejecuta es `ask`.
4
4
  > (`sourcecode` sigue funcionando como alias en desactivación y reenvía a `ask`.)
5
5
  > Público: personas que van a usar `ask` por primera vez, sin conocimiento previo.
6
6
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  ## 1. ¿Qué es ASK Engine?
10
10
 
11
- ### Contratos de fiabilidad de la versión 5.9.4
11
+ ### Contratos de fiabilidad de la versión 5.9.7
12
12
 
13
13
  Las entradas inválidas se rechazan antes del análisis costoso mediante el
14
14
  envelope estructurado `INVALID_INPUT`: un `--consumer` inexistente, un feed CVE
@@ -46,16 +46,16 @@ CLI commands — impact, endpoints, spring-audit, explain, … each a pro
46
46
  The key idea: the extraction is **content-addressed**. Commands reuse the parse cache and,
47
47
  where their analysed scope matches, the shared Canonical IR; `ask cache model` names what a
48
48
  warm buys for each command rather than implying that every projection costs the same. In
49
- 5.9.4, `validation` enters through that shared CIR and `data-exposure` reuses one semantic
49
+ 5.9.7, `validation` enters through that shared CIR and `data-exposure` reuses one semantic
50
50
  model across all declared label seeds. (The extraction and consumption contract is fixed in
51
51
  the architecture ADRs 0001–0004 under `docs/architecture/`.)
52
52
 
53
53
  The current external pack audit intake is tracked in
54
54
  [`AUDIT-2026-08-26-EXTERNAL-5.8.28-PACK.md`](AUDIT-2026-08-26-EXTERNAL-5.8.28-PACK.md);
55
- the two pack fixes are included in release 5.9.4, with release-artifact verification
55
+ the two pack fixes are included in release 5.9.7, with release-artifact verification
56
56
  remaining for detached execution and pack evidence.
57
57
 
58
- ### Reliability contracts in 5.9.4
58
+ ### Reliability contracts in 5.9.7
59
59
 
60
60
  Invalid analysis inputs fail before expensive work and use the structured
61
61
  `INVALID_INPUT` envelope: a missing `--consumer` repository, a malformed CVE
@@ -236,7 +236,7 @@ pipx install sourcecode # isolated install, no venv needed
236
236
 
237
237
  # Verify
238
238
  ask version
239
- # ask 5.9.4
239
+ # ask 5.9.7
240
240
  ```
241
241
 
242
242
  Requires Python 3.9+.
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "sourcecode"
7
- version = "5.9.4"
7
+ version = "5.9.7"
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.4"
7
+ __version__ = "5.9.7"