sourcecode 5.9.14__tar.gz → 5.9.15__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 (464) hide show
  1. sourcecode-5.9.15/.github/workflows/build-windows.yml +40 -0
  2. {sourcecode-5.9.14 → sourcecode-5.9.15}/.github/workflows/windows-regression.yml +2 -1
  3. {sourcecode-5.9.14 → sourcecode-5.9.15}/CHANGELOG.md +53 -456
  4. {sourcecode-5.9.14 → sourcecode-5.9.15}/CLAUDE.md +4 -12
  5. {sourcecode-5.9.14 → sourcecode-5.9.15}/CONTRIBUTING.md +0 -5
  6. {sourcecode-5.9.14 → sourcecode-5.9.15}/PKG-INFO +38 -143
  7. {sourcecode-5.9.14 → sourcecode-5.9.15}/README.md +36 -140
  8. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/AUDIT-2026-08-22-5.8.22.md +3 -3
  9. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/CACHE.md +7 -26
  10. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/COMMERCIAL-OFFER.md +1 -1
  11. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/CUSTOMER-VALIDATION.md +1 -1
  12. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/DEFECT-LEDGER.md +164 -1178
  13. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/DEMO-5MIN.md +0 -16
  14. sourcecode-5.9.15/docs/DEVELOPMENT-ROADMAP.md +1032 -0
  15. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/EXECUTION-PLAN-12MO.md +6 -101
  16. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/EXECUTIVE-ROADMAP.md +5 -415
  17. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/MANUAL-USUARIO.md +5 -212
  18. sourcecode-5.9.15/docs/PRODUCT-ROUTE.md +144 -0
  19. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/RC1-CHECKLIST.md +2 -2
  20. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/USER_GUIDE.md +15 -223
  21. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/architecture/DESIGN-build-closure-provenance.md +0 -3
  22. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/architecture/DESIGN-pack-gate-ci.md +5 -14
  23. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/architecture/DESIGN-pack-mcp-api.md +2 -12
  24. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/architecture/DESIGN-robustness-security-inference.md +3 -3
  25. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/architecture/semantic-ir-roadmap.md +9 -32
  26. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/contracts.md +1 -1
  27. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/REGRESSION-GATE.md +9 -16
  28. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/gate-latest/README.md +1 -1
  29. {sourcecode-5.9.14 → sourcecode-5.9.15}/pyproject.toml +2 -3
  30. {sourcecode-5.9.14 → sourcecode-5.9.15}/scripts/perf_gate.py +10 -0
  31. {sourcecode-5.9.14 → sourcecode-5.9.15}/scripts/perf_harness.py +14 -24
  32. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/__init__.py +1 -1
  33. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/analysis_budget.py +0 -26
  34. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/answer_bounds.py +0 -11
  35. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/architectural_baseline.py +1 -5
  36. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/audit_report.py +1 -71
  37. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/baseline_autocapture.py +5 -12
  38. sourcecode-5.9.15/src/sourcecode/build_stamp.py +105 -0
  39. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/bundled_docs.py +0 -1
  40. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/cache.py +42 -146
  41. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/cache_model.py +12 -271
  42. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/classifier.py +21 -131
  43. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/cli.py +467 -2882
  44. sourcecode-5.9.15/src/sourcecode/click_runtime.py +61 -0
  45. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/compare.py +1 -1
  46. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/context_cache.py +1 -21
  47. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/context_summarizer.py +0 -1
  48. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/data_exposure.py +0 -16
  49. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/detach.py +23 -27
  50. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/detectors/java.py +1 -24
  51. sourcecode-5.9.15/src/sourcecode/detectors/jvm_ext.py +68 -0
  52. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/env_analyzer.py +5 -5
  53. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/envelope.py +9 -31
  54. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/error_schema.py +0 -14
  55. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/execution_plan.py +3 -7
  56. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/explain.py +7 -68
  57. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/field_deprecations.py +3 -48
  58. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/file_chunker.py +4 -15
  59. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/filter_surface.py +1 -1
  60. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/format_contract.py +4 -15
  61. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/git_checkout.py +2 -2
  62. sourcecode-5.9.15/src/sourcecode/github_diff.py +34 -0
  63. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/graph_analyzer.py +9 -7
  64. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/license.py +8 -88
  65. sourcecode-5.9.15/src/sourcecode/manifest_cache.py +83 -0
  66. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/mcp/orchestrator.py +1 -1
  67. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/mcp/registry.py +4 -2
  68. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/mcp/server.py +8 -66
  69. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/mcp_nudge.py +1 -11
  70. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/migrate_check.py +7 -233
  71. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/non_coverage.py +8 -61
  72. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/output_bounds.py +8 -54
  73. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/output_ceiling.py +8 -233
  74. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/pack_manifest.py +0 -39
  75. sourcecode-5.9.15/src/sourcecode/packs.py +418 -0
  76. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/parallel.py +86 -41
  77. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/parse_cache.py +0 -16
  78. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/path_admission.py +1 -2
  79. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/perf.py +4 -35
  80. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/phased_run.py +4 -120
  81. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/posture.py +1 -17
  82. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/pr_impact.py +3 -28
  83. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/prepare_context.py +3 -3
  84. sourcecode-5.9.15/src/sourcecode/product_info.py +59 -0
  85. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/progress.py +1 -107
  86. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/readonly.py +1 -22
  87. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/regress.py +1 -43
  88. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/release_info.py +9 -11
  89. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/rename_refactor.py +0 -63
  90. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/repository_ir.py +53 -123
  91. sourcecode-5.9.15/src/sourcecode/resource_budget.py +77 -0
  92. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/ris.py +9 -0
  93. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/risk.py +0 -61
  94. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/sarif.py +5 -2
  95. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/schema_registry.py +0 -56
  96. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/security_config_scan.py +2 -51
  97. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/security_posture.py +0 -12
  98. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/selftest.py +4 -63
  99. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/serializer.py +52 -23
  100. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/spring_event_topology.py +0 -1
  101. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/spring_impact.py +0 -103
  102. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/spring_model.py +1 -41
  103. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/spring_profiles.py +3 -3
  104. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/spring_tx_analyzer.py +0 -8
  105. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/summarizer.py +0 -6
  106. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/test_sources.py +1 -1
  107. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/timeline.py +1 -1
  108. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/timeline_cache.py +4 -24
  109. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/token_estimate.py +0 -2
  110. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/tree_utils.py +2 -4
  111. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/validation_surface.py +0 -9
  112. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/verify_edit.py +2 -25
  113. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/verify_repo.py +4 -5
  114. sourcecode-5.9.14/.github/workflows/build-windows.yml +0 -78
  115. sourcecode-5.9.14/.github/workflows/windows-battery.yml +0 -46
  116. sourcecode-5.9.14/CODE_OF_CONDUCT.md +0 -27
  117. sourcecode-5.9.14/docs/AUDIT-2026-08-23-5.8.24.md +0 -251
  118. sourcecode-5.9.14/docs/AUDIT-2026-08-23-COMMERCIAL.md +0 -195
  119. sourcecode-5.9.14/docs/AUDIT-2026-08-23-CORPUS-AMPLIADO.md +0 -63
  120. sourcecode-5.9.14/docs/AUDIT-2026-08-23-EXTERNAL-5.8.25.md +0 -121
  121. sourcecode-5.9.14/docs/AUDIT-2026-08-23-EXTERNAL-5.8.26.md +0 -43
  122. sourcecode-5.9.14/docs/AUDIT-2026-08-23-THINGSBOARD-FINDINGS.md +0 -173
  123. sourcecode-5.9.14/docs/AUDIT-2026-08-26-EXTERNAL-5.8.26.md +0 -46
  124. sourcecode-5.9.14/docs/AUDIT-2026-08-26-EXTERNAL-5.8.27.md +0 -52
  125. sourcecode-5.9.14/docs/AUDIT-2026-08-26-EXTERNAL-5.8.28-PACK.md +0 -35
  126. sourcecode-5.9.14/docs/AUDIT-2026-08-26-EXTERNAL-5.8.28.md +0 -56
  127. sourcecode-5.9.14/docs/AUDIT-2026-08-26-EXTERNAL-5.8.31.md +0 -87
  128. sourcecode-5.9.14/docs/AUDIT-2026-08-26-EXTERNAL-5.8.32.md +0 -278
  129. sourcecode-5.9.14/docs/AUDIT-2026-08-26-EXTERNAL-5.9.0.md +0 -98
  130. sourcecode-5.9.14/docs/AUDIT-2026-08-26-MONETIZATION.md +0 -86
  131. sourcecode-5.9.14/docs/AUDIT-2026-08-27-EXTERNAL-5.9.2.md +0 -68
  132. sourcecode-5.9.14/docs/AUDIT-2026-08-27-EXTERNAL-5.9.3.md +0 -96
  133. sourcecode-5.9.14/docs/AUDIT-2026-08-28-EXTERNAL-5.9.10.md +0 -169
  134. sourcecode-5.9.14/docs/DEVELOPMENT-ROADMAP.md +0 -1937
  135. sourcecode-5.9.14/docs/DOCUMENTATION-HYGIENE-2026-08-23.md +0 -38
  136. sourcecode-5.9.14/docs/PRODUCT-ROUTE.md +0 -282
  137. sourcecode-5.9.14/docs/STRATEGY-2026-08-26-AGENT-CONTEXT.md +0 -93
  138. sourcecode-5.9.14/scripts/context_cost_harness.py +0 -183
  139. sourcecode-5.9.14/src/sourcecode/__main__.py +0 -7
  140. sourcecode-5.9.14/src/sourcecode/access_drift.py +0 -239
  141. sourcecode-5.9.14/src/sourcecode/audit_verify.py +0 -76
  142. sourcecode-5.9.14/src/sourcecode/baseline_attestation.py +0 -77
  143. sourcecode-5.9.14/src/sourcecode/build_stamp.py +0 -185
  144. sourcecode-5.9.14/src/sourcecode/c4_render.py +0 -245
  145. sourcecode-5.9.14/src/sourcecode/cache_observation.py +0 -148
  146. sourcecode-5.9.14/src/sourcecode/cve_feed.py +0 -295
  147. sourcecode-5.9.14/src/sourcecode/cve_reachability.py +0 -523
  148. sourcecode-5.9.14/src/sourcecode/detectors/jvm_ext.py +0 -134
  149. sourcecode-5.9.14/src/sourcecode/findings_baseline.py +0 -270
  150. sourcecode-5.9.14/src/sourcecode/github_diff.py +0 -85
  151. sourcecode-5.9.14/src/sourcecode/intent_router.py +0 -403
  152. sourcecode-5.9.14/src/sourcecode/manifest_cache.py +0 -101
  153. sourcecode-5.9.14/src/sourcecode/packs.py +0 -1075
  154. sourcecode-5.9.14/src/sourcecode/path_display.py +0 -7
  155. sourcecode-5.9.14/src/sourcecode/pr_risk.py +0 -281
  156. sourcecode-5.9.14/src/sourcecode/product_info.py +0 -127
  157. sourcecode-5.9.14/src/sourcecode/regulatory_pack.py +0 -84
  158. sourcecode-5.9.14/src/sourcecode/remediation_flow.py +0 -259
  159. sourcecode-5.9.14/src/sourcecode/remediation_report.py +0 -78
  160. sourcecode-5.9.14/src/sourcecode/resource_budget.py +0 -208
  161. sourcecode-5.9.14/src/sourcecode/sarif_emit.py +0 -210
  162. sourcecode-5.9.14/src/sourcecode/schemas/cve-reachability-v1.schema.json +0 -130
  163. sourcecode-5.9.14/src/sourcecode/self_audit.py +0 -313
  164. sourcecode-5.9.14/src/sourcecode/vex.py +0 -83
  165. sourcecode-5.9.14/src/sourcecode/watch_loop.py +0 -214
  166. {sourcecode-5.9.14 → sourcecode-5.9.15}/.github/workflows/perf-gate.yml +0 -0
  167. {sourcecode-5.9.14 → sourcecode-5.9.15}/.gitignore +0 -0
  168. {sourcecode-5.9.14 → sourcecode-5.9.15}/.ruff.toml +0 -0
  169. {sourcecode-5.9.14 → sourcecode-5.9.15}/LICENSE +0 -0
  170. {sourcecode-5.9.14 → sourcecode-5.9.15}/NOTICE +0 -0
  171. {sourcecode-5.9.14 → sourcecode-5.9.15}/SECURITY.md +0 -0
  172. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/AUDIT-TESTING-CORPUS-2026-08-22.md +0 -0
  173. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/MODERNIZATION.md +0 -0
  174. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/PRODUCT_AUDIT.md +0 -0
  175. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/PRODUCT_IDENTITY.md +0 -0
  176. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/PRODUCT_TIERS.md +0 -0
  177. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/RELEASE-CHECKLIST.md +0 -0
  178. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/architecture/CATALOG-retrieval-intents.md +0 -0
  179. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/architecture/DESIGN-assessment-deployment-evidence.md +0 -0
  180. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/architecture/DESIGN-assessment-report.md +0 -0
  181. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/architecture/DESIGN-knowledge-provider-integration.md +0 -0
  182. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/architecture/DESIGN-p5.3b-statement-surface.md +0 -0
  183. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/architecture/DESIGN-p5.5-span-index.md +0 -0
  184. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/architecture/DESIGN-p6-semantic-impact-engine.md +0 -0
  185. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/architecture/DESIGN-p6-semantic-integration-engine.md +0 -0
  186. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/architecture/DESIGN-p7-semantic-services.md +0 -0
  187. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/architecture/DESIGN-pack-manifest.md +0 -0
  188. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/architecture/DESIGN-semantic-retrieval.md +0 -0
  189. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/architecture/EPV-p6-class-typeref.md +0 -0
  190. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/architecture/REPORT-p6-flow-analyzer-comparison.md +0 -0
  191. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/architecture/REPORT-p6-integration-detector-comparison.md +0 -0
  192. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/architecture/REPORT-p8-flow-analyzer-migration.md +0 -0
  193. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/architecture/REPORT-p9-integration-detector-migration.md +0 -0
  194. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/architecture/adr/0001-semantic-ir.md +0 -0
  195. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/architecture/adr/0002-source-evidence-boundary.md +0 -0
  196. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/architecture/adr/0003-architectural-characterization.md +0 -0
  197. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/architecture/adr/0004-semantic-retrieval.md +0 -0
  198. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/architecture/adr/0005-evidence-reconciliation.md +0 -0
  199. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/architecture/adr/0006-performance-harness.md +0 -0
  200. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/architecture/adr/0007-composition-semantics.md +0 -0
  201. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/architecture/adr/0008-answer-coherence.md +0 -0
  202. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/architecture/consumer-disposition-inventory.md +0 -0
  203. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/architecture/overview.md +0 -0
  204. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/architecture/product-architecture-review.md +0 -0
  205. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/architecture/product-strategy-layering.md +0 -0
  206. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/architecture/semantic-ir-consumer-matrix.md +0 -0
  207. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/baseline-ci.yml +0 -0
  208. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/commercial-pipeline-audit.md +0 -0
  209. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/contracts-ci.yml +0 -0
  210. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/eval/2026-06-15-petclinic-rest-issue11-vets-pagination.md +0 -0
  211. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/eval/2026-06-15-petclinic-rest-issue147-validation.md +0 -0
  212. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/eval/2026-06-15-petclinic-rest-workflow.md +0 -0
  213. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/eval/2026-06-15-phase18-openapi-surface.md +0 -0
  214. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/eval/2026-06-15-phase20-validation-surface.md +0 -0
  215. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/eval/2026-06-16-broadleaf-checkout-impact-fieldtest.md +0 -0
  216. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/eval/2026-06-16-petclinic-rest-issue11-weakness2-closed.md +0 -0
  217. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/eval/2026-06-16-spring-petclinic-issue2333-dead-vets.md +0 -0
  218. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/licensing-schema.md +0 -0
  219. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/migrate-check.md +0 -0
  220. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/pack-gate-github-actions.yml +0 -0
  221. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/pack-gate-gitlab.yml +0 -0
  222. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/README.md +0 -0
  223. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.15/SUMMARY.md +0 -0
  224. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.15/alfresco__ask__cold.json +0 -0
  225. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.15/alfresco__ask__warm.json +0 -0
  226. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.15/broadleaf__ask__cold.json +0 -0
  227. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.15/broadleaf__ask__warm.json +0 -0
  228. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.15/eureka__ask__cold.json +0 -0
  229. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.15/eureka__ask__warm.json +0 -0
  230. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.15/jenkins__ask__cold.json +0 -0
  231. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.15/jenkins__ask__warm.json +0 -0
  232. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.15/jobrunr__ask__cold.json +0 -0
  233. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.15/jobrunr__ask__warm.json +0 -0
  234. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.15/keycloak__ask__cold.json +0 -0
  235. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.15/keycloak__ask__warm.json +0 -0
  236. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.15/neo4j__ask__cold.json +0 -0
  237. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.15/neo4j__ask__warm.json +0 -0
  238. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.15/ofbiz__ask__cold.json +0 -0
  239. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.15/ofbiz__ask__warm.json +0 -0
  240. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.15/openmrs__ask__cold.json +0 -0
  241. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.15/openmrs__ask__warm.json +0 -0
  242. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.15/petclinic__ask__cold.json +0 -0
  243. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.15/petclinic__ask__warm.json +0 -0
  244. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.16/SUMMARY.md +0 -0
  245. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.16/alfresco__ask__cold.json +0 -0
  246. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.16/alfresco__ask__warm.json +0 -0
  247. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.16/broadleaf__ask__cold.json +0 -0
  248. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.16/broadleaf__ask__warm.json +0 -0
  249. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.16/eureka__ask__cold.json +0 -0
  250. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.16/eureka__ask__warm.json +0 -0
  251. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.16/jenkins__ask__cold.json +0 -0
  252. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.16/jenkins__ask__warm.json +0 -0
  253. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.16/jobrunr__ask__cold.json +0 -0
  254. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.16/jobrunr__ask__warm.json +0 -0
  255. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.16/keycloak__ask__cold.json +0 -0
  256. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.16/keycloak__ask__warm.json +0 -0
  257. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.16/neo4j__ask__cold.json +0 -0
  258. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.16/neo4j__ask__warm.json +0 -0
  259. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.16/ofbiz__ask__cold.json +0 -0
  260. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.16/ofbiz__ask__warm.json +0 -0
  261. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.16/openmrs__ask__cold.json +0 -0
  262. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.16/openmrs__ask__warm.json +0 -0
  263. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.16/petclinic__ask__cold.json +0 -0
  264. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/2.5.16/petclinic__ask__warm.json +0 -0
  265. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/gate-latest/broadleaf__ask__warm.json +0 -0
  266. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/gate-latest/broadleaf__endpoints__warm.json +0 -0
  267. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/gate-latest/broadleaf__migrate-check__warm.json +0 -0
  268. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/gate-latest/broadleaf__posture__warm.json +0 -0
  269. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/gate-latest/broadleaf__spring-audit__warm.json +0 -0
  270. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/gate-latest/broadleaf__validation__warm.json +0 -0
  271. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/baselines/reference-best/README.md +0 -0
  272. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/perf/corpus-testing-2026-08-22.md +0 -0
  273. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/posture.md +0 -0
  274. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/privacy.md +0 -0
  275. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/pro-experience-audit.md +0 -0
  276. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/schema.md +0 -0
  277. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/spec/envelope-v1.md +0 -0
  278. {sourcecode-5.9.14 → sourcecode-5.9.15}/docs/spring-audit-ci.yml +0 -0
  279. {sourcecode-5.9.14 → sourcecode-5.9.15}/hatch_build.py +0 -0
  280. {sourcecode-5.9.14 → sourcecode-5.9.15}/scripts/compare_integration_engines.py +0 -0
  281. {sourcecode-5.9.14 → sourcecode-5.9.15}/scripts/customer_smoke_test.sh +0 -0
  282. {sourcecode-5.9.14 → sourcecode-5.9.15}/scripts/generate_jdk_exports.py +0 -0
  283. {sourcecode-5.9.14 → sourcecode-5.9.15}/scripts/sync_gate_anchors.py +0 -0
  284. {sourcecode-5.9.14 → sourcecode-5.9.15}/scripts/test_fast.sh +0 -0
  285. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/adaptive_scanner.py +0 -0
  286. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/archetype.py +0 -0
  287. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/architectural_delta.py +0 -0
  288. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/architecture_analyzer.py +0 -0
  289. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/architecture_summary.py +0 -0
  290. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/ast_extractor.py +0 -0
  291. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/audit_clusters.py +0 -0
  292. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/audit_recipe.py +0 -0
  293. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/audit_since.py +0 -0
  294. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/breaking_changes.py +0 -0
  295. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/build_modules.py +0 -0
  296. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/call_surface.py +0 -0
  297. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/caller_metrics.py +0 -0
  298. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/caller_reach.py +0 -0
  299. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/canonical_ir.py +0 -0
  300. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/chain_rules.py +0 -0
  301. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/change_plan.py +0 -0
  302. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/ci_output.py +0 -0
  303. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/cir_graphs.py +0 -0
  304. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/client_calls.py +0 -0
  305. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/code_notes_analyzer.py +0 -0
  306. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/confidence_analyzer.py +0 -0
  307. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/constraint_diff.py +0 -0
  308. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/consumer_join.py +0 -0
  309. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/container_wiring.py +0 -0
  310. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/context_graph.py +0 -0
  311. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/context_scorer.py +0 -0
  312. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/contract_diff.py +0 -0
  313. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/contract_init.py +0 -0
  314. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/contract_model.py +0 -0
  315. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/contract_pipeline.py +0 -0
  316. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/coverage_parser.py +0 -0
  317. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/data_labels.py +0 -0
  318. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/declarations.py +0 -0
  319. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/defect_classes/__init__.py +0 -0
  320. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/defect_classes/registry.json +0 -0
  321. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/defect_identity.py +0 -0
  322. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/degradation.py +0 -0
  323. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/dependency_analyzer.py +0 -0
  324. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/deployment_prefix.py +0 -0
  325. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/detectors/__init__.py +0 -0
  326. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/detectors/base.py +0 -0
  327. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/detectors/csproj_parser.py +0 -0
  328. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/detectors/dart.py +0 -0
  329. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/detectors/dotnet.py +0 -0
  330. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/detectors/elixir.py +0 -0
  331. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/detectors/go.py +0 -0
  332. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/detectors/heuristic.py +0 -0
  333. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/detectors/hybrid.py +0 -0
  334. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/detectors/nodejs.py +0 -0
  335. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/detectors/parsers.py +0 -0
  336. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/detectors/php.py +0 -0
  337. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/detectors/project.py +0 -0
  338. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/detectors/python.py +0 -0
  339. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/detectors/ruby.py +0 -0
  340. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/detectors/rust.py +0 -0
  341. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/detectors/systems.py +0 -0
  342. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/detectors/terraform.py +0 -0
  343. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/detectors/tooling.py +0 -0
  344. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/doc_analyzer.py +0 -0
  345. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/dynamic_argument_surface.py +0 -0
  346. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/empty_reach.py +0 -0
  347. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/endpoint_disposition.py +0 -0
  348. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/endpoint_literals.py +0 -0
  349. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/endpoint_metrics.py +0 -0
  350. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/entrypoint_classifier.py +0 -0
  351. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/environment_resolution.py +0 -0
  352. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/evidence_provider.py +0 -0
  353. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/explain_endpoint.py +0 -0
  354. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/facts/__init__.py +0 -0
  355. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/facts/registry.json +0 -0
  356. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/file_classifier.py +0 -0
  357. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/fqn_utils.py +0 -0
  358. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/functional_routes.py +0 -0
  359. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/gate_anchors.py +0 -0
  360. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/git_analyzer.py +0 -0
  361. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/graph_evidence.py +0 -0
  362. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/hibernate_strat.py +0 -0
  363. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/identity_fallback.py +0 -0
  364. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/integration_coordinates.py +0 -0
  365. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/jdk_exports.py +0 -0
  366. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/mcp/__init__.py +0 -0
  367. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/mcp/dependency_import.py +0 -0
  368. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/mcp/onboarding/__init__.py +0 -0
  369. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/mcp/onboarding/applier.py +0 -0
  370. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/mcp/onboarding/backup.py +0 -0
  371. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/mcp/onboarding/detector.py +0 -0
  372. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/mcp/onboarding/planner.py +0 -0
  373. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/mcp/runner.py +0 -0
  374. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/metrics_analyzer.py +0 -0
  375. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/migration_apply.py +0 -0
  376. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/migration_blast.py +0 -0
  377. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/openapi_surface.py +0 -0
  378. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/openrewrite_recipe.py +0 -0
  379. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/output_budget.py +0 -0
  380. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/output_encoding.py +0 -0
  381. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/output_sink.py +0 -0
  382. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/partial_contract.py +0 -0
  383. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/path_filters.py +0 -0
  384. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/pipe_contract.py +0 -0
  385. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/pr_comment_renderer.py +0 -0
  386. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/provenance.py +0 -0
  387. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/ranking_engine.py +0 -0
  388. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/readiness_timeline.py +0 -0
  389. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/reconciliation.py +0 -0
  390. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/redactor.py +0 -0
  391. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/reference_facts.py +0 -0
  392. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/relevance_scorer.py +0 -0
  393. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/remediation_diff.py +0 -0
  394. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/remedies.py +0 -0
  395. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/repo_classifier.py +0 -0
  396. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/retrieval/__init__.py +0 -0
  397. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/retrieval/context.py +0 -0
  398. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/retrieval/errors.py +0 -0
  399. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/retrieval/executor.py +0 -0
  400. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/retrieval/planner.py +0 -0
  401. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/retrieval/query.py +0 -0
  402. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/retrieval/request.py +0 -0
  403. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/retrieval/resolution.py +0 -0
  404. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/retrieval/result.py +0 -0
  405. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/retrieval/retriever.py +0 -0
  406. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/retrieval/runtime.py +0 -0
  407. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/retrieval/steps.py +0 -0
  408. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/retrieval/steps_endpoint.py +0 -0
  409. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/retrieval/steps_graph.py +0 -0
  410. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/retrieval/steps_impact.py +0 -0
  411. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/retrieval/steps_intf.py +0 -0
  412. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/retrieval/steps_struct.py +0 -0
  413. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/retrieval/steps_txsec.py +0 -0
  414. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/risk_model.py +0 -0
  415. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/rule_catalog.py +0 -0
  416. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/rule_pass.py +0 -0
  417. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/runs.py +0 -0
  418. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/runtime_classifier.py +0 -0
  419. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/scanner.py +0 -0
  420. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/schema.py +0 -0
  421. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/schema_producers.py +0 -0
  422. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/schemas/core-analysis-v1.schema.json +0 -0
  423. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/schemas/endpoints-v1.schema.json +0 -0
  424. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/schemas/envelope-v1.schema.json +0 -0
  425. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/schemas/pr-impact-v1.schema.json +0 -0
  426. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/schemas/verify-edit-v1.schema.json +0 -0
  427. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/schemas/verify-v1.schema.json +0 -0
  428. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/security_chain.py +0 -0
  429. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/security_config.py +0 -0
  430. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/selection_contract.py +0 -0
  431. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/semantic_analyzer.py +0 -0
  432. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/semantic_impact_engine.py +0 -0
  433. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/semantic_integration_engine.py +0 -0
  434. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/semantic_services.py +0 -0
  435. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/servlet_surface.py +0 -0
  436. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/source_text.py +0 -0
  437. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/spring_findings.py +0 -0
  438. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/spring_properties.py +0 -0
  439. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/spring_security_audit.py +0 -0
  440. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/spring_semantic.py +0 -0
  441. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/sql_taint.py +0 -0
  442. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/target_admission.py +0 -0
  443. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/telemetry/__init__.py +0 -0
  444. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/telemetry/config.py +0 -0
  445. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/telemetry/consent.py +0 -0
  446. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/telemetry/events.py +0 -0
  447. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/telemetry/filters.py +0 -0
  448. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/telemetry/transport.py +0 -0
  449. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/test_gap_ranking.py +0 -0
  450. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/text_input.py +0 -0
  451. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/type_usage_surface.py +0 -0
  452. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/validation_inference.py +0 -0
  453. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/verify_rules.py +0 -0
  454. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/version_check.py +0 -0
  455. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/waivers.py +0 -0
  456. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/wired_surface.py +0 -0
  457. {sourcecode-5.9.14 → sourcecode-5.9.15}/src/sourcecode/workspace.py +0 -0
  458. {sourcecode-5.9.14 → sourcecode-5.9.15}/supabase/functions/README.md +0 -0
  459. {sourcecode-5.9.14 → sourcecode-5.9.15}/supabase/functions/get-license/index.ts +0 -0
  460. {sourcecode-5.9.14 → sourcecode-5.9.15}/supabase/functions/lemonsqueezy-webhook/index.ts +0 -0
  461. {sourcecode-5.9.14 → sourcecode-5.9.15}/supabase/functions/telemetry/index.ts +0 -0
  462. {sourcecode-5.9.14 → sourcecode-5.9.15}/supabase/sql/license_event_ordering.sql +0 -0
  463. {sourcecode-5.9.14 → sourcecode-5.9.15}/supabase/sql/licensing_schema.sql +0 -0
  464. {sourcecode-5.9.14 → sourcecode-5.9.15}/supabase/sql/telemetry_events.sql +0 -0
