sourcecode 5.9.7__tar.gz → 5.9.9__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.7 → sourcecode-5.9.9}/CHANGELOG.md +28 -0
  2. {sourcecode-5.9.7 → sourcecode-5.9.9}/PKG-INFO +9 -5
  3. {sourcecode-5.9.7 → sourcecode-5.9.9}/README.md +8 -4
  4. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/DEFECT-LEDGER.md +62 -0
  5. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/DEVELOPMENT-ROADMAP.md +84 -1
  6. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/EXECUTIVE-ROADMAP.md +25 -1
  7. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/MANUAL-USUARIO.md +8 -3
  8. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/USER_GUIDE.md +8 -4
  9. {sourcecode-5.9.7 → sourcecode-5.9.9}/pyproject.toml +1 -1
  10. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/__init__.py +1 -1
  11. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/cli.py +174 -32
  12. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/error_schema.py +14 -0
  13. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/license.py +8 -6
  14. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/packs.py +25 -4
  15. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/progress.py +12 -10
  16. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/risk.py +61 -0
  17. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/selftest.py +45 -2
  18. {sourcecode-5.9.7 → sourcecode-5.9.9}/.github/workflows/build-windows.yml +0 -0
  19. {sourcecode-5.9.7 → sourcecode-5.9.9}/.github/workflows/perf-gate.yml +0 -0
  20. {sourcecode-5.9.7 → sourcecode-5.9.9}/.github/workflows/windows-battery.yml +0 -0
  21. {sourcecode-5.9.7 → sourcecode-5.9.9}/.gitignore +0 -0
  22. {sourcecode-5.9.7 → sourcecode-5.9.9}/.ruff.toml +0 -0
  23. {sourcecode-5.9.7 → sourcecode-5.9.9}/CLAUDE.md +0 -0
  24. {sourcecode-5.9.7 → sourcecode-5.9.9}/CODE_OF_CONDUCT.md +0 -0
  25. {sourcecode-5.9.7 → sourcecode-5.9.9}/CONTRIBUTING.md +0 -0
  26. {sourcecode-5.9.7 → sourcecode-5.9.9}/LICENSE +0 -0
  27. {sourcecode-5.9.7 → sourcecode-5.9.9}/NOTICE +0 -0
  28. {sourcecode-5.9.7 → sourcecode-5.9.9}/SECURITY.md +0 -0
  29. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/AUDIT-2026-08-22-5.8.22.md +0 -0
  30. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/AUDIT-2026-08-23-5.8.24.md +0 -0
  31. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/AUDIT-2026-08-23-COMMERCIAL.md +0 -0
  32. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/AUDIT-2026-08-23-CORPUS-AMPLIADO.md +0 -0
  33. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/AUDIT-2026-08-23-EXTERNAL-5.8.25.md +0 -0
  34. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/AUDIT-2026-08-23-EXTERNAL-5.8.26.md +0 -0
  35. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/AUDIT-2026-08-23-THINGSBOARD-FINDINGS.md +0 -0
  36. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/AUDIT-2026-08-26-EXTERNAL-5.8.26.md +0 -0
  37. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/AUDIT-2026-08-26-EXTERNAL-5.8.27.md +0 -0
  38. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/AUDIT-2026-08-26-EXTERNAL-5.8.28-PACK.md +0 -0
  39. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/AUDIT-2026-08-26-EXTERNAL-5.8.28.md +0 -0
  40. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/AUDIT-2026-08-26-EXTERNAL-5.8.31.md +0 -0
  41. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/AUDIT-2026-08-26-EXTERNAL-5.8.32.md +0 -0
  42. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/AUDIT-2026-08-26-EXTERNAL-5.9.0.md +0 -0
  43. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/AUDIT-2026-08-26-MONETIZATION.md +0 -0
  44. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/AUDIT-2026-08-27-EXTERNAL-5.9.2.md +0 -0
  45. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/AUDIT-2026-08-27-EXTERNAL-5.9.3.md +0 -0
  46. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/AUDIT-TESTING-CORPUS-2026-08-22.md +0 -0
  47. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/CACHE.md +0 -0
  48. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/COMMERCIAL-OFFER.md +0 -0
  49. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/CUSTOMER-VALIDATION.md +0 -0
  50. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/DEMO-5MIN.md +0 -0
  51. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/DOCUMENTATION-HYGIENE-2026-08-23.md +0 -0
  52. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/EXECUTION-PLAN-12MO.md +0 -0
  53. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/MODERNIZATION.md +0 -0
  54. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/PRODUCT-ROUTE.md +0 -0
  55. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/PRODUCT_AUDIT.md +0 -0
  56. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/PRODUCT_IDENTITY.md +0 -0
  57. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/PRODUCT_TIERS.md +0 -0
  58. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/RC1-CHECKLIST.md +0 -0
  59. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/RELEASE-CHECKLIST.md +0 -0
  60. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/STRATEGY-2026-08-26-AGENT-CONTEXT.md +0 -0
  61. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/architecture/CATALOG-retrieval-intents.md +0 -0
  62. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/architecture/DESIGN-assessment-deployment-evidence.md +0 -0
  63. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/architecture/DESIGN-assessment-report.md +0 -0
  64. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/architecture/DESIGN-build-closure-provenance.md +0 -0
  65. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/architecture/DESIGN-knowledge-provider-integration.md +0 -0
  66. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/architecture/DESIGN-p5.3b-statement-surface.md +0 -0
  67. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/architecture/DESIGN-p5.5-span-index.md +0 -0
  68. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/architecture/DESIGN-p6-semantic-impact-engine.md +0 -0
  69. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/architecture/DESIGN-p6-semantic-integration-engine.md +0 -0
  70. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/architecture/DESIGN-p7-semantic-services.md +0 -0
  71. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/architecture/DESIGN-pack-gate-ci.md +0 -0
  72. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/architecture/DESIGN-pack-manifest.md +0 -0
  73. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/architecture/DESIGN-pack-mcp-api.md +0 -0
  74. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/architecture/DESIGN-robustness-security-inference.md +0 -0
  75. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/architecture/DESIGN-semantic-retrieval.md +0 -0
  76. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/architecture/EPV-p6-class-typeref.md +0 -0
  77. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/architecture/REPORT-p6-flow-analyzer-comparison.md +0 -0
  78. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/architecture/REPORT-p6-integration-detector-comparison.md +0 -0
  79. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/architecture/REPORT-p8-flow-analyzer-migration.md +0 -0
  80. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/architecture/REPORT-p9-integration-detector-migration.md +0 -0
  81. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/architecture/adr/0001-semantic-ir.md +0 -0
  82. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/architecture/adr/0002-source-evidence-boundary.md +0 -0
  83. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/architecture/adr/0003-architectural-characterization.md +0 -0
  84. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/architecture/adr/0004-semantic-retrieval.md +0 -0
  85. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/architecture/adr/0005-evidence-reconciliation.md +0 -0
  86. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/architecture/adr/0006-performance-harness.md +0 -0
  87. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/architecture/adr/0007-composition-semantics.md +0 -0
  88. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/architecture/adr/0008-answer-coherence.md +0 -0
  89. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/architecture/consumer-disposition-inventory.md +0 -0
  90. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/architecture/overview.md +0 -0
  91. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/architecture/product-architecture-review.md +0 -0
  92. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/architecture/product-strategy-layering.md +0 -0
  93. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/architecture/semantic-ir-consumer-matrix.md +0 -0
  94. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/architecture/semantic-ir-roadmap.md +0 -0
  95. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/baseline-ci.yml +0 -0
  96. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/commercial-pipeline-audit.md +0 -0
  97. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/contracts-ci.yml +0 -0
  98. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/contracts.md +0 -0
  99. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/eval/2026-06-15-petclinic-rest-issue11-vets-pagination.md +0 -0
  100. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/eval/2026-06-15-petclinic-rest-issue147-validation.md +0 -0
  101. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/eval/2026-06-15-petclinic-rest-workflow.md +0 -0
  102. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/eval/2026-06-15-phase18-openapi-surface.md +0 -0
  103. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/eval/2026-06-15-phase20-validation-surface.md +0 -0
  104. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/eval/2026-06-16-broadleaf-checkout-impact-fieldtest.md +0 -0
  105. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/eval/2026-06-16-petclinic-rest-issue11-weakness2-closed.md +0 -0
  106. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/eval/2026-06-16-spring-petclinic-issue2333-dead-vets.md +0 -0
  107. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/licensing-schema.md +0 -0
  108. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/migrate-check.md +0 -0
  109. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/pack-gate-github-actions.yml +0 -0
  110. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/pack-gate-gitlab.yml +0 -0
  111. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/README.md +0 -0
  112. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/REGRESSION-GATE.md +0 -0
  113. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.15/SUMMARY.md +0 -0
  114. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.15/alfresco__ask__cold.json +0 -0
  115. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.15/alfresco__ask__warm.json +0 -0
  116. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.15/broadleaf__ask__cold.json +0 -0
  117. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.15/broadleaf__ask__warm.json +0 -0
  118. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.15/eureka__ask__cold.json +0 -0
  119. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.15/eureka__ask__warm.json +0 -0
  120. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.15/jenkins__ask__cold.json +0 -0
  121. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.15/jenkins__ask__warm.json +0 -0
  122. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.15/jobrunr__ask__cold.json +0 -0
  123. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.15/jobrunr__ask__warm.json +0 -0
  124. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.15/keycloak__ask__cold.json +0 -0
  125. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.15/keycloak__ask__warm.json +0 -0
  126. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.15/neo4j__ask__cold.json +0 -0
  127. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.15/neo4j__ask__warm.json +0 -0
  128. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.15/ofbiz__ask__cold.json +0 -0
  129. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.15/ofbiz__ask__warm.json +0 -0
  130. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.15/openmrs__ask__cold.json +0 -0
  131. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.15/openmrs__ask__warm.json +0 -0
  132. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.15/petclinic__ask__cold.json +0 -0
  133. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.15/petclinic__ask__warm.json +0 -0
  134. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.16/SUMMARY.md +0 -0
  135. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.16/alfresco__ask__cold.json +0 -0
  136. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.16/alfresco__ask__warm.json +0 -0
  137. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.16/broadleaf__ask__cold.json +0 -0
  138. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.16/broadleaf__ask__warm.json +0 -0
  139. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.16/eureka__ask__cold.json +0 -0
  140. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.16/eureka__ask__warm.json +0 -0
  141. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.16/jenkins__ask__cold.json +0 -0
  142. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.16/jenkins__ask__warm.json +0 -0
  143. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.16/jobrunr__ask__cold.json +0 -0
  144. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.16/jobrunr__ask__warm.json +0 -0
  145. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.16/keycloak__ask__cold.json +0 -0
  146. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.16/keycloak__ask__warm.json +0 -0
  147. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.16/neo4j__ask__cold.json +0 -0
  148. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.16/neo4j__ask__warm.json +0 -0
  149. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.16/ofbiz__ask__cold.json +0 -0
  150. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.16/ofbiz__ask__warm.json +0 -0
  151. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.16/openmrs__ask__cold.json +0 -0
  152. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.16/openmrs__ask__warm.json +0 -0
  153. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.16/petclinic__ask__cold.json +0 -0
  154. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/2.5.16/petclinic__ask__warm.json +0 -0
  155. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/gate-latest/README.md +0 -0
  156. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/gate-latest/broadleaf__ask__warm.json +0 -0
  157. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/gate-latest/broadleaf__endpoints__warm.json +0 -0
  158. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/gate-latest/broadleaf__migrate-check__warm.json +0 -0
  159. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/gate-latest/broadleaf__posture__warm.json +0 -0
  160. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/gate-latest/broadleaf__spring-audit__warm.json +0 -0
  161. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/gate-latest/broadleaf__validation__warm.json +0 -0
  162. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/baselines/reference-best/README.md +0 -0
  163. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/perf/corpus-testing-2026-08-22.md +0 -0
  164. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/posture.md +0 -0
  165. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/privacy.md +0 -0
  166. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/pro-experience-audit.md +0 -0
  167. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/schema.md +0 -0
  168. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/spec/envelope-v1.md +0 -0
  169. {sourcecode-5.9.7 → sourcecode-5.9.9}/docs/spring-audit-ci.yml +0 -0
  170. {sourcecode-5.9.7 → sourcecode-5.9.9}/hatch_build.py +0 -0
  171. {sourcecode-5.9.7 → sourcecode-5.9.9}/scripts/compare_integration_engines.py +0 -0
  172. {sourcecode-5.9.7 → sourcecode-5.9.9}/scripts/context_cost_harness.py +0 -0
  173. {sourcecode-5.9.7 → sourcecode-5.9.9}/scripts/customer_smoke_test.sh +0 -0
  174. {sourcecode-5.9.7 → sourcecode-5.9.9}/scripts/generate_jdk_exports.py +0 -0
  175. {sourcecode-5.9.7 → sourcecode-5.9.9}/scripts/perf_gate.py +0 -0
  176. {sourcecode-5.9.7 → sourcecode-5.9.9}/scripts/perf_harness.py +0 -0
  177. {sourcecode-5.9.7 → sourcecode-5.9.9}/scripts/sync_gate_anchors.py +0 -0
  178. {sourcecode-5.9.7 → sourcecode-5.9.9}/scripts/test_fast.sh +0 -0
  179. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/__main__.py +0 -0
  180. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/access_drift.py +0 -0
  181. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/adaptive_scanner.py +0 -0
  182. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/analysis_budget.py +0 -0
  183. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/answer_bounds.py +0 -0
  184. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/archetype.py +0 -0
  185. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/architectural_baseline.py +0 -0
  186. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/architectural_delta.py +0 -0
  187. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/architecture_analyzer.py +0 -0
  188. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/architecture_summary.py +0 -0
  189. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/ast_extractor.py +0 -0
  190. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/audit_clusters.py +0 -0
  191. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/audit_recipe.py +0 -0
  192. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/audit_report.py +0 -0
  193. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/audit_since.py +0 -0
  194. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/audit_verify.py +0 -0
  195. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/baseline_attestation.py +0 -0
  196. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/baseline_autocapture.py +0 -0
  197. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/breaking_changes.py +0 -0
  198. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/build_modules.py +0 -0
  199. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/build_stamp.py +0 -0
  200. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/bundled_docs.py +0 -0
  201. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/c4_render.py +0 -0
  202. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/cache.py +0 -0
  203. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/cache_model.py +0 -0
  204. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/cache_observation.py +0 -0
  205. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/call_surface.py +0 -0
  206. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/caller_metrics.py +0 -0
  207. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/caller_reach.py +0 -0
  208. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/canonical_ir.py +0 -0
  209. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/chain_rules.py +0 -0
  210. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/change_plan.py +0 -0
  211. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/ci_output.py +0 -0
  212. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/cir_graphs.py +0 -0
  213. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/classifier.py +0 -0
  214. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/client_calls.py +0 -0
  215. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/code_notes_analyzer.py +0 -0
  216. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/compare.py +0 -0
  217. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/confidence_analyzer.py +0 -0
  218. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/constraint_diff.py +0 -0
  219. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/consumer_join.py +0 -0
  220. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/container_wiring.py +0 -0
  221. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/context_cache.py +0 -0
  222. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/context_graph.py +0 -0
  223. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/context_scorer.py +0 -0
  224. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/context_summarizer.py +0 -0
  225. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/contract_diff.py +0 -0
  226. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/contract_init.py +0 -0
  227. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/contract_model.py +0 -0
  228. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/contract_pipeline.py +0 -0
  229. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/coverage_parser.py +0 -0
  230. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/cve_feed.py +0 -0
  231. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/cve_reachability.py +0 -0
  232. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/data_exposure.py +0 -0
  233. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/data_labels.py +0 -0
  234. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/declarations.py +0 -0
  235. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/defect_classes/__init__.py +0 -0
  236. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/defect_classes/registry.json +0 -0
  237. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/defect_identity.py +0 -0
  238. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/degradation.py +0 -0
  239. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/dependency_analyzer.py +0 -0
  240. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/deployment_prefix.py +0 -0
  241. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/detach.py +0 -0
  242. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/detectors/__init__.py +0 -0
  243. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/detectors/base.py +0 -0
  244. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/detectors/csproj_parser.py +0 -0
  245. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/detectors/dart.py +0 -0
  246. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/detectors/dotnet.py +0 -0
  247. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/detectors/elixir.py +0 -0
  248. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/detectors/go.py +0 -0
  249. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/detectors/heuristic.py +0 -0
  250. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/detectors/hybrid.py +0 -0
  251. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/detectors/java.py +0 -0
  252. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/detectors/jvm_ext.py +0 -0
  253. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/detectors/nodejs.py +0 -0
  254. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/detectors/parsers.py +0 -0
  255. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/detectors/php.py +0 -0
  256. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/detectors/project.py +0 -0
  257. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/detectors/python.py +0 -0
  258. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/detectors/ruby.py +0 -0
  259. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/detectors/rust.py +0 -0
  260. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/detectors/systems.py +0 -0
  261. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/detectors/terraform.py +0 -0
  262. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/detectors/tooling.py +0 -0
  263. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/doc_analyzer.py +0 -0
  264. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/dynamic_argument_surface.py +0 -0
  265. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/empty_reach.py +0 -0
  266. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/endpoint_disposition.py +0 -0
  267. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/endpoint_literals.py +0 -0
  268. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/endpoint_metrics.py +0 -0
  269. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/entrypoint_classifier.py +0 -0
  270. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/env_analyzer.py +0 -0
  271. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/envelope.py +0 -0
  272. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/environment_resolution.py +0 -0
  273. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/evidence_provider.py +0 -0
  274. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/execution_plan.py +0 -0
  275. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/explain.py +0 -0
  276. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/explain_endpoint.py +0 -0
  277. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/facts/__init__.py +0 -0
  278. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/facts/registry.json +0 -0
  279. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/field_deprecations.py +0 -0
  280. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/file_chunker.py +0 -0
  281. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/file_classifier.py +0 -0
  282. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/filter_surface.py +0 -0
  283. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/findings_baseline.py +0 -0
  284. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/format_contract.py +0 -0
  285. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/fqn_utils.py +0 -0
  286. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/functional_routes.py +0 -0
  287. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/gate_anchors.py +0 -0
  288. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/git_analyzer.py +0 -0
  289. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/git_checkout.py +0 -0
  290. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/github_diff.py +0 -0
  291. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/graph_analyzer.py +0 -0
  292. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/graph_evidence.py +0 -0
  293. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/hibernate_strat.py +0 -0
  294. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/identity_fallback.py +0 -0
  295. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/integration_coordinates.py +0 -0
  296. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/intent_router.py +0 -0
  297. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/jdk_exports.py +0 -0
  298. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/manifest_cache.py +0 -0
  299. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/mcp/__init__.py +0 -0
  300. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/mcp/dependency_import.py +0 -0
  301. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/mcp/onboarding/__init__.py +0 -0
  302. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/mcp/onboarding/applier.py +0 -0
  303. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/mcp/onboarding/backup.py +0 -0
  304. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/mcp/onboarding/detector.py +0 -0
  305. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/mcp/onboarding/planner.py +0 -0
  306. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/mcp/orchestrator.py +0 -0
  307. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/mcp/registry.py +0 -0
  308. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/mcp/runner.py +0 -0
  309. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/mcp/server.py +0 -0
  310. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/mcp_nudge.py +0 -0
  311. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/metrics_analyzer.py +0 -0
  312. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/migrate_check.py +0 -0
  313. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/migration_apply.py +0 -0
  314. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/migration_blast.py +0 -0
  315. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/non_coverage.py +0 -0
  316. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/openapi_surface.py +0 -0
  317. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/openrewrite_recipe.py +0 -0
  318. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/output_bounds.py +0 -0
  319. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/output_budget.py +0 -0
  320. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/output_ceiling.py +0 -0
  321. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/output_encoding.py +0 -0
  322. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/output_sink.py +0 -0
  323. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/pack_manifest.py +0 -0
  324. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/parallel.py +0 -0
  325. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/parse_cache.py +0 -0
  326. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/partial_contract.py +0 -0
  327. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/path_admission.py +0 -0
  328. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/path_display.py +0 -0
  329. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/path_filters.py +0 -0
  330. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/perf.py +0 -0
  331. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/phased_run.py +0 -0
  332. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/pipe_contract.py +0 -0
  333. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/posture.py +0 -0
  334. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/pr_comment_renderer.py +0 -0
  335. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/pr_impact.py +0 -0
  336. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/pr_risk.py +0 -0
  337. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/prepare_context.py +0 -0
  338. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/product_info.py +0 -0
  339. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/provenance.py +0 -0
  340. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/ranking_engine.py +0 -0
  341. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/readiness_timeline.py +0 -0
  342. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/readonly.py +0 -0
  343. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/reconciliation.py +0 -0
  344. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/redactor.py +0 -0
  345. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/reference_facts.py +0 -0
  346. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/regress.py +0 -0
  347. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/regulatory_pack.py +0 -0
  348. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/release_info.py +0 -0
  349. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/relevance_scorer.py +0 -0
  350. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/remediation_diff.py +0 -0
  351. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/remediation_flow.py +0 -0
  352. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/remediation_report.py +0 -0
  353. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/remedies.py +0 -0
  354. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/rename_refactor.py +0 -0
  355. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/repo_classifier.py +0 -0
  356. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/repository_ir.py +0 -0
  357. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/resource_budget.py +0 -0
  358. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/retrieval/__init__.py +0 -0
  359. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/retrieval/context.py +0 -0
  360. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/retrieval/errors.py +0 -0
  361. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/retrieval/executor.py +0 -0
  362. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/retrieval/planner.py +0 -0
  363. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/retrieval/query.py +0 -0
  364. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/retrieval/request.py +0 -0
  365. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/retrieval/resolution.py +0 -0
  366. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/retrieval/result.py +0 -0
  367. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/retrieval/retriever.py +0 -0
  368. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/retrieval/runtime.py +0 -0
  369. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/retrieval/steps.py +0 -0
  370. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/retrieval/steps_endpoint.py +0 -0
  371. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/retrieval/steps_graph.py +0 -0
  372. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/retrieval/steps_impact.py +0 -0
  373. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/retrieval/steps_intf.py +0 -0
  374. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/retrieval/steps_struct.py +0 -0
  375. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/retrieval/steps_txsec.py +0 -0
  376. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/ris.py +0 -0
  377. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/risk_model.py +0 -0
  378. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/rule_catalog.py +0 -0
  379. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/rule_pass.py +0 -0
  380. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/runs.py +0 -0
  381. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/runtime_classifier.py +0 -0
  382. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/sarif.py +0 -0
  383. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/sarif_emit.py +0 -0
  384. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/scanner.py +0 -0
  385. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/schema.py +0 -0
  386. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/schema_producers.py +0 -0
  387. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/schema_registry.py +0 -0
  388. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/schemas/core-analysis-v1.schema.json +0 -0
  389. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/schemas/cve-reachability-v1.schema.json +0 -0
  390. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/schemas/endpoints-v1.schema.json +0 -0
  391. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/schemas/envelope-v1.schema.json +0 -0
  392. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/schemas/pr-impact-v1.schema.json +0 -0
  393. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/schemas/verify-edit-v1.schema.json +0 -0
  394. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/schemas/verify-v1.schema.json +0 -0
  395. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/security_chain.py +0 -0
  396. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/security_config.py +0 -0
  397. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/security_config_scan.py +0 -0
  398. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/security_posture.py +0 -0
  399. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/selection_contract.py +0 -0
  400. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/self_audit.py +0 -0
  401. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/semantic_analyzer.py +0 -0
  402. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/semantic_impact_engine.py +0 -0
  403. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/semantic_integration_engine.py +0 -0
  404. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/semantic_services.py +0 -0
  405. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/serializer.py +0 -0
  406. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/servlet_surface.py +0 -0
  407. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/source_text.py +0 -0
  408. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/spring_event_topology.py +0 -0
  409. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/spring_findings.py +0 -0
  410. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/spring_impact.py +0 -0
  411. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/spring_model.py +0 -0
  412. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/spring_profiles.py +0 -0
  413. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/spring_properties.py +0 -0
  414. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/spring_security_audit.py +0 -0
  415. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/spring_semantic.py +0 -0
  416. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/spring_tx_analyzer.py +0 -0
  417. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/sql_taint.py +0 -0
  418. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/summarizer.py +0 -0
  419. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/target_admission.py +0 -0
  420. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/telemetry/__init__.py +0 -0
  421. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/telemetry/config.py +0 -0
  422. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/telemetry/consent.py +0 -0
  423. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/telemetry/events.py +0 -0
  424. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/telemetry/filters.py +0 -0
  425. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/telemetry/transport.py +0 -0
  426. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/test_gap_ranking.py +0 -0
  427. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/test_sources.py +0 -0
  428. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/text_input.py +0 -0
  429. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/timeline.py +0 -0
  430. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/timeline_cache.py +0 -0
  431. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/token_estimate.py +0 -0
  432. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/tree_utils.py +0 -0
  433. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/type_usage_surface.py +0 -0
  434. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/validation_inference.py +0 -0
  435. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/validation_surface.py +0 -0
  436. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/verify_edit.py +0 -0
  437. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/verify_repo.py +0 -0
  438. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/verify_rules.py +0 -0
  439. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/version_check.py +0 -0
  440. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/vex.py +0 -0
  441. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/waivers.py +0 -0
  442. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/watch_loop.py +0 -0
  443. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/wired_surface.py +0 -0
  444. {sourcecode-5.9.7 → sourcecode-5.9.9}/src/sourcecode/workspace.py +0 -0
  445. {sourcecode-5.9.7 → sourcecode-5.9.9}/supabase/functions/README.md +0 -0
  446. {sourcecode-5.9.7 → sourcecode-5.9.9}/supabase/functions/get-license/index.ts +0 -0
  447. {sourcecode-5.9.7 → sourcecode-5.9.9}/supabase/functions/lemonsqueezy-webhook/index.ts +0 -0
  448. {sourcecode-5.9.7 → sourcecode-5.9.9}/supabase/functions/telemetry/index.ts +0 -0
  449. {sourcecode-5.9.7 → sourcecode-5.9.9}/supabase/sql/license_event_ordering.sql +0 -0
  450. {sourcecode-5.9.7 → sourcecode-5.9.9}/supabase/sql/licensing_schema.sql +0 -0
  451. {sourcecode-5.9.7 → sourcecode-5.9.9}/supabase/sql/telemetry_events.sql +0 -0
@@ -1,5 +1,33 @@
1
1
  # Changelog
2
2
 
3
+ ## [5.9.9] — 2026-08-27
4
+
5
+ *Release-alignment patch release.*
6
+
7
+ **Release**
8
+
9
+ - Synchronizes the package, CLI, README and user-guide version surfaces at `5.9.9`.
10
+ - Carries forward the `5.9.8` reliability fixes and their dedicated TeaVM validation.
11
+ - Keeps the `AUD-614` availability and native Windows/MSYS verification items explicitly open.
12
+
13
+ ## [5.9.8] — 2026-08-27
14
+
15
+ *Audit correction and contract-alignment patch release.*
16
+
17
+ **Fixed**
18
+
19
+ - Standardizes `review-pr` and `activate` failures on structured stderr envelopes.
20
+ - Distinguishes command typos from implicit repository paths and suggests commands.
21
+ - Rejects raw unified diffs passed to `--files -`; the option now accepts path lists only.
22
+ - Streams child progress from `pack gate` without contaminating aggregate stdout.
23
+ - Adds per-row timeout control to `selftest` and removes the fixed-size `cold-start` warning.
24
+
25
+ **Documentation and validation**
26
+
27
+ - Reconciles CLI/MCP population documentation and `rename-class` migration guidance.
28
+ - Updates README, English and Spanish guides, roadmap, ledger and CLI version output.
29
+ - Validated with dedicated regressions against `/Users/user/Documents/workspace/testing/teavm`.
30
+
3
31
  ## [5.9.6] — 2026-08-27
