sourcecode 5.8.6__tar.gz → 5.8.8__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 (384) hide show
  1. {sourcecode-5.8.6 → sourcecode-5.8.8}/CHANGELOG.md +120 -0
  2. {sourcecode-5.8.6 → sourcecode-5.8.8}/PKG-INFO +9 -6
  3. {sourcecode-5.8.6 → sourcecode-5.8.8}/README.md +8 -5
  4. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/CACHE.md +1 -0
  5. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/DEFECT-LEDGER.md +61 -10
  6. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/DEVELOPMENT-ROADMAP.md +143 -0
  7. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/EXECUTIVE-ROADMAP.md +45 -14
  8. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/USER_GUIDE.md +72 -3
  9. {sourcecode-5.8.6 → sourcecode-5.8.8}/pyproject.toml +1 -1
  10. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/__init__.py +1 -1
  11. sourcecode-5.8.8/src/sourcecode/audit_clusters.py +314 -0
  12. sourcecode-5.8.8/src/sourcecode/audit_since.py +228 -0
  13. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/breaking_changes.py +51 -1
  14. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/cache_model.py +6 -0
  15. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/canonical_ir.py +62 -2
  16. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/cli.py +519 -23
  17. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/client_calls.py +111 -11
  18. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/consumer_join.py +6 -3
  19. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/data_exposure.py +16 -4
  20. sourcecode-5.8.8/src/sourcecode/explain_endpoint.py +485 -0
  21. sourcecode-5.8.8/src/sourcecode/field_deprecations.py +175 -0
  22. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/format_contract.py +1 -0
  23. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/manifest_cache.py +1 -0
  24. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/path_filters.py +1 -1
  25. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/phased_run.py +9 -0
  26. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/prepare_context.py +8 -3
  27. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/release_info.py +1 -1
  28. sourcecode-5.8.8/src/sourcecode/remediation_diff.py +229 -0
  29. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/repository_ir.py +120 -1
  30. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/schema_registry.py +18 -0
  31. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/selftest.py +17 -2
  32. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/semantic_analyzer.py +2298 -2250
  33. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/spring_impact.py +36 -2
  34. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/spring_security_audit.py +98 -3
  35. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/summarizer.py +21 -4
  36. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/validation_surface.py +9 -1
  37. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/verify_edit.py +6 -1
  38. {sourcecode-5.8.6 → sourcecode-5.8.8}/.github/workflows/build-windows.yml +0 -0
  39. {sourcecode-5.8.6 → sourcecode-5.8.8}/.github/workflows/perf-gate.yml +0 -0
  40. {sourcecode-5.8.6 → sourcecode-5.8.8}/.gitignore +0 -0
  41. {sourcecode-5.8.6 → sourcecode-5.8.8}/.ruff.toml +0 -0
  42. {sourcecode-5.8.6 → sourcecode-5.8.8}/CLAUDE.md +0 -0
  43. {sourcecode-5.8.6 → sourcecode-5.8.8}/CONTRIBUTING.md +0 -0
  44. {sourcecode-5.8.6 → sourcecode-5.8.8}/LICENSE +0 -0
  45. {sourcecode-5.8.6 → sourcecode-5.8.8}/NOTICE +0 -0
  46. {sourcecode-5.8.6 → sourcecode-5.8.8}/SECURITY.md +0 -0
  47. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/COMMERCIAL-OFFER.md +0 -0
  48. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/CUSTOMER-VALIDATION.md +0 -0
  49. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/DEMO-5MIN.md +0 -0
  50. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/EXECUTION-PLAN-12MO.md +0 -0
  51. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/MANUAL-USUARIO.md +0 -0
  52. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/MODERNIZATION.md +0 -0
  53. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/PRODUCT_AUDIT.md +0 -0
  54. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/PRODUCT_IDENTITY.md +0 -0
  55. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/PRODUCT_TIERS.md +0 -0
  56. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/RC1-CHECKLIST.md +0 -0
  57. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/RELEASE-CHECKLIST.md +0 -0
  58. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/architecture/CATALOG-retrieval-intents.md +0 -0
  59. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/architecture/DESIGN-knowledge-provider-integration.md +0 -0
  60. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/architecture/DESIGN-p5.3b-statement-surface.md +0 -0
  61. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/architecture/DESIGN-p5.5-span-index.md +0 -0
  62. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/architecture/DESIGN-p6-semantic-impact-engine.md +0 -0
  63. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/architecture/DESIGN-p6-semantic-integration-engine.md +0 -0
  64. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/architecture/DESIGN-p7-semantic-services.md +0 -0
  65. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/architecture/DESIGN-robustness-security-inference.md +0 -0
  66. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/architecture/DESIGN-semantic-retrieval.md +0 -0
  67. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/architecture/EPV-p6-class-typeref.md +0 -0
  68. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/architecture/REPORT-p6-flow-analyzer-comparison.md +0 -0
  69. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/architecture/REPORT-p6-integration-detector-comparison.md +0 -0
  70. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/architecture/REPORT-p8-flow-analyzer-migration.md +0 -0
  71. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/architecture/REPORT-p9-integration-detector-migration.md +0 -0
  72. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/architecture/adr/0001-semantic-ir.md +0 -0
  73. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/architecture/adr/0002-source-evidence-boundary.md +0 -0
  74. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/architecture/adr/0003-architectural-characterization.md +0 -0
  75. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/architecture/adr/0004-semantic-retrieval.md +0 -0
  76. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/architecture/adr/0005-evidence-reconciliation.md +0 -0
  77. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/architecture/adr/0006-performance-harness.md +0 -0
  78. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/architecture/adr/0007-composition-semantics.md +0 -0
  79. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/architecture/adr/0008-answer-coherence.md +0 -0
  80. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/architecture/consumer-disposition-inventory.md +0 -0
  81. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/architecture/overview.md +0 -0
  82. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/architecture/product-architecture-review.md +0 -0
  83. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/architecture/product-strategy-layering.md +0 -0
  84. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/architecture/semantic-ir-consumer-matrix.md +0 -0
  85. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/architecture/semantic-ir-roadmap.md +0 -0
  86. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/baseline-ci.yml +0 -0
  87. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/commercial-pipeline-audit.md +0 -0
  88. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/contracts-ci.yml +0 -0
  89. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/contracts.md +0 -0
  90. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/eval/2026-06-15-petclinic-rest-issue11-vets-pagination.md +0 -0
  91. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/eval/2026-06-15-petclinic-rest-issue147-validation.md +0 -0
  92. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/eval/2026-06-15-petclinic-rest-workflow.md +0 -0
  93. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/eval/2026-06-15-phase18-openapi-surface.md +0 -0
  94. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/eval/2026-06-15-phase20-validation-surface.md +0 -0
  95. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/eval/2026-06-16-broadleaf-checkout-impact-fieldtest.md +0 -0
  96. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/eval/2026-06-16-petclinic-rest-issue11-weakness2-closed.md +0 -0
  97. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/eval/2026-06-16-spring-petclinic-issue2333-dead-vets.md +0 -0
  98. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/licensing-schema.md +0 -0
  99. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/migrate-check.md +0 -0
  100. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/README.md +0 -0
  101. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/REGRESSION-GATE.md +0 -0
  102. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.15/SUMMARY.md +0 -0
  103. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.15/alfresco__ask__cold.json +0 -0
  104. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.15/alfresco__ask__warm.json +0 -0
  105. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.15/broadleaf__ask__cold.json +0 -0
  106. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.15/broadleaf__ask__warm.json +0 -0
  107. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.15/eureka__ask__cold.json +0 -0
  108. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.15/eureka__ask__warm.json +0 -0
  109. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.15/jenkins__ask__cold.json +0 -0
  110. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.15/jenkins__ask__warm.json +0 -0
  111. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.15/jobrunr__ask__cold.json +0 -0
  112. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.15/jobrunr__ask__warm.json +0 -0
  113. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.15/keycloak__ask__cold.json +0 -0
  114. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.15/keycloak__ask__warm.json +0 -0
  115. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.15/neo4j__ask__cold.json +0 -0
  116. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.15/neo4j__ask__warm.json +0 -0
  117. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.15/ofbiz__ask__cold.json +0 -0
  118. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.15/ofbiz__ask__warm.json +0 -0
  119. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.15/openmrs__ask__cold.json +0 -0
  120. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.15/openmrs__ask__warm.json +0 -0
  121. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.15/petclinic__ask__cold.json +0 -0
  122. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.15/petclinic__ask__warm.json +0 -0
  123. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.16/SUMMARY.md +0 -0
  124. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.16/alfresco__ask__cold.json +0 -0
  125. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.16/alfresco__ask__warm.json +0 -0
  126. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.16/broadleaf__ask__cold.json +0 -0
  127. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.16/broadleaf__ask__warm.json +0 -0
  128. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.16/eureka__ask__cold.json +0 -0
  129. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.16/eureka__ask__warm.json +0 -0
  130. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.16/jenkins__ask__cold.json +0 -0
  131. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.16/jenkins__ask__warm.json +0 -0
  132. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.16/jobrunr__ask__cold.json +0 -0
  133. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.16/jobrunr__ask__warm.json +0 -0
  134. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.16/keycloak__ask__cold.json +0 -0
  135. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.16/keycloak__ask__warm.json +0 -0
  136. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.16/neo4j__ask__cold.json +0 -0
  137. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.16/neo4j__ask__warm.json +0 -0
  138. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.16/ofbiz__ask__cold.json +0 -0
  139. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.16/ofbiz__ask__warm.json +0 -0
  140. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.16/openmrs__ask__cold.json +0 -0
  141. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.16/openmrs__ask__warm.json +0 -0
  142. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.16/petclinic__ask__cold.json +0 -0
  143. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/2.5.16/petclinic__ask__warm.json +0 -0
  144. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/gate-latest/README.md +0 -0
  145. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/gate-latest/broadleaf__ask__warm.json +0 -0
  146. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/gate-latest/broadleaf__endpoints__warm.json +0 -0
  147. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/gate-latest/broadleaf__migrate-check__warm.json +0 -0
  148. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/gate-latest/broadleaf__posture__warm.json +0 -0
  149. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/gate-latest/broadleaf__spring-audit__warm.json +0 -0
  150. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/gate-latest/broadleaf__validation__warm.json +0 -0
  151. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/perf/baselines/reference-best/README.md +0 -0
  152. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/posture.md +0 -0
  153. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/privacy.md +0 -0
  154. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/pro-experience-audit.md +0 -0
  155. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/schema.md +0 -0
  156. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/spec/envelope-v1.md +0 -0
  157. {sourcecode-5.8.6 → sourcecode-5.8.8}/docs/spring-audit-ci.yml +0 -0
  158. {sourcecode-5.8.6 → sourcecode-5.8.8}/scripts/compare_integration_engines.py +0 -0
  159. {sourcecode-5.8.6 → sourcecode-5.8.8}/scripts/customer_smoke_test.sh +0 -0
  160. {sourcecode-5.8.6 → sourcecode-5.8.8}/scripts/generate_jdk_exports.py +0 -0
  161. {sourcecode-5.8.6 → sourcecode-5.8.8}/scripts/perf_gate.py +0 -0
  162. {sourcecode-5.8.6 → sourcecode-5.8.8}/scripts/perf_harness.py +0 -0
  163. {sourcecode-5.8.6 → sourcecode-5.8.8}/scripts/sync_gate_anchors.py +0 -0
  164. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/adaptive_scanner.py +0 -0
  165. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/answer_bounds.py +0 -0
  166. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/archetype.py +0 -0
  167. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/architectural_baseline.py +0 -0
  168. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/architectural_delta.py +0 -0
  169. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/architecture_analyzer.py +0 -0
  170. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/architecture_summary.py +0 -0
  171. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/ast_extractor.py +0 -0
  172. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/audit_recipe.py +0 -0
  173. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/audit_report.py +0 -0
  174. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/baseline_autocapture.py +0 -0
  175. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/build_modules.py +0 -0
  176. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/bundled_docs.py +0 -0
  177. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/cache.py +0 -0
  178. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/call_surface.py +0 -0
  179. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/caller_metrics.py +0 -0
  180. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/caller_reach.py +0 -0
  181. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/chain_rules.py +0 -0
  182. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/change_plan.py +0 -0
  183. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/cir_graphs.py +0 -0
  184. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/classifier.py +0 -0
  185. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/code_notes_analyzer.py +0 -0
  186. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/compare.py +0 -0
  187. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/confidence_analyzer.py +0 -0
  188. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/constraint_diff.py +0 -0
  189. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/container_wiring.py +0 -0
  190. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/context_cache.py +0 -0
  191. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/context_graph.py +0 -0
  192. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/context_scorer.py +0 -0
  193. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/context_summarizer.py +0 -0
  194. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/contract_diff.py +0 -0
  195. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/contract_init.py +0 -0
  196. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/contract_model.py +0 -0
  197. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/contract_pipeline.py +0 -0
  198. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/coverage_parser.py +0 -0
  199. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/data_labels.py +0 -0
  200. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/declarations.py +0 -0
  201. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/defect_identity.py +0 -0
  202. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/degradation.py +0 -0
  203. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/dependency_analyzer.py +0 -0
  204. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/deployment_prefix.py +0 -0
  205. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/detach.py +0 -0
  206. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/detectors/__init__.py +0 -0
  207. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/detectors/base.py +0 -0
  208. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/detectors/csproj_parser.py +0 -0
  209. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/detectors/dart.py +0 -0
  210. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/detectors/dotnet.py +0 -0
  211. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/detectors/elixir.py +0 -0
  212. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/detectors/go.py +0 -0
  213. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/detectors/heuristic.py +0 -0
  214. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/detectors/hybrid.py +0 -0
  215. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/detectors/java.py +0 -0
  216. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/detectors/jvm_ext.py +0 -0
  217. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/detectors/nodejs.py +0 -0
  218. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/detectors/parsers.py +0 -0
  219. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/detectors/php.py +0 -0
  220. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/detectors/project.py +0 -0
  221. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/detectors/python.py +0 -0
  222. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/detectors/ruby.py +0 -0
  223. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/detectors/rust.py +0 -0
  224. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/detectors/systems.py +0 -0
  225. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/detectors/terraform.py +0 -0
  226. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/detectors/tooling.py +0 -0
  227. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/doc_analyzer.py +0 -0
  228. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/dynamic_argument_surface.py +0 -0
  229. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/empty_reach.py +0 -0
  230. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/endpoint_disposition.py +0 -0
  231. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/endpoint_literals.py +0 -0
  232. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/endpoint_metrics.py +0 -0
  233. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/entrypoint_classifier.py +0 -0
  234. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/env_analyzer.py +0 -0
  235. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/envelope.py +0 -0
  236. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/environment_resolution.py +0 -0
  237. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/error_schema.py +0 -0
  238. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/evidence_provider.py +0 -0
  239. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/execution_plan.py +0 -0
  240. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/explain.py +0 -0
  241. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/facts/__init__.py +0 -0
  242. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/facts/registry.json +0 -0
  243. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/file_chunker.py +0 -0
  244. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/file_classifier.py +0 -0
  245. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/filter_surface.py +0 -0
  246. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/fqn_utils.py +0 -0
  247. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/functional_routes.py +0 -0
  248. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/gate_anchors.py +0 -0
  249. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/git_analyzer.py +0 -0
  250. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/git_checkout.py +0 -0
  251. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/graph_analyzer.py +0 -0
  252. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/graph_evidence.py +0 -0
  253. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/hibernate_strat.py +0 -0
  254. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/identity_fallback.py +0 -0
  255. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/integration_coordinates.py +0 -0
  256. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/jdk_exports.py +0 -0
  257. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/license.py +0 -0
  258. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/mcp/__init__.py +0 -0
  259. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/mcp/dependency_import.py +0 -0
  260. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/mcp/onboarding/__init__.py +0 -0
  261. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/mcp/onboarding/applier.py +0 -0
  262. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/mcp/onboarding/backup.py +0 -0
  263. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/mcp/onboarding/detector.py +0 -0
  264. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/mcp/onboarding/planner.py +0 -0
  265. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/mcp/orchestrator.py +0 -0
  266. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/mcp/registry.py +0 -0
  267. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/mcp/runner.py +0 -0
  268. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/mcp/server.py +0 -0
  269. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/mcp_nudge.py +0 -0
  270. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/metrics_analyzer.py +0 -0
  271. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/migrate_check.py +0 -0
  272. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/migration_blast.py +0 -0
  273. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/non_coverage.py +0 -0
  274. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/openapi_surface.py +0 -0
  275. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/openrewrite_recipe.py +0 -0
  276. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/output_bounds.py +0 -0
  277. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/output_budget.py +0 -0
  278. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/output_ceiling.py +0 -0
  279. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/output_encoding.py +0 -0
  280. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/output_sink.py +0 -0
  281. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/parallel.py +0 -0
  282. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/parse_cache.py +0 -0
  283. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/partial_contract.py +0 -0
  284. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/path_admission.py +0 -0
  285. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/perf.py +0 -0
  286. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/pipe_contract.py +0 -0
  287. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/posture.py +0 -0
  288. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/pr_comment_renderer.py +0 -0
  289. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/pr_impact.py +0 -0
  290. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/product_info.py +0 -0
  291. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/progress.py +0 -0
  292. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/provenance.py +0 -0
  293. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/ranking_engine.py +0 -0
  294. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/readiness_timeline.py +0 -0
  295. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/readonly.py +0 -0
  296. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/reconciliation.py +0 -0
  297. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/redactor.py +0 -0
  298. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/reference_facts.py +0 -0
  299. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/regress.py +0 -0
  300. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/relevance_scorer.py +0 -0
  301. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/remedies.py +0 -0
  302. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/rename_refactor.py +0 -0
  303. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/repo_classifier.py +0 -0
  304. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/retrieval/__init__.py +0 -0
  305. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/retrieval/context.py +0 -0
  306. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/retrieval/errors.py +0 -0
  307. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/retrieval/executor.py +0 -0
  308. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/retrieval/planner.py +0 -0
  309. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/retrieval/query.py +0 -0
  310. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/retrieval/request.py +0 -0
  311. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/retrieval/resolution.py +0 -0
  312. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/retrieval/result.py +0 -0
  313. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/retrieval/retriever.py +0 -0
  314. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/retrieval/runtime.py +0 -0
  315. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/retrieval/steps.py +0 -0
  316. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/retrieval/steps_endpoint.py +0 -0
  317. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/retrieval/steps_graph.py +0 -0
  318. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/retrieval/steps_impact.py +0 -0
  319. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/retrieval/steps_intf.py +0 -0
  320. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/retrieval/steps_struct.py +0 -0
  321. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/retrieval/steps_txsec.py +0 -0
  322. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/ris.py +0 -0
  323. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/risk.py +0 -0
  324. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/risk_model.py +0 -0
  325. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/rule_catalog.py +0 -0
  326. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/rule_pass.py +0 -0
  327. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/runs.py +0 -0
  328. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/runtime_classifier.py +0 -0
  329. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/sarif.py +0 -0
  330. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/scanner.py +0 -0
  331. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/schema.py +0 -0
  332. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/schema_producers.py +0 -0
  333. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/schemas/core-analysis-v1.schema.json +0 -0
  334. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/schemas/endpoints-v1.schema.json +0 -0
  335. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/schemas/envelope-v1.schema.json +0 -0
  336. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/schemas/pr-impact-v1.schema.json +0 -0
  337. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/schemas/verify-edit-v1.schema.json +0 -0
  338. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/schemas/verify-v1.schema.json +0 -0
  339. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/security_chain.py +0 -0
  340. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/security_config.py +0 -0
  341. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/security_config_scan.py +0 -0
  342. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/security_posture.py +0 -0
  343. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/semantic_impact_engine.py +0 -0
  344. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/semantic_integration_engine.py +0 -0
  345. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/semantic_services.py +0 -0
  346. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/serializer.py +0 -0
  347. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/servlet_surface.py +0 -0
  348. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/source_text.py +0 -0
  349. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/spring_event_topology.py +0 -0
  350. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/spring_findings.py +0 -0
  351. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/spring_model.py +0 -0
  352. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/spring_profiles.py +0 -0
  353. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/spring_properties.py +0 -0
  354. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/spring_semantic.py +0 -0
  355. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/spring_tx_analyzer.py +0 -0
  356. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/sql_taint.py +0 -0
  357. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/target_admission.py +0 -0
  358. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/telemetry/__init__.py +0 -0
  359. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/telemetry/config.py +0 -0
  360. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/telemetry/consent.py +0 -0
  361. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/telemetry/events.py +0 -0
  362. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/telemetry/filters.py +0 -0
  363. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/telemetry/transport.py +0 -0
  364. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/test_gap_ranking.py +0 -0
  365. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/test_sources.py +0 -0
  366. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/text_input.py +0 -0
  367. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/timeline.py +0 -0
  368. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/timeline_cache.py +0 -0
  369. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/token_estimate.py +0 -0
  370. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/tree_utils.py +0 -0
  371. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/type_usage_surface.py +0 -0
  372. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/validation_inference.py +0 -0
  373. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/verify_repo.py +0 -0
  374. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/verify_rules.py +0 -0
  375. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/version_check.py +0 -0
  376. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/waivers.py +0 -0
  377. {sourcecode-5.8.6 → sourcecode-5.8.8}/src/sourcecode/workspace.py +0 -0
  378. {sourcecode-5.8.6 → sourcecode-5.8.8}/supabase/functions/README.md +0 -0
  379. {sourcecode-5.8.6 → sourcecode-5.8.8}/supabase/functions/get-license/index.ts +0 -0
  380. {sourcecode-5.8.6 → sourcecode-5.8.8}/supabase/functions/lemonsqueezy-webhook/index.ts +0 -0
  381. {sourcecode-5.8.6 → sourcecode-5.8.8}/supabase/functions/telemetry/index.ts +0 -0
  382. {sourcecode-5.8.6 → sourcecode-5.8.8}/supabase/sql/license_event_ordering.sql +0 -0
  383. {sourcecode-5.8.6 → sourcecode-5.8.8}/supabase/sql/licensing_schema.sql +0 -0
  384. {sourcecode-5.8.6 → sourcecode-5.8.8}/supabase/sql/telemetry_events.sql +0 -0