@@ -0,0 +1,40 @@
1
+ name: Build Windows EXE
2
+
3
+ on:
4
+ workflow_dispatch:
5
+
6
+ jobs:
7
+ build-windows:
8
+ runs-on: windows-latest
9
+
10
+ steps:
11
+ - name: Checkout repository
12
+ uses: actions/checkout@v4
13
+
14
+ - name: Setup Python
15
+ uses: actions/setup-python@v5
16
+ with:
17
+ python-version: "3.11"
18
+
19
+ - name: Install dependencies
20
+ run: |
21
+ python -m pip install --upgrade pip
22
+ pip install nuitka
23
+ pip install .
24
+
25
+ - name: Build EXE
26
+ run: |
27
+ python -m nuitka ^
28
+ --onefile ^
29
+ --standalone ^
30
+ --follow-imports ^
31
+ --assume-yes-for-downloads ^
32
+ --output-dir=build ^
33
+ run_cli.py
34
+ shell: cmd
35
+
36
+ - name: Upload artifact
37
+ uses: actions/upload-artifact@v4
38
+ with:
39
+ name: sourcecode-windows
40
+ path: build/**/*.exe
@@ -35,7 +35,8 @@ jobs:
35
35
  python -m pytest -q -n 0 \
36
36
  tests/test_encoding_regression.py \
