sourcecode 5.8.26__tar.gz → 5.8.27__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 (422) hide show
  1. {sourcecode-5.8.26 → sourcecode-5.8.27}/.github/workflows/windows-battery.yml +2 -0
  2. {sourcecode-5.8.26 → sourcecode-5.8.27}/CHANGELOG.md +20 -12
  3. sourcecode-5.8.27/CODE_OF_CONDUCT.md +27 -0
  4. {sourcecode-5.8.26 → sourcecode-5.8.27}/CONTRIBUTING.md +5 -0
  5. {sourcecode-5.8.26 → sourcecode-5.8.27}/PKG-INFO +19 -22
  6. {sourcecode-5.8.26 → sourcecode-5.8.27}/README.md +16 -20
  7. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/AUDIT-2026-08-22-5.8.22.md +3 -3
  8. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/AUDIT-2026-08-23-5.8.24.md +3 -3
  9. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/AUDIT-2026-08-23-EXTERNAL-5.8.25.md +1 -1
  10. sourcecode-5.8.27/docs/AUDIT-2026-08-23-EXTERNAL-5.8.26.md +43 -0
  11. sourcecode-5.8.27/docs/AUDIT-2026-08-26-EXTERNAL-5.8.26.md +46 -0
  12. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/COMMERCIAL-OFFER.md +1 -1
  13. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/CUSTOMER-VALIDATION.md +1 -1
  14. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/DEFECT-LEDGER.md +136 -103
  15. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/DEVELOPMENT-ROADMAP.md +35 -10
  16. sourcecode-5.8.27/docs/DOCUMENTATION-HYGIENE-2026-08-23.md +38 -0
  17. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/EXECUTIVE-ROADMAP.md +10 -3
  18. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/RC1-CHECKLIST.md +2 -2
  19. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/USER_GUIDE.md +7 -3
  20. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/architecture/DESIGN-build-closure-provenance.md +3 -0
  21. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/architecture/DESIGN-robustness-security-inference.md +3 -3
  22. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/contracts.md +1 -1
  23. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/REGRESSION-GATE.md +7 -6
  24. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/gate-latest/README.md +1 -1
  25. {sourcecode-5.8.26 → sourcecode-5.8.27}/pyproject.toml +3 -2
  26. {sourcecode-5.8.26 → sourcecode-5.8.27}/scripts/perf_harness.py +5 -1
  27. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/__init__.py +1 -1
  28. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/bundled_docs.py +2 -1
  29. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/cli.py +52 -2
  30. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/compare.py +1 -1
  31. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/context_cache.py +10 -1
  32. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/detach.py +28 -23
  33. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/env_analyzer.py +5 -5
  34. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/envelope.py +3 -0
  35. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/filter_surface.py +1 -1
  36. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/mcp/orchestrator.py +1 -1
  37. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/migrate_check.py +4 -1
  38. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/output_bounds.py +5 -0
  39. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/perf.py +11 -2
  40. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/phased_run.py +2 -2
  41. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/prepare_context.py +1 -1
  42. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/product_info.py +3 -1
  43. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/release_info.py +1 -1
  44. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/repository_ir.py +1 -1
  45. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/resource_budget.py +7 -4
  46. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/sarif.py +4 -0
  47. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/security_config_scan.py +28 -2
  48. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/selftest.py +10 -0
  49. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/serializer.py +1 -1
  50. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/spring_profiles.py +3 -3
  51. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/test_sources.py +1 -1
  52. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/token_estimate.py +3 -1
  53. {sourcecode-5.8.26 → sourcecode-5.8.27}/.github/workflows/build-windows.yml +0 -0
  54. {sourcecode-5.8.26 → sourcecode-5.8.27}/.github/workflows/perf-gate.yml +0 -0
  55. {sourcecode-5.8.26 → sourcecode-5.8.27}/.gitignore +0 -0
  56. {sourcecode-5.8.26 → sourcecode-5.8.27}/.ruff.toml +0 -0
  57. {sourcecode-5.8.26 → sourcecode-5.8.27}/CLAUDE.md +0 -0
  58. {sourcecode-5.8.26 → sourcecode-5.8.27}/LICENSE +0 -0
  59. {sourcecode-5.8.26 → sourcecode-5.8.27}/NOTICE +0 -0
  60. {sourcecode-5.8.26 → sourcecode-5.8.27}/SECURITY.md +0 -0
  61. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/AUDIT-2026-08-23-COMMERCIAL.md +0 -0
  62. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/AUDIT-2026-08-23-CORPUS-AMPLIADO.md +0 -0
  63. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/AUDIT-2026-08-23-THINGSBOARD-FINDINGS.md +0 -0
  64. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/AUDIT-TESTING-CORPUS-2026-08-22.md +0 -0
  65. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/CACHE.md +0 -0
  66. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/DEMO-5MIN.md +0 -0
  67. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/EXECUTION-PLAN-12MO.md +0 -0
  68. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/MANUAL-USUARIO.md +0 -0
  69. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/MODERNIZATION.md +0 -0
  70. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/PRODUCT-ROUTE.md +0 -0
  71. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/PRODUCT_AUDIT.md +0 -0
  72. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/PRODUCT_IDENTITY.md +0 -0
  73. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/PRODUCT_TIERS.md +0 -0
  74. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/RELEASE-CHECKLIST.md +0 -0
  75. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/architecture/CATALOG-retrieval-intents.md +0 -0
  76. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/architecture/DESIGN-assessment-deployment-evidence.md +0 -0
  77. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/architecture/DESIGN-assessment-report.md +0 -0
  78. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/architecture/DESIGN-knowledge-provider-integration.md +0 -0
  79. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/architecture/DESIGN-p5.3b-statement-surface.md +0 -0
  80. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/architecture/DESIGN-p5.5-span-index.md +0 -0
  81. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/architecture/DESIGN-p6-semantic-impact-engine.md +0 -0
  82. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/architecture/DESIGN-p6-semantic-integration-engine.md +0 -0
  83. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/architecture/DESIGN-p7-semantic-services.md +0 -0
  84. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/architecture/DESIGN-pack-gate-ci.md +0 -0
  85. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/architecture/DESIGN-pack-manifest.md +0 -0
  86. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/architecture/DESIGN-pack-mcp-api.md +0 -0
  87. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/architecture/DESIGN-semantic-retrieval.md +0 -0
  88. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/architecture/EPV-p6-class-typeref.md +0 -0
  89. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/architecture/REPORT-p6-flow-analyzer-comparison.md +0 -0
  90. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/architecture/REPORT-p6-integration-detector-comparison.md +0 -0
  91. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/architecture/REPORT-p8-flow-analyzer-migration.md +0 -0
  92. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/architecture/REPORT-p9-integration-detector-migration.md +0 -0
  93. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/architecture/adr/0001-semantic-ir.md +0 -0
  94. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/architecture/adr/0002-source-evidence-boundary.md +0 -0
  95. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/architecture/adr/0003-architectural-characterization.md +0 -0
  96. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/architecture/adr/0004-semantic-retrieval.md +0 -0
  97. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/architecture/adr/0005-evidence-reconciliation.md +0 -0
  98. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/architecture/adr/0006-performance-harness.md +0 -0
  99. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/architecture/adr/0007-composition-semantics.md +0 -0
  100. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/architecture/adr/0008-answer-coherence.md +0 -0
  101. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/architecture/consumer-disposition-inventory.md +0 -0
  102. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/architecture/overview.md +0 -0
  103. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/architecture/product-architecture-review.md +0 -0
  104. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/architecture/product-strategy-layering.md +0 -0
  105. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/architecture/semantic-ir-consumer-matrix.md +0 -0
  106. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/architecture/semantic-ir-roadmap.md +0 -0
  107. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/baseline-ci.yml +0 -0
  108. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/commercial-pipeline-audit.md +0 -0
  109. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/contracts-ci.yml +0 -0
  110. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/eval/2026-06-15-petclinic-rest-issue11-vets-pagination.md +0 -0
  111. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/eval/2026-06-15-petclinic-rest-issue147-validation.md +0 -0
  112. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/eval/2026-06-15-petclinic-rest-workflow.md +0 -0
  113. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/eval/2026-06-15-phase18-openapi-surface.md +0 -0
  114. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/eval/2026-06-15-phase20-validation-surface.md +0 -0
  115. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/eval/2026-06-16-broadleaf-checkout-impact-fieldtest.md +0 -0
  116. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/eval/2026-06-16-petclinic-rest-issue11-weakness2-closed.md +0 -0
  117. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/eval/2026-06-16-spring-petclinic-issue2333-dead-vets.md +0 -0
  118. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/licensing-schema.md +0 -0
  119. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/migrate-check.md +0 -0
  120. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/pack-gate-github-actions.yml +0 -0
  121. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/pack-gate-gitlab.yml +0 -0
  122. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/README.md +0 -0
  123. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.15/SUMMARY.md +0 -0
  124. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.15/alfresco__ask__cold.json +0 -0
  125. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.15/alfresco__ask__warm.json +0 -0
  126. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.15/broadleaf__ask__cold.json +0 -0
  127. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.15/broadleaf__ask__warm.json +0 -0
  128. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.15/eureka__ask__cold.json +0 -0
  129. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.15/eureka__ask__warm.json +0 -0
  130. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.15/jenkins__ask__cold.json +0 -0
  131. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.15/jenkins__ask__warm.json +0 -0
  132. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.15/jobrunr__ask__cold.json +0 -0
  133. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.15/jobrunr__ask__warm.json +0 -0
  134. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.15/keycloak__ask__cold.json +0 -0
  135. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.15/keycloak__ask__warm.json +0 -0
  136. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.15/neo4j__ask__cold.json +0 -0
  137. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.15/neo4j__ask__warm.json +0 -0
  138. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.15/ofbiz__ask__cold.json +0 -0
  139. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.15/ofbiz__ask__warm.json +0 -0
  140. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.15/openmrs__ask__cold.json +0 -0
  141. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.15/openmrs__ask__warm.json +0 -0
  142. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.15/petclinic__ask__cold.json +0 -0
  143. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.15/petclinic__ask__warm.json +0 -0
  144. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.16/SUMMARY.md +0 -0
  145. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.16/alfresco__ask__cold.json +0 -0
  146. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.16/alfresco__ask__warm.json +0 -0
  147. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.16/broadleaf__ask__cold.json +0 -0
  148. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.16/broadleaf__ask__warm.json +0 -0
  149. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.16/eureka__ask__cold.json +0 -0
  150. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.16/eureka__ask__warm.json +0 -0
  151. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.16/jenkins__ask__cold.json +0 -0
  152. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.16/jenkins__ask__warm.json +0 -0
  153. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.16/jobrunr__ask__cold.json +0 -0
  154. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.16/jobrunr__ask__warm.json +0 -0
  155. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.16/keycloak__ask__cold.json +0 -0
  156. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.16/keycloak__ask__warm.json +0 -0
  157. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.16/neo4j__ask__cold.json +0 -0
  158. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.16/neo4j__ask__warm.json +0 -0
  159. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.16/ofbiz__ask__cold.json +0 -0
  160. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.16/ofbiz__ask__warm.json +0 -0
  161. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.16/openmrs__ask__cold.json +0 -0
  162. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.16/openmrs__ask__warm.json +0 -0
  163. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.16/petclinic__ask__cold.json +0 -0
  164. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/2.5.16/petclinic__ask__warm.json +0 -0
  165. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/gate-latest/broadleaf__ask__warm.json +0 -0
  166. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/gate-latest/broadleaf__endpoints__warm.json +0 -0
  167. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/gate-latest/broadleaf__migrate-check__warm.json +0 -0
  168. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/gate-latest/broadleaf__posture__warm.json +0 -0
  169. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/gate-latest/broadleaf__spring-audit__warm.json +0 -0
  170. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/gate-latest/broadleaf__validation__warm.json +0 -0
  171. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/baselines/reference-best/README.md +0 -0
  172. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/perf/corpus-testing-2026-08-22.md +0 -0
  173. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/posture.md +0 -0
  174. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/privacy.md +0 -0
  175. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/pro-experience-audit.md +0 -0
  176. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/schema.md +0 -0
  177. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/spec/envelope-v1.md +0 -0
  178. {sourcecode-5.8.26 → sourcecode-5.8.27}/docs/spring-audit-ci.yml +0 -0
  179. {sourcecode-5.8.26 → sourcecode-5.8.27}/hatch_build.py +0 -0
  180. {sourcecode-5.8.26 → sourcecode-5.8.27}/scripts/compare_integration_engines.py +0 -0
  181. {sourcecode-5.8.26 → sourcecode-5.8.27}/scripts/customer_smoke_test.sh +0 -0
  182. {sourcecode-5.8.26 → sourcecode-5.8.27}/scripts/generate_jdk_exports.py +0 -0
  183. {sourcecode-5.8.26 → sourcecode-5.8.27}/scripts/perf_gate.py +0 -0
  184. {sourcecode-5.8.26 → sourcecode-5.8.27}/scripts/sync_gate_anchors.py +0 -0
  185. {sourcecode-5.8.26 → sourcecode-5.8.27}/scripts/test_fast.sh +0 -0
  186. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/adaptive_scanner.py +0 -0
  187. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/analysis_budget.py +0 -0
  188. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/answer_bounds.py +0 -0
  189. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/archetype.py +0 -0
  190. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/architectural_baseline.py +0 -0
  191. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/architectural_delta.py +0 -0
  192. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/architecture_analyzer.py +0 -0
  193. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/architecture_summary.py +0 -0
  194. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/ast_extractor.py +0 -0
  195. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/audit_clusters.py +0 -0
  196. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/audit_recipe.py +0 -0
  197. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/audit_report.py +0 -0
  198. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/audit_since.py +0 -0
  199. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/baseline_autocapture.py +0 -0
  200. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/breaking_changes.py +0 -0
  201. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/build_modules.py +0 -0
  202. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/build_stamp.py +0 -0
  203. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/cache.py +0 -0
  204. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/cache_model.py +0 -0
  205. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/cache_observation.py +0 -0
  206. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/call_surface.py +0 -0
  207. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/caller_metrics.py +0 -0
  208. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/caller_reach.py +0 -0
  209. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/canonical_ir.py +0 -0
  210. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/chain_rules.py +0 -0
  211. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/change_plan.py +0 -0
  212. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/ci_output.py +0 -0
  213. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/cir_graphs.py +0 -0
  214. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/classifier.py +0 -0
  215. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/client_calls.py +0 -0
  216. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/code_notes_analyzer.py +0 -0
  217. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/confidence_analyzer.py +0 -0
  218. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/constraint_diff.py +0 -0
  219. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/consumer_join.py +0 -0
  220. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/container_wiring.py +0 -0
  221. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/context_graph.py +0 -0
  222. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/context_scorer.py +0 -0
  223. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/context_summarizer.py +0 -0
  224. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/contract_diff.py +0 -0
  225. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/contract_init.py +0 -0
  226. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/contract_model.py +0 -0
  227. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/contract_pipeline.py +0 -0
  228. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/coverage_parser.py +0 -0
  229. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/data_exposure.py +0 -0
  230. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/data_labels.py +0 -0
  231. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/declarations.py +0 -0
  232. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/defect_classes/__init__.py +0 -0
  233. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/defect_classes/registry.json +0 -0
  234. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/defect_identity.py +0 -0
  235. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/degradation.py +0 -0
  236. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/dependency_analyzer.py +0 -0
  237. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/deployment_prefix.py +0 -0
  238. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/detectors/__init__.py +0 -0
  239. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/detectors/base.py +0 -0
  240. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/detectors/csproj_parser.py +0 -0
  241. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/detectors/dart.py +0 -0
  242. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/detectors/dotnet.py +0 -0
  243. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/detectors/elixir.py +0 -0
  244. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/detectors/go.py +0 -0
  245. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/detectors/heuristic.py +0 -0
  246. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/detectors/hybrid.py +0 -0
  247. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/detectors/java.py +0 -0
  248. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/detectors/jvm_ext.py +0 -0
  249. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/detectors/nodejs.py +0 -0
  250. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/detectors/parsers.py +0 -0
  251. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/detectors/php.py +0 -0
  252. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/detectors/project.py +0 -0
  253. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/detectors/python.py +0 -0
  254. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/detectors/ruby.py +0 -0
  255. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/detectors/rust.py +0 -0
  256. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/detectors/systems.py +0 -0
  257. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/detectors/terraform.py +0 -0
  258. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/detectors/tooling.py +0 -0
  259. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/doc_analyzer.py +0 -0
  260. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/dynamic_argument_surface.py +0 -0
  261. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/empty_reach.py +0 -0
  262. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/endpoint_disposition.py +0 -0
  263. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/endpoint_literals.py +0 -0
  264. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/endpoint_metrics.py +0 -0
  265. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/entrypoint_classifier.py +0 -0
  266. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/environment_resolution.py +0 -0
  267. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/error_schema.py +0 -0
  268. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/evidence_provider.py +0 -0
  269. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/execution_plan.py +0 -0
  270. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/explain.py +0 -0
  271. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/explain_endpoint.py +0 -0
  272. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/facts/__init__.py +0 -0
  273. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/facts/registry.json +0 -0
  274. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/field_deprecations.py +0 -0
  275. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/file_chunker.py +0 -0
  276. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/file_classifier.py +0 -0
  277. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/format_contract.py +0 -0
  278. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/fqn_utils.py +0 -0
  279. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/functional_routes.py +0 -0
  280. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/gate_anchors.py +0 -0
  281. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/git_analyzer.py +0 -0
  282. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/git_checkout.py +0 -0
  283. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/github_diff.py +0 -0
  284. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/graph_analyzer.py +0 -0
  285. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/graph_evidence.py +0 -0
  286. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/hibernate_strat.py +0 -0
  287. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/identity_fallback.py +0 -0
  288. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/integration_coordinates.py +0 -0
  289. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/jdk_exports.py +0 -0
  290. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/license.py +0 -0
  291. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/manifest_cache.py +0 -0
  292. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/mcp/__init__.py +0 -0
  293. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/mcp/dependency_import.py +0 -0
  294. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/mcp/onboarding/__init__.py +0 -0
  295. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/mcp/onboarding/applier.py +0 -0
  296. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/mcp/onboarding/backup.py +0 -0
  297. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/mcp/onboarding/detector.py +0 -0
  298. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/mcp/onboarding/planner.py +0 -0
  299. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/mcp/registry.py +0 -0
  300. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/mcp/runner.py +0 -0
  301. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/mcp/server.py +0 -0
  302. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/mcp_nudge.py +0 -0
  303. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/metrics_analyzer.py +0 -0
  304. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/migration_apply.py +0 -0
  305. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/migration_blast.py +0 -0
  306. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/non_coverage.py +0 -0
  307. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/openapi_surface.py +0 -0
  308. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/openrewrite_recipe.py +0 -0
  309. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/output_budget.py +0 -0
  310. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/output_ceiling.py +0 -0
  311. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/output_encoding.py +0 -0
  312. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/output_sink.py +0 -0
  313. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/pack_manifest.py +0 -0
  314. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/packs.py +0 -0
  315. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/parallel.py +0 -0
  316. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/parse_cache.py +0 -0
  317. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/partial_contract.py +0 -0
  318. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/path_admission.py +0 -0
  319. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/path_filters.py +0 -0
  320. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/pipe_contract.py +0 -0
  321. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/posture.py +0 -0
  322. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/pr_comment_renderer.py +0 -0
  323. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/pr_impact.py +0 -0
  324. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/progress.py +0 -0
  325. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/provenance.py +0 -0
  326. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/ranking_engine.py +0 -0
  327. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/readiness_timeline.py +0 -0
  328. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/readonly.py +0 -0
  329. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/reconciliation.py +0 -0
  330. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/redactor.py +0 -0
  331. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/reference_facts.py +0 -0
  332. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/regress.py +0 -0
  333. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/relevance_scorer.py +0 -0
  334. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/remediation_diff.py +0 -0
  335. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/remedies.py +0 -0
  336. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/rename_refactor.py +0 -0
  337. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/repo_classifier.py +0 -0
  338. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/retrieval/__init__.py +0 -0
  339. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/retrieval/context.py +0 -0
  340. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/retrieval/errors.py +0 -0
  341. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/retrieval/executor.py +0 -0
  342. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/retrieval/planner.py +0 -0
  343. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/retrieval/query.py +0 -0
  344. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/retrieval/request.py +0 -0
  345. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/retrieval/resolution.py +0 -0
  346. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/retrieval/result.py +0 -0
  347. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/retrieval/retriever.py +0 -0
  348. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/retrieval/runtime.py +0 -0
  349. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/retrieval/steps.py +0 -0
  350. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/retrieval/steps_endpoint.py +0 -0
  351. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/retrieval/steps_graph.py +0 -0
  352. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/retrieval/steps_impact.py +0 -0
  353. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/retrieval/steps_intf.py +0 -0
  354. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/retrieval/steps_struct.py +0 -0
  355. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/retrieval/steps_txsec.py +0 -0
  356. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/ris.py +0 -0
  357. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/risk.py +0 -0
  358. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/risk_model.py +0 -0
  359. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/rule_catalog.py +0 -0
  360. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/rule_pass.py +0 -0
  361. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/runs.py +0 -0
  362. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/runtime_classifier.py +0 -0
  363. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/sarif_emit.py +0 -0
  364. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/scanner.py +0 -0
  365. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/schema.py +0 -0
  366. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/schema_producers.py +0 -0
  367. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/schema_registry.py +0 -0
  368. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/schemas/core-analysis-v1.schema.json +0 -0
  369. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/schemas/endpoints-v1.schema.json +0 -0
  370. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/schemas/envelope-v1.schema.json +0 -0
  371. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/schemas/pr-impact-v1.schema.json +0 -0
  372. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/schemas/verify-edit-v1.schema.json +0 -0
  373. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/schemas/verify-v1.schema.json +0 -0
  374. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/security_chain.py +0 -0
  375. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/security_config.py +0 -0
  376. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/security_posture.py +0 -0
  377. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/selection_contract.py +0 -0
  378. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/semantic_analyzer.py +0 -0
  379. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/semantic_impact_engine.py +0 -0
  380. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/semantic_integration_engine.py +0 -0
  381. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/semantic_services.py +0 -0
  382. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/servlet_surface.py +0 -0
  383. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/source_text.py +0 -0
  384. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/spring_event_topology.py +0 -0
  385. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/spring_findings.py +0 -0
  386. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/spring_impact.py +0 -0
  387. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/spring_model.py +0 -0
  388. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/spring_properties.py +0 -0
  389. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/spring_security_audit.py +0 -0
  390. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/spring_semantic.py +0 -0
  391. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/spring_tx_analyzer.py +0 -0
  392. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/sql_taint.py +0 -0
  393. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/summarizer.py +0 -0
  394. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/target_admission.py +0 -0
  395. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/telemetry/__init__.py +0 -0
  396. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/telemetry/config.py +0 -0
  397. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/telemetry/consent.py +0 -0
  398. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/telemetry/events.py +0 -0
  399. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/telemetry/filters.py +0 -0
  400. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/telemetry/transport.py +0 -0
  401. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/test_gap_ranking.py +0 -0
  402. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/text_input.py +0 -0
  403. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/timeline.py +0 -0
  404. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/timeline_cache.py +0 -0
  405. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/tree_utils.py +0 -0
  406. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/type_usage_surface.py +0 -0
  407. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/validation_inference.py +0 -0
  408. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/validation_surface.py +0 -0
  409. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/verify_edit.py +0 -0
  410. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/verify_repo.py +0 -0
  411. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/verify_rules.py +0 -0
  412. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/version_check.py +0 -0
  413. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/waivers.py +0 -0
  414. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/wired_surface.py +0 -0
  415. {sourcecode-5.8.26 → sourcecode-5.8.27}/src/sourcecode/workspace.py +0 -0
  416. {sourcecode-5.8.26 → sourcecode-5.8.27}/supabase/functions/README.md +0 -0
  417. {sourcecode-5.8.26 → sourcecode-5.8.27}/supabase/functions/get-license/index.ts +0 -0
  418. {sourcecode-5.8.26 → sourcecode-5.8.27}/supabase/functions/lemonsqueezy-webhook/index.ts +0 -0
  419. {sourcecode-5.8.26 → sourcecode-5.8.27}/supabase/functions/telemetry/index.ts +0 -0
  420. {sourcecode-5.8.26 → sourcecode-5.8.27}/supabase/sql/license_event_ordering.sql +0 -0
  421. {sourcecode-5.8.26 → sourcecode-5.8.27}/supabase/sql/licensing_schema.sql +0 -0
  422. {sourcecode-5.8.26 → sourcecode-5.8.27}/supabase/sql/telemetry_events.sql +0 -0
