sourcecode 5.9.11__tar.gz → 5.9.13__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 (452) hide show
  1. {sourcecode-5.9.11 → sourcecode-5.9.13}/CHANGELOG.md +38 -0
  2. {sourcecode-5.9.11 → sourcecode-5.9.13}/PKG-INFO +5 -5
  3. {sourcecode-5.9.11 → sourcecode-5.9.13}/README.md +4 -4
  4. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/DEFECT-LEDGER.md +61 -0
  5. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/DEVELOPMENT-ROADMAP.md +89 -0
  6. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/EXECUTIVE-ROADMAP.md +33 -1
  7. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/MANUAL-USUARIO.md +3 -3
  8. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/PRODUCT-ROUTE.md +12 -0
  9. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/USER_GUIDE.md +4 -4
  10. {sourcecode-5.9.11 → sourcecode-5.9.13}/pyproject.toml +1 -1
  11. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/__init__.py +1 -1
  12. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/cli.py +19 -0
  13. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/parallel.py +9 -0
  14. {sourcecode-5.9.11 → sourcecode-5.9.13}/.github/workflows/build-windows.yml +0 -0
  15. {sourcecode-5.9.11 → sourcecode-5.9.13}/.github/workflows/perf-gate.yml +0 -0
  16. {sourcecode-5.9.11 → sourcecode-5.9.13}/.github/workflows/windows-battery.yml +0 -0
  17. {sourcecode-5.9.11 → sourcecode-5.9.13}/.gitignore +0 -0
  18. {sourcecode-5.9.11 → sourcecode-5.9.13}/.ruff.toml +0 -0
  19. {sourcecode-5.9.11 → sourcecode-5.9.13}/CLAUDE.md +0 -0
  20. {sourcecode-5.9.11 → sourcecode-5.9.13}/CODE_OF_CONDUCT.md +0 -0
  21. {sourcecode-5.9.11 → sourcecode-5.9.13}/CONTRIBUTING.md +0 -0
  22. {sourcecode-5.9.11 → sourcecode-5.9.13}/LICENSE +0 -0
  23. {sourcecode-5.9.11 → sourcecode-5.9.13}/NOTICE +0 -0
  24. {sourcecode-5.9.11 → sourcecode-5.9.13}/SECURITY.md +0 -0
  25. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/AUDIT-2026-08-22-5.8.22.md +0 -0
  26. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/AUDIT-2026-08-23-5.8.24.md +0 -0
  27. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/AUDIT-2026-08-23-COMMERCIAL.md +0 -0
  28. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/AUDIT-2026-08-23-CORPUS-AMPLIADO.md +0 -0
  29. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/AUDIT-2026-08-23-EXTERNAL-5.8.25.md +0 -0
  30. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/AUDIT-2026-08-23-EXTERNAL-5.8.26.md +0 -0
  31. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/AUDIT-2026-08-23-THINGSBOARD-FINDINGS.md +0 -0
  32. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/AUDIT-2026-08-26-EXTERNAL-5.8.26.md +0 -0
  33. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/AUDIT-2026-08-26-EXTERNAL-5.8.27.md +0 -0
  34. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/AUDIT-2026-08-26-EXTERNAL-5.8.28-PACK.md +0 -0
  35. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/AUDIT-2026-08-26-EXTERNAL-5.8.28.md +0 -0
  36. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/AUDIT-2026-08-26-EXTERNAL-5.8.31.md +0 -0
  37. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/AUDIT-2026-08-26-EXTERNAL-5.8.32.md +0 -0
  38. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/AUDIT-2026-08-26-EXTERNAL-5.9.0.md +0 -0
  39. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/AUDIT-2026-08-26-MONETIZATION.md +0 -0
  40. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/AUDIT-2026-08-27-EXTERNAL-5.9.2.md +0 -0
  41. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/AUDIT-2026-08-27-EXTERNAL-5.9.3.md +0 -0
  42. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/AUDIT-2026-08-28-EXTERNAL-5.9.10.md +0 -0
  43. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/AUDIT-TESTING-CORPUS-2026-08-22.md +0 -0
  44. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/CACHE.md +0 -0
  45. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/COMMERCIAL-OFFER.md +0 -0
  46. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/CUSTOMER-VALIDATION.md +0 -0
  47. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/DEMO-5MIN.md +0 -0
  48. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/DOCUMENTATION-HYGIENE-2026-08-23.md +0 -0
  49. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/EXECUTION-PLAN-12MO.md +0 -0
  50. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/MODERNIZATION.md +0 -0
  51. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/PRODUCT_AUDIT.md +0 -0
  52. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/PRODUCT_IDENTITY.md +0 -0
  53. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/PRODUCT_TIERS.md +0 -0
  54. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/RC1-CHECKLIST.md +0 -0
  55. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/RELEASE-CHECKLIST.md +0 -0
  56. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/STRATEGY-2026-08-26-AGENT-CONTEXT.md +0 -0
  57. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/architecture/CATALOG-retrieval-intents.md +0 -0
  58. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/architecture/DESIGN-assessment-deployment-evidence.md +0 -0
  59. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/architecture/DESIGN-assessment-report.md +0 -0
  60. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/architecture/DESIGN-build-closure-provenance.md +0 -0
  61. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/architecture/DESIGN-knowledge-provider-integration.md +0 -0
  62. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/architecture/DESIGN-p5.3b-statement-surface.md +0 -0
  63. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/architecture/DESIGN-p5.5-span-index.md +0 -0
  64. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/architecture/DESIGN-p6-semantic-impact-engine.md +0 -0
  65. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/architecture/DESIGN-p6-semantic-integration-engine.md +0 -0
  66. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/architecture/DESIGN-p7-semantic-services.md +0 -0
  67. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/architecture/DESIGN-pack-gate-ci.md +0 -0
  68. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/architecture/DESIGN-pack-manifest.md +0 -0
  69. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/architecture/DESIGN-pack-mcp-api.md +0 -0
  70. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/architecture/DESIGN-robustness-security-inference.md +0 -0
  71. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/architecture/DESIGN-semantic-retrieval.md +0 -0
  72. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/architecture/EPV-p6-class-typeref.md +0 -0
  73. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/architecture/REPORT-p6-flow-analyzer-comparison.md +0 -0
  74. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/architecture/REPORT-p6-integration-detector-comparison.md +0 -0
  75. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/architecture/REPORT-p8-flow-analyzer-migration.md +0 -0
  76. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/architecture/REPORT-p9-integration-detector-migration.md +0 -0
  77. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/architecture/adr/0001-semantic-ir.md +0 -0
  78. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/architecture/adr/0002-source-evidence-boundary.md +0 -0
  79. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/architecture/adr/0003-architectural-characterization.md +0 -0
  80. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/architecture/adr/0004-semantic-retrieval.md +0 -0
  81. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/architecture/adr/0005-evidence-reconciliation.md +0 -0
  82. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/architecture/adr/0006-performance-harness.md +0 -0
  83. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/architecture/adr/0007-composition-semantics.md +0 -0
  84. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/architecture/adr/0008-answer-coherence.md +0 -0
  85. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/architecture/consumer-disposition-inventory.md +0 -0
  86. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/architecture/overview.md +0 -0
  87. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/architecture/product-architecture-review.md +0 -0
  88. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/architecture/product-strategy-layering.md +0 -0
  89. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/architecture/semantic-ir-consumer-matrix.md +0 -0
  90. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/architecture/semantic-ir-roadmap.md +0 -0
  91. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/baseline-ci.yml +0 -0
  92. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/commercial-pipeline-audit.md +0 -0
  93. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/contracts-ci.yml +0 -0
  94. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/contracts.md +0 -0
  95. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/eval/2026-06-15-petclinic-rest-issue11-vets-pagination.md +0 -0
  96. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/eval/2026-06-15-petclinic-rest-issue147-validation.md +0 -0
  97. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/eval/2026-06-15-petclinic-rest-workflow.md +0 -0
  98. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/eval/2026-06-15-phase18-openapi-surface.md +0 -0
  99. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/eval/2026-06-15-phase20-validation-surface.md +0 -0
  100. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/eval/2026-06-16-broadleaf-checkout-impact-fieldtest.md +0 -0
  101. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/eval/2026-06-16-petclinic-rest-issue11-weakness2-closed.md +0 -0
  102. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/eval/2026-06-16-spring-petclinic-issue2333-dead-vets.md +0 -0
  103. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/licensing-schema.md +0 -0
  104. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/migrate-check.md +0 -0
  105. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/pack-gate-github-actions.yml +0 -0
  106. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/pack-gate-gitlab.yml +0 -0
  107. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/README.md +0 -0
  108. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/REGRESSION-GATE.md +0 -0
  109. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.15/SUMMARY.md +0 -0
  110. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.15/alfresco__ask__cold.json +0 -0
  111. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.15/alfresco__ask__warm.json +0 -0
  112. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.15/broadleaf__ask__cold.json +0 -0
  113. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.15/broadleaf__ask__warm.json +0 -0
  114. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.15/eureka__ask__cold.json +0 -0
  115. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.15/eureka__ask__warm.json +0 -0
  116. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.15/jenkins__ask__cold.json +0 -0
  117. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.15/jenkins__ask__warm.json +0 -0
  118. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.15/jobrunr__ask__cold.json +0 -0
  119. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.15/jobrunr__ask__warm.json +0 -0
  120. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.15/keycloak__ask__cold.json +0 -0
  121. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.15/keycloak__ask__warm.json +0 -0
  122. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.15/neo4j__ask__cold.json +0 -0
  123. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.15/neo4j__ask__warm.json +0 -0
  124. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.15/ofbiz__ask__cold.json +0 -0
  125. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.15/ofbiz__ask__warm.json +0 -0
  126. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.15/openmrs__ask__cold.json +0 -0
  127. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.15/openmrs__ask__warm.json +0 -0
  128. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.15/petclinic__ask__cold.json +0 -0
  129. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.15/petclinic__ask__warm.json +0 -0
  130. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.16/SUMMARY.md +0 -0
  131. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.16/alfresco__ask__cold.json +0 -0
  132. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.16/alfresco__ask__warm.json +0 -0
  133. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.16/broadleaf__ask__cold.json +0 -0
  134. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.16/broadleaf__ask__warm.json +0 -0
  135. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.16/eureka__ask__cold.json +0 -0
  136. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.16/eureka__ask__warm.json +0 -0
  137. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.16/jenkins__ask__cold.json +0 -0
  138. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.16/jenkins__ask__warm.json +0 -0
  139. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.16/jobrunr__ask__cold.json +0 -0
  140. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.16/jobrunr__ask__warm.json +0 -0
  141. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.16/keycloak__ask__cold.json +0 -0
  142. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.16/keycloak__ask__warm.json +0 -0
  143. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.16/neo4j__ask__cold.json +0 -0
  144. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.16/neo4j__ask__warm.json +0 -0
  145. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.16/ofbiz__ask__cold.json +0 -0
  146. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.16/ofbiz__ask__warm.json +0 -0
  147. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.16/openmrs__ask__cold.json +0 -0
  148. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.16/openmrs__ask__warm.json +0 -0
  149. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.16/petclinic__ask__cold.json +0 -0
  150. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/2.5.16/petclinic__ask__warm.json +0 -0
  151. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/gate-latest/README.md +0 -0
  152. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/gate-latest/broadleaf__ask__warm.json +0 -0
  153. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/gate-latest/broadleaf__endpoints__warm.json +0 -0
  154. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/gate-latest/broadleaf__migrate-check__warm.json +0 -0
  155. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/gate-latest/broadleaf__posture__warm.json +0 -0
  156. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/gate-latest/broadleaf__spring-audit__warm.json +0 -0
  157. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/gate-latest/broadleaf__validation__warm.json +0 -0
  158. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/baselines/reference-best/README.md +0 -0
  159. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/perf/corpus-testing-2026-08-22.md +0 -0
  160. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/posture.md +0 -0
  161. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/privacy.md +0 -0
  162. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/pro-experience-audit.md +0 -0
  163. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/schema.md +0 -0
  164. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/spec/envelope-v1.md +0 -0
  165. {sourcecode-5.9.11 → sourcecode-5.9.13}/docs/spring-audit-ci.yml +0 -0
  166. {sourcecode-5.9.11 → sourcecode-5.9.13}/hatch_build.py +0 -0
  167. {sourcecode-5.9.11 → sourcecode-5.9.13}/scripts/compare_integration_engines.py +0 -0
  168. {sourcecode-5.9.11 → sourcecode-5.9.13}/scripts/context_cost_harness.py +0 -0
  169. {sourcecode-5.9.11 → sourcecode-5.9.13}/scripts/customer_smoke_test.sh +0 -0
  170. {sourcecode-5.9.11 → sourcecode-5.9.13}/scripts/generate_jdk_exports.py +0 -0
  171. {sourcecode-5.9.11 → sourcecode-5.9.13}/scripts/perf_gate.py +0 -0
  172. {sourcecode-5.9.11 → sourcecode-5.9.13}/scripts/perf_harness.py +0 -0
  173. {sourcecode-5.9.11 → sourcecode-5.9.13}/scripts/sync_gate_anchors.py +0 -0
  174. {sourcecode-5.9.11 → sourcecode-5.9.13}/scripts/test_fast.sh +0 -0
  175. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/__main__.py +0 -0
  176. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/access_drift.py +0 -0
  177. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/adaptive_scanner.py +0 -0
  178. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/analysis_budget.py +0 -0
  179. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/answer_bounds.py +0 -0
  180. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/archetype.py +0 -0
  181. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/architectural_baseline.py +0 -0
  182. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/architectural_delta.py +0 -0
  183. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/architecture_analyzer.py +0 -0
  184. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/architecture_summary.py +0 -0
  185. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/ast_extractor.py +0 -0
  186. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/audit_clusters.py +0 -0
  187. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/audit_recipe.py +0 -0
  188. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/audit_report.py +0 -0
  189. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/audit_since.py +0 -0
  190. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/audit_verify.py +0 -0
  191. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/baseline_attestation.py +0 -0
  192. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/baseline_autocapture.py +0 -0
  193. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/breaking_changes.py +0 -0
  194. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/build_modules.py +0 -0
  195. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/build_stamp.py +0 -0
  196. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/bundled_docs.py +0 -0
  197. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/c4_render.py +0 -0
  198. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/cache.py +0 -0
  199. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/cache_model.py +0 -0
  200. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/cache_observation.py +0 -0
  201. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/call_surface.py +0 -0
  202. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/caller_metrics.py +0 -0
  203. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/caller_reach.py +0 -0
  204. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/canonical_ir.py +0 -0
  205. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/chain_rules.py +0 -0
  206. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/change_plan.py +0 -0
  207. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/ci_output.py +0 -0
  208. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/cir_graphs.py +0 -0
  209. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/classifier.py +0 -0
  210. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/client_calls.py +0 -0
  211. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/code_notes_analyzer.py +0 -0
  212. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/compare.py +0 -0
  213. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/confidence_analyzer.py +0 -0
  214. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/constraint_diff.py +0 -0
  215. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/consumer_join.py +0 -0
  216. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/container_wiring.py +0 -0
  217. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/context_cache.py +0 -0
  218. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/context_graph.py +0 -0
  219. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/context_scorer.py +0 -0
  220. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/context_summarizer.py +0 -0
  221. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/contract_diff.py +0 -0
  222. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/contract_init.py +0 -0
  223. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/contract_model.py +0 -0
  224. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/contract_pipeline.py +0 -0
  225. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/coverage_parser.py +0 -0
  226. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/cve_feed.py +0 -0
  227. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/cve_reachability.py +0 -0
  228. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/data_exposure.py +0 -0
  229. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/data_labels.py +0 -0
  230. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/declarations.py +0 -0
  231. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/defect_classes/__init__.py +0 -0
  232. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/defect_classes/registry.json +0 -0
  233. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/defect_identity.py +0 -0
  234. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/degradation.py +0 -0
  235. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/dependency_analyzer.py +0 -0
  236. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/deployment_prefix.py +0 -0
  237. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/detach.py +0 -0
  238. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/detectors/__init__.py +0 -0
  239. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/detectors/base.py +0 -0
  240. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/detectors/csproj_parser.py +0 -0
  241. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/detectors/dart.py +0 -0
  242. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/detectors/dotnet.py +0 -0
  243. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/detectors/elixir.py +0 -0
  244. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/detectors/go.py +0 -0
  245. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/detectors/heuristic.py +0 -0
  246. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/detectors/hybrid.py +0 -0
  247. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/detectors/java.py +0 -0
  248. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/detectors/jvm_ext.py +0 -0
  249. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/detectors/nodejs.py +0 -0
  250. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/detectors/parsers.py +0 -0
  251. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/detectors/php.py +0 -0
  252. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/detectors/project.py +0 -0
  253. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/detectors/python.py +0 -0
  254. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/detectors/ruby.py +0 -0
  255. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/detectors/rust.py +0 -0
  256. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/detectors/systems.py +0 -0
  257. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/detectors/terraform.py +0 -0
  258. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/detectors/tooling.py +0 -0
  259. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/doc_analyzer.py +0 -0
  260. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/dynamic_argument_surface.py +0 -0
  261. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/empty_reach.py +0 -0
  262. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/endpoint_disposition.py +0 -0
  263. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/endpoint_literals.py +0 -0
  264. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/endpoint_metrics.py +0 -0
  265. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/entrypoint_classifier.py +0 -0
  266. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/env_analyzer.py +0 -0
  267. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/envelope.py +0 -0
  268. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/environment_resolution.py +0 -0
  269. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/error_schema.py +0 -0
  270. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/evidence_provider.py +0 -0
  271. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/execution_plan.py +0 -0
  272. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/explain.py +0 -0
  273. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/explain_endpoint.py +0 -0
  274. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/facts/__init__.py +0 -0
  275. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/facts/registry.json +0 -0
  276. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/field_deprecations.py +0 -0
  277. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/file_chunker.py +0 -0
  278. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/file_classifier.py +0 -0
  279. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/filter_surface.py +0 -0
  280. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/findings_baseline.py +0 -0
  281. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/format_contract.py +0 -0
  282. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/fqn_utils.py +0 -0
  283. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/functional_routes.py +0 -0
  284. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/gate_anchors.py +0 -0
  285. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/git_analyzer.py +0 -0
  286. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/git_checkout.py +0 -0
  287. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/github_diff.py +0 -0
  288. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/graph_analyzer.py +0 -0
  289. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/graph_evidence.py +0 -0
  290. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/hibernate_strat.py +0 -0
  291. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/identity_fallback.py +0 -0
  292. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/integration_coordinates.py +0 -0
  293. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/intent_router.py +0 -0
  294. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/jdk_exports.py +0 -0
  295. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/license.py +0 -0
  296. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/manifest_cache.py +0 -0
  297. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/mcp/__init__.py +0 -0
  298. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/mcp/dependency_import.py +0 -0
  299. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/mcp/onboarding/__init__.py +0 -0
  300. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/mcp/onboarding/applier.py +0 -0
  301. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/mcp/onboarding/backup.py +0 -0
  302. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/mcp/onboarding/detector.py +0 -0
  303. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/mcp/onboarding/planner.py +0 -0
  304. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/mcp/orchestrator.py +0 -0
  305. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/mcp/registry.py +0 -0
  306. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/mcp/runner.py +0 -0
  307. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/mcp/server.py +0 -0
  308. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/mcp_nudge.py +0 -0
  309. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/metrics_analyzer.py +0 -0
  310. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/migrate_check.py +0 -0
  311. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/migration_apply.py +0 -0
  312. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/migration_blast.py +0 -0
  313. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/non_coverage.py +0 -0
  314. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/openapi_surface.py +0 -0
  315. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/openrewrite_recipe.py +0 -0
  316. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/output_bounds.py +0 -0
  317. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/output_budget.py +0 -0
  318. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/output_ceiling.py +0 -0
  319. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/output_encoding.py +0 -0
  320. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/output_sink.py +0 -0
  321. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/pack_manifest.py +0 -0
  322. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/packs.py +0 -0
  323. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/parse_cache.py +0 -0
  324. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/partial_contract.py +0 -0
  325. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/path_admission.py +0 -0
  326. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/path_display.py +0 -0
  327. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/path_filters.py +0 -0
  328. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/perf.py +0 -0
  329. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/phased_run.py +0 -0
  330. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/pipe_contract.py +0 -0
  331. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/posture.py +0 -0
  332. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/pr_comment_renderer.py +0 -0
  333. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/pr_impact.py +0 -0
  334. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/pr_risk.py +0 -0
  335. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/prepare_context.py +0 -0
  336. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/product_info.py +0 -0
  337. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/progress.py +0 -0
  338. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/provenance.py +0 -0
  339. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/ranking_engine.py +0 -0
  340. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/readiness_timeline.py +0 -0
  341. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/readonly.py +0 -0
  342. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/reconciliation.py +0 -0
  343. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/redactor.py +0 -0
  344. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/reference_facts.py +0 -0
  345. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/regress.py +0 -0
  346. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/regulatory_pack.py +0 -0
  347. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/release_info.py +0 -0
  348. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/relevance_scorer.py +0 -0
  349. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/remediation_diff.py +0 -0
  350. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/remediation_flow.py +0 -0
  351. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/remediation_report.py +0 -0
  352. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/remedies.py +0 -0
  353. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/rename_refactor.py +0 -0
  354. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/repo_classifier.py +0 -0
  355. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/repository_ir.py +0 -0
  356. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/resource_budget.py +0 -0
  357. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/retrieval/__init__.py +0 -0
  358. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/retrieval/context.py +0 -0
  359. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/retrieval/errors.py +0 -0
  360. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/retrieval/executor.py +0 -0
  361. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/retrieval/planner.py +0 -0
  362. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/retrieval/query.py +0 -0
  363. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/retrieval/request.py +0 -0
  364. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/retrieval/resolution.py +0 -0
  365. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/retrieval/result.py +0 -0
  366. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/retrieval/retriever.py +0 -0
  367. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/retrieval/runtime.py +0 -0
  368. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/retrieval/steps.py +0 -0
  369. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/retrieval/steps_endpoint.py +0 -0
  370. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/retrieval/steps_graph.py +0 -0
  371. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/retrieval/steps_impact.py +0 -0
  372. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/retrieval/steps_intf.py +0 -0
  373. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/retrieval/steps_struct.py +0 -0
  374. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/retrieval/steps_txsec.py +0 -0
  375. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/ris.py +0 -0
  376. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/risk.py +0 -0
  377. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/risk_model.py +0 -0
  378. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/rule_catalog.py +0 -0
  379. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/rule_pass.py +0 -0
  380. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/runs.py +0 -0
  381. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/runtime_classifier.py +0 -0
  382. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/sarif.py +0 -0
  383. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/sarif_emit.py +0 -0
  384. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/scanner.py +0 -0
  385. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/schema.py +0 -0
  386. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/schema_producers.py +0 -0
  387. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/schema_registry.py +0 -0
  388. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/schemas/core-analysis-v1.schema.json +0 -0
  389. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/schemas/cve-reachability-v1.schema.json +0 -0
  390. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/schemas/endpoints-v1.schema.json +0 -0
  391. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/schemas/envelope-v1.schema.json +0 -0
  392. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/schemas/pr-impact-v1.schema.json +0 -0
  393. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/schemas/verify-edit-v1.schema.json +0 -0
  394. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/schemas/verify-v1.schema.json +0 -0
  395. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/security_chain.py +0 -0
  396. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/security_config.py +0 -0
  397. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/security_config_scan.py +0 -0
  398. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/security_posture.py +0 -0
  399. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/selection_contract.py +0 -0
  400. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/self_audit.py +0 -0
  401. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/selftest.py +0 -0
  402. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/semantic_analyzer.py +0 -0
  403. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/semantic_impact_engine.py +0 -0
  404. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/semantic_integration_engine.py +0 -0
  405. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/semantic_services.py +0 -0
  406. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/serializer.py +0 -0
  407. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/servlet_surface.py +0 -0
  408. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/source_text.py +0 -0
  409. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/spring_event_topology.py +0 -0
  410. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/spring_findings.py +0 -0
  411. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/spring_impact.py +0 -0
  412. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/spring_model.py +0 -0
  413. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/spring_profiles.py +0 -0
  414. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/spring_properties.py +0 -0
  415. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/spring_security_audit.py +0 -0
  416. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/spring_semantic.py +0 -0
  417. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/spring_tx_analyzer.py +0 -0
  418. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/sql_taint.py +0 -0
  419. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/summarizer.py +0 -0
  420. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/target_admission.py +0 -0
  421. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/telemetry/__init__.py +0 -0
  422. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/telemetry/config.py +0 -0
  423. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/telemetry/consent.py +0 -0
  424. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/telemetry/events.py +0 -0
  425. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/telemetry/filters.py +0 -0
  426. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/telemetry/transport.py +0 -0
  427. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/test_gap_ranking.py +0 -0
  428. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/test_sources.py +0 -0
  429. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/text_input.py +0 -0
  430. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/timeline.py +0 -0
  431. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/timeline_cache.py +0 -0
  432. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/token_estimate.py +0 -0
  433. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/tree_utils.py +0 -0
  434. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/type_usage_surface.py +0 -0
  435. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/validation_inference.py +0 -0
  436. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/validation_surface.py +0 -0
  437. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/verify_edit.py +0 -0
  438. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/verify_repo.py +0 -0
  439. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/verify_rules.py +0 -0
  440. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/version_check.py +0 -0
  441. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/vex.py +0 -0
  442. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/waivers.py +0 -0
  443. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/watch_loop.py +0 -0
  444. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/wired_surface.py +0 -0
  445. {sourcecode-5.9.11 → sourcecode-5.9.13}/src/sourcecode/workspace.py +0 -0
  446. {sourcecode-5.9.11 → sourcecode-5.9.13}/supabase/functions/README.md +0 -0
  447. {sourcecode-5.9.11 → sourcecode-5.9.13}/supabase/functions/get-license/index.ts +0 -0
  448. {sourcecode-5.9.11 → sourcecode-5.9.13}/supabase/functions/lemonsqueezy-webhook/index.ts +0 -0
  449. {sourcecode-5.9.11 → sourcecode-5.9.13}/supabase/functions/telemetry/index.ts +0 -0
  450. {sourcecode-5.9.11 → sourcecode-5.9.13}/supabase/sql/license_event_ordering.sql +0 -0
  451. {sourcecode-5.9.11 → sourcecode-5.9.13}/supabase/sql/licensing_schema.sql +0 -0
  452. {sourcecode-5.9.11 → sourcecode-5.9.13}/supabase/sql/telemetry_events.sql +0 -0