37
37
  tests/test_output_encoding.py \
38
- tests/test_path_prefix_selection.py
38
+ tests/test_path_prefix_selection.py \
39
+ tests/test_parallel_jobs.py
39
40
 
40
41
  - name: Prove Git Bash cannot turn a route filter into a clean zero
41
42
  shell: bash
@@ -1,444 +1,51 @@
1
1
  # Changelog
2
2
 
3
- ## [5.9.14] — 2026-08-30
4
-
5
- *AUD-619 intake, Windows reliability follow-up and release alignment.*
6
-
7
- **Changed**
8
-
9
- - Integrated the latest `master` fixes for Windows Git Bash routing, response
10
- metadata preservation and nonbinding analysis-budget disclosure.
11
- - Preserved the audit boundary: native Windows repetition, cache-write lifecycle,
12
- review-pr normalization and process teardown remain verification work.
13
-
14
- ## [5.9.13] — 2026-08-28
15
-
16
- *AUD-618 remediation and release-alignment patch.*
17
-
18
- **Fixed**
19
-
20
- - Windows now selects the existing sequential parse path instead of creating a
21
- `ProcessPoolExecutor` whose spawned workers can fail to duplicate IPC handles.
22
- The fallback preserves the same IR and prevents the observed silent/hanging
23
- worker-start path.
24
- - A missing bare token now explains when ASK interpreted it as an implicit
25
- repository path, while close command spellings retain nearest-command hints.
26
- - Spanish user documentation no longer states a false fixed token size for
27
- compact context.
3
+ ## [5.9.15] — 2026-08-31
28
4
 