@@ -26,6 +26,8 @@ jobs:
26
26
  PYTHONIOENCODING: "utf-8"
27
27
  steps:
28
28
  - uses: actions/checkout@v4
29
+ with:
30
+ fetch-depth: 0
29
31
 
30
32
  - uses: actions/setup-python@v5
31
33
  with:
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## [5.8.27] — 2026-08-26
4
+
5
+ *Audit remediation release. Detached workers avoid the Windows console shim,
6
+ security scanning excludes platform and deprecated encoder definitions, and
7
+ non-applicable Boot 3 readiness is represented consistently. `selftest` warns
8
+ when an implicit current-directory run contains nested Git repositories. The
9
+ release also synchronizes the user-facing documentation with these guarantees.*
10
+
3
11
  ## [5.8.26] — 2026-08-23
4
12
 
5
13
  *Patch release for the expanded-corpus audit. It preserves endpoint declarations
@@ -469,7 +477,7 @@ the evidence for outstanding field reproduction and performance work.*
469
477
 
470
478
  *Performance-mitigation and release-hygiene update. The external cross-version
471
479
  performance regression remains open until it is reproduced under its controlled
472
- `saint-server` protocol; this release does not present local warm-cache results
480
+ `reference-service` protocol; this release does not present local warm-cache results
473
481
  as that closure.*
474
482
 
475
483
  ### Changed
@@ -1225,7 +1233,7 @@ said to name no smaller variant when one exists.*
1225
1233
  - An analysed population does not move between releases without a field that
1226
1234
  explains the move (B17-sv / AS-16). 5.8.0's E-35 fix removed symbols that were
1227
1235
  never declarations — `return unknownHelper("x");` parsed as one — and
1228
- `metadata.symbols_analyzed` fell with them (`saint-server` 43 642 → 43 003,
1236
+ `metadata.symbols_analyzed` fell with them (`reference-service` 43 642 → 43 003,
1229
1237
  −1,46 %, after five constant versions). The correction was right and the
1230
1238
  release said nothing, so the next field re-audit read it as lost coverage and
1231
1239
  filed it P0. Every command that publishes `symbols_analyzed` now publishes
@@ -1608,7 +1616,7 @@ closed here, two refuted with the measurement that contradicts them.*
1608
1616
 
1609
1617
  ## [5.5.5] — 2026-08-13
1610
1618
 
1611
- **MSAS performance-audit corrections and read-only hygiene verification.**
1619
+ **reference corpus performance-audit corrections and read-only hygiene verification.**
1612
1620
 
1613
1621
  ### Fixed
1614
1622
  - `spring-audit` now preserves full default JSON when it fits the stdout
@@ -1627,7 +1635,7 @@ closed here, two refuted with the measurement that contradicts them.*
1627
1635
  explicitly where no semantic model is available.
1628
1636
 
1629
1637
  ### Documentation
1630
- - Recorded the MSAS findings, their reproductions, the resolved commits, and
1638
+ - Recorded the reference corpus findings, their reproductions, the resolved commits, and
1631
1639
  the remaining bounded-output, schema, timeline, benchmark, and Git-basis
1632
1640
  work in the roadmap.
1633
1641
 
@@ -2377,7 +2385,7 @@ product does not model — Keycloak, 8 204 Java files, Quarkus + JAX-RS,
2377
2385
  `spring_detected: false` in all six audited modules, 47 invocations under
2378
2386
  `ASK_READONLY=1` — and it split the product cleanly in two: every structural axis
2379
2387
  worked alone, and the axes that guess produced 86 `high` findings with zero true
2380
- positives. Eval #21 is the seventh measurement of `saint-server`, and its
2388
+ positives. Eval #21 is the seventh measurement of `reference-service`, and its
2381
2389
  contribution is a partition rather than a defect.
2382
2390
 
2383
2391
  **Fixed in this release:**
@@ -3507,7 +3515,7 @@ them.
3507
3515
  ### Documentation
3508
3516
 
3509
3517
  - README and user guide examples now report `4.8.0`.
3510
- - The development roadmap records the saint-server field-evaluation fixes and
3518
+ - The development roadmap records the reference-service field-evaluation fixes and
3511
3519
  future feature queue.
3512
3520
 
3513
3521
  ## [4.7.0] — 2026-08-04
@@ -4253,7 +4261,7 @@ verification against 4.0.1.
4253
4261
 
4254
4262
  - **SEC-007 — a credential stored in a deployment descriptor** (CL-10). The audit
4255
4263
  found `monitor:{SHA-256}dc20b820…` in
4256
- `src/main/options/{DPA,M3,M3DEV}/WEB-INF/web.xml`: unsalted, the same hash in all
4264
+ `src/main/options/{DPA,sample,tenant-dev}/WEB-INF/web.xml`: unsalted, the same hash in all
4257
4265
  three per-environment overlays, and found by hand because *"los overlays
4258
4266
  `src/main/options/**` son punto ciego"*. The gap was admission surface, not
4259
4267
  detection — those descriptors are files `environment_resolution`,
@@ -5677,13 +5685,13 @@ and `registries` in both `ask schema` and `ask version`) are additive.
5677
5685
 
5678
5686
  - **A class was reported as conditional on a profile *and* on its negation, contradicting
5679
5687
  `ask posture` in the same run.** Found in the third field evaluation (3.2.0): a
5680
- configuration class declaring `@Profile("!m3")` — active exactly when `m3` is **absent** —
5681
- appeared in `signals.spring_profiles.profile_conditional_beans` under `m3` as well. Read as
5688
+ configuration class declaring `@Profile("!sample")` — active exactly when `sample` is **absent** —
5689
+ appeared in `signals.spring_profiles.profile_conditional_beans` under `sample` as well. Read as
5682
5690
  a security fact, it inverts the answer.
5683
5691
  - Root cause, reproduced: the source scan attributed every `@Profile` to *the next type
5684
5692
  declaration ahead of it*, falling back to the file name when there was none. A
5685
- `@Profile("m3")` on a `@Bean` **method** inside that class was therefore attributed to the
5686
- class itself, next to the class-level `@Profile("!m3")`.
5693
+ `@Profile("sample")` on a `@Bean` **method** inside that class was therefore attributed to the
5694
+ class itself, next to the class-level `@Profile("!sample")`.
5687
5695
  - Attribution is now the declaration the annotation actually annotates: only annotations
5688
5696
  and modifiers may stand between it and a type declaration; a member-level annotation is
5689
5697
  reported as `Type#member`, and an annotation whose target cannot be read is **not
@@ -8640,7 +8648,7 @@ Dependency audit (`pip-audit`): no known vulnerabilities in runtime dependencies
8640
8648
 
8641
8649
  ### Added
8642
8650
  - **`export --c4` now emits `components.module_roots` — architectural module
8643
- enumeration + DDD/legacy classification.** Field test (saint-server C4 doc pass)
8651
+ enumeration + DDD/legacy classification.** Field test (reference-service C4 doc pass)
8644
8652
  surfaced that the C4 export keyed modules by *leaf source directory*
8645
8653
  (`dirname(source_file)`), so a DDD module split across
8646
8654
  `domain/` / `application/` / `infrastructure/` subdirs fragmented into several
@@ -0,0 +1,27 @@
1
+ # Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ We pledge to make participation in this project a harassment-free experience for everyone,
6
+ regardless of age, body size, disability, ethnicity, gender identity and expression, level of
7
+ experience, nationality, personal appearance, race, religion, or sexual identity and
8
+ orientation.
9
+
10
+ ## Expected Behaviour
11
+
12
+ - Use welcoming and inclusive language.
13
+ - Respect differing viewpoints and experiences.
14
+ - Give and accept constructive feedback.
15
+ - Focus on what is best for the community and the project.
16
+
17
+ ## Unacceptable Behaviour
18
+
19
+ Harassment, discriminatory language, personal attacks, publication of private information, or
20
+ other conduct that would be inappropriate in a professional setting is not acceptable.
21
+
22
+ ## Enforcement
23
+
24
+ Report unacceptable behaviour privately to the project maintainers. Maintainers will review
25
+ reports promptly and may remove, edit, or reject contributions, or take other action needed to
26
+ protect participants.
27
+
@@ -189,6 +189,11 @@ Rules:
189
189
  - Docstrings are optional but welcome for non-obvious logic
190
190
  - No inline comments explaining what the code does — names should do that
191
191
  - Comments only for non-obvious constraints or workarounds
192
+ - Do not add customer names, trademarks, private repository identities, or
193
+ licensed third-party material to source, fixtures, examples, documentation,
194
+ benchmark labels, or generated artefacts. Use neutral names such as
195
+ `sample-service`, `example.org`, and `tenant-a`. Required legal notices and
196
+ dependency attributions are the only exception and must remain verbatim.
192
197
 
193
198
  ---
194
199
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sourcecode
3
- Version: 5.8.26
3
+ Version: 5.8.27
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
@@ -22,12 +22,13 @@ Classifier: Programming Language :: Python :: 3.12
22
22
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
23
23
  Classifier: Topic :: Utilities
24
24
  Requires-Python: >=3.9
25
+ Requires-Dist: click<8.4,>=8.2
25
26
  Requires-Dist: defusedxml>=0.7
26
27
  Requires-Dist: mcp<2,>=1.2
27
28
  Requires-Dist: pathspec>=1.0
28
29
  Requires-Dist: ruamel-yaml>=0.18
29
30
  Requires-Dist: tomli>=2.0; python_version < '3.11'
30
- Requires-Dist: typer>=0.24
31
+ Requires-Dist: typer<0.26,>=0.24
31
32
  Provides-Extra: ast
32
33
  Requires-Dist: tree-sitter-javascript>=0.21; extra == 'ast'
33
34
  Requires-Dist: tree-sitter-typescript>=0.21; extra == 'ast'