@@ -1,5 +1,43 @@
1
1
  # Changelog
2
2
 
3
+ ## [5.9.13] — 2026-08-28
4
+
5
+ *AUD-618 remediation and release-alignment patch.*
6
+
7
+ **Fixed**
8
+
9
+ - Windows now selects the existing sequential parse path instead of creating a
10
+ `ProcessPoolExecutor` whose spawned workers can fail to duplicate IPC handles.
11
+ The fallback preserves the same IR and prevents the observed silent/hanging
12
+ worker-start path.
13
+ - A missing bare token now explains when ASK interpreted it as an implicit
14
+ repository path, while close command spellings retain nearest-command hints.
15
+ - Spanish user documentation no longer states a false fixed token size for
16
+ compact context.
17
+
18
+ **Verification boundary**
19
+
20
+ - TeaVM validations cover risk delivery, migration planning and non-mutation.
21
+ Native Windows/pipx re-audit remains required for the worker, scale and
22
+ process-lifetime findings; this release does not claim that external evidence.
23
+
24
+ ## [5.9.12] — 2026-08-28
25
+
26
+ *Release-alignment patch release after the `AUD-617` regression battery.*
27
+
28
+ **Fixed and verified**
29
+
30
+ - Core answer-producing commands now fail closed with structured evidence instead
31
+ of silently returning success when composition fails (`AUD-617-R`).
32
+ - Root option preprocessing preserves the value of `--max-output-tokens` in both
33
+ space-separated and equals forms (`AUD-617-Q`).
34
+ - `migrate-apply` plan-only output is covered as a non-silent, non-mutating path
35
+ (`AUD-617-MIGRATE-APPLY`).
36
+
37
+ The native Windows scale and process-cleanup findings remain open because they
38
+ require evidence from that platform. The commercial gate and conservative scale
39
+ positioning are unchanged.
40
+
3
41
  ## [5.9.11] — 2026-08-28