29
- **Verification boundary**
5
+ *Release metadata aligned for the PyPI publication.*
30
6
 
31
- - TeaVM validations cover risk delivery, migration planning and non-mutation.
32
- Native Windows/pipx re-audit remains required for the worker, scale and
33
- process-lifetime findings; this release does not claim that external evidence.
7
+ ## [5.8.24] 2026-08-31
34
8
 
35
- ## [5.9.12] 2026-08-28
9
+ *The Windows external re-audit correction queue is closed: every actionable
10
+ 5.9.13 → 5.9.14 finding now has a bounded implementation, native Windows
11
+ evidence and a regression authority, without duplicating existing defect
12
+ classes.*
36
13
 
37
- *Release-alignment patch release after the `AUD-617` regression battery.*
38
-
39
- **Fixed and verified**
40
-
41
- - Core answer-producing commands now fail closed with structured evidence instead
42
- of silently returning success when composition fails (`AUD-617-R`).
43
- - Root option preprocessing preserves the value of `--max-output-tokens` in both
44
- space-separated and equals forms (`AUD-617-Q`).
45
- - `migrate-apply` plan-only output is covered as a non-silent, non-mutating path
46
- (`AUD-617-MIGRATE-APPLY`).
47
-
48
- The native Windows scale and process-cleanup findings remain open because they
49
- require evidence from that platform. The commercial gate and conservative scale
50
- positioning are unchanged.
51
-
52
- ## [5.9.11] — 2026-08-28
53
-
54
- *`AUD-616` remediation: seven of nine rows closed, two partially, one carried forward.*
55
-
56
- **Fixed**
57
-
58
- - A stack's confidence now answers to the source in the tree. A repository of 151
59
- `.kt` files with zero `.java` files and one `pom.xml` in a subdirectory published
60
- `stack: java`, `confidence: high`, `primary: true` and headlined itself a Java
61
- library. `JvmExtDetector` admits on source population as well as manifest
62
- filename, so a Kotlin repository built with the Groovy DSL is no longer
63
- invisible; and `TypeClassifier._enrich_stack`, which is the real authority for
64
- `confidence`, now caps a stack with no source files of its own at `low` and
65
- floors the tree's largest source population at `medium` against a competing
66
- manifest-backed claim. (`AUD-616-KOTLIN`)
67
- - A JVM repository with sources and no application-defining framework classifies as
68
- `library` rather than `unknown`, whether or not it is multi-module. Module count
69
- describes a build layout, not whether a repository is a library. Measured over
70
- thirteen JVM repositories: three change and all three are libraries, ten are
71
- unchanged. (`AUD-616-JUNIT4-SELF`)
72
- - The output-ceiling refusal offers `--output FILE` before any `--format`
73
- substitution, and each substitution states that it re-runs the command and that
74
- its cost on this repository is unmeasured. The first suggestion was previously
75
- the one path held open as an availability defect. (`AUD-616-O`)
76
- - The cache GC no longer evicts the entry the calling run has just written. A core
77
- larger than the whole store budget was written and deleted inside one process on
78
- every run, so that repository could never be served from cache and nothing said
79
- why. `cache status` publishes `size_budget_mb`, `largest_core_bytes` and an
80
- `over_budget_reason`. (`AUD-616-P`)
81
- - The delayed liveness warning names the phase, the stage and its counts, how long
82
- the run has been in that phase, and whether the phase changed since the previous
83
- warning — the signal that separates a blocked run from a slow one. The in-phase
84
- clock is the phase's own, not the run's. (`AUD-616-L`)
85
-
86
- **Added**
87
-
88
- - The root analysis is a phase runner: `ASK_MAX_ANALYSIS_SECONDS` stops it at a
89
- measured seam and returns a structured `partial-answer-v1` result naming the
90
- phases completed and pending, the elapsed time and the budget's provenance,
91
- instead of nothing at all. It declares `--ci` and `--allow-partial` from the same
92
- factories every other phase runner uses, and a cut gated run exits 75.
93
- (`AUD-616-TUTORIALS`)
94
-
95
- **Performance**
96
-
97
- - Two repeated walks of the same file tree removed from the detection phase:
98
- `manifest_cache._key()` ran fourteen recursive globs per call and was called by
99
- both `load()` and `save()` for each module, and the classifier flattened the tree
100
- seven times per `enrich`. Measured cold on a 24,073-file monorepo: detection
101
- 30.3 s → 9.2 s, total 54.9 s → 32.5 s (**×1.69**), payload byte-identical.
102
-
103
- **Known limits**
104
-
105
- - The two availability items stay open and are not closed on measurements taken
106
- here. Neither reproduces on the engineering platform — root compact completes in
107
- 54.9 s with output, and `audit-report --format markdown` ran 2/2 clean — and both
108
- were reported against a different build and platform. Independent re-measurement
109
- there, plus a published repository-size envelope, is the remaining work.
110
- (`AUD-616-TUTORIALS`, `AUD-616-L`)
111
- - Windows process-tree cleanup is carried forward untouched: it cannot be
112
- reproduced or refuted from the engineering platform. (`AUD-616-WIN-PROC`)
113
-
114
- ## [5.9.10] — 2026-08-27
115
-
116
- *Release-alignment patch release.*
117
-
118
- **Release**
119
-
120
- - Synchronizes package metadata, CLI runtime, README and user-guide version surfaces at `5.9.10`.
121
- - Carries forward the `5.9.9` documentation and availability guidance.
122
- - Keeps the `AUD-615` reliability limits explicit pending their independent closure.
123
-
124
- ## [5.9.9] — 2026-08-27
125
-
126
- *Release-alignment patch release.*
127
-
128
- **Release**
129
-
130
- - Synchronizes the package, CLI, README and user-guide version surfaces at `5.9.9`.
131
- - Carries forward the `5.9.8` reliability fixes and their dedicated TeaVM validation.
132
- - Keeps the `AUD-614` availability and native Windows/MSYS verification items explicitly open.
133
-
134
- ## [5.9.8] — 2026-08-27
135
-
136
- *Audit correction and contract-alignment patch release.*
137
-
138
- **Fixed**
139
-
140
- - Standardizes `review-pr` and `activate` failures on structured stderr envelopes.
141
- - Distinguishes command typos from implicit repository paths and suggests commands.
142
- - Rejects raw unified diffs passed to `--files -`; the option now accepts path lists only.
143
- - Streams child progress from `pack gate` without contaminating aggregate stdout.
144
- - Adds per-row timeout control to `selftest` and removes the fixed-size `cold-start` warning.
145
-
146
- **Documentation and validation**
147
-
148
- - Reconciles CLI/MCP population documentation and `rename-class` migration guidance.
149
- - Updates README, English and Spanish guides, roadmap, ledger and CLI version output.
150
- - Validated with dedicated regressions against `/Users/user/Documents/workspace/testing/teavm`.
151
-
152
- ## [5.9.6] — 2026-08-27
153
-
154
- *Roadmap correction and release-alignment patch release.*
155
-
156
- **Fixed**
157
-
158
- - Makes explicit cache warming durable across processes.
159
- - Reconciles Spring presence detection for foreign member annotations.
160
- - Removes split Markdown badge fragments from README-derived summaries.
161
- - Makes empty baseline history an explicit `no_history` result.
162
- - Explains the intentional CLI/MCP population difference in `self-audit`.
163
-
164
- **Validation**
165
-
166
- - Added dedicated regression coverage using `/Users/user/Documents/workspace/testing/teavm`.
167
- - Updated README, English and Spanish guides, roadmap, ledger and CLI version output.
168
-
169
- ## [5.9.4] — 2026-08-27
170
-
171
- *External-audit reliability and contract-alignment release.*
172
-
173
- **Fixed**
174
-
175
- - Rejects missing consumer repositories, malformed CVE feeds and unresolved
176
- `pack gate --since` refs as structured input errors.
177
- - Rejects unknown profiles in `posture --diff` when the repository declares a
178
- profile population, while preserving annotation-only profile fixtures.
179
- - Prevents architectural baseline captures from overwriting the snapshot for
180
- the same commit.
181
- - Makes `endpoints --compact` disclose inline that its empty row list is an
182
- intentional omission, and makes unresolved `impact`/`impact-chain` runs exit
183
- non-zero even when no Java files are present.
184
-
185
- **Documentation and validation**
186
-
187
- - Updated README, English and Spanish user guides, roadmap status and CLI help.
188
- - Dedicated regression tests pass against repositories under
189
- `Documents/workspace/testing`.
190
-
191
- ## [5.9.3] — 2026-08-27
192
-
193
- *Workspace entitlement correctness patch release.*
194
-
195
- **Fixed**
196
-
197
- - `auth workspace` collapses overlapping parent/child repository paths and
198
- publishes `overlapping_paths`, preventing physical Java files from being
199
- counted twice.
200
- - `auth workspace` rejects nonexistent or non-directory paths through the
201
- standard structured `INVALID_INPUT` / `missing` contract instead of treating
202
- them as empty repositories.
203
-
204
- **Validation**
205
-
206
- - Added regression coverage for duplicate, overlapping, invalid and mixed
207
- workspace inputs.
208
- - Rechecked the contract against representative repositories under
209
- `Documents/workspace/testing`.
210
-
211
- ## [5.9.2] — 2026-08-27
212
-
213
- *Commercial positioning increment: bounded agent context, reproducible cost
214
- measurement, source-level SARIF delivery and workspace entitlement pilot.*
215
-
216
- **Added**
217
-
218
- - `repo-ir --budget-tokens N` composes with `--since` and declares graph
219
- non-coverage instead of truncating an answer.
220
- - `scripts/context_cost_harness.py` compares two declared task commands without
221
- a shell and publishes no delta unless both sides resolve comparably.
222
- - `migrate-check --format sarif` emits ASK-owned migration findings with source
223
- locations, provenance and non-coverage.
224
- - `auth workspace --enforce` provides an opt-in named-buyer pilot using the
225
- existing Pro gate; advisory mode remains the default.
226
-
227
- **Documentation and validation**
228
-
229
- - README, user guide, roadmap and CLI help describe the new commercial surfaces.
230
- - The changes were verified against the four repositories in
231
- `Documents/workspace/testing` and the focused regression batteries.
232
-
233
- ## [5.9.1] — 2026-08-26
234
-
235
- *Audit correction and stress-validation patch release. The `AUD-608` fixes
236
- from the `5.9.0` audit are shipped and documented; command contracts now
237
- disclose their limits and failure boundaries.*
238
-
239
- **Fixed**
240
-
241
- - `cve` publishes that its dependency inventory comes from static manifests and
242
- supported lockfiles, without implying Maven or Gradle graph resolution.
243
- - `pr-risk --since` reports unreadable base refs as structured execution errors
244
- instead of misleading `non_coverage`.
245
- - `posture --diff --limit` bounds `permit_all` and effective-access evidence
246
- maps while preserving unrelated `evidence` payloads.
247
- - Seven new command helps state their command-level analysis and memory budget
248
- applicability.
249
-
250
- **Documentation and validation**
251
-
252
- - README, roadmaps and defect ledger identify `5.9.1` as the current release;
253
- the `5.9.0` audit remains historical evidence.
254
- - Focused regression batteries pass for all four corrections. A representative
255
- stress smoke test passed on seven repositories under
256
- `Documents/workspace/testing` with isolated caches and clean stderr.
257
-
258
- ## [5.9.0] — 2026-08-26
259
-
260
- *The `AUD-607` external round, closed: three defects fixed and the whole feature
261
- intake built, one commit per row. Seven new commands (`cve`, `intent`,
262
- `remediate`, `pr-risk`, `drift`, `watch`, `self-audit`) and two extended ones
263
- (`baseline --kind findings`, `export --c4 --render`) make this the largest
264
- addition to the command surface since 5.0, so the minor version moves.*
265
-
266
- **Fixed**
267
-
268
- - `chunk-file` emitted chunk content that did not match its own declared
269
- `start_line`/`end_line`: the boundary path serialised the untruncated buffer
270
- while declaring a truncated end line, so a chunk ran past its own range and
271
- those lines repeated at the head of the next one. A second, separate defect
272
- made the annotation buffer's clearing guard unreachable, so a field's
273
- `@Autowired` was carried onto the following method while the field's own
274
- declaration dropped out of that chunk. The reported "deliberate overlap" is
275
- refuted; the declared range is now exact and asserted against file content.
276
- - `explain` answered *"No stereotype detected"* under **Purpose** while listing
277
- that same class's routes under **REST Endpoints**. Fixed by reading the
278
- endpoint evidence the answer already computed — not by adding JAX-RS to a
279
- Spring annotation list, which is the branching this project does not do.
280
- - `--files -` claimed *"stdin is a terminal"* for a Git Bash/MSYS redirect it
281
- cannot verify. The message now names the outcome and states both routes into
282
- it (the C3-106 rule, already applied to `_confirm`).
283
-
284
- **Added**
285
-
286
- - `ask cve --feed <osv>` — dependency advisories gated on whether a route can
287
- **reach** the vulnerable package. Takes no network at analysis time; an
288
- unreadable feed is a refusal, never a clean scan; nothing answers *"not
289
- reachable"*, and an unresolvable Maven version is `unknown`, never
290
- `not_affected`. Schema `cve-reachability-v1`, published as a document.
291
- - `ask intent "<question>"` — a plain-language question resolved to one of
292
- `retrieve`'s typed queries. A scored lexical match against a declared
293
- vocabulary: no model, no generation. Ambiguous or unanchored questions are
294
- refused with the closest intents named.
295
- - `ask remediate` — finding → recipe → apply in a dedicated worktree →
296
- `verify-edit`. Dry by default; an apply that could not be verified reports
297
- `unverified`, never `applied`. Schema `remediation-plan-v1`.
298
- - `ask pr-risk` — one verdict for one diff, distinct from `pack gate`'s verdict
299
- about the repository. `UNKNOWN` outranks `PASS` and fails every gate. Schema
300
- `pr-risk-v1`.
301
- - `ask drift` — what changed in the effective access, across time or across two
302
- profile sets, with one arithmetic for both axes. Schema `access-drift-v1`.
303
- - `ask watch` — one answer per save against a warm index; `--once` is the
304
- pre-commit shape. Schema `watch-event-v1`.
305
- - `ask self-audit` — whether the **installed** build's registries agree with each
306
- other, and an explicit statement of what it cannot check. Schema
307
- `self-audit-v1`.
308
- - `ask baseline capture|diff|trend --kind findings` — the defect population as a
309
- persisted series, so "how long has this been open?" has an answer. Schema
310
- `findings-baseline-v1`.
311
- - `ask export --c4 --render mermaid|svg` — draws the C4 model instead of only
312
- emitting it, with the node cap written on the canvas.
313
-
314
- **Note.** Building the features surfaced three defects no audit round had
315
- reported: the C4 renderer's first version drew report metadata (`summary`,
316
- `coverage_note`) as system architecture; the watch loop stat-ed
317
- repository-relative paths against the process CWD and so reported "nothing
318
- changed" on every tick; and `self-audit` found its own schema identifier
319
- unregistered on its first run. Each is now held by an assertion.
320
-
321
- ## [5.8.32] — 2026-08-26
322
-
323
- *MCP and documentation alignment release. MCP assessment packs now support
324
- validated selective component execution through `only`, with omitted coverage
325
- and a reproducible CLI command recorded in the projection. MCP pull-request
326
- gates, pack guidance and the public roadmap are synchronized with the current
327
- release state.*
328
-
329
- ## [5.8.31] — 2026-08-26
330
-
331
- *Windows portability and release-evidence remediation. Cache and licensing test
332
- isolation now honours explicit `HOME` overrides, warm workers use the active
333
- interpreter, migration and identity paths remain portable, and the Windows CI
334
- battery no longer disables the rendered help contract. Unix-only permission probes
335
- are skipped on Windows. Local full-suite verification is green; native Windows
336
- release-artifact verification remains the CI acceptance step.*
337
-
338
- ## [5.8.30] — 2026-08-26
339
-
340
- *Pack audit remediation release. Unresolved test-only Java files no longer broaden
341
- `pack gate` endpoint uncertainty, and foreground `pack assessment` now reports
342
- component progress through the stderr-only heartbeat contract. Documentation and
343
- release evidence are synchronized with the AUD-605 fixes.*
344
-
345
- ## [5.8.29] — 2026-08-26
346
-
347
- *Release synchronization for the external `5.8.28` audit. The posture diff now
348
- honours `--limit` for nested endpoint-access rows, help output distinguishes the
349
- historical timing anchor from the provisional cold observation, and the controlled
350
- performance follow-up is recorded without an unsupported parser change. Roadmaps,
351
- the defect ledger and the audit intake are aligned with the release state.*
352
-
353
- ## [5.8.28] — 2026-08-26
354
-
355
- *Audit remediation release. Detached workers now use an executable package entry
356
- point; DEAD-001 ignores explanatory annotation prose; posture diffs honour the
357
- compact size contract; and non-interactive selftest runs publish nested-scope
358
- warnings. Help and audit documentation are synchronized with the remaining
359
- performance investigation.*
360
-
361
- ## [5.8.27] — 2026-08-26
362
-
363
- *Audit remediation release. Detached workers avoid the Windows console shim,
364
- security scanning excludes platform and deprecated encoder definitions, and
365
- non-applicable Boot 3 readiness is represented consistently. `selftest` warns
366
- when an implicit current-directory run contains nested Git repositories. The
367
- release also synchronizes the user-facing documentation with these guarantees.*
368
-
369
- ## [5.8.26] — 2026-08-23
370
-
371
- *Patch release for the expanded-corpus audit. It preserves endpoint declarations
372
- whose FQN is reused by separate modules, pairs MyBatis XML against the analysed
373
- tree rather than a compact display subset, and reports the runtime source commit
374
- for editable installs. Route inheritance and JAX-RS locator composition were
375
- revalidated after the module-identity change.*
376
-
377
- ## [5.8.25] — 2026-08-23
378
-
379
- *Version and documentation synchronization release. The audited `5.8.24` tree is
380
- unchanged; the current package identity and user-facing documentation now report
381
- `5.8.25`. Verification: `12,700 passed, 40 skipped` with writable cache locations.*
382
-
383
- ## [5.8.24] — 2026-08-22
384
-
385
- *The thirteenth audit-pass queue is closed entire: all six rows as separate
386
- commits, the regression first, with the full suite green at 12 329 tests. Three
387
- of the reported mechanisms are wider than reported and are corrected against
388
- measurement; one defect was found by the battery rather than by either.*
389
-
390
- ### Fixed — the regression the pass led with
391
-
392
- - **`cache warm` warms every root view (`AUD-600-R01`)** — the warm built the
393
- compact view only, so the first `--agent` call after an explicit warm paid a
394
- full analysis: measured on `mall` (524 Java files) `--agent` 7.59 s → 0.34 s
395
- (×22) and the raw contract view 3.20 s → 0.33 s (×9.7), against `--compact`
396
- flat at 0.34 s. The field measured ×49.2 at ~3 000 files. Each view turns a
397
- different set of analysers on and therefore has its own L1 core;
398
- `cache_model.ROOT_VIEWS` is now the one authority the warm iterates and
399
- `cache model` publishes a row per view. `--views` warms a subset, and a view
400
- left cold is named rather than discovered by its first call.
401
-
402
- ### Fixed — the new pack surface
403
-
404
- - **The gate composes `verify-edit` (`AUD-600-B01`)** — a pack named *Change
405
- Safety Gate* did not compose the change-safety command, so a working tree
406
- that had just gained `GET /internal/dump-config` returning `System.getenv(key)`
407
- answered `NO_CHANGES` / exit 0. It now answers `UNVERIFIED` / exit 2 with the
408
- route and its `access_policy`. The general half is the rule: every pack
409
- publishes a `non_coverage` block, in its payload and in `pack list`, and the
410
- battery asserts it over the axis and rule catalogues.
411
- - **`--compact` bounds the assessment pack (`AUD-600-B02`)** — the flag was
412
- forwarded to the children and nothing else. It now substitutes each
413
- component's own decision summary for its body: `mall` 608 K → 42 K estimated
414
- tokens, `thingsboard` 8.5 K, both under the ceiling. A refusal may not deny a
415
- variant the command declares, so `--format markdown` is derived as the
416
- bounded rendering it is.
417
- - **The report keeps the figures the pack carries (`AUD-600-B03`)** — three
418
- cells read `unknown` while the figure sat in a component payload the same
419
- pack had written. One catalogue, `MARKDOWN_FIGURES`, read with the same
420
- reader the bounded projection uses; every remaining `unknown` names what it
421
- looked for.
422
- - **A write refusal is decided from `argv` (`AUD-600-D01`)** — `--output-dir`
423
- inside a read-only tree cost 47.9 s before refusing. The destination is now
424
- decided before any component runs and the run is served without its artefacts,
425
- the shape `verify --init --no-write` established. Nothing is created inside
426
- the analysed tree and every refusal is still announced with its path and type.
427
-
428
- ### Added
14
+ ### Fixed
429
15
 
430
- - **`ask schema packs-v1` (`AUD-600-D02`)** — what each pack composes, what it
431
- does not, its verdict vocabulary, its exit codes and the aggregation rule that
432
- produced the verdict, generated from the pack declarations. The rule was
433
- inferable from one run and published nowhere.
434
- - **Per-component timing in the pack manifest** `duration_ms` per component
435
- and a `timing` rollup naming the slowest one, so a 47 s gate can be attributed
436
- from outside. A clock is never an answer: `timing` is excluded from
437
- `content_id`, or two runs of an unchanged tree would disagree.
438
- - **The fourth exit code for packs** — when every unverified component was cut
439
- short by its budget the pack leaves with `75` and names them in
440
- `components_cut_short`. A mixed run keeps the stronger `2` and the verdict
441
- word never moves.
16
+ - **Windows worker reliability (`AUD-619-R`, `AUD-619-WIN-PROC`)** — worker
17
+ startup, collection, failure fallback and teardown are bounded. A failed pool
18
+ cannot report an empty success or leave ASK children behind.
19
+ - **Cache correctness and scale (`AUD-619-CACHE-WRITE`, `AUD-620-CACHE-RECENCY`,
20
+ `AUD-620-MANIFEST-IDENTITY`)** large projections are bounded, eviction no
21
+ longer depends on tied NTFS timestamps, all consumed manifests and lockfiles
22
+ participate in cache identity, and concurrent writers use unique temporary
23
+ files.
24
+ - **Compact reproducibility (`AUD-619-I`)** — cold bounded output is independent
25
+ of supported cache-priming order and carries its own cut and identity
26
+ disclosures.
27
+ - **CLI and Windows path compatibility (`AUD-620-CLI-RUNTIME`,
28
+ `AUD-620-CACHE-WARM`, `AUD-620-JOBS-ARGV`, `AUD-620-SARIF-URI`)** — Typer 0.27
29
+ runtime shapes use one compatibility adapter, cache warm re-enters through
30
+ Python, `--jobs` preserves the repository argument, and Windows file URIs
31
+ resolve inside their repository.
32
+ - **Result ownership (`AUD-620-PACK-CLEANUP`)** — a sharing violation during
33
+ temporary pack cleanup can no longer replace an already computed result.
34
+ - **Independent command contracts (`AUD-619-AR-FROM-RISK`,
35
+ `AUD-619-MIGRATE-APPLY`)** — structured risk input and non-empty migration
36
+ plans remain explicitly covered after the worker changes.
37
+
38
+ ### Validation
39
+
40
+ - Native Windows matrices exercised 20 selected repositories from the
41
+ 24-repository JVM corpus; `audit-report --from-risk` and `migrate-apply`
42
+ completed 20/20, and twenty repeated agent runs left zero residual ASK child
43
+ processes.
44
+ - The release battery collects 12,271 tests. The complete serial and configured
45
+ `-n auto` runs both completed with 0 failures; the final parallel run emitted
46
+ 0 warnings. The nine pytest-10 compatibility warnings discovered by the
47
+ serial run were closed and their 120 affected cases pass with those warnings
48
+ treated as errors.
442
49
 
443
50
  ## [5.8.23] — 2026-08-22
444
51
 
@@ -835,7 +442,7 @@ the evidence for outstanding field reproduction and performance work.*
835
442
 
836
443
  *Performance-mitigation and release-hygiene update. The external cross-version
837
444
  performance regression remains open until it is reproduced under its controlled
838
- `reference-service` protocol; this release does not present local warm-cache results
445
+ `saint-server` protocol; this release does not present local warm-cache results
839
446
  as that closure.*
840
447
 
841
448
  ### Changed
@@ -1591,7 +1198,7 @@ said to name no smaller variant when one exists.*
1591
1198
  - An analysed population does not move between releases without a field that
1592
1199
  explains the move (B17-sv / AS-16). 5.8.0's E-35 fix removed symbols that were
1593
1200
  never declarations — `return unknownHelper("x");` parsed as one — and
1594
- `metadata.symbols_analyzed` fell with them (`reference-service` 43 642 → 43 003,
1201
+ `metadata.symbols_analyzed` fell with them (`saint-server` 43 642 → 43 003,
1595
1202
  −1,46 %, after five constant versions). The correction was right and the
1596
1203
  release said nothing, so the next field re-audit read it as lost coverage and
1597
1204
  filed it P0. Every command that publishes `symbols_analyzed` now publishes
@@ -1974,7 +1581,7 @@ closed here, two refuted with the measurement that contradicts them.*
1974
1581
 
1975
1582
  ## [5.5.5] — 2026-08-13
1976
1583
 
1977
- **reference corpus performance-audit corrections and read-only hygiene verification.**
1584
+ **MSAS performance-audit corrections and read-only hygiene verification.**
1978
1585
 
1979
1586
  ### Fixed
1980
1587
  - `spring-audit` now preserves full default JSON when it fits the stdout
@@ -1993,7 +1600,7 @@ closed here, two refuted with the measurement that contradicts them.*
1993
1600
  explicitly where no semantic model is available.
1994
1601
 
1995
1602
  ### Documentation
1996
- - Recorded the reference corpus findings, their reproductions, the resolved commits, and
1603
+ - Recorded the MSAS findings, their reproductions, the resolved commits, and
1997
1604
  the remaining bounded-output, schema, timeline, benchmark, and Git-basis
1998
1605
  work in the roadmap.
1999
1606
 
@@ -2743,7 +2350,7 @@ product does not model — Keycloak, 8 204 Java files, Quarkus + JAX-RS,
2743
2350
  `spring_detected: false` in all six audited modules, 47 invocations under
2744
2351
  `ASK_READONLY=1` — and it split the product cleanly in two: every structural axis
2745
2352
  worked alone, and the axes that guess produced 86 `high` findings with zero true
2746
- positives. Eval #21 is the seventh measurement of `reference-service`, and its
2353
+ positives. Eval #21 is the seventh measurement of `saint-server`, and its
2747
2354
  contribution is a partition rather than a defect.
2748
2355
 
2749
2356
  **Fixed in this release:**
@@ -3873,7 +3480,7 @@ them.
3873
3480
  ### Documentation
3874
3481
 
3875
3482
  - README and user guide examples now report `4.8.0`.
3876
- - The development roadmap records the reference-service field-evaluation fixes and
3483
+ - The development roadmap records the saint-server field-evaluation fixes and
3877
3484
  future feature queue.
3878
3485
 
3879
3486
  ## [4.7.0] — 2026-08-04
@@ -4619,7 +4226,7 @@ verification against 4.0.1.
4619
4226
 
4620
4227
  - **SEC-007 — a credential stored in a deployment descriptor** (CL-10). The audit
4621
4228
  found `monitor:{SHA-256}dc20b820…` in
4622
- `src/main/options/{DPA,sample,tenant-dev}/WEB-INF/web.xml`: unsalted, the same hash in all
4229
+ `src/main/options/{DPA,M3,M3DEV}/WEB-INF/web.xml`: unsalted, the same hash in all
4623
4230
  three per-environment overlays, and found by hand because *"los overlays
4624
4231
  `src/main/options/**` son punto ciego"*. The gap was admission surface, not
4625
4232
  detection — those descriptors are files `environment_resolution`,
@@ -6043,13 +5650,13 @@ and `registries` in both `ask schema` and `ask version`) are additive.
6043
5650
 
6044
5651
  - **A class was reported as conditional on a profile *and* on its negation, contradicting
6045
5652
  `ask posture` in the same run.** Found in the third field evaluation (3.2.0): a
6046
- configuration class declaring `@Profile("!sample")` — active exactly when `sample` is **absent** —
6047
- appeared in `signals.spring_profiles.profile_conditional_beans` under `sample` as well. Read as
5653
+ configuration class declaring `@Profile("!m3")` — active exactly when `m3` is **absent** —
5654
+ appeared in `signals.spring_profiles.profile_conditional_beans` under `m3` as well. Read as
6048
5655
  a security fact, it inverts the answer.
6049
5656
  - Root cause, reproduced: the source scan attributed every `@Profile` to *the next type
6050
5657
  declaration ahead of it*, falling back to the file name when there was none. A
6051
- `@Profile("sample")` on a `@Bean` **method** inside that class was therefore attributed to the
6052
- class itself, next to the class-level `@Profile("!sample")`.
5658
+ `@Profile("m3")` on a `@Bean` **method** inside that class was therefore attributed to the
5659
+ class itself, next to the class-level `@Profile("!m3")`.
6053
5660
  - Attribution is now the declaration the annotation actually annotates: only annotations
6054
5661
  and modifiers may stand between it and a type declaration; a member-level annotation is