@@ -1,7 +1,106 @@
1
1
  # Changelog
2
2
 
3
+ ## [5.8.8] — 2026-08-19
4
+
5
+ *Follow-up bug fixes after the 5.8.7 audit, with cache correctness, Java source
6
+ classification and budget diagnostics tightened without changing the public schema.*
7
+
8
+ ### Fixed
9
+ - Dependency-analysis cache keys now include `.csproj` and `packages.lock.json`,
10
+ preventing stale .NET results from being reused across manifest changes.
11
+ - Java discovery now excludes suffixed test modules such as `-test` and `-tests`
12
+ through the shared module classifier.
13
+ - Analysis-budget warnings are emitted for below-floor budgets in noninteractive
14
+ runs, while above-floor provenance remains quiet off-TTY.
15
+ - Documentation now records the exact follow-up commits and the remaining
16
+ environment-blocked fixtures instead of presenting them as unresolved code bugs.
17
+
3
18
  ## [Unreleased]
4
19
 
20
+ ## [5.8.7] — 2026-08-18
21
+
22
+ *An ASK polish pass, and then the recommended-feature queue emptied. The theme
23
+ of the fixes is again the one the field keeps teaching: **three of the seven
24
+ closed by finding the premise wrong**. E-9's caveat was not dropped between two
25
+ commands — on that shape nothing ever produced it. E-14's row said "either the
26
+ limit is not enforced or it is enforced and unreported"; it was neither, two
27
+ authorities disagreed about the same number. And `C3-84`'s confident falsehood
28
+ turned out to be **our own qualifier**, added a release earlier to close a
29
+ silence, refuted by our own measurement.*
30
+
31
+ ### Fixed
32
+ - **A partially resolved route path is unresolved, and its id stays readable**
33
+ (E-9). `@Path("/{accountId:" + UUID_PATTERN + "}")` contains string literals,
34
+ so every reader concluded the path was known and published the first literal —
35
+ `/{accountId:` — as the route, silently. A partial resolution is not a
36
+ resolution. The caveat is now a field of `CanonicalEndpoint`, so `endpoints`,
37
+ `impact-chain` and `impact` publish it from one authority; and `make_id`
38
+ percent-escapes the separator, so an endpoint id has four fields for every
39
+ route rather than five.
40
+ - **The re-export hop budget is enforced, and running out of it is declared**
41
+ (E-14). Two authorities disagreed: the test said a three-level chain must not
42
+ resolve, the walk said "depth=2 total" and resolved it. The walk wins — two
43
+ hops land on the module where the symbol is declared. What was missing is the
44
+ other side, plus two defects found while adjudicating: a chain still going
45
+ when the budget ran out was published as if it had ended, and a chain that
46
+ simply ends inside a package reported a limit it never reached.
47
+ - **`impact-chain`'s sentence names the unit its number is in** (C1-16, witness
48
+ a). It printed the entry count under the words "22 direct callers" while the
49
+ field beside it said 14. `impact` had closed this half already.
50
+ - **`--jobs` states the measured cost split, not the estimate** (C3-84). The
51
+ 4.15.0 wording called the rule pass *"where a repository-wide audit spends
52
+ most of its time"*. Instrumented: the CIR build is 88 % of the clock and every
53
+ rule together 8 %. All three surfaces carry the measurement now, and the
54
+ correction reverses what the flag implies — it covers the phase with the cost.
55
+ - **A run cannot exit 0 without producing the file it promised** (C3-122). One
56
+ field report: 444 s, exit 0, no output, no file. Fixed as the shape rather
57
+ than the occurrence — the promise is noted from the argument vector, so all 65
58
+ commands that publish `--output` are covered including one that returns before
59
+ its emit seam, and a file write is never silent.
60
+ - **SEC-001 reports an absence it measured, not a verdict it did not** (C1-43).
61
+ It told the reader *"any caller can reach this endpoint without
62
+ authentication"* from the absence of the two chain shapes it knows how to look
63
+ for, at `confidence: high`. It now states what was looked for and not found,
64
+ publishes the premise as evidence, and binds the coverage answer to the
65
+ authority that owns it.
66
+ - **DEAD-001 keeps `high`, and the reason is on the record** (C3-101 c). The
67
+ severity was never the defect; the precision was, and it shipped.
68
+
69
+ ### Added
70
+ - **`spring-audit --since <ref> --fail-on-new`** (F-BL) — the gate a repository
71
+ with existing debt can actually turn on. Joins two audits on the content-stable
72
+ `defect_id` and fails only on what the change introduced. Both sides are asked
73
+ the same question and the payload says which; a renamed symbol reads as one
74
+ resolved plus one new and says so; a comparison that could not be made exits
75
+ non-zero, never 0.
76
+ - **`ask explain-endpoint '<VERB> <path>'`** (F-BN) — show your work for one
77
+ route: match, declaration, handler, chain, profiles, verdict, each naming the
78
+ authority that produced it and the file it can be checked against. A step that
79
+ could not be derived is `undetermined` **with the reason** — none of the six is
80
+ ever absent in silence.
81
+ - **`spring-audit --remediation-diff`** (F-BK) — the findings as patches `git
82
+ apply` takes, for the defects whose repair is the lexical inverse of the
83
+ defect. Not `--recipe` with a different encoding: a recipe is run, a diff is
84
+ decided, and every patch carries what applying it decides.
85
+ - **`spring-audit --clusters`** (F-BM) — 386 rows as the handful of things
86
+ somebody has to do, keyed on `(defect_kind, repair_shape, locus)` with the axis
87
+ declared. The effort figure is an assumption with its arithmetic exposed; an
88
+ owner comes from CODEOWNERS or is absent.
89
+ - **A deprecation channel for published payload keys** (F-BQ, BC-003). A key on
90
+ its way out is published beside its replacement with the release that removes
91
+ it. `auth status` moves onto it, so it ships with a real population.
92
+ - **The base URL a client centralises is resolved from its own declaration**
93
+ (F-BO). 115 of 135 client calls were unresolved for one reason: the head is a
94
+ constant written a few lines up. A name bound twice — `environment.ts` and
95
+ `environment.prod.ts` — is still not resolved.
96
+ - **A declaration split across lines is still a declaration** (F-BP). A wrapped
97
+ generic return type published the member with *no annotations at all*, so the
98
+ route left the census and its guard left with it. `endpoints` on
99
+ BroadleafCommerce and spring-boot-admin is byte-identical: recall on the broken
100
+ shapes and nothing else.
101
+ - **A cost fixture for the composition family** (F-BR, second half) — counted,
102
+ not timed, so it means the same thing on any machine.
103
+
5
104
  ## [5.8.6] — 2026-08-18