@@ -58,7 +59,7 @@ Description-Content-Type: text/markdown
58
59
  > question. All analysis is local and deterministic; see [Privacy](#configuration--privacy)
59
60
  > before inspecting a repository whose telemetry policy you need to control.
60
61
 
61
- ![Version](https://img.shields.io/badge/version-5.8.26-blue)
62
+ ![Version](https://img.shields.io/badge/version-5.8.27-blue)
62
63
  ![Python](https://img.shields.io/badge/python-3.9%2B-green)
63
64
 
64
65
  Copyright (c) 2026 Dominique Haroun. All rights reserved. ASK Engine 5.7.0 and
@@ -176,15 +177,14 @@ set `ASK_MAX_RSS_MB=<megabytes>`; if the process exceeds it, ASK refuses the
176
177
  answer with `MEMORY_TOO_LARGE`, including the observed peak and limit. Leave it
177
178
  unset, or set it to `0`, to disable the ceiling explicitly.
178
179
 
179
- **Current performance status.** Release 5.8.26 retains the shared Canonical IR
180
+ **Current performance status.** Release 5.8.27 retains the shared Canonical IR
180
181
  path used by `validation` and now passes that same CIR into labelled `data-exposure`
181
- runs; the no-label path remains parse-free. The one-model-per-declared-label path is
182
- also retained. These are implementation properties, not duration promises:
183
- run `ask cache model <repo>` to see which command benefits from a warm cache and
184
- use `--progress stderr` for supervised runs. The external `data-exposure --config`
185
- remeasurement and portable cost-anchor calibration remain open because measurements
186
- from different hosts are not interchangeable; see the
187
- [roadmap](docs/DEVELOPMENT-ROADMAP.md).
182
+ runs; the no-label path remains parse-free. These are implementation properties,
183
+ not duration promises. A controlled external warm-path audit has opened performance
184
+ and bounded-output regressions for this release; use `ask cache model <repo>` and
185
+ `--progress stderr` for supervised runs, and consult the
186
+ [active audit intake](docs/AUDIT-2026-08-23-EXTERNAL-5.8.26.md) before treating a
187
+ historical timing or bounded flag as a current guarantee.
188
188
 
189
189
  **What a warm actually covers.** `ask cache warm` runs the compact analysis: it rebuilds the
190
190
  shared structural layers (L1/L2 + the Repository Intelligence Snapshot + the shared Canonical
@@ -210,7 +210,7 @@ brew tap haroundominique/sourcecode && brew install sourcecode
210
210
  # pip / pipx
211
211
  pipx install sourcecode # or: pip install sourcecode
212
212
 
213
- ask version # ask 5.8.26 — and, on a build that has aged,
213
+ ask version # ask 5.8.27 — and, on a build that has aged,
214
214
  # how many releases have probably shipped since
215
215
  ```
216
216
 
@@ -218,16 +218,13 @@ ask version # ask 5.8.26 — and, on a build that has aged,
218
218
  > (renaming the distribution is a separate, breaking change). Installing it gives you the
219
219
  > canonical **`ask`** command plus the deprecated **`sourcecode`** alias.
220
220
 
221
- > **Platforms.** Developed and tested on macOS and Linux; every release runs its full
222
- > battery there. **Windows/PowerShell is a target we cannot verify:** the CLI is written
223
- > for it — UTF-8 streams are forced at both console entry points, a successful run writes
224
- > nothing to stderr (PowerShell 5.1 raises `NativeCommandError` on any stderr write), and
225
- > the MCP server strips the BOM PowerShell puts on stdin but no Windows runner exists in
226
- > the battery. Three separate field reports of console mojibake (`—` rendering as `â€"`)
227
- > have never reproduced under measurement, and the only variable those reports share is the
228
- > platform we cannot exercise (C3-3, C3-12, C3-38 in the
229
- > [defect ledger](docs/DEFECT-LEDGER.md)). On Windows, prefer `--output <file>` over shell
230
- > redirection, and report a rendering problem rather than assuming it is known.
221
+ > **Platforms.** macOS, Linux and Windows are exercised in CI. The Windows battery runs the
222
+ > full suite on every push, with focused envelope and memory-footprint cases. UTF-8 streams
223
+ > are forced at both console entry points; a successful run writes nothing to stderr
224
+ > (PowerShell 5.1 raises `NativeCommandError` on any stderr write), and the MCP server strips
225
+ > the BOM PowerShell can put on stdin. For PowerShell, prefer `--output <file>` over shell
226
+ > redirection when retaining an artefact. A successful CI run is the portability evidence for
227
+ > a release; report a rendering problem with the command, shell and encoding.
231
228
 
232
229
  ---
233
230
 
@@ -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.8.26-blue)
13
+ ![Version](https://img.shields.io/badge/version-5.8.27-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
@@ -128,15 +128,14 @@ set `ASK_MAX_RSS_MB=<megabytes>`; if the process exceeds it, ASK refuses the
128
128
  answer with `MEMORY_TOO_LARGE`, including the observed peak and limit. Leave it
129
129
  unset, or set it to `0`, to disable the ceiling explicitly.
130
130
 
131
- **Current performance status.** Release 5.8.26 retains the shared Canonical IR
131
+ **Current performance status.** Release 5.8.27 retains the shared Canonical IR
132
132
  path used by `validation` and now passes that same CIR into labelled `data-exposure`
133
- runs; the no-label path remains parse-free. The one-model-per-declared-label path is
134
- also retained. These are implementation properties, not duration promises:
135
- run `ask cache model <repo>` to see which command benefits from a warm cache and
136
- use `--progress stderr` for supervised runs. The external `data-exposure --config`
137
- remeasurement and portable cost-anchor calibration remain open because measurements
138
- from different hosts are not interchangeable; see the
139
- [roadmap](docs/DEVELOPMENT-ROADMAP.md).
133
+ runs; the no-label path remains parse-free. These are implementation properties,
134
+ not duration promises. A controlled external warm-path audit has opened performance
135
+ and bounded-output regressions for this release; use `ask cache model <repo>` and
136
+ `--progress stderr` for supervised runs, and consult the
137
+ [active audit intake](docs/AUDIT-2026-08-23-EXTERNAL-5.8.26.md) before treating a
138
+ historical timing or bounded flag as a current guarantee.
140
139
 
141
140
  **What a warm actually covers.** `ask cache warm` runs the compact analysis: it rebuilds the
142
141
  shared structural layers (L1/L2 + the Repository Intelligence Snapshot + the shared Canonical
@@ -162,7 +161,7 @@ brew tap haroundominique/sourcecode && brew install sourcecode
162
161
  # pip / pipx
163
162
  pipx install sourcecode # or: pip install sourcecode
164
163
 
165
- ask version # ask 5.8.26 — and, on a build that has aged,
164
+ ask version # ask 5.8.27 — and, on a build that has aged,
166
165
  # how many releases have probably shipped since
167
166
  ```
168
167
 
@@ -170,16 +169,13 @@ ask version # ask 5.8.26 — and, on a build that has aged,
170
169
  > (renaming the distribution is a separate, breaking change). Installing it gives you the
171
170
  > canonical **`ask`** command plus the deprecated **`sourcecode`** alias.
172
171
 
173
- > **Platforms.** Developed and tested on macOS and Linux; every release runs its full
174
- > battery there. **Windows/PowerShell is a target we cannot verify:** the CLI is written
175
- > for it — UTF-8 streams are forced at both console entry points, a successful run writes
176
- > nothing to stderr (PowerShell 5.1 raises `NativeCommandError` on any stderr write), and
177
- > the MCP server strips the BOM PowerShell puts on stdin but no Windows runner exists in
178
- > the battery. Three separate field reports of console mojibake (`—` rendering as `â€"`)
179
- > have never reproduced under measurement, and the only variable those reports share is the
180
- > platform we cannot exercise (C3-3, C3-12, C3-38 in the
181
- > [defect ledger](docs/DEFECT-LEDGER.md)). On Windows, prefer `--output <file>` over shell
182
- > redirection, and report a rendering problem rather than assuming it is known.
172
+ > **Platforms.** macOS, Linux and Windows are exercised in CI. The Windows battery runs the
173
+ > full suite on every push, with focused envelope and memory-footprint cases. UTF-8 streams
174
+ > are forced at both console entry points; a successful run writes nothing to stderr
175
+ > (PowerShell 5.1 raises `NativeCommandError` on any stderr write), and the MCP server strips
176
+ > the BOM PowerShell can put on stdin. For PowerShell, prefer `--output <file>` over shell
177
+ > redirection when retaining an artefact. A successful CI run is the portability evidence for
178
+ > a release; report a rendering problem with the command, shell and encoding.
183
179
 
184
180
  ---
185
181
 
@@ -3,7 +3,7 @@
3
3
  **Fecha:** 2026-08-22
4
4
  **Artefacto auditado:** release `5.8.22`, `build_commit`
5
5
  `583c07c405358d3e76dd20968960f5ab928608fd`
6
- **Sujeto principal:** MSAS / `banyan-v2`, HEAD `3dde0376`, 3.342 ficheros Java
6
+ **Sujeto principal:** reference corpus / `banyan-v2`, HEAD `3dde0376`, 3.342 ficheros Java
7
7
  **Registro relacionado:** [`docs/DEFECT-LEDGER.md`](DEFECT-LEDGER.md), entrada
8
8
  `AUD-598-X01` y filas derivadas
9
9
 
@@ -11,7 +11,7 @@
11
11
 
12
12
  Se consolidan dos rondas independientes sobre la misma release:
13
13
 
14
- - Ronda A: MSAS, 57 invocaciones, 52 cronometradas, 3 `pr-impact` y 5 ayudas,
14
+ - Ronda A: reference corpus, 57 invocaciones, 52 cronometradas, 3 `pr-impact` y 5 ayudas,
15
15
  `ASK_READONLY=1`, presupuesto explícito y 0 escrituras.
16
16
  - Ronda B: banco de 16 repositorios Java/Spring, unas 95 invocaciones, Windows
17
17
  11 Pro, pipx y Git Bash.
@@ -54,7 +54,7 @@ El estado siguiente es el que debe usarse para planificación y release:
54
54
  | `AUD-598-X01` | `open` | El ledger del producto va por delante del wheel: cinco cierres declarados no se observan en el artefacto `583c07c`. |
55
55
  | `AUD-598-B01` / `ASK-META-001` | `open` | La auditoría de wheel no observa `_meta`, `content_id` ni memoria en 9/9 payloads inspeccionados. Debe resolverse dentro de un wheel construido, no sólo en checkout. |
56
56
  | `AUD-598-B02` / `ASK-UX-002` | `open` | `posture --diff` ofrece `--compact` y `--limit`, pero ambos son no-op en el caso medido y los hints forman un ciclo. |
57
- | `AUD-598-B03` / `B-11` | `open` | Persisten 17 anclas de coste con texto `on 5.1.0` dentro de un build 5.8.22; además `risk` no alcanza su ancla publicada en MSAS. |
57
+ | `AUD-598-B03` / `B-11` | `open` | Persisten 17 anclas de coste con texto `on 5.1.0` dentro de un build 5.8.22; además `risk` no alcanza su ancla publicada en reference corpus. |
58
58
  | `AUD-598-B04` / `N-02` | `open` parcial | `1e9` y `1_000` son presupuestos válidos, pero se aceptan sin advertir que no vincularán el proceso. |
59
59
 
60
60
  ## Cierres que el artefacto no confirma
@@ -4,7 +4,7 @@
4
4
  **Artefacto auditado:** release `5.8.24`, `build_commit`
5
5
  `61b9c12b0e354cda157038bc8be6e19384a42368`
6
6
  **Sujetos:** banco de 16 repositorios Java/Spring sobre Windows 11 Pro (ronda A, ~145
7
- invocaciones) · MSAS / `banyan-v2`, HEAD `3dde0376`, 3 342 ficheros Java (ronda B, octava
7
+ invocaciones) · reference corpus / `banyan-v2`, HEAD `3dde0376`, 3 342 ficheros Java (ronda B, octava
8
8
  ronda sobre el mismo árbol bit a bit, ~55 invocaciones, `ASK_READONLY=1` y techo explícito
9
9
  en todas, 0 tracebacks, 0 escrituras)
10
10
  **Registro relacionado:** [`DEFECT-LEDGER.md`](DEFECT-LEDGER.md), *Fourteenth Audit Pass* y
@@ -15,7 +15,7 @@ filas `AUD-601-*`
15
15
  | Ronda | Nota | Anterior | Veredicto del auditor |
16
16
  |---|---:|---:|---|
17
17
  | A — banco de 16 repos | `8,7/10` | 8,3 | Adoptar |
18
- | B — MSAS | `8,88/10` | 8,84 | Comprar y actualizar, con una reserva operativa |
18
+ | B — reference corpus | `8,88/10` | 8,84 | Comprar y actualizar, con una reserva operativa |
19
19
 
20
20
  Ronda B marca **su propio eje de rendimiento como provisional** y nombra el confound. Ronda A
21
21
  **retracta una fila propia** tras cuatro informes. Ambas cosas cuentan a favor del método y
@@ -202,7 +202,7 @@ byte-idéntico a 156 902 B en dos corridas donde antes oscilaba ±1–3 B por re
202
202
 
203
203
  **De rendimiento: las dos rondas se contradicen, y no se declara regresión.**
204
204
 
205
- | | Ronda A (banco, protocolo con `cache warm` explícito, intercalado ×4, mediana, primera descartada) | Ronda B (MSAS) |
205
+ | | Ronda A (banco, protocolo con `cache warm` explícito, intercalado ×4, mediana, primera descartada) | Ronda B (reference corpus) |
206
206
  |---|---|---|
207
207
  | Lectura | **8 de 9 anclas mejoran 4–17 %**, y las seis que subieron en `5.8.23` vuelven todas a su banda o por debajo. `ask --help` a 1,74 s, bajo el ×1,25 de vigilancia | `posture` +55 %, `spring-audit` ×2,1, `migrate-check` ×2,2, `selftest` +45 %, `compare` +39 %, `export --c4` peor — y `ask . --compact` **mejor 1,3×** (94,6 → 74,9 s), `validation` 1,5×, `verify --init` 1,3× |
208
208
  | Estado | firme | **provisional, declarado por su autor** |
@@ -2,7 +2,7 @@
2
2
 
3
3
  **Fecha de recepción:** 2026-08-23
4
4
  **Artefacto auditado:** ASK Engine `5.8.25`, build `b6e0e0f157687a962ce66627afe2e9b388fb2f06`
5
- **Entornos:** Windows 11 Pro y MSAS (`3dde0376`)
5
+ **Entornos:** Windows 11 Pro y reference corpus (`3dde0376`)
6
6
  **Alcance:** aproximadamente 180 invocaciones, 0 tracebacks, 0 escrituras observadas.
7
7
 
8
8
  ## Estado posterior del checkout
@@ -0,0 +1,43 @@
1
+ # ASK Engine 5.8.26 - External Regression Audit Intake
2
+
3
+ **Received:** 2026-08-23
4
+ **Audited artefact:** `5.8.26`, build `e2da5d84a30bc2e8c60325e1e2d48a8d736b8ad7`
5
+ **Subject:** reference corpus, commit `3dde0376`, 3,342 Java files
6
+ **Scope:** 35 read-only invocations, explicit output ceiling, no writes and no tracebacks.
7
+
8
+ This is an intake record, not a claim that the defects are fixed. The audited build predates
9
+ the local Windows fallback commit `829631d`; that later change is unrelated to the findings
10
+ below until it is measured in a new artefact.
11
+
12
+ ## Confirmed Regressions And Defects
13
+
14
+ | ID | Priority | Status | Evidence and required correction |
15
+ |---|---:|---|---|
16
+ | `ASK-REG-001` | P1 | fixed in checkout, pending release verification | `impact-chain` lost its default bounded result: `impact-chain CommonService .` moved from rc 0 / 77,054 B in 5.8.25 to rc 1 / 3,845,253 B in 5.8.26. `--limit 20` reduced only 0.9%. The cap now covers the endpoint-disposition partition that was left exhaustive and sets the inline default to 20; totals remain exact and `--limit 0` retains the full partition. Re-measure the original reference corpus case before closing the released-artifact row. |
17
+ | `ASK-UX-002` | P1 | fixed in checkout, pending release verification | The root-help recommendation `posture . --diff dev:prod --compact` exits 1 at 287,446 B. The compact vocabulary now bounds `endpoint_access.changed`, the per-request delta previously omitted from every recursive projection. Re-measure the original reference corpus route before closing the released-artifact row. |
18
+ | `ASK-DET-002` | P2 | fixed previously, revalidated in checkout | The report's proposed mechanism does not exist in current source: commit `434d0e2` excludes runtime `_cache` provenance from `content_id`, and the dedicated cold/warm determinism test passes. Runtime provenance remains observable. Re-measure the original wheel before closing the release-artifact row. |
19
+ | `ASK-PERF-003` | P2 | in progress | Sequential warm measurements remain materially slower than 5.8.24: `validation --compact` 7.2 -> 21.8 s, `compare` 23.3 -> 56.5 s, `verify --init --no-write` 16.7 -> 50.1 s, `endpoints --servlets --compact` 4.1 -> 11.0 s, and `posture --resolve-environments` 8.9 -> 22.4 s. `selftest` and `export --c4` also regress. The release gate now measures the four repository-wide flagged invocations under distinct identities, so a cheaper parent baseline cannot mask them. The reported reference corpus subject and a sequential controlled baseline are still required to attribute and restore the runtime cost; `compare`, `selftest` and `export --c4` remain outside this gate because their inputs or composition need separately declared fixtures. |
20
+ | `ASK-PROV-001` | P3 | fixed in checkout, pending release verification | `closure_coverage.uncited` is a false-negative-prone provenance state: `AUD-601-D01` is uncited even though the corresponding help change exists. The published basis now explicitly means “no commit was recorded to verify”, never “ineffective fix”; cite the missing closure commits where practical. |
21
+ | `AUD-596-D08` / `B-22` | P3 | fixed in checkout, pending release verification | `compare` spends 14.7 s rejecting invalid directory candidates, double the prior 7.2 s. The CLI now has a regression assertion proving it rejects a directory candidate before constructing the IR. Re-measure the external invocation because the reported cost does not reproduce through the current admission path. |
22
+
23
+ ## Verified Closures
24
+
25
+ The auditor verifies `ASK-UX-001`, `ASK-ENV-001`, and `ASK-GATE-001` on this artefact.
26
+ `ASK-PERF-003` is only partial and worsened. Closure is behavioural evidence, not the
27
+ provenance table alone.
28
+
29
+ ## Measurement Limits
30
+
31
+ The auditor deliberately did **not** measure root compact/agent paths, plain `risk`,
32
+ `verify-edit`, `pack gate`, or `pack assessment`. This record makes no claim about those
33
+ surfaces. A 13-15% cost increase in three bounded views after the cache-budget correction is
34
+ recorded as a watch item, not a regression: it is below the declared 25% threshold but needs
35
+ the next controlled baseline.
36
+
37
+ ## Next Iteration Order
38
+
39
+ 1. Restore `impact-chain` bounded behaviour and make its floor/remedy model agree with the emitted payload.
40
+ 2. Make `posture --diff --compact` truthful and usable; then derive root-help wording from the same contract.
41
+ 3. Re-verify the released wheel's deterministic fingerprint; current source already excludes runtime cache state.
42
+ 4. Profile the sustained warm-path performance regressions on the original subject; the four repository-wide audited variants are now gated.
43
+ 5. Clarify and complete closure provenance without treating it as behavioural proof.
@@ -0,0 +1,46 @@
1
+ # ASK Engine 5.8.26 - External Audit Intake
2
+
3
+ **Received:** 2026-08-26
4
+ **Audited artefact:** `5.8.26`, Windows 11 / Git Bash (MSYS), Python 3.14
5
+ **Scope:** reference and multi-stack repositories; the report's second round tested 44/46 subcommands across Spring, Quarkus, Micronaut and Jakarta EE.
6
+
7
+ This record separates the first round's initial diagnosis from the controlled retest. The
8
+ initial report called slow cold analyses hangs; the retest disproved a deadlock. The actual
9
+ queue below contains only reproducible product defects or explicitly bounded investigations.
10
+
11
+ ## Confirmed Queue
12
+
13
+ | ID | Priority | Status | Finding and acceptance criterion |
14
+ |---|---:|---|---|
15
+ | `AUD-602-R01` | P1 | implemented, pending Windows verification | `--detach` now launches the worker directly with the interpreter, requests job breakaway and no console, and closes the parent's log handle. Linux regression coverage passes; MSYS, cmd and PowerShell verification remains release evidence. |
16
+ | `AUD-602-S01` | P1 | implemented, pending witness verification | `SEC-004` now excludes Spring Security package definitions while preserving application uses. A platform-definition negative control and existing positive controls pass; the five original witness shapes still require verification against the audit corpus. |
17
+ | `AUD-602-D01` | P2 | implemented, pending witness verification | `migrate-check.boot3_readiness` now uses `null` for every non-applicable Boot 3 dimension, matching `applicable_dimensions.boot3.score`. Synthetic non-Spring and completed-axis controls pass; the four original witnesses remain release evidence. |
18
+ | `AUD-602-M01` | P2 | investigation | `parsing manifests` consumed about 90 seconds of a roughly 116-second cold root run with one `pom.xml`. Profile `dependency_analyzer` before changing it; do not call this a regression until the profiler and a controlled baseline identify the cost and reproduce it on the same subject. |
19
+ | `AUD-602-UX01` | P3 | implemented | The help already labels historical timing anchors and documents `--progress stderr` / `ASK_PROGRESS=1` for non-interactive runs. No timing claim was changed without a fresh benchmark. |
20
+ | `AUD-602-UX02` | P3 | implemented, pending field verification | Implicit `selftest .` now detects nested Git repositories and emits a scoped warning without contaminating JSON stdout. A controlled fixture passes; field verification remains release evidence. |
21
+
22
+ ## Not Bugs / Retractions
23
+
24
+ - `ask --compact`, `ask --agent`, bare `ask` and `risk --limit 3` were initially reported as
25
+ hangs. The retest completed them in about 116 seconds cold and 0.84 seconds warm with
26
+ progress enabled. They are cold-cost and communication issues, not deadlocks.
27
+ - The Micronaut `WebScripts/Alfresco` message was not reproduced in five retests. Keep it as
28
+ an unconfirmed witness; do not open a defect row unless the exact command and fixture
29
+ reproduce it.
30
+ - Root-only `--compact` on `verify`, `impact` and `onboard` correctly returns structured
31
+ `INVALID_USAGE` with an actionable hint. Uniformity may be a future UX decision, not a bug.
32
+ - No prompt-injection, path-traversal, zombie-process or SIGTERM-cleanup defect was found.
33
+
34
+ ## Operational Notes
35
+
36
+ The audit's positive controls remain useful: typed flag errors had no tracebacks, `--no-write`
37
+ did not mutate the tree, and the output ceiling worked. The reported `SEC-004` result also
38
+ clarifies that `total_defects` is an aggregate across rule families, not the SEC-004 count.
39
+
40
+ ## Order
41
+
42
+ 1. `AUD-602-R01` - repair and cross-shell verify detached execution.
43
+ 2. `AUD-602-S01` - remove security false positives before relying on the audit for security gating.
44
+ 3. `AUD-602-D01` - normalize the non-applicable migration sentinel.
45
+ 4. `AUD-602-M01` - profile manifest parsing and establish an attributable baseline.
46
+ 5. `AUD-602-UX01` and `AUD-602-UX02` - make cost and scale expectations explicit.
@@ -3,7 +3,7 @@
3
3
  The single, coherent Free/Pro offer, defined by **customer value** (not technical
4
4
  difficulty). Companion to [`PRODUCT_TIERS.md`](PRODUCT_TIERS.md) (the mechanical split)
5
5
  and [`MODERNIZATION.md`](MODERNIZATION.md) (the flagship product narrative). CLI command:
6
- `sourcecode`.
6
+ `ask` (`sourcecode` remains the deprecated compatibility alias).
7
7
 
8
8
  ## The one-sentence offer
9
9
 
@@ -23,7 +23,7 @@ Assumes a developer who has never seen ASK Engine and reads only the current rep
23
23
 
24
24
  ### What they understand in the first 30 seconds
25
25
  Reading the title + tagline + first paragraph (`README.md:1–20`):
26
- - It is a tool called **ASK Engine**; the CLI is `sourcecode`.
26
+ - It is a tool called **ASK Engine**; the canonical CLI is `ask`.
27
27
  - It gives **AI coding agents** persistent structural context and a fast repeated-analysis
28
28
  cache; the headline benefit framed is **speed** (re-parse avoidance, ~17x on Keycloak).
29
29
  - It targets **large Java or TypeScript monoliths**.