6055
5662
  reported as `Type#member`, and an annotation whose target cannot be read is **not
@@ -9006,7 +8613,7 @@ Dependency audit (`pip-audit`): no known vulnerabilities in runtime dependencies
9006
8613
 
9007
8614
  ### Added
9008
8615
  - **`export --c4` now emits `components.module_roots` — architectural module
9009
- enumeration + DDD/legacy classification.** Field test (reference-service C4 doc pass)
8616
+ enumeration + DDD/legacy classification.** Field test (saint-server C4 doc pass)
9010
8617
  surfaced that the C4 export keyed modules by *leaf source directory*
9011
8618
  (`dirname(source_file)`), so a DDD module split across
9012
8619
  `domain/` / `application/` / `infrastructure/` subdirs fragmented into several
@@ -9366,13 +8973,3 @@ implementors.
9366
8973
  - 3 `--slim` tests verifying the option is absent from help and CLI surface.
9367
8974
  - 6 `angular_version` parsing tests covering `dependencies`, `devDependencies`,
9368
8975
  `peerDependencies`, `null` JSON values, and version prefix stripping.
9369
- ## [5.9.7] — 2026-08-27
9370
-
9371
- ### Fixed
9372
- - Exposed functional root options in `ask --help` and aligned help discoverability tests.
9373
- - Unified empty `--files -` handling for `pr-impact` and `pr-risk`.
9374
- - Normalized Git reference failures to `GIT_REF_NOT_FOUND`.
9375
- - Corrected the `cold-start --compact` size contract and endpoint omission disclosure.
9376
- - Added delayed liveness warnings for long non-interactive runs.
9377
- - Improved natural-language routing for unsecured endpoint questions.
9378
- - Kept unresolved impact symbols explicitly unscored.
@@ -75,16 +75,8 @@ the same command runs on a 3 300-file monolith.
75
75
  not 246 s. `-o addopts=""` is no longer the way to see the count; it now
76
76
  *removes* the parallelism. Override the worker count with `-n <k>`, not by
77
77
  clearing `addopts`.
78
- - **Run only the tests your change touches. The full suite runs once, at the end
79
- of a session of modifications not per change, not per commit.** Name the
80
- files that cover what you edited: ~2 s each. A whole-suite run is 70 s plus the
81
- wait, and repeating it after every step is the single most expensive habit
82
- available here — a documentation-only edit never needs one at all (the doc
83
- batteries `test_ledger_*`, `test_bundled_docs`, `test_integration_docs` are the
84
- whole obligation). `-k <pattern>` is not the shortcut — it deselects but still
85
- collects all ~9 000 tests, so it floors at 16 s. After a red run, `--lf`
86
- re-runs only what failed.
87
- - **A red the suite already had is not yours to discover twice.** Before treating
88
- a failure as a regression, check it against `HEAD` (`git stash -u`, run the
89
- same file, pop). Record pre-existing reds once and move on.
78
+ - **Run one file while you work, the suite before you commit.** Naming the file
79
+ is ~2 s; the full run is 70 s. `-k <pattern>` is not the shortcut it
80
+ deselects but still collects all ~9 000 tests, so it floors at 16 s. After a
81
+ red run, `--lf` re-runs only what failed.
90
82
  - The entry point for local runs is `run_cli.py`, not `python -m sourcecode.cli`.