4
42
 
5
43
  *`AUD-616` remediation: seven of nine rows closed, two partially, one carried forward.*
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sourcecode
3
- Version: 5.9.11
3
+ Version: 5.9.13
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.11-blue)
62
+ ![Version](https://img.shields.io/badge/version-5.9.13-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.11 retains the shared Canonical IR
199
+ **Current performance status.** Release 5.9.13 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. It also removes two repeated walks of the same file tree in
@@ -233,7 +233,7 @@ in `overlapping_paths`; a missing or non-directory path is rejected as structure
233
233
  invalid input rather than treated as an empty repository. This prevents silent
234
234
  entitlement errors in CI and does not change per-repository gates or billing.
235
235
 
236
- Release 5.9.11 also carries the boundary-contract hardening: missing consumer repositories,
236
+ Release 5.9.13 also carries the boundary-contract hardening: missing consumer repositories,
237
237
  malformed CVE feeds and unresolved `pack gate --since` refs fail as structured
238
238
  input errors; duplicate same-commit baselines are never overwritten. `posture
239
239
  --diff` validates unknown profiles when the repository declares profiles. In
@@ -266,7 +266,7 @@ brew tap haroundominique/sourcecode && brew install sourcecode
266
266
  # pip / pipx
267
267
  pipx install sourcecode # or: pip install sourcecode
268
268
 
269
- ask version # ask 5.9.11 — and, on a build that has aged,
269
+ ask version # ask 5.9.13 — and, on a build that has aged,
270
270
  # how many releases have probably shipped since
271
271
  ```
272
272
 
@@ -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.11-blue)
13
+ ![Version](https://img.shields.io/badge/version-5.9.13-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.11 retains the shared Canonical IR
150
+ **Current performance status.** Release 5.9.13 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. It also removes two repeated walks of the same file tree in
@@ -184,7 +184,7 @@ in `overlapping_paths`; a missing or non-directory path is rejected as structure
184
184
  invalid input rather than treated as an empty repository. This prevents silent
185
185
  entitlement errors in CI and does not change per-repository gates or billing.
186
186
 
187
- Release 5.9.11 also carries the boundary-contract hardening: missing consumer repositories,
187
+ Release 5.9.13 also carries the boundary-contract hardening: missing consumer repositories,
188
188
  malformed CVE feeds and unresolved `pack gate --since` refs fail as structured
189
189
  input errors; duplicate same-commit baselines are never overwritten. `posture
190
190
  --diff` validates unknown profiles when the repository declares profiles. In
@@ -217,7 +217,7 @@ brew tap haroundominique/sourcecode && brew install sourcecode
217
217
  # pip / pipx
218
218
  pipx install sourcecode # or: pip install sourcecode
219
219
 
220
- ask version # ask 5.9.11 — and, on a build that has aged,
220
+ ask version # ask 5.9.13 — and, on a build that has aged,
221
221
  # how many releases have probably shipped since
222
222
  ```
223
223
 
@@ -14,6 +14,67 @@ Status values: `open` · `in-progress` · `closed <version>` · `by-design` (wit
14
14
  The facts these rows are keyed to are published: `ask schema facts-v1` prints the registry
15
15
  (authority, definition, consumers, parity test) that the release battery enforces.
16
16
 
17
+ ## Current Synchronization — External Audit `AUD-618`
18
+
19
+ **Re-audit of release `5.9.12`, received 2026-08-28.** The score improved modestly
20
+ from 6.0/10 to 6.3/10. Two of six Bug-R commands recovered, but `risk`, `verify`,
21
+ `audit-report` and `migrate-apply` remain unusable on the auditor's Windows corpus;
22
+ `risk` now waits indefinitely rather than failing quickly. The decision is **patch
23
+ forward, not rollback**: the release contains verified fixes and the failure is
24
+ localised to the shared Windows worker/composer path.
25
+
26
+ | ID | Severity | Status | Evidence and required closure |
27
+ |---|---:|---|---|
28
+ | `AUD-618-R` | Critical maximum | **open, P0** | `verify` captured 12 identical `PermissionError: [WinError 5]` failures in `multiprocessing/reduction.py:131` during `_winapi.DuplicateHandle` worker startup. `spring-audit` 3/3 and `migrate-check` 7/7 recovered; `verify` 6/6, `audit-report` in three formats, and `migrate-apply` 4/4 remain silent. `risk --limit 5/20` hangs in `composing risk factors / reading HTTP-input query sinks`; `risk --limit 0` is healthy. Add pool fallback or structured `WORKER_POOL_START_FAILED`, bounded joins and a matrix covering output, detach and formats. |
29
+ | `AUD-618-TUTORIALS` | Critical | **open, P1** | Native Windows root compact was observed at 6m20.1s/exit 124, but a later flush produced valid 21.7 KB JSON. Treat as extreme latency pending reproduction, publish the size envelope and remeasure on Windows. |
30
+ | `AUD-618-MIGRATE-APPLY` | High | **open, P1** | Plan mode remains exit 0 with zero bytes and no output file, 4/4. The `risk -o` to `audit-report --from-risk` mitigation is blocked by the producer failure. Emit a plan or `nothing_to_do`; prove non-mutation. |
31
+ | `AUD-618-I` | High | **open, P1** | `cold-start --compact` emits 88,265-89,139 bytes, about 22K estimated tokens, despite the `~10K` help promise. Enforce a ceiling or correct the contract, then add a size regression. |
32
+ | `AUD-618-7` | Medium | **open, P2** | Unknown command tokens are indistinguishable from missing implicit paths and receive no nearest-command suggestion. Add command admission before path fallback. |
33
+ | `AUD-618-WIN-PROC` | Medium | **open, platform-blocked** | Windows timeout can leave `ask.exe` descendants alive. Requires native Windows/Git Bash process-tree evidence and safe Job Object/equivalent teardown. |
34
+ | `AUD-618-WATCH` | Low | **open, unconfirmed** | One 42.8s `watch --once` sample after heavy work; clean-session reproduction required. |
35
+
36
+ The audit reconfirms Q and E as fixed, the root pipeline as unaffected, and the prior
37
+ F/P/C/#14/D/#9/G/M and other command closures. Commercially, retain bounded pilots and
38
+ a provisional `$25-35/developer/month` hypothesis; do not market annual reliability,
39
+ production CI gating or enterprise scale above roughly 3,000 files while the P0/P1 rows
40
+ remain open.
41
+
42
+ ## Current Synchronization — External Audit `AUD-617`
43
+
44
+ **Re-audit of release `5.9.11`, received 2026-08-28.** The external battery covered only
45
+ `Documents/workspace/testing/`, used five forks and reported a clean target tree. Its score
46
+ fell from 8.1/10 to 6.0/10 because the release introduced a critical false-success path:
47
+ several core commands can exit 0 without an answer. The decision is to **patch forward**, not
48
+ roll back: 5.9.11 contains valid independent fixes and the regression is localised to a
49
+ shared composer/error boundary. Promotion and reliability-led CI claims remain blocked until
50
+ the critical row is independently closed.
51
+
52
+ | ID | Severity | Status | Evidence and required closure |
53
+ |---|---:|---|---|
54
+ | `AUD-617-R` | Critical maximum | **open, P0** | `risk`, `audit-report`, `verify`, `spring-audit` and intermittent `migrate-check` return exit 0 with empty stdout, stderr and output files, including `--detach`. Force logging of every caught exception at `composing risk factors`, return structured stderr and non-zero exit, and test every affected command, format, destination and detached path. |
55
+ | `AUD-617-TUTORIALS` | Critical | **open, P1** | Native Windows/Git Bash still takes 6m20.1s on root `--compact`, exits 124 and emits nothing; `parsing manifests` is frozen for about 4.3 minutes. Profile Windows cache-key hits/syscalls, publish the size envelope and remeasure on the auditor's platform. |
56
+ | `AUD-617-L` | Critical | **open, P1** | Markdown `audit-report` passed two Windows runs but remains historically contention-sensitive and shares the silent-failure risk. Retest deliberate contention and prove all failures emit bounded evidence. |
57
+ | `AUD-617-Q` | Medium-high | **open, P2** | `--max-output-tokens 10` is parsed as a command; `--max-output-tokens=10` and the environment variable work. Fix the option parser and cover positions before/after the path. |
58
+ | `AUD-617-MIGRATE-APPLY` | High | **open, P1** | `migrate-apply .` without `--write` exits 0 with no output and no file, unlike other plan-only commands. Emit an explicit plan or `nothing_to_do`; test stdout, pipes, `--output` and non-mutation. |
59
+ | `AUD-617-WIN-PROC` | Medium | **open, platform-blocked** | One or two processes remain after successful Windows runs. Requires native Windows/Git Bash process-tree tests and must not receive a blind Darwin-only fix. |
60
+
61
+ `AUD-617-P` is closed by the deterministic cache-GC fix; `KOTLIN`, `JUNIT4-SELF`, `E-PROV`
62
+ and `INTENT-TIE-COV` are closed and independently confirmed. The report also confirms the
63
+ previous `/dev/null`, cache, drift, impact, intent and timeout closures. Historical `L` and
64
+ `O` must not be called genuinely fixed merely because the new silent path prevents their
65
+ normal output or hint from being reached. Commercially, retain the conservative
66
+ `$20-30/developer/month` working hypothesis and do not market enterprise-scale or production
67
+ CI gating above roughly 3,000 files until `R`, the Windows scale case and `migrate-apply`
68
+ close with cross-platform evidence.
69
+
70
+ **Execution update.** `AUD-617-R` is **in progress**: the shared answer-delivery guard
71
+ covers all five reported commands and the focused plus TeaVM normal-run matrix is green,
72
+ but forced-exception and installed-artifact evidence remain. `AUD-617-Q` is **closed in
73
+ the current fix** after correcting the space-form parser. `AUD-617-MIGRATE-APPLY` is
74
+ **closed as not reproducible and test-covered**: plan mode emits a non-empty
75
+ `migrate-apply-v1` answer and remains non-mutating. Windows and deliberate-contention rows
76
+ remain open because they cannot be validated honestly from Darwin.
77
+
17
78
  ## Current Synchronization
18
79
 
19
80
  **Field simulation on TeaVM, 2026-08-27 — `ASK-FIELD`.** A deep, non-destructive
@@ -1,5 +1,94 @@
1
1
  # ASK — Development Roadmap
2
2
 
3
+ ### External Audit Intake — `AUD-618` re-audit, release 5.9.12
4
+
5
+ The external re-audit received 2026-08-28 covers only `Documents/workspace/testing/`.
6
+ All five scopes completed after two delivery retries; the seven forks remained clean,
7
+ with no target Java-file changes, commits or out-of-scope artefacts. The score moved
8
+ from 6.0/10 to 6.3/10: real progress exists, but the central reliability regression
9
+ is only partially repaired.
10
+
11
+ **Engineering decision: patch forward from 5.9.12; do not roll back.** The audit
12
+ confirms that `spring-audit` and `migrate-check` recovered (10/10 combined repros),
13
+ Q is fixed byte-for-byte and E is fully closed. Rolling back would restore known
14
+ defects and discard these verified corrections. The release remains blocked for
15
+ reliability-led commitments and production CI-gating claims until the remaining
16
+ P0/P1 rows have independent cross-platform evidence.
17
+
18
+ | ID | Severity | Status | Finding, evidence and required closure |
19
+ |---|---:|---|---|
20
+ | AUD-618-R | Critical maximum / regression | **Implemented; native Windows verification pending** | `cee27de` disables the Windows `ProcessPoolExecutor` before `spawn` duplicates IPC handles, falling back to the existing byte-identical sequential parse. Focused regressions and a TeaVM `risk --limit 5 --output` run pass. The remaining closure evidence is the auditor's native Windows/pipx matrix for `risk`, `verify`, `audit-report`, `spring-audit` and `migrate-check`. |
21
+ | AUD-618-TUTORIALS | Critical / scale | **Open, P1** | Native Windows root `--compact` took 6m20.1s and was observed as exit 124, but the later flush produced a valid 21.7 KB JSON result. Reclassify this as extreme latency, not a confirmed hang: parsing manifests is the dominant stall. Publish a repository-size envelope and measure on the auditor's platform; do not market enterprise scale until then. |
22
+ | AUD-618-MIGRATE-APPLY | High / silent-success | **Implemented; native Windows verification pending** | Existing plan mode plus the pool fallback now produce a valid TeaVM `migrate-apply-v1` file and retain non-mutation. Re-run the auditor's Windows/pipx output matrix before full closure. |
23
+ | AUD-618-I | High / contract | **Closed** | The current CLI help already states that compact output is snapshot-dependent; `5b9f2dc` removes the stale `~10K` Spanish manual claim and protects both user guides. |
24
+ | AUD-618-7 | Medium / CLI admission | **Closed** | `167cdda` preserves valid implicit paths but identifies a missing bare token as an implicit-path interpretation and points to `ask --help`; close spellings still receive nearest-command suggestions. |
25
+ | AUD-618-WIN-PROC | Medium / platform-specific | **Open, platform-blocked** | After a Windows timeout, `ask.exe` descendants can survive for minutes. Validate native Windows and Git Bash process-tree cleanup, preferably with Job Objects or an equivalent parent/child lifetime boundary. Do not ship a Darwin-only assumption. |
26
+ | AUD-618-WATCH | Low / observation | **Open, unconfirmed** | One isolated `ask watch . --once` run took 42.8s after heavy commands; historical behaviour is instant. Re-measure from a clean session before classifying it as a regression. |
27
+
28
+ **Preserved healthy scope.** The audit re-confirmed the root command, `risk --limit 0`,
29
+ the impact family, endpoints, posture, PR commands, drift, remediation, CVE, verify-edit,
30
+ explain, intent, baseline, data exposure, rename-class dry-run, migrate-recipe, retrieve,
31
+ pack gate/list and the prior Q/E/F/P/C/#14/D/#9/G/M closures. This narrows remediation to
32
+ the heavy shared composer and the explicitly listed contracts.
33
+
34
+ **Commercial decision.** Progress supports a provisional `$25-35/developer/month`
35
+ hypothesis, not validated pricing. Continue only bounded pilots with explicit timeouts,
36
+ captured output and a non-empty-answer assertion. Do not promise annual reliability,
37
+ production CI gating or enterprise-scale support above roughly 3,000 files until R,
38
+ MIGRATE-APPLY, the Windows scale evidence and process cleanup close independently.
39
+
40
+ ### External Audit Intake — `AUD-617` re-audit, release 5.9.11
41
+
42
+ The 2026-08-28 external re-audit is the first report to identify a release-level
43
+ regression in the core answer contract. It exercised only `Documents/workspace/testing/`
44
+ and reported no target-repository mutation, commits or Java-file changes. The score fell
45
+ from 8.1/10 for 5.9.10 to 6.0/10 for 5.9.11. The fall is justified: `risk`,
46
+ `audit-report`, `verify`, `spring-audit` and intermittently `migrate-check` can terminate
47
+ with exit 0 and zero bytes on stdout, stderr and `--output`.
48
+
49
+ **Engineering decision: patch forward from 5.9.11; do not roll back.** The release also
50
+ contains four independently confirmed corrections (Kotlin stack admission, JUnit4 library
51
+ classification, output-format ordering and event-topology parity), the cache fix and useful
52
+ phase-level observability. A rollback would restore the prior cache and classification
53
+ defects and would not provide a safe long-term baseline. However, 5.9.11 is **blocked for
54
+ promotion, CI-gating claims and reliability-led commercial commitments** until `AUD-617-R`
55
+ is fixed and independently re-tested. The release branch must retain a fail-closed contract:
56
+ an internal exception must produce structured stderr and a non-zero exit, never success with
57
+ an empty answer.
58
+
59
+ | ID | Severity | Status | Finding and required closure |
60
+ |---|---:|---|---|
61
+ | AUD-617-R | Critical maximum / release regression | **Open, P0** | Shared `composing risk factors` failure makes `risk`, `audit-report`, `verify`, `spring-audit` and sometimes `migrate-check` return exit 0 with no output, including `--output` and `--detach`. `risk --limit 0` and `pr-risk`, `impact`, `impact-chain`, `drift` and `remediate` remain healthy, localising the defect to the shared composer/error boundary. Instrument the exact phase, force logging of every caught exception, return a structured error and non-zero exit, and add a matrix over all affected commands, formats, output destinations and detached execution. |
62
+ | AUD-617-TUTORIALS | Critical / platform regression | **Open, P1** | On native Windows/Git Bash, root `--compact` still takes 6m20.1s, exits 124 and emits zero bytes, with `parsing manifests` frozen for about 4.3 minutes. The 5.9.11 optimisation measured 54.9s on another platform, so it does not generalise. Profile `manifest_cache` and cache-key hit rates on Windows; publish a repository-size envelope and repeat the same test on the auditor's platform. |
63
+ | AUD-617-L | Critical / historical regression | **Open, P1** | `audit-report --format markdown` was 2/2 successful on the auditor's Windows run, but remains non-deterministic across the historical series and shares the silent-failure risk. Keep the bounded `PhasedRun`/partial contract, then test deliberate contention and verify that all failure paths emit evidence. |
64
+ | AUD-617-Q | Medium-high / CLI contract | **Open, P2** | `--max-output-tokens 10` fails as if `10` were a command; `--max-output-tokens=10` and the environment variable work. The defect is specific to this option. Fix the option declaration/parser and add positional tests before and after the repository path. |
65
+ | AUD-617-MIGRATE-APPLY | High / silent-success contract | **Open, P1** | `migrate-apply .` without `--write` returns exit 0 with zero stdout/stderr and does not create a file, unlike other dry-run commands. It must emit an explicit plan or `nothing_to_do`, and return structured errors if planning fails. Add tests for stdout, pipe, `--output` and no-write non-mutation. |
66
+ | AUD-617-WIN-PROC | Medium / platform-specific | **Open, not actionable on Darwin** | One or two processes remain after successful Windows runs, improved from six or seven but not zero. The issue requires native Windows/Git Bash process-tree tests and Job Objects or equivalent teardown; no blind platform-specific fix should ship from Darwin. |
67
+ | AUD-617-P | Low-medium / investigation | **Closed in 5.9.11** | The serialized race did not reproduce; the deterministic cache-GC mechanism with the same symptom was fixed. Keep the concurrency test because independent processes share the repository cache. |
68
+ | AUD-617-KOTLIN, JUNIT4-SELF, E-PROV, INTENT-TIE-COV | Medium to low | **Closed in 5.9.11** | The auditor independently confirmed Kotlin classification, JUnit4 library classification, three-command event parity and honest same-class intent ties. Preserve their dedicated regressions while fixing the shared core. |
69
+
70
+ **Regression interpretation.** The 5.9.11 change is worse than the earlier visible timeout:
71
+ exit 124 exposed an availability problem, whereas exit 0 with no bytes creates a false green
72
+ for unattended agents and CI. `--detach` is not a mitigation because the child dies after
73
+ the phase heartbeat without recording its exception. Historical `L` and `O` must not be
74
+ marked genuinely fixed merely because the new failure prevents their normal output or hint
75
+ from being reached.
76
+
77
+ **Commercial decision.** Pause reliability-led sales and production CI-gating claims for
78
+ repositories above roughly 3,000 files. Retain the conservative `$20-30/developer/month`
79
+ working band from the audit, without presenting it as validated pricing. Normal-repository
80
+ pilots may continue only with bounded timeouts, output capture and explicit verification of
81
+ non-empty evidence. The gate can be lifted only after `AUD-617-R`, the Windows scale case and
82
+ the `migrate-apply` silent-success path have independent, cross-platform evidence.
83
+
84
+ **AUD-617 execution update.** `AUD-617-R` is **in progress**: the shared answer-delivery
85
+ guard covers all five reported commands and the focused plus TeaVM normal-run matrix is
86
+ green, but forced-exception and installed-artifact evidence remain before closure.
87
+ `AUD-617-Q` is **closed in the current fix** after the space-form parser correction.
88
+ `AUD-617-MIGRATE-APPLY` is **closed as not reproducible and test-covered**: plan mode emits
89
+ a non-empty `migrate-apply-v1` answer and does not mutate the repository. The remaining
90
+ Windows/contended P1 rows stay open because this Darwin checkout cannot validate them.
91
+
3
92
  *Chief-engineer development record. This is the internal, dev-facing counterpart to the
4
93
  customer-facing `docs/EXECUTIVE-ROADMAP.md`.*
5
94
 
@@ -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.11`, following the external `5.9.3` reconciliation.**
8
+ > **CURRENT UPDATE — release `5.9.13`, 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,38 @@
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
+ > **AUD-618 RE-AUDIT — the 5.9.12 reliability gate remains active.** The score
23
+ > improved only to **6.3/10**. `spring-audit` and `migrate-check` recovered, but
24
+ > `risk`, `verify`, `audit-report` and `migrate-apply` remain affected; `risk` now
25
+ > waits indefinitely in the shared composer on Windows. The captured cause is
26
+ > `PermissionError: [WinError 5]` at `_winapi.DuplicateHandle` during `spawn_main`.
27
+ > This is a partial repair, not a release clearance. Patch forward, do not roll
28
+ > back: preserve the verified fixes while blocking reliability-led sales and
29
+ > production CI-gating claims. The price hypothesis is `$25-35/developer/month`,
30
+ > not validated pricing. Windows scale, orphan process cleanup, cold-start output
31
+ > sizing and command admission remain open. Full triage is in the `AUD-618` sections
32
+ > of the development roadmap and defect ledger.
33
+
34
+ > **CRITICAL REGRESSION — re-audit of `5.9.11`, received 2026-08-28.** The external
35
+ > battery lowered the score to **6.0/10**: `risk`, `audit-report`, `verify`,
36
+ > `spring-audit` and intermittently `migrate-check` can exit `0` with no stdout,
37
+ > stderr or output file. This is more dangerous than a timeout because CI and an
38
+ > agent can interpret false success as a valid answer. The release is therefore
39
+ > blocked for reliability-led commitments and production CI-gating claims.
40
+ >
41
+ > The engineering decision is to **patch forward**, not roll back. The release
42
+ > retains several independently confirmed fixes and the regression is localised
43
+ > to the shared `composing risk factors`/error boundary. The immediate gate is
44
+ > `AUD-617-R`: every caught exception must produce structured evidence and a
45
+ > non-zero exit. Two additional blockers are the native Windows `tutorials`
46
+ > scale regression (`6m20.1s`, exit `124`, zero bytes) and silent-success
47
+ > `migrate-apply` without `--write`. `--max-output-tokens 10` is also open as a
48
+ > CLI parser defect; Windows process cleanup remains unverified from Darwin.
49
+ > Normal bounded pilots may continue, but retain the conservative `$20-30`
50
+ > working hypothesis and do not market enterprise-scale reliability above about
51
+ > 3,000 files. Full triage is recorded in `AUD-617` in the development roadmap
52
+ > and defect ledger.
53
+
22
54
  > **REMEDIATION — `AUD-616` worked through, released as `5.9.11`.** Seven of the nine findings are
23
55
  > closed and two are partially closed. Closed: the Kotlin repository now reports Kotlin as
24
56
  > its primary stack and demotes the unsupported Java claim to low confidence; the
@@ -1,6 +1,6 @@
1
1
  # Manual de usuario — ASK Engine
2
2
 
3
- > Versión de la herramienta: **5.9.11** · El comando que se ejecuta es `ask`.
3
+ > Versión de la herramienta: **5.9.13** · 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.11
11
+ ### Contratos de fiabilidad de la versión 5.9.13
12
12
 
13
13
  **Un plazo que el análisis raíz sí respeta.** `ASK_MAX_ANALYSIS_SECONDS=<segundos>`
14
14
  ahora detiene `ask <repo>` en una frontera de fase medida. Una ejecución que agota
@@ -292,7 +292,7 @@ lea una persona. Proyectan el mismo modelo semántico en contexto listo para un
292
292
  | `ask prepare-context <tarea>` | Paquete de contexto según la tarea (`onboard`, `review-pr`, `fix-bug`, `refactor`, `generate-tests`) dimensionado para un prompt de LLM. |
293
293
  | `ask repo-ir` | El propio IR de símbolos a bajo nivel — la representación semántica en crudo, para herramientas que quieren el grafo, no un informe. |
294
294
  | `ask --agent` | Envoltorio de salida optimizado para agentes en cualquier comando. |
295
- | `ask --compact` | Un subconjunto de ~10K tokens (estado, stacks, entry points, dependencias clave) para orientación barata. |
295
+ | `ask --compact` | Un subconjunto de orientación (estado, stacks, entry points y dependencias clave). Su tamaño depende del repositorio y de la vista; comprueba el tamaño publicado antes de inyectarlo directamente en un agente. |
296
296
  | `ask mcp` | Ejecuta ASK como servidor MCP para que un agente (Claude Desktop / Cursor) lo llame como herramienta. |
297
297
 
298
298
  Regla práctica: los comandos **para desarrollador** (`impact`, `spring-audit`, `endpoints`,
@@ -33,6 +33,18 @@ The public trust layer, if activated, must be a generated and redacted
33
33
  projection, never the raw defect ledger. Its acceptance rules must exclude
34
34
  maintainer paths, third-party evaluation subjects and unsupported claims.
35
35
 
36
+ **5.9.12 commercial gate.** The 2026-08-28 re-audit found that the critical
37
+ reliability regression is only partially repaired: `spring-audit` and `migrate-check`
38
+ recovered, while `risk`, `verify`, `audit-report` and `migrate-apply` remain affected.
39
+ This invalidates a reliability-led annual commitment and production CI-gating
40
+ positioning until the shared worker/composer boundary is fixed and independently
41
+ tested. The route therefore continues with bounded pilots only, retains a
42
+ provisional `$25-35/developer/month` working hypothesis, and does not claim
43
+ enterprise-scale support above roughly 3,000 files. The correct engineering response
44
+ is a forward patch, not a rollback, because 5.9.12 contains valid fixes that must be
45
+ preserved. See the detailed `AUD-618` intake in [`DEVELOPMENT-ROADMAP.md`](DEVELOPMENT-ROADMAP.md) and
46
+ [`DEFECT-LEDGER.md`](DEFECT-LEDGER.md).
47
+
36
48
  ### Evidence and commercial validation boundary
37
49
 
38
50
  The 5.9.2 external review confirms that `audit-report --sign-key` and
@@ -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.11, `validation` enters through that shared CIR and `data-exposure` reuses one semantic
49
+ 5.9.13, `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.11, with release-artifact verification
55
+ the two pack fixes are included in release 5.9.13, with release-artifact verification
56
56
  remaining for detached execution and pack evidence.
57
57
 
58
- ### Reliability contracts in 5.9.11
58
+ ### Reliability contracts in 5.9.13
59
59
 
60
60
  **A deadline the root analysis honours.** `ASK_MAX_ANALYSIS_SECONDS=<seconds>` now
61
61
  stops `ask <repo>` at a measured phase boundary. A run that spends its budget
@@ -260,7 +260,7 @@ pipx install sourcecode # isolated install, no venv needed
260
260
 
261
261
  # Verify
262
262
  ask version
263
- # ask 5.9.11
263
+ # ask 5.9.13
264
264
  ```
265
265
 
266
266
  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.11"
7
+ version = "5.9.13"
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.11"
7
+ __version__ = "5.9.13"
@@ -1043,6 +1043,7 @@ _OPTIONS_WITH_VALUE: frozenset[str] = frozenset({
1043
1043
  "--max-nodes",
1044
1044
  "--docs-depth",
1045
1045
  "--depth",
1046
+ "--max-output-tokens",
1046
1047
  "--git-depth",
1047
1048
  "--git-days",
1048
1049
  "--since", "--base",
@@ -1854,6 +1855,21 @@ def _admit_path(
1854
1855
  pass
1855
1856
  return admission.resolved
1856
1857
  hint = rejection_hint(admission, usage=usage)
1858
+ raw_token = str(raw)
1859
+ if (
1860
+ admission.reason == "missing"
1861
+ and raw_token
1862
+ and "/" not in raw_token
1863
+ and "\\" not in raw_token
1864
+ ):
1865
+ # A bare first token belongs to the documented `ask <path>` grammar.
1866
+ # Do not guess that it is a command and make a legitimate not-yet-created
1867
+ # repository impossible to name; instead make the interpretation visible
1868
+ # and point an operator who meant a command at the authoritative list.
1869
+ hint = (
1870
+ f"{hint} `{raw_token}` was interpreted as an implicit repository path. "
1871
+ "If you intended a command, run `ask --help` and retry its exact name."
1872
+ )
1857
1873
  if extra_hint:
1858
1874
  hint = f"{hint} {extra_hint}"
1859
1875
  _emit_error_json(
@@ -12248,6 +12264,7 @@ def spring_audit_cmd(
12248
12264
  {{NON_COVERAGE}}
12249
12265
  Silence about those is not evidence that there is nothing to find.
12250
12266
  """
12267
+ _require_answer_delivery("spring-audit")
12251
12268
  _apply_jobs(jobs)
12252
12269
  import json as _json
12253
12270
 
@@ -13128,6 +13145,7 @@ def verify_cmd(
13128
13145
  ask verify --fail-on any # gate on every violation
13129
13146
  ask verify --fail-on never # report without gating
13130
13147
  """
13148
+ _require_answer_delivery("verify")
13131
13149
  from sourcecode import verify_repo as _vr
13132
13150
  from sourcecode import readonly as _readonly
13133
13151
 
@@ -15368,6 +15386,7 @@ def migrate_check_cmd(
15368
15386
  blockers; and explicit Oracle JDK/licensing-review signals. This is
15369
15387
  inventory evidence, not legal advice, and it never changes readiness_score.
15370
15388
  """
15389
+ _require_answer_delivery("migrate-check")
15371
15390
  _apply_jobs(jobs)
15372
15391
  from sourcecode.repository_ir import find_java_files
15373
15392
  from sourcecode.migrate_check import run_migrate_check
@@ -202,6 +202,15 @@ def prefill_parse_cache(
202
202
  # a build that forks itself on every analysis.
203
203
  receipt["reason"] = "frozen build — worker processes would re-enter the CLI"
204
204
  return receipt
205
+ if os.name == "nt":
206
+ # Windows workers use ``spawn`` and must duplicate the parent's IPC
207
+ # handles. A denied DuplicateHandle leaves a ProcessPoolExecutor with no
208
+ # usable workers; depending on which consumer waits for its cache entry,
209
+ # that used to become either silent success or an unbounded wait. The
210
+ # sequential loop below is the designed fallback and produces the same
211
+ # IR, so prefer a reliable answer to speculative parse parallelism.
212
+ receipt["reason"] = "Windows — parsing sequentially to avoid spawn worker-handle failures"
213
+ return receipt
205
214
 
206
215
  # Retire dead generations once, here, rather than letting N workers race to
207
216
  # do it (C3-70's purge is idempotent, but doing it once is cheaper).
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes