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