6
105
 
7
106
  *The queue the two 5.8.5 re-audits left, worked in their own order, and the
@@ -387,6 +486,27 @@ changes a **published value** while every exit code stays 0. Declared in
387
486
  for the exit-code kind — named in the `--help` of every command it can fire on,
388
487
  so an upgrade can be planned instead of discovered by a red pipeline.*
389
488
 
489
+ ### BC-003 — deprecated payload keys are removed (announced 5.8.7, takes effect 6.0.0)
490
+
491
+ **Who is affected.** Any consumer reading a key that `field_deprecations` lists.
492
+ **No exit code moves**: the key stops being emitted, and a consumer that reads it
493
+ gets nothing rather than a wrong value.
494
+
495
+ A published key that has been replaced is emitted **beside** its replacement for
496
+ the whole window, listed in the payload's own `deprecated_fields`, and described
497
+ in `field_deprecations` with the release that removes it — `alias_of` where the
498
+ key was renamed and is copied from its replacement, `replaced_by` where the
499
+ value is derived differently and the command still produces it. In 6.0.0 those
500
+ keys stop being emitted, and nothing is removed that was not declared here
501
+ first. C3-124 is the reason the channel exists rather than the schedule: an
502
+ experimental tier is permission to change shape, not permission to change it in
503
+ silence.
504
+
505
+ The population is read from `sourcecode.field_deprecations` rather than copied
506
+ here. Today it is the four `pro*` keys on `ask auth status`, which that payload
507
+ publishes side by side with the entitlement block that replaced them — so the
508
+ migration is checkable against one run.
509
+
390
510
  ### BC-002 — `schema_version` values are renamed to their canonical names (announced 5.8.5, takes effect 6.0.0)