4
32
 
5
33
  *Roadmap correction and release-alignment patch release.*
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sourcecode
3
- Version: 5.9.7
3
+ Version: 5.9.9
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.7-blue)
62
+ ![Version](https://img.shields.io/badge/version-5.9.9-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.7 retains the shared Canonical IR
199
+ **Current performance status.** Release 5.9.9 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.7 also hardens the boundary contracts: missing consumer repositories,
221
+ Release 5.9.9 also carries the boundary-contract hardening: 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.7 — and, on a build that has aged,
254
+ ask version # ask 5.9.9 — and, on a build that has aged,
255
255
  # how many releases have probably shipped since
256
256
  ```
257
257
 
@@ -501,6 +501,10 @@ The everyday loop: diff-based PR review, symptom-driven bug triage, and delta co
501
501
 
502
502
  ### 7 · Utilities
503
503
  `ask rename-class` (word-boundary Java rename) · `ask chunk-file` (split large files for agents) · `ask cache` (status / warm / model / clear / freshness) · `ask self-audit` (does the installed build's own registry agree with itself?)
504
+
505
+ `rename-class` migration note: current releases require the explicit form
506
+ `ask rename-class <repo> --from OldName --to NewName`. Older positional forms are
507
+ not accepted; use `--dry-run` first when migrating scripts.
504
508
  → [reference](docs/USER_GUIDE.md)
505
509
 
506
510
  ---
@@ -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.7-blue)
13
+ ![Version](https://img.shields.io/badge/version-5.9.9-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.7 retains the shared Canonical IR
150
+ **Current performance status.** Release 5.9.9 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.7 also hardens the boundary contracts: missing consumer repositories,
172
+ Release 5.9.9 also carries the boundary-contract hardening: 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.7 — and, on a build that has aged,
205
+ ask version # ask 5.9.9 — and, on a build that has aged,
206
206
  # how many releases have probably shipped since
207
207
  ```
208
208
 
@@ -452,6 +452,10 @@ The everyday loop: diff-based PR review, symptom-driven bug triage, and delta co
452
452
 
453
453
  ### 7 · Utilities
454
454
  `ask rename-class` (word-boundary Java rename) · `ask chunk-file` (split large files for agents) · `ask cache` (status / warm / model / clear / freshness) · `ask self-audit` (does the installed build's own registry agree with itself?)
455
+
456
+ `rename-class` migration note: current releases require the explicit form
457
+ `ask rename-class <repo> --from OldName --to NewName`. Older positional forms are
458
+ not accepted; use `--dry-run` first when migrating scripts.
455
459
  → [reference](docs/USER_GUIDE.md)
456
460
 
457
461
  ---
@@ -71,6 +71,68 @@ Commercially, the audit supports normal repositories up to several thousand
71
71
  files and keeps a provisional $35-50/developer/month range, but B01/B02 block
72
72
  annual-grade reliability and enterprise-scale positioning until resolved.
73
73
 
74
+ **External audit intake `AUD-612`, re-audit of release 5.9.7 — 2026-08-27.**
75
+ The external scope covered roughly 130 new invocations across three forks and direct
76
+ retests of all AUD-611 items. It reports five clean forks, no target writes, commits
77
+ or task-kills, and a score of **7.8/10**. It confirms B05, B06, B08, B09, B10 and B11,
78
+ and reports B01 fixed in its own matrix; B01 remains release-artifact verification
79
+ because the prior external round reproduced it. The new queue is:
80
+
81
+ | ID | Severity | Status | Evidence / closure boundary |
82
+ |---|---:|---|---|
83
+ | AUD-612-B02 | Critical | open | `tutorials` root compact still timed out after 300-311s with zero stdout; warning proves activity, not completion. Define scale, deadline and partial-diagnostic contracts. |
84
+ | AUD-612-B03 | High | closed | YAML cache-hit delivery now publishes `_cache.cache_source` and `timing_ms.served_from_cache` consistently; TeaVM YAML smoke plus the direct cache-hit seam regression pass. A real L2 benchmark remains follow-up because this environment rebuilt both runs. |
85
+ | AUD-612-B04 | High | partial | Each `selftest` row now has configurable 120 s default timeout and structured timeout diagnostics/code 75; valid-row scale latency remains open for profiling. Dedicated TeaVM timeout contract regression passes. |
86
+ | AUD-612-B07 | Medium | closed | `pr-impact --since` now resolves refs through the shared authority and publishes `GIT_REF_NOT_FOUND`; dedicated TeaVM and existing Git-ref regressions pass. |
87
+ | AUD-612-B13 | Medium | closed/no-repro | Controlled TeaVM campaign: 30/30 `retrieve endpoint-security --endpoint /` executions completed with exit 0, valid JSON, no errors and stable content identity after cache warm-up. Reopen on a new correlated failure. |
88
+ | AUD-612-L | High | open | `audit-report --format markdown` timed out at 420s/500s, 2/2, after ~228s in 5.9.6. Performance regression remains open; the one-shot heartbeat sub-issue is mitigated by repeated warnings. |
89
+ | AUD-612-K | Medium | closed | Pack orchestration now streams child stderr, forwarding inherited `ASK_PROGRESS=1` progress while preserving aggregate stdout JSON. Dedicated TeaVM gate regression passes. |
90
+ | AUD-612-M | Medium | closed | `explain` missing-class failures now use structured `INVALID_INPUT` stderr and `exit 1`; dedicated TeaVM regression passes. |
91
+ | AUD-612-E | Medium | closed | The events branch now applies `_exit_on_unresolved_target`; missing event symbols return `not_found` with `exit 1`. TeaVM regression passes. |
92
+ | AUD-612-G | Medium | closed | `review-pr` runtime failures and `activate` failures now publish the shared `error.code` envelope on stderr; stdout remains reserved for valid results. `no_diff` remains the intentional successful `no_changes` result. Dedicated TeaVM and contract tests pass. |
93
+ | AUD-612-I | Medium | closed | Removed the residual `~10K` wording from the large-output warning; help, runtime warning and compact payload consistently describe a snapshot-dependent subset with explicit `full_available` metadata. Dedicated TeaVM regression passes. |
94
+ | AUD-612-07 | Low | closed | Missing single tokens close to a registered command now use command admission with a nearest-command suggestion; existing paths retain implicit root-scan behavior. Dedicated TeaVM regression passes. |
95
+ | AUD-612-09 | Medium | closed | `--files -` is documented and enforced as a newline-delimited changed-path list; raw unified diffs fail with an `--name-only` conversion hint. Dedicated TeaVM regressions pass. |
96
+ | AUD-612-14 | Medium | closed | The current population is 104 CLI leaves versus 110 MCP tools, explicitly decomposed as 101 runtime-derived plus 9 native orchestration tools; `mcp list-tools --json` matches and the relationship is published. Existing TeaVM-backed population regression passes. |
97
+ | AUD-612-R | Medium | closed | README, English guide and Spanish manual document that `rename-class` requires `--from/--to`, the old positional syntax is unsupported, and `--dry-run` is the migration safety step. TeaVM dry-run verification passes. |
98
+ | AUD-613-ROOT | High | closed 5.9.8 | On a TTY, explicit `ask .` was misclassified as bare `ask` after path preprocessing and rendered only the welcome card. An explicit-path marker now distinguishes both flows; TeaVM pseudo-TTY and focused CLI regressions pass. |
99
+
100
+ **External audit intake `AUD-614`, re-audit of release 5.9.8 — 2026-08-27.**
101
+ Five clean forks exercised the `testing/` corpus without target-repository writes,
102
+ commits or Java-file changes. The initial **8.0/10** score was superseded by the
103
+ addendum confirming a second severe availability regression; the governing score is
104
+ **7.5/10**. Previously closed semantic fixes remained stable, but the following rows
105
+ are the current release blockers and contract gaps:
106
+
107
+ | ID | Severity | Status | Evidence / closure boundary |
108
+ |---|---:|---|---|
109
+ | AUD-614-F | Critical | closed 5.9.8 (reverified) | The external `/dev/null` false-success is not reproducible in the current checkout: invalid TeaVM input returns `exit 1` and identical structured stderr whether stdout is captured or discarded. A dedicated redirection regression protects the boundary. Native Windows/MSYS release-artifact verification remains required because the external evidence conflicts. |
110
+ | AUD-614-L | Critical / regression | open | `audit-report` is contention-sensitive on `thingsboard` (3,714 files): one clean run completed in 136 s, while concurrent/isolated runs exceeded 5 minutes; JSON, YAML and Markdown all exhibited the problem. `tutorials` reached 5m39.6s with zero stdout. Requires profiling, stage visibility, deadline and structured partial output. |
111
+ | AUD-614-RISK-L0 | High / regression | closed 5.9.8 | `risk --limit 0` now returns a fast explicit zero-row view without constructing the repository-wide composer. It publishes `risks: []`, `shown: 0`, null totals and `analysis_skipped: true`; the TeaVM flow and dedicated regression pass. |
112
+ | AUD-614-SELFTEST-TIMEOUT | High / contract regression | closed 5.9.8 | `selftest --timeout` is now an overall deadline; each child receives the remaining budget, interrupted/unstarted rows are structured as `error`, and the command returns code 75. The real TeaVM flow and dedicated regression pass. The separate fourth-run hang remains mixed evidence. |
113
+ | AUD-614-WIN-PROC | Medium | open | Windows/MSYS timeout or SIGTERM can leave `ask.exe` descendants alive, with MSYS PIDs unusable by native `taskkill`. Validate signal handling and Windows Job Objects from native Windows and Git Bash. |
114
+ | AUD-614-G | Medium | closed 5.9.8 | The shared error authority normalizes legacy producer spellings to canonical uppercase codes (`NO_DIFF_SOURCE`, `INVALID_LICENSE`). TeaVM `review-pr` and activation contract tests pass. |
115
+ | AUD-614-E | Low | open | Impact commands now agree on unresolved exit status, but their `risk_level` values still diverge (`unknown`/`low`/`unknown`). Define one not-found payload semantics and enforce parity. |
116
+ | AUD-614-I | Medium | closed 5.9.8 | The user manual and internal compacting comment no longer promise `~10K`; they state that `cold-start --compact` is snapshot-dependent, expose `estimated_tokens`, and require size validation before direct AI injection. The CLI help and payload already used this contract. A hard ceiling remains optional future scope. |
117
+ | AUD-614-INTENT-TIE | Medium | open | Exact lexical ties at score `2.8284` still resolve differently for `endpoint security` and `security surface`. Define deterministic tie/margin semantics and add a real-repository regression. |
118
+ | AUD-614-07 | Low | closed 5.9.8 (reverified) | The installed `ask spring-audi` entry point returns `Did you mean: spring-audit?`; the TeaVM path/typo regression battery passes. The external wording report is not reproducible in the current checkout. |
119
+ | AUD-614-JUNIT4 | Medium | open | JUnit4 projects remain `project_type: unknown`; add evidence-backed classification without broad heuristic false positives. |
120
+
121
+ The audit also confirms root cache reuse, stdin contracts, pack progress, explain and
122
+ impact error routing, self-audit population disclosure, endpoint compact disclosure,
123
+ Spring detection controls, baseline safety and the prior `/dev/null` fix matrix. The
124
+ intermittent endpoint-security retrieval issue had 0/18 failures in this pass and stays
125
+ under observation because its historical rate is about 2% over 51 runs.
126
+
127
+ **Commercial boundary.** The corrected assessment is `$25-40/developer/month`, not the
128
+ initial `$45-58` headline. Do not market enterprise-scale support or production CI
129
+ gating for repositories above roughly 3,000 files until the four critical/high
130
+ availability and error-transport rows are independently closed with bounded evidence.
131
+
132
+ Commercially, normal repositories up to about 4,000 files remain viable at a provisional
133
+ $40-55/developer/month. B02, B04 and L block annual CI-gating and extreme-monorepo claims;
134
+ B03, K, M and G weaken machine-consumable evidence.
135
+
74
136
  **External audit intake `AUD-610`, release 5.9.3 — 2026-08-27.** The attached
75
137
  report scored the build **7.2/10** after five parallel batches and approximately
76
138
  120 invocations. It verified a clean target repository, no Java-file changes,
@@ -3,7 +3,15 @@
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.7`; external reconciliation `AUD-611` adds the next correction queue.**
6
+ > **CURRENT QUEUE — release `5.9.9`; external re-audit `AUD-614` remains the reliability gate.**
7
+ > The latest external pass confirms the cache, stdin, progress, error-channel and
8
+ > population fixes, but reports a serious availability regression: `audit-report`
9
+ > is contention-sensitive on a normal large repository. The `/dev/null` report is
10
+ > reverified as fixed in the current checkout; native Windows/MSYS release-artifact
11
+ > confirmation remains. `risk --limit 0` and the `selftest --timeout` contract are now
12
+ > closed in this cycle; Windows process-tree cleanup remains separately open.
13
+ > `AUD-612` remains the preceding audit record; `AUD-614` is the governing queue
14
+ > for the current `5.9.9` state, carrying forward the `5.9.8` fixes.
7
15
  > The 2026-08-27 external review adds `AUD-610-B01` through `AUD-610-B10`, led by
8
16
  > silent `selftest` nondeterminism, silent root/audit-report failures, a legal-zero
9
17
  > `risk --limit 0` crash, an unvalidated consumer path and contradictory Spring
@@ -211,6 +219,81 @@ findings block an annual-grade reliability claim. Pricing and enterprise
211
219
  positioning remain hypotheses until AUD-611-B01 and AUD-611-B02 are closed and
212
220
  the latency contract is explicit.
213
221
 
222
+ ### External Audit Intake — `AUD-612` re-audit, release 5.9.7
223
+
224
+ The external re-audit covered repositories under `Documents/workspace/testing/` and
225
+ ran approximately 130 new invocations across three forks, plus direct retests of all
226
+ 13 `AUD-611` items. It reports five clean forks, no target-repository changes, no
227
+ commits and no task-kill intervention. The score is **7.8/10**, up from the recorded
228
+ `AUD-611` score of 7.4/10. It confirms complete closure of B05, B06, B08, B09, B10
229
+ and B11, confirms the endpoint compact disclosure improvement, and reports B01 as
230
+ fixed in its own 13-run matrix. Because the preceding external round reproduced B01,
231
+ that result remains release-artifact verification rather than erased history.
232
+
233
+ | ID | Severity | Finding | Required future closure |
234
+ |---|---:|---|---|
235
+ | AUD-612-B02 | Critical | Cold root `ask . --compact` on `tutorials` (24,073 Java files) still timed out after 300-311 seconds with zero stdout; the 60-second warning proves activity but does not deliver a result. | Define and enforce a scale contract, bound or accelerate the root scan, and preserve structured partial/deadline diagnostics. |
236
+ | AUD-612-B03 | High | **Closed in this fix.** The YAML cache-hit delivery branch now injects `_cache.cache_source` and refreshes `timing_ms.served_from_cache` from the same authoritative hit state as JSON. | Keep the YAML cache seam regression and a real cold/warm multi-process benchmark green; the current TeaVM environment did not generate an L2 hit spontaneously. |
237
+ | AUD-612-B04 | High | **Partially closed in this fix.** `selftest` now bounds every ledger child with configurable `--timeout` (120 s default) and preserves structured timeout diagnostics/code 75. Valid-row scale latency remains open for profiling. TeaVM timeout contract regression passes. | Add phase/correlation IDs and profile slow valid rows; do not raise the default without evidence. |
238
+ | AUD-612-B07 | Medium | **Closed in this fix.** `pr-impact --since` now resolves refs through the shared Git authority and publishes `GIT_REF_NOT_FOUND`, matching posture and timeline. | Keep the complete ref-consumer matrix green. |
239
+ | AUD-612-B13 | Medium / investigation | **Closed as not reproduced in this investigation.** A controlled 30-run TeaVM campaign with an isolated cache completed 30/30 with exit 0, valid JSON, 0 errors and one stable content identity after warm-up. Reopen on any new failure with per-run correlation data. | Keep repeated/concurrent retrieval coverage in release audits. |
240
+ | AUD-612-L | High / regression | `audit-report . --format markdown` timed out at 420s with contention and 500s in isolation, 2/2, after completing in about 228s in 5.9.6. The heartbeat-only sub-issue is now mitigated: warnings repeat at the configured interval. | Reproduce with a 900s diagnostic window, identify the performance regression and add a bounded failure envelope. |
241
+ | AUD-612-K | Medium | **Closed in this fix.** Pack orchestration now forwards child stderr while each component runs, so inherited `ASK_PROGRESS=1` heartbeats reach the operator without contaminating the aggregate stdout JSON. TeaVM gate regression passes. | Keep nested progress and stdout purity tests green. |
242
+ | AUD-612-M | Medium | **Closed in this fix.** `explain <nonexistent-class>` now emits `INVALID_INPUT` as structured stderr with `exit 1`; the internal explanation API remains unchanged. | Keep class-not-found and no-diff contract tests green for the remaining public commands. |
243
+ | AUD-612-E | Medium | **Closed in this fix.** `impact-chain --type events` now applies the shared not-found exit policy after emitting its result, returning `exit 1` for unresolved symbols. | Keep every impact type on the shared CLI exit-policy test. |
244
+ | AUD-612-G | Medium | **Closed in this fix.** `review-pr` runtime failures and `activate` failures now publish the shared `error.code` envelope on stderr, with stdout reserved for valid results. The intentional `review-pr` `no_diff` result remains `exit 0` / `no_changes`. TeaVM and contract regressions pass. | Keep public failure paths on the shared envelope and preserve the no-diff success semantics. |
245
+ | AUD-612-I | Medium | **Closed in this fix.** The remaining `~10K` promise in the large-output warning is removed; help, runtime warning and compact payload now consistently describe a snapshot-dependent orientation subset with explicit `full_available` metadata. TeaVM compact regression passes. | Keep compact-size wording derived from the actual snapshot contract. |
246
+ | AUD-612-07 | Low / UX | **Closed in this fix.** A missing single token close to a registered command is now rejected as an unknown command with nearest-command suggestions; existing paths retain implicit root-scan behavior. TeaVM path and typo regressions pass. | Keep command admission and implicit-path differential tests green. |
247
+ | AUD-612-09 | Medium / docs | **Closed in this fix.** Help now describes `--files -` as a newline-delimited changed-path list. Raw unified diffs are rejected early with an `--name-only` conversion hint instead of being interpreted as file paths. TeaVM list and rejection regressions pass. | Keep the stdin grammar and raw-diff rejection tests green. |
248
+ | AUD-612-14 | Medium / governance | **Closed in this reconciliation.** Current `self-audit` publishes 104 registered CLI leaves and 110 served MCP tools, decomposed as 101 runtime-derived plus 9 native orchestration tools; `mcp list-tools --json` matches 110. The payload states that the populations are intentionally different and gives the formula. Existing TeaVM-backed population regression passes. | Keep the population formula and parity regression generated from the live registries. |
249
+ | AUD-612-R | Medium / migration | **Closed in this fix.** The explicit `--from/--to` contract is now documented in README, English guide and Spanish manual; the old positional syntax is explicitly marked unsupported and `--dry-run` is recommended for script migration. TeaVM dry-run verification passes. | Keep migration guidance aligned with the live command signature. |
250
+ | AUD-613-ROOT | High / regression | **Closed in this fix.** On a TTY, explicit `ask <repo>` paths were removed during argv preprocessing and misclassified as a bare invocation, so `ask .` rendered only the welcome card. The preprocessor now retains an explicit-path marker: bare `ask` still shows the welcome card, while `ask .` analyzes and emits JSON. A real TeaVM pseudo-TTY run and focused CLI regressions pass. | Keep the bare-invocation versus explicit-root differential test green. |
251
+
252
+ ### External Audit Intake — `AUD-614` re-audit, release 5.9.8
253
+
254
+ The external re-audit covered the repositories under `Documents/workspace/testing/`
255
+ using five clean forks. It reports no target-repository writes, commits or Java-file
256
+ changes. The initial score of **8.0/10** was superseded by the addendum after the
257
+ previously incomplete `risk --limit 0` run was confirmed; the governing assessment is
258
+ **7.5/10**, the first decline in the series. No previously closed semantic fix was
259
+ reported as broken, but availability and contract reliability regressed.
260
+
261
+ | ID | Severity | Finding | Required future closure |
262
+ |---|---:|---|---|
263
+ | AUD-614-F | Critical | **Closed in this verification.** The reported `/dev/null` false-success is not reproducible in the current `5.9.8` checkout: invalid TeaVM input returns `exit 1` and the identical structured stderr envelope with normal stdout capture or stdout discarded. A dedicated redirection matrix now protects this boundary. Keep release-artifact verification on native Windows/MSYS because the external witness remains contradictory. | Keep the redirection matrix green across error classes, entry points and platforms. |
264
+ | AUD-614-L | Critical / regression | `audit-report` is not reliably bounded. `thingsboard` (3,714 files) completed once in 136 s but timed out after more than 5 minutes under concurrent load; JSON, YAML and Markdown all showed the same sensitivity. `tutorials` remained at 5m39.6s with zero stdout. | Profile contention and shared-cache/worker behaviour, expose stages, enforce a deadline and structured partial/failure output, and define a supported repository-size/load envelope. |
265
+ | AUD-614-RISK-L0 | High / regression | **Closed in this fix.** `risk --limit 0` now returns a fast explicit zero-row view without constructing the repository-wide composer. It publishes `risks: []`, `shown: 0`, null totals and `analysis_skipped: true`, so an empty requested view is not misread as a zero-risk census. The real TeaVM flow completes within 12 s and the dedicated regression passes. | Keep the zero-row contract and ensure filters that request actual composition continue through the normal analysis path. |
266
+ | AUD-614-SELFTEST-TIMEOUT | High / contract regression | **Closed in this fix.** `selftest` now treats `--timeout` as an overall execution deadline, bounds each child by the remaining budget, emits structured errors for the interrupted and unstarted rows, and returns code 75. The real TeaVM flow and dedicated regression pass. The separate fourth-run hang remains mixed evidence. | Keep the parent/child deadline and code-75 contract green on the installed entry point and TeaVM. |
267
+ | AUD-614-WIN-PROC | Medium | On Windows/MSYS, timeout or SIGTERM can leave `ask.exe` descendants alive; the MSYS PID cannot be cleaned with native `taskkill`. The audit observed low-memory orphan processes after a timed-out run. | Implement signal/CTRL_BREAK cleanup and Windows Job Objects or document a verified equivalent; test parent and descendant termination from native Windows and Git Bash. |
268
+ | AUD-614-G | Medium | **Closed in this fix.** The shared error authority now normalizes legacy producer spellings to canonical uppercase codes: `NO_DIFF_SOURCE` and `INVALID_LICENSE`. The TeaVM `review-pr` flow and activation contract tests pass. | Keep all public error producers on the canonical code authority. |
269
+ | AUD-614-E | Low / semantic parity | The impact family now returns consistent `exit 1` for unresolved symbols, but `risk_level` still differs cosmetically (`unknown`/`low`/`unknown`) across the three commands. | Decide one not-found semantic shape and generate all impact-family payloads from it. |
270
+ | AUD-614-I | Medium / contract | **Closed in this fix.** The user manual no longer promises `~10K` for `cold-start --compact`; it now states that the orientation subset depends on the stored snapshot, exposes `estimated_tokens`, and recommends checking the measured size before direct AI injection. The CLI help and payload already carried the same non-fixed-size contract. | Keep the manual, help and payload wording derived from the snapshot-size contract; a hard ceiling remains a separate product decision. |
271
+ | AUD-614-INTENT-TIE | Medium | Equal lexical scores (`2.8284`) still produce different verdicts: `endpoint security` is refused while `security surface` resolves. This has remained unchanged for two rounds and exposes unstable tie semantics. | Define deterministic tie handling, publish the competing intents and margin, and add a real-repository regression for exact-score collisions. |
272
+ | AUD-614-07 | Low / UX regression | **Closed in this verification.** The installed `ask spring-audi` entry point returns the command-admission error with `Did you mean: spring-audit?`; the TeaVM path/typo regression battery passes. The external wording report is not reproducible in the current checkout. | Keep command admission, error wording and help aligned in the installed-CLI test. |
273
+ | AUD-614-JUNIT4 | Medium / classification | JUnit4 repositories remain classified as `unknown`; no change from the previous audit. | Add evidence-backed JUnit4 detection without weakening confidence or introducing Kotlin/Java false positives. |
274
+
275
+ **Confirmed stable in this round.** Root cache reuse (cold 267 s to warm 1-2 s),
276
+ `pr-impact`/`pr-risk --files -`, progress propagation through `pack gate --since`,
277
+ `explain` error routing, impact exit status, self-audit population explanation,
278
+ endpoint compact disclosure, Spring detection across six controls, baseline safety and
279
+ the earlier `/dev/null` fix matrix were revalidated without regression. The intermittent
280
+ `retrieve endpoint-security` issue had no failures in the latest 18 runs (51-run
281
+ history: about 2%); keep it as a monitored investigation rather than a closure claim.
282
+
283
+ **Commercial interpretation.** The first headline estimate of `$45-58/developer/month`
284
+ is superseded by the corrected assessment of `$25-40/developer/month`. ASK remains
285
+ credible for normal repositories, but the product must not claim enterprise-scale
286
+ support or production CI gating for repositories above roughly 3,000 files until
287
+ `AUD-614-F` and `AUD-614-L` have a bounded, independently reproduced closure. The
288
+ Windows process-tree item remains a platform-specific reliability risk. The absence
289
+ of target mutation remains a positive safety signal, not evidence of availability.
290
+
291
+ **Commercial interpretation.** Normal repositories up to roughly 4,000 files remain a
292
+ credible adoption target, with the external estimate at **$40-55/developer/month**.
293
+ The product is not yet suitable for annual CI-gating commitments or extreme monorepos:
294
+ B02, B04 and regression L leave the system without a reliable completion contract,
295
+ while K and the remaining performance rows weaken machine-consumable evidence and completion confidence.
296
+
214
297
  ### External Audit Intake — `AUD-610` detail, release 5.9.3
215
298
 
216
299
  The attached external report audited ASK `5.9.3` in five parallel batches
@@ -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.7`, following the external `5.9.3` reconciliation.**
8
+ > **CURRENT UPDATE — release `5.9.9`, 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,30 @@
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.9, received 2026-08-27.** The external re-audit confirms the
23
+ > cache, stdin, progress, error-channel and population corrections, but the corrected
24
+ > score is **7.5/10** after confirming a serious availability regression. `audit-report`
25
+ > is sensitive to contention and can exceed five minutes even on a 3,714-file repository;
26
+ > `risk . --limit 0` and `selftest --timeout` were also investigated and are now
27
+ > bounded by explicit contracts. The long-standing `/dev/null` false-success is
28
+ > reverified as fixed in the current checkout, with native Windows/MSYS artifact
29
+ > confirmation still pending; `audit-report` remains sensitive to contention. Do not position ASK
30
+ > for enterprise-scale repositories or production CI gating above roughly 3,000 files
31
+ > until these remaining bounded reliability contracts are independently closed. The corrected commercial estimate is
32
+ > `$25-40/developer/month`, superseding the preliminary `$45-58` headline. Full detail
33
+ > is recorded as `AUD-614` in the development roadmap and defect ledger.
34
+
35
+ > **RE-AUDIT — 5.9.7, received 2026-08-27.** Three independent forks added roughly
36
+ > 130 invocations and retested the AUD-611 queue. The score rose to **7.8/10** and
37
+ > confirmed the help, stdin, Git-ref, intent, impact-score and progress corrections.
38
+ > It also found a high-severity `audit-report --format markdown` performance regression
39
+ > (420-500s without completion), a YAML cache-hit disclosure defect, missing progress
40
+ > propagation in `pack gate`, and inconsistent error envelopes in `explain`, `review-pr`
41
+ > and `activate`. B02/B04 and the new regression remain blockers for annual CI-gating
42
+ > or extreme-monorepo positioning. Normal repositories around 4,000 files remain the
43
+ > viable commercial segment at a provisional `$40-55/developer/month`. Full detail is
44
+ > recorded as `AUD-612` in the development roadmap and defect ledger.
45
+
22
46
  > **RE-AUDIT — 5.9.6, received 2026-08-27.** Seven independent forks exercised
23
47
  > approximately 250 invocations across the testing corpus with no target-repository
24
48
  > mutation or regression in the three latest fixes. The final score is **7.4/10**.
@@ -1,6 +1,6 @@
1
1
  # Manual de usuario — ASK Engine
2
2
 
3
- > Versión de la herramienta: **5.9.7** · El comando que se ejecuta es `ask`.
3
+ > Versión de la herramienta: **5.9.9** · 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.7
11
+ ### Contratos de fiabilidad de la versión 5.9.9
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
@@ -955,6 +955,11 @@ ask rename-class . --from OldName --to NewName --output rename-audit.json
955
955
  **Opciones:**
956
956
  - `--from` (**obligatorio**): nombre actual de la clase (PascalCase, p. ej. `ServiceA`).
957
957
  - `--to` / `-t` (**obligatorio**): nombre nuevo (PascalCase, p. ej. `ServiceB`).
958
+
959
+ **Nota de migracion:** las versiones actuales exigen la forma explicita
960
+ `ask rename-class <repo> --from NombreAntiguo --to NombreNuevo`. La sintaxis
961
+ posicional antigua ya no se acepta. Al actualizar scripts, anade `--dry-run`
962
+ para revisar primero el plan de cambios.
958
963
  - `--dry-run`: calcula los cambios pero **no escribe ni renombra** nada en disco.
959
964
  - `--no-tests`: excluye los ficheros de test del rename (solo `src/main`).
960
965
  - `--format`: `json` (por defecto) o `yaml`.
@@ -1005,7 +1010,7 @@ foto).
1005
1010
  `ask cache freshness .` si necesitas comprobar su relación con el HEAD actual.
1006
1011
 
1007
1012
  **Aviso de tamaño:** la salida completa es grande (~100K–200K tokens en repos medianos).
1008
- - `--compact`: emite un subconjunto compacto (~10K tokens): status, `git_head`, stacks, puntos de entrada y dependencias clave. **Seguro para inyectar directamente en una IA.**
1013
+ - `--compact`: emite un subconjunto de orientación con `status`, `git_head`, stacks y puntos de entrada. Su tamaño depende del snapshot persistido y no tiene un techo fijo; para imponer un límite de salida usa la configuración de ceiling o guarda la respuesta con `--output`. **Comprueba `estimated_tokens` antes de inyectarlo directamente en una IA.**
1009
1014
  - `--output` / `-o`: guarda la foto completa en fichero para herramientas de búsqueda local.
1010
1015
  - `--copy` / `-c`: al portapapeles. Con la salida completa esto son cientos de KB; normalmente lo que quieres copiar es `--compact -c`.
1011
1016
 
@@ -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.7, `validation` enters through that shared CIR and `data-exposure` reuses one semantic
49
+ 5.9.9, `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.7, with release-artifact verification
55
+ the two pack fixes are included in release 5.9.9, with release-artifact verification
56
56
  remaining for detached execution and pack evidence.
57
57
 
58
- ### Reliability contracts in 5.9.7
58
+ ### Reliability contracts in 5.9.9
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.7
239
+ # ask 5.9.9
240
240
  ```
241
241
 
242
242
  Requires Python 3.9+.
@@ -1381,6 +1381,10 @@ explaining. The rest do one thing; `ask <command> --help` is the whole story.
1381
1381
  | `ask chunk-file <file>` | supported | Split a large Java file into semantic chunks an agent can consume |
1382
1382
  | `ask intent "<question>"` | supported | Resolve a plain-language question to the typed `retrieve` query that answers it (scored lexical match against a declared vocabulary — no model, no generation). Prints the query; `--run` executes it. A question fitting two intents too closely is refused with both named. |
1383
1383
  | `ask rename-class` | supported | Word-boundary Java rename across the repository |
1384
+
1385
+ **Migration note:** `rename-class` requires the explicit `--from OldName --to NewName`
1386
+ options. Older positional name syntax is no longer accepted. Add `--dry-run` when
1387
+ updating an existing script so the planned file changes can be reviewed first.
1384
1388
  | `ask schema <name>` | supported | Print a published JSON Schema for this tool's output |
1385
1389
  | `ask self-audit` | supported | Check the SHIPPED build's own coherence — cache model, format contract, schema registry and output affordances. Declares explicitly that the semantic engine does not apply to this product's own source (ASK analyses Java; this build is Python), rather than reporting zeros. `ask selftest` is the different question: the defect ledger run against a real repository. |
1386
1390
  | `ask auth workspace <repo>...` | supported | Aggregate workspace entitlement preview. `--enforce` opts into the named-buyer pilot that reuses the existing Pro gate when the organization-sized threshold is crossed; advisory mode remains the default and the CLI does not bill. |
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "sourcecode"
7
- version = "5.9.7"
7
+ version = "5.9.9"
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.7"
7
+ __version__ = "5.9.9"