391
511
 
392
512
  **Who is affected.** Any consumer that dispatches on the emitted
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sourcecode
3
- Version: 5.8.6
3
+ Version: 5.8.8
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
@@ -49,7 +49,7 @@ Description-Content-Type: text/markdown
49
49
 
50
50
  **Context · Impact · Migration · Architecture · Review — everything from one structural model.**
51
51
 
52
- ![Version](https://img.shields.io/badge/version-5.8.6-blue)
52
+ ![Version](https://img.shields.io/badge/version-5.8.8-blue)
53
53
  ![Python](https://img.shields.io/badge/python-3.9%2B-green)
54
54
 
55
55
  Copyright (c) 2026 Dominique Haroun. All rights reserved. ASK Engine 5.7.0 and
@@ -91,9 +91,11 @@ in the environment, and the heartbeat is emitted by the analysis itself, not onl
91
91
  by a timer thread, so a CPU-bound stretch is never silent. `--jobs N` / `-j`
92
92
  (env `ASK_JOBS`) sets the worker processes that parse files — default CPU count
93
93
  − 1; parallelism only warms the content-addressed parse cache, so the answer is
94
- byte-identical at any value. It does **not** parallelise the rule pass, which is
95
- where a repository-wide audit spends most of its time, and a warm cache leaves it
96
- nothing to parse so raising it there buys nothing. Long repo-wide/deep runs also write durable records
94
+ byte-identical at any value. It does **not** parallelise the rule pass
95
+ measured with `metadata.timings` on a 2 766-file repository, the CIR build is
96
+ 88 % of a repository-wide audit's clock and every rule together 8 %, so the flag
97
+ covers the phase that holds the cost; a warm cache leaves it nothing to parse, so
98
+ raising it there buys nothing. Long repo-wide/deep runs also write durable records
97
99
  under `~/.sourcecode/runs/<repo-hash>/` by default, not inside the audited
98
100
  repository; set `ASK_RUNS_IN_REPO=1` only when repo-local `.ask/runs` records are
99
101
  intentional. Use `ask audit-report --from-risk risk.json` to package an existing
@@ -137,7 +139,7 @@ brew tap haroundominique/sourcecode && brew install sourcecode
137
139
  # pip / pipx
138
140
  pipx install sourcecode # or: pip install sourcecode
139
141
 
140
- ask version # ask 5.8.6 — and, on a build that has aged,
142
+ ask version # ask 5.8.8 — and, on a build that has aged,
141
143
  # how many releases have probably shipped since
142
144
  ```
143
145
 
@@ -410,6 +412,7 @@ from it.
410
412
  | `retrieve` | parked | typed knowledge queries over the model | |
411
413
  | `timeline` | experimental | since when a number moved, and in which commit window | walks the commit series and re-runs the shipped analyses (`posture`, `data-exposure`, `endpoints`, `spring-audit`) on a read-only materialisation of each sampled tree; publishes transitions, not a per-commit dump. A sample that could not be analysed is `null` with a reason, never 0, and a transition under sampling carries the window it could have happened in |
412
414
  | `regress` | supported | what moved between two payloads of the same command, and which declaration accounts for it | attributes each delta to a declaration the answers carry (`test_source_excluded`, `symbols_excluded`, `coverage.gaps`, `*_cap`, `waivers`); a delta nothing explains is `unattributed`. Refuses the comparison when `cache_layers`, `base_env` or the analyzer fingerprint differ |
415
+ | `explain-endpoint` | supported | the derivation behind one route's verdict | six steps — match, declaration, handler, chain, profiles, verdict — each naming the authority that produced it and the file it can be checked against; a step that could not be derived is `undetermined` with the reason, never absent |
413
416
  | `selftest` | supported | this product's own defect ledger, run against your repository | each ledger row's acceptance criterion as an executable assertion, with the subject (repository, size, platform, entry point) beside every verdict; a row whose precondition the repository does not meet is `not_applicable` with the reason, never a pass |
414
417
  | `archetype` | experimental | evidence-based architectural archetype | |
415
418
  | `rename-class` / `chunk-file` | supported | word-boundary Java rename; split a large file for an agent | |
@@ -4,7 +4,7 @@
4
4
 
5
5
  **Context · Impact · Migration · Architecture · Review — everything from one structural model.**
6
6
 
7
- ![Version](https://img.shields.io/badge/version-5.8.6-blue)
7
+ ![Version](https://img.shields.io/badge/version-5.8.8-blue)
8
8
  ![Python](https://img.shields.io/badge/python-3.9%2B-green)
9
9
 
10
10
  Copyright (c) 2026 Dominique Haroun. All rights reserved. ASK Engine 5.7.0 and
@@ -46,9 +46,11 @@ in the environment, and the heartbeat is emitted by the analysis itself, not onl
46
46
  by a timer thread, so a CPU-bound stretch is never silent. `--jobs N` / `-j`
47
47
  (env `ASK_JOBS`) sets the worker processes that parse files — default CPU count
48
48
  − 1; parallelism only warms the content-addressed parse cache, so the answer is
49
- byte-identical at any value. It does **not** parallelise the rule pass, which is
50
- where a repository-wide audit spends most of its time, and a warm cache leaves it
51
- nothing to parse so raising it there buys nothing. Long repo-wide/deep runs also write durable records
49
+ byte-identical at any value. It does **not** parallelise the rule pass
50
+ measured with `metadata.timings` on a 2 766-file repository, the CIR build is
51
+ 88 % of a repository-wide audit's clock and every rule together 8 %, so the flag
52
+ covers the phase that holds the cost; a warm cache leaves it nothing to parse, so
53
+ raising it there buys nothing. Long repo-wide/deep runs also write durable records
52
54
  under `~/.sourcecode/runs/<repo-hash>/` by default, not inside the audited
53
55
  repository; set `ASK_RUNS_IN_REPO=1` only when repo-local `.ask/runs` records are
54
56
  intentional. Use `ask audit-report --from-risk risk.json` to package an existing
@@ -92,7 +94,7 @@ brew tap haroundominique/sourcecode && brew install sourcecode
92
94
  # pip / pipx
93
95
  pipx install sourcecode # or: pip install sourcecode
94
96
 
95
- ask version # ask 5.8.6 — and, on a build that has aged,
97
+ ask version # ask 5.8.8 — and, on a build that has aged,
96
98
  # how many releases have probably shipped since
97
99
  ```
98
100
 
@@ -365,6 +367,7 @@ from it.
365
367
  | `retrieve` | parked | typed knowledge queries over the model | |
366
368
  | `timeline` | experimental | since when a number moved, and in which commit window | walks the commit series and re-runs the shipped analyses (`posture`, `data-exposure`, `endpoints`, `spring-audit`) on a read-only materialisation of each sampled tree; publishes transitions, not a per-commit dump. A sample that could not be analysed is `null` with a reason, never 0, and a transition under sampling carries the window it could have happened in |
367
369
  | `regress` | supported | what moved between two payloads of the same command, and which declaration accounts for it | attributes each delta to a declaration the answers carry (`test_source_excluded`, `symbols_excluded`, `coverage.gaps`, `*_cap`, `waivers`); a delta nothing explains is `unattributed`. Refuses the comparison when `cache_layers`, `base_env` or the analyzer fingerprint differ |
370
+ | `explain-endpoint` | supported | the derivation behind one route's verdict | six steps — match, declaration, handler, chain, profiles, verdict — each naming the authority that produced it and the file it can be checked against; a step that could not be derived is `undetermined` with the reason, never absent |
368
371
  | `selftest` | supported | this product's own defect ledger, run against your repository | each ledger row's acceptance criterion as an executable assertion, with the subject (repository, size, platform, entry point) beside every verdict; a row whose precondition the repository does not meet is `not_applicable` with the reason, never a pass |
369
372
  | `archetype` | experimental | evidence-based architectural archetype | |
370
373
  | `rename-class` / `chunk-file` | supported | word-boundary Java rename; split a large file for an agent | |
@@ -108,6 +108,7 @@ The second anchor is the field one, and it carries its own build for the same re
108
108
  | `chunk-file` | nothing | not timed | no | — | Reads one file; nothing to cache. |
109
109
  | `cold-start` | the answer | 0.2 s either way | yes | `ris` | Reads the RIS a warm rebuilds — that is all it does. Without one it answers `no_ris` instead of a snapshot. |
110
110
  | `timeline` | nothing | not timed | yes | `timeline-samples` | Two commits are two trees, so nothing is shared *within* a run — but a metric at a commit is a pure function of that tree, and the tree at a sha never changes, so a sample an earlier run of this analyser already measured is read from the store instead of being measured again (C3-129). A warm builds nothing for it: a warm analyses the working tree, not history. `--no-cache` measures every sample again, and the payload publishes the hits. |
111
+ | `explain-endpoint` | the shared work | not measured on the battery yet — bounded by `endpoints` on the same repository | yes | `cir`, `parse` | Builds the repository IR to answer about ONE route, so the warm it shares with `endpoints` and `posture` is the whole difference between a question you ask once and a question you ask twenty times. |
111
112
  | `selftest` | the shared work | not timed | no | `cir`, `parse` | Runs the ledger's acceptance criteria by invoking other commands against this repository, so it inherits their layers — a warm makes those runs warm. It holds no cache of its own and stores nothing. |
112
113
  | `regress` | nothing | not timed | no | — | Diffs two payload files this CLI already wrote; analyses no source, so no cache layer applies. What it reads about caching is the `cache_layers` field inside those payloads — to refuse a comparison taken under different cache states, not to use one. |
113
114
  | `trend` | nothing | not timed | no | — | Reads stored baseline artifacts from disk; analyses no source, so no cache layer applies. Same command as `baseline trend`. |