sourcecode 5.8.15__tar.gz → 5.8.16__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.
Potentially problematic release.
This version of sourcecode might be problematic. Click here for more details.
- {sourcecode-5.8.15 → sourcecode-5.8.16}/CHANGELOG.md +19 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/PKG-INFO +4 -4
- {sourcecode-5.8.15 → sourcecode-5.8.16}/README.md +3 -3
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/DEFECT-LEDGER.md +27 -6
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/DEVELOPMENT-ROADMAP.md +29 -12
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/EXECUTIVE-ROADMAP.md +27 -18
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/MANUAL-USUARIO.md +1 -1
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/USER_GUIDE.md +2 -2
- {sourcecode-5.8.15 → sourcecode-5.8.16}/pyproject.toml +1 -1
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/__init__.py +1 -1
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/cli.py +13 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/manifest_cache.py +1 -1
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/prepare_context.py +23 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/verify_edit.py +39 -1
- {sourcecode-5.8.15 → sourcecode-5.8.16}/.github/workflows/build-windows.yml +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/.github/workflows/perf-gate.yml +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/.gitignore +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/.ruff.toml +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/CLAUDE.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/CONTRIBUTING.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/LICENSE +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/NOTICE +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/SECURITY.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/CACHE.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/COMMERCIAL-OFFER.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/CUSTOMER-VALIDATION.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/DEMO-5MIN.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/EXECUTION-PLAN-12MO.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/MODERNIZATION.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/PRODUCT_AUDIT.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/PRODUCT_IDENTITY.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/PRODUCT_TIERS.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/RC1-CHECKLIST.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/RELEASE-CHECKLIST.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/CATALOG-retrieval-intents.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/DESIGN-knowledge-provider-integration.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/DESIGN-p5.3b-statement-surface.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/DESIGN-p5.5-span-index.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/DESIGN-p6-semantic-impact-engine.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/DESIGN-p6-semantic-integration-engine.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/DESIGN-p7-semantic-services.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/DESIGN-robustness-security-inference.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/DESIGN-semantic-retrieval.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/EPV-p6-class-typeref.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/REPORT-p6-flow-analyzer-comparison.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/REPORT-p6-integration-detector-comparison.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/REPORT-p8-flow-analyzer-migration.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/REPORT-p9-integration-detector-migration.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/adr/0001-semantic-ir.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/adr/0002-source-evidence-boundary.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/adr/0003-architectural-characterization.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/adr/0004-semantic-retrieval.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/adr/0005-evidence-reconciliation.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/adr/0006-performance-harness.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/adr/0007-composition-semantics.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/adr/0008-answer-coherence.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/consumer-disposition-inventory.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/overview.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/product-architecture-review.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/product-strategy-layering.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/semantic-ir-consumer-matrix.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/semantic-ir-roadmap.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/baseline-ci.yml +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/commercial-pipeline-audit.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/contracts-ci.yml +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/contracts.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/eval/2026-06-15-petclinic-rest-issue11-vets-pagination.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/eval/2026-06-15-petclinic-rest-issue147-validation.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/eval/2026-06-15-petclinic-rest-workflow.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/eval/2026-06-15-phase18-openapi-surface.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/eval/2026-06-15-phase20-validation-surface.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/eval/2026-06-16-broadleaf-checkout-impact-fieldtest.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/eval/2026-06-16-petclinic-rest-issue11-weakness2-closed.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/eval/2026-06-16-spring-petclinic-issue2333-dead-vets.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/licensing-schema.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/migrate-check.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/README.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/REGRESSION-GATE.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.15/SUMMARY.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.15/alfresco__ask__cold.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.15/alfresco__ask__warm.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.15/broadleaf__ask__cold.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.15/broadleaf__ask__warm.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.15/eureka__ask__cold.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.15/eureka__ask__warm.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.15/jenkins__ask__cold.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.15/jenkins__ask__warm.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.15/jobrunr__ask__cold.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.15/jobrunr__ask__warm.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.15/keycloak__ask__cold.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.15/keycloak__ask__warm.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.15/neo4j__ask__cold.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.15/neo4j__ask__warm.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.15/ofbiz__ask__cold.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.15/ofbiz__ask__warm.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.15/openmrs__ask__cold.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.15/openmrs__ask__warm.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.15/petclinic__ask__cold.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.15/petclinic__ask__warm.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.16/SUMMARY.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.16/alfresco__ask__cold.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.16/alfresco__ask__warm.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.16/broadleaf__ask__cold.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.16/broadleaf__ask__warm.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.16/eureka__ask__cold.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.16/eureka__ask__warm.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.16/jenkins__ask__cold.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.16/jenkins__ask__warm.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.16/jobrunr__ask__cold.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.16/jobrunr__ask__warm.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.16/keycloak__ask__cold.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.16/keycloak__ask__warm.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.16/neo4j__ask__cold.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.16/neo4j__ask__warm.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.16/ofbiz__ask__cold.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.16/ofbiz__ask__warm.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.16/openmrs__ask__cold.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.16/openmrs__ask__warm.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.16/petclinic__ask__cold.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/2.5.16/petclinic__ask__warm.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/gate-latest/README.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/gate-latest/broadleaf__ask__warm.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/gate-latest/broadleaf__endpoints__warm.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/gate-latest/broadleaf__migrate-check__warm.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/gate-latest/broadleaf__posture__warm.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/gate-latest/broadleaf__spring-audit__warm.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/gate-latest/broadleaf__validation__warm.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/perf/baselines/reference-best/README.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/posture.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/privacy.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/pro-experience-audit.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/schema.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/spec/envelope-v1.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/docs/spring-audit-ci.yml +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/scripts/compare_integration_engines.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/scripts/customer_smoke_test.sh +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/scripts/generate_jdk_exports.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/scripts/perf_gate.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/scripts/perf_harness.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/scripts/sync_gate_anchors.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/adaptive_scanner.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/answer_bounds.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/archetype.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/architectural_baseline.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/architectural_delta.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/architecture_analyzer.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/architecture_summary.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/ast_extractor.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/audit_clusters.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/audit_recipe.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/audit_report.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/audit_since.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/baseline_autocapture.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/breaking_changes.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/build_modules.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/bundled_docs.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/cache.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/cache_model.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/call_surface.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/caller_metrics.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/caller_reach.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/canonical_ir.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/chain_rules.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/change_plan.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/ci_output.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/cir_graphs.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/classifier.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/client_calls.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/code_notes_analyzer.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/compare.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/confidence_analyzer.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/constraint_diff.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/consumer_join.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/container_wiring.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/context_cache.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/context_graph.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/context_scorer.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/context_summarizer.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/contract_diff.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/contract_init.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/contract_model.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/contract_pipeline.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/coverage_parser.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/data_exposure.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/data_labels.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/declarations.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/defect_identity.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/degradation.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/dependency_analyzer.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/deployment_prefix.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/detach.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/detectors/__init__.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/detectors/base.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/detectors/csproj_parser.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/detectors/dart.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/detectors/dotnet.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/detectors/elixir.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/detectors/go.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/detectors/heuristic.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/detectors/hybrid.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/detectors/java.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/detectors/jvm_ext.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/detectors/nodejs.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/detectors/parsers.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/detectors/php.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/detectors/project.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/detectors/python.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/detectors/ruby.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/detectors/rust.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/detectors/systems.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/detectors/terraform.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/detectors/tooling.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/doc_analyzer.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/dynamic_argument_surface.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/empty_reach.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/endpoint_disposition.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/endpoint_literals.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/endpoint_metrics.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/entrypoint_classifier.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/env_analyzer.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/envelope.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/environment_resolution.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/error_schema.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/evidence_provider.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/execution_plan.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/explain.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/explain_endpoint.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/facts/__init__.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/facts/registry.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/field_deprecations.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/file_chunker.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/file_classifier.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/filter_surface.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/format_contract.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/fqn_utils.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/functional_routes.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/gate_anchors.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/git_analyzer.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/git_checkout.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/github_diff.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/graph_analyzer.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/graph_evidence.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/hibernate_strat.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/identity_fallback.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/integration_coordinates.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/jdk_exports.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/license.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/mcp/__init__.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/mcp/dependency_import.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/mcp/onboarding/__init__.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/mcp/onboarding/applier.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/mcp/onboarding/backup.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/mcp/onboarding/detector.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/mcp/onboarding/planner.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/mcp/orchestrator.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/mcp/registry.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/mcp/runner.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/mcp/server.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/mcp_nudge.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/metrics_analyzer.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/migrate_check.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/migration_apply.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/migration_blast.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/non_coverage.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/openapi_surface.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/openrewrite_recipe.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/output_bounds.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/output_budget.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/output_ceiling.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/output_encoding.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/output_sink.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/parallel.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/parse_cache.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/partial_contract.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/path_admission.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/path_filters.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/perf.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/phased_run.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/pipe_contract.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/posture.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/pr_comment_renderer.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/pr_impact.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/product_info.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/progress.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/provenance.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/ranking_engine.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/readiness_timeline.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/readonly.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/reconciliation.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/redactor.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/reference_facts.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/regress.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/release_info.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/relevance_scorer.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/remediation_diff.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/remedies.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/rename_refactor.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/repo_classifier.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/repository_ir.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/retrieval/__init__.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/retrieval/context.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/retrieval/errors.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/retrieval/executor.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/retrieval/planner.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/retrieval/query.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/retrieval/request.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/retrieval/resolution.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/retrieval/result.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/retrieval/retriever.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/retrieval/runtime.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/retrieval/steps.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/retrieval/steps_endpoint.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/retrieval/steps_graph.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/retrieval/steps_impact.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/retrieval/steps_intf.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/retrieval/steps_struct.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/retrieval/steps_txsec.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/ris.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/risk.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/risk_model.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/rule_catalog.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/rule_pass.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/runs.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/runtime_classifier.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/sarif.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/scanner.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/schema.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/schema_producers.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/schema_registry.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/schemas/core-analysis-v1.schema.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/schemas/endpoints-v1.schema.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/schemas/envelope-v1.schema.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/schemas/pr-impact-v1.schema.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/schemas/verify-edit-v1.schema.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/schemas/verify-v1.schema.json +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/security_chain.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/security_config.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/security_config_scan.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/security_posture.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/selftest.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/semantic_analyzer.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/semantic_impact_engine.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/semantic_integration_engine.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/semantic_services.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/serializer.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/servlet_surface.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/source_text.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/spring_event_topology.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/spring_findings.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/spring_impact.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/spring_model.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/spring_profiles.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/spring_properties.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/spring_security_audit.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/spring_semantic.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/spring_tx_analyzer.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/sql_taint.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/summarizer.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/target_admission.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/telemetry/__init__.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/telemetry/config.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/telemetry/consent.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/telemetry/events.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/telemetry/filters.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/telemetry/transport.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/test_gap_ranking.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/test_sources.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/text_input.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/timeline.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/timeline_cache.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/token_estimate.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/tree_utils.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/type_usage_surface.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/validation_inference.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/validation_surface.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/verify_repo.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/verify_rules.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/version_check.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/waivers.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/src/sourcecode/workspace.py +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/supabase/functions/README.md +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/supabase/functions/get-license/index.ts +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/supabase/functions/lemonsqueezy-webhook/index.ts +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/supabase/functions/telemetry/index.ts +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/supabase/sql/license_event_ordering.sql +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/supabase/sql/licensing_schema.sql +0 -0
- {sourcecode-5.8.15 → sourcecode-5.8.16}/supabase/sql/telemetry_events.sql +0 -0
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [5.8.16] — 2026-08-20
|
|
4
|
+
|
|
5
|
+
*Post-audit correction release with cache and compact-output hardening.*
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
- `cold-start --compact` now preserves its immutable identity contract even when
|
|
9
|
+
no Repository Intelligence Snapshot exists; unknown identity fields remain
|
|
10
|
+
explicit instead of being silently omitted.
|
|
11
|
+
- Dependency manifest cache keys now include `requirements.txt` and
|
|
12
|
+
`requirements-dev.txt`, preventing stale empty results after Python dependency
|
|
13
|
+
manifests are added or changed.
|
|
14
|
+
|
|
15
|
+
### Verified
|
|
16
|
+
- ASK exercised against all 36 repositories under `documents/workspace/testing`
|
|
17
|
+
across context, endpoint inventory and migration-check workflows: 108/108 runs
|
|
18
|
+
returned valid JSON with exit code 0.
|
|
19
|
+
- Focused regression coverage for compact identity, RIS, manifest caching and the
|
|
20
|
+
prior correction battery passes.
|
|
21
|
+
|
|
3
22
|
## [5.8.15] — 2026-08-20
|
|
4
23
|
|
|
5
24
|
*Correction battery release based on the fifth 5.8.14 audit.*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sourcecode
|
|
3
|
-
Version: 5.8.
|
|
3
|
+
Version: 5.8.16
|
|
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
|
|
@@ -55,7 +55,7 @@ Description-Content-Type: text/markdown
|
|
|
55
55
|
> question. All analysis is local and deterministic; see [Privacy](#configuration--privacy)
|
|
56
56
|
> before inspecting a repository whose telemetry policy you need to control.
|
|
57
57
|
|
|
58
|
-

|
|
59
59
|

|
|
60
60
|
|
|
61
61
|
Copyright (c) 2026 Dominique Haroun. All rights reserved. ASK Engine 5.7.0 and
|
|
@@ -125,7 +125,7 @@ stops at 1 408 files and ends at 5.1s. Commands outside that phase-runner set
|
|
|
125
125
|
must not be gated on this variable; their budget applicability remains visible in
|
|
126
126
|
the [defect ledger](docs/DEFECT-LEDGER.md).
|
|
127
127
|
|
|
128
|
-
**Current performance status.** Release 5.8.
|
|
128
|
+
**Current performance status.** Release 5.8.16 retains the shared Canonical IR
|
|
129
129
|
path used by `validation` and now passes that same CIR into labelled `data-exposure`
|
|
130
130
|
runs; the no-label path remains parse-free. The one-model-per-declared-label path is
|
|
131
131
|
also retained. These are implementation properties, not duration promises:
|
|
@@ -159,7 +159,7 @@ brew tap haroundominique/sourcecode && brew install sourcecode
|
|
|
159
159
|
# pip / pipx
|
|
160
160
|
pipx install sourcecode # or: pip install sourcecode
|
|
161
161
|
|
|
162
|
-
ask version # ask 5.8.
|
|
162
|
+
ask version # ask 5.8.16 — and, on a build that has aged,
|
|
163
163
|
# how many releases have probably shipped since
|
|
164
164
|
```
|
|
165
165
|
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
> question. All analysis is local and deterministic; see [Privacy](#configuration--privacy)
|
|
11
11
|
> before inspecting a repository whose telemetry policy you need to control.
|
|
12
12
|
|
|
13
|
-

|
|
14
14
|

|
|
15
15
|
|
|
16
16
|
Copyright (c) 2026 Dominique Haroun. All rights reserved. ASK Engine 5.7.0 and
|
|
@@ -80,7 +80,7 @@ stops at 1 408 files and ends at 5.1s. Commands outside that phase-runner set
|
|
|
80
80
|
must not be gated on this variable; their budget applicability remains visible in
|
|
81
81
|
the [defect ledger](docs/DEFECT-LEDGER.md).
|
|
82
82
|
|
|
83
|
-
**Current performance status.** Release 5.8.
|
|
83
|
+
**Current performance status.** Release 5.8.16 retains the shared Canonical IR
|
|
84
84
|
path used by `validation` and now passes that same CIR into labelled `data-exposure`
|
|
85
85
|
runs; the no-label path remains parse-free. The one-model-per-declared-label path is
|
|
86
86
|
also retained. These are implementation properties, not duration promises:
|
|
@@ -114,7 +114,7 @@ brew tap haroundominique/sourcecode && brew install sourcecode
|
|
|
114
114
|
# pip / pipx
|
|
115
115
|
pipx install sourcecode # or: pip install sourcecode
|
|
116
116
|
|
|
117
|
-
ask version # ask 5.8.
|
|
117
|
+
ask version # ask 5.8.16 — and, on a build that has aged,
|
|
118
118
|
# how many releases have probably shipped since
|
|
119
119
|
```
|
|
120
120
|
|
|
@@ -16,22 +16,43 @@ The facts these rows are keyed to are published: `ask schema facts-v1` prints th
|
|
|
16
16
|
|
|
17
17
|
## Current Synchronization
|
|
18
18
|
|
|
19
|
-
**Latest attached audit of release `5.8.
|
|
20
|
-
invocables (87%)**, byte-identical CIR across
|
|
21
|
-
regression.
|
|
22
|
-
|
|
23
|
-
earlier exit-0/no-output failures. Only the
|
|
24
|
-
state; older audit rounds remain
|
|
19
|
+
**Latest attached audit of release `5.8.15`:** score **90/100**, coverage **54/62
|
|
20
|
+
invocables (87%)**, byte-identical CIR across six versions, and no longitudinal functional
|
|
21
|
+
regression. A new P1 affects dirty-tree `verify-edit`; BUG-1 is reproduced on the
|
|
22
|
+
Windows/NTFS audit host. The historical `risk` P0 remains open because nine successful
|
|
23
|
+
runs do not disprove two earlier exit-0/no-output failures. Only the sixth-pass section
|
|
24
|
+
below declares present state; older audit rounds remain for traceability.
|
|
25
25
|
|
|
26
26
|
**Release status:** entries marked “pending `5.8.14`” in their historical wording are
|
|
27
27
|
shipped in `5.8.14`; the correction battery fixes listed above are included in `5.8.15`.
|
|
28
28
|
|
|
29
|
+
**Current release:** `5.8.16` includes two post-audit corrections: compact cold-start
|
|
30
|
+
identity is preserved for `no_ris`, and manifest-cache keys include Python requirements
|
|
31
|
+
files. The testing-repository hygiene exercise changed no external repository; it
|
|
32
|
+
completed 108/108 read-only workflow runs with valid JSON and exit code 0.
|
|
33
|
+
|
|
29
34
|
The battery also closed the following reproducible contract defects in `5.8.15`:
|
|
30
35
|
`migrate-apply` is registered across help, progress, path-admission, output-purity,
|
|
31
36
|
cache and schema authorities (`1d00ba2`); endpoint census output distinguishes excluded
|
|
32
37
|
test modules from retained test-fixture routes (`f65336d`, `014dec7`, `1c6cd0b`);
|
|
33
38
|
and compact posture output retains counts while omitting unresolved bodies (`dad5dad`).
|
|
34
39
|
|
|
40
|
+
The sixth audit supersedes the previous queue where it has stronger evidence: BUG-3 is
|
|
41
|
+
closed in stable-cache regime, BUG-1 is reproduced on the audit host, and BUG-4a is
|
|
42
|
+
partial because `onboard` still has no machine-readable population block.
|
|
43
|
+
|
|
44
|
+
### Sixth Audit Pass: `5.8.15` / `saint-server` / 2026-08-20
|
|
45
|
+
|
|
46
|
+
| ID | Severity | Current status | Required direction |
|
|
47
|
+
|---|---|---|---|
|
|
48
|
+
| `BUG-6` / `AUD-588-F02` | P1 | **implemented in working tree** (`26b4ab0`), external clone integration pending: removed security findings now count as changes and both-direction unit coverage passes. | Prove the real `authenticated() -> permitAll()` clone case before release; access opening remains the gate. |
|
|
49
|
+
| `BUG-1` / `AUD-511-R02`, `AUD-589-B02`, `AUD-513-N06` | P1 | **reproduced on Windows/NTFS**: `spring-audit` x1.66, `modernize` x1.67, `migrate-check` x1.90, `cache warm` x2.82 versus 5.8.13; output remains byte-identical. | Profile the target host and isolate the shared slow path; add a cross-host performance guard. |
|
|
50
|
+
| `BUG-3` / `443b345` | P1 | **closed in stable-cache regime**: `data-exposure` is 15.6s median, 7.2s best versus 41–44s historically, with identical output. | Preserve shared-CIR reuse and record host/cache provenance. |
|
|
51
|
+
| `BUG-4a` / `24b4185` | P2 | **implemented in working tree** (`89ee4a5`): the RIS fast path now publishes population/unit/total like the full path. | Validate and reconcile the 6939 versus 6947 scopes/bases before release. |
|
|
52
|
+
| `BUG-2` / `b5acc63` | P0 | **open, hardened**: 4/4 current runs delivered artifacts; historical failures remain unrefuted. | Keep the real subprocess invariant and reproduce historical failure conditions before closure. |
|
|
53
|
+
| `BUG-5` / `AUD-588-B12`, `AUD-588-F03` | P2 | **open**: cost anchors remain stale; `risk` model 77.2s versus ~305s observed, warm 166.7s versus 316s. | Rebuild anchors with host, cache state, version and sample provenance. |
|
|
54
|
+
| `AUD-588-F05` | Validation gap | **partially covered**: dirty-tree `verify-edit` is covered; seven mutating/denied invocables remain. | Finish the clone-based matrix without modifying the original repository. |
|
|
55
|
+
|
|
35
56
|
### Fifth Audit Pass: `5.8.14` / `saint-server` / 2026-08-20
|
|
36
57
|
|
|
37
58
|
| ID | Severity | Current status | Required direction |
|
|
@@ -3,36 +3,53 @@
|
|
|
3
3
|
*Chief-engineer development record. This is the internal, dev-facing counterpart to the
|
|
4
4
|
customer-facing `docs/EXECUTIVE-ROADMAP.md`.*
|
|
5
5
|
|
|
6
|
-
> **CURRENT STATE —
|
|
6
|
+
> **CURRENT STATE — sixth audit of 5.8.15, `saint-server`, 2026-08-20**
|
|
7
7
|
>
|
|
8
|
-
> The audit scores **
|
|
9
|
-
> (87%)**, and reports a byte-identical CIR across
|
|
10
|
-
>
|
|
11
|
-
>
|
|
8
|
+
> The audit scores **90/100** (`75 → 80 → 78 → 90 → 93 → 90`), covers **54/62 invocables
|
|
9
|
+
> (87%)**, and reports a byte-identical CIR across six versions. It found a new P1 in
|
|
10
|
+
> dirty-tree `verify-edit` and reproduced BUG-1 on the Windows/NTFS audit host; the
|
|
11
|
+
> longitudinal functional anchors remain unchanged.
|
|
12
12
|
>
|
|
13
13
|
> The posture bean anchor intentionally changed from 6,667 unconditional types to
|
|
14
14
|
> **1,904 Spring IoC bean definitions** (`conditional=5`, `active=3`, `inactive=2`,
|
|
15
15
|
> `unconditional=1,899`). This is a corrected population with explicit units, not a
|
|
16
16
|
> regression. The current correction/performance queue is:
|
|
17
17
|
|
|
18
|
-
> The reproducible contract gaps found while executing the battery are
|
|
19
|
-
> `5.8.
|
|
18
|
+
> The reproducible contract gaps found while executing the battery are shipped in
|
|
19
|
+
> `5.8.16`: `migrate-apply` is integrated in help/progress/admission/schema matrices;
|
|
20
20
|
> endpoint output names excluded test modules and preserves test-fixture scope;
|
|
21
21
|
> `posture --compact` bounds unresolved bodies without changing summary counts; and
|
|
22
22
|
> `cold-start` is treated as a bounded RIS projection rather than an artificial ceiling
|
|
23
23
|
> overflow case.
|
|
24
|
+
|
|
25
|
+
> **POST-AUDIT CORRECTION RELEASE — 5.8.16:** `cold-start --compact` now preserves
|
|
26
|
+
> immutable identity fields when no RIS exists, and manifest-cache invalidation includes
|
|
27
|
+
> `requirements.txt` and `requirements-dev.txt`. The 36-repository testing exercise
|
|
28
|
+
> completed 108/108 context, endpoint and migration-check runs with valid JSON and
|
|
29
|
+
> exit code 0. The unrelated `tests/test_cli.py` double-preprocessing case remains a
|
|
30
|
+
> test-harness issue and is not classified as a product defect.
|
|
31
|
+
|
|
32
|
+
> The sixth audit verifies BUG-3 closed in stable-cache regime (`data-exposure` 15.6s
|
|
33
|
+
> median, 7.2s best, byte-equivalent output), but downgrades BUG-4a to partial because
|
|
34
|
+
> `onboard` still has no machine-readable population block. It reports that
|
|
35
|
+
> `verify-edit` returns `security_delta.changed=false` and `pass` for both
|
|
36
|
+
> `permitAll() -> authenticated()` and the dangerous reverse direction. It also
|
|
37
|
+
> reproduces the cost regression: `spring-audit` x1.66, `modernize` x1.67,
|
|
38
|
+
> `migrate-check` x1.90 and `cache warm` x2.82 versus 5.8.13.
|
|
24
39
|
>
|
|
25
40
|
> | Priority | Work | Acceptance direction |
|
|
26
41
|
> |---|---|---|
|
|
27
|
-
> | P1 | **BUG-
|
|
42
|
+
> | P1 | **BUG-6 / `AUD-588-F02`**: dirty-tree `verify-edit` misses active security-chain changes in both directions. | **Implemented in working tree** (`26b4ab0`): removed security findings are now treated as changes; added/removed regression tests pass. Release it only after the clone-based integration case proves access opening. |
|
|
43
|
+
> | P1 | **BUG-1 / `AUD-511-R02`, `AUD-589-B02`, `AUD-513-N06`**: reproduced on Windows/NTFS: `spring-audit` x1.66, `modernize` x1.67, `migrate-check` x1.90, `cache warm` x2.82 versus 5.8.13. | Reproduce and profile on the target host; preserve byte-identical output and isolate the shared slow path. |
|
|
28
44
|
> | P0 | **BUG-2 / `AUD-588-B01`, `AUD-589-B01`, `C3-122`**: historical `risk` exit-0/no-output failures were not reproduced locally. | Keep the real-entry-point invariant and require external cold/shared-cache reproduction before closure. Hardening remains `b5acc63`. |
|
|
29
|
-
> | P1 | **BUG-3 / `
|
|
30
|
-
> | P2 | **BUG-4a/4b**: population units and risk-tier wording were inconsistent. | **
|
|
45
|
+
> | P1 | **BUG-3 / `443b345`**: historical `data-exposure --config` cost remained high. | **Closed in stable-cache regime**: 15.6s median and 7.2s best versus 41–44s historically, with identical output. Preserve provenance-bearing anchors. |
|
|
46
|
+
> | P2 | **BUG-4a/4b**: population units and risk-tier wording were inconsistent. | **4b closed** (`0376350`). **4a implemented in working tree** (`89ee4a5`): the RIS fast path now publishes the same population block as the full onboarding path; validate against the external 6939/6947 scope discrepancy before release. |
|
|
31
47
|
> | P2 / product decision | **BUG-4c**: `SEC-009` severity for active `anyRequest().permitAll()` with CSRF disabled remains `medium`. | **Resolved by design in 5.8.15** (`fb7632a`): severity remains medium and is pinned by calibration; active/profile evidence remains the decision context. |
|
|
32
48
|
> | P2 | **BUG-5 / `AUD-588-B12`, `AUD-588-F03`**: cost anchors are stale in both directions, worst for `risk` (77.2s model versus 461–846s measured). | Recalibrate only from provenance-bearing measurements: repository, cache state, host, samples, version and command. Align foreground advice with the explicit progress policy. |
|
|
33
|
-
> | Validation gap | **`AUD-588-F05`**: dirty-tree `verify-edit`
|
|
49
|
+
> | Validation gap | **`AUD-588-F05`**: dirty-tree `verify-edit` is covered, but seven mutating/denied invocables and several long commands remain unverified. | Keep the no-hardlinks clone protocol and finish the matrix without touching the audited tree. |
|
|
34
50
|
>
|
|
35
|
-
> **Remaining order:**
|
|
51
|
+
> **Remaining order:** BUG-6 `verify-edit.security_delta` → BUG-1 Windows cost isolation →
|
|
52
|
+
> BUG-4a onboarding population contract → BUG-5 portable cost-anchor calibration.
|
|
36
53
|
> Keep the risk P0 open until the real subprocess invariant is exercised again. EclipseLink
|
|
37
54
|
> migration automation remains deferred; provider non-coverage is the correct current answer.
|
|
38
55
|
>
|
|
@@ -3,35 +3,44 @@
|
|
|
3
3
|
*A software-knowledge platform for large codebases. Written for an engineering
|
|
4
4
|
director; no internal implementation knowledge assumed.*
|
|
5
5
|
|
|
6
|
-
> **DOCUMENT STATUS —
|
|
6
|
+
> **DOCUMENT STATUS — sixth audit of `5.8.15`, `saint-server`, 2026-08-20**
|
|
7
7
|
>
|
|
8
|
-
> The latest audit scores **
|
|
9
|
-
> byte-identical CIR across
|
|
10
|
-
>
|
|
11
|
-
>
|
|
12
|
-
> `
|
|
13
|
-
>
|
|
8
|
+
> The latest audit scores **90/100**, covers **54/62 invocables (87%)**, and reports a
|
|
9
|
+
> byte-identical CIR across six versions. It found a new high-priority functional defect:
|
|
10
|
+
> dirty-tree `verify-edit` misses security-chain changes and passes both tightening and
|
|
11
|
+
> the dangerous access-opening direction. It also reproduces the performance regression
|
|
12
|
+
> on Windows/NTFS: `spring-audit` x1.66, `modernize` x1.67, `migrate-check` x1.90 and
|
|
13
|
+
> `cache warm` x2.82 versus 5.8.13. `data-exposure` is now closed in stable-cache regime;
|
|
14
|
+
> `risk`'s historical P0 remains open.
|
|
14
15
|
>
|
|
15
|
-
> **Current queue:**
|
|
16
|
-
>
|
|
17
|
-
> recalibrate cost anchors with portable provenance.
|
|
18
|
-
>
|
|
19
|
-
>
|
|
16
|
+
> **Current queue:** fix `verify-edit.security_delta` by consuming the posture/spring-audit
|
|
17
|
+
> authority, isolate BUG-1 on the target Windows host, add the missing `onboard` population
|
|
18
|
+
> contract, and recalibrate cost anchors with portable provenance. Seven mutating or denied
|
|
19
|
+
> commands remain validation gaps. EclipseLink migration automation remains deferred behind
|
|
20
|
+
> honest non-coverage.
|
|
20
21
|
|
|
21
22
|
> **CURRENT PRIORITY**
|
|
22
23
|
>
|
|
23
|
-
> 1.
|
|
24
|
-
> 2.
|
|
25
|
-
> 3.
|
|
26
|
-
> 4.
|
|
24
|
+
> 1. Fix and gate `verify-edit.security_delta`, especially access opening.
|
|
25
|
+
> 2. Reproduce and isolate BUG-1 on Windows/NTFS, including cache warm and long-tail variability.
|
|
26
|
+
> 3. Add shared machine-readable population fields to `onboard`.
|
|
27
|
+
> 4. Recalibrate cost anchors with repository, cache, host, samples and version.
|
|
28
|
+
> 5. Finish the remaining F05 mutating/denied command validation.
|
|
29
|
+
|
|
30
|
+
> **RELEASED IN 5.8.16:** compact cold-start output now remains attributable when no
|
|
31
|
+
> RIS exists, and Python requirements manifests participate in dependency-cache
|
|
32
|
+
> invalidation. A 36-repository hygiene exercise completed 108/108 read-only workflow
|
|
33
|
+
> runs successfully.
|
|
27
34
|
|
|
28
35
|
> **RECOMMENDED FEATURES**
|
|
29
36
|
>
|
|
30
37
|
> The audit recommends timing/cache provenance, a unified cache-state authority, compact/agent
|
|
31
38
|
> sibling-view disclosure or parity, bounded-budget semantics, shared population units, a
|
|
32
39
|
> reusable fuzzy symbol resolver, and automated breaking-change registry enforcement. These
|
|
33
|
-
> continue `AUD-588-F02`/`F03
|
|
34
|
-
>
|
|
40
|
+
> continue `AUD-588-F02`/`F03`. The sixth pass adds security-diff parity for `verify-edit`,
|
|
41
|
+
> Windows/NTFS performance isolation, and a shared onboarding population contract. Long-tail
|
|
42
|
+
> latency in `validation` and `data-exposure` must be measured before attribution. EclipseLink
|
|
43
|
+
> automation remains deferred behind provider non-coverage disclosure (`AUD-588-F01`).
|
|
35
44
|
|
|
36
45
|
> **FIFTH-PASS INTERPRETATION:** `posture.summary` intentionally changed to the corrected
|
|
37
46
|
> Spring IoC population: `1,904` beans (`5` conditional, `3` active, `2` inactive,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Manual de usuario — ASK Engine
|
|
2
2
|
|
|
3
|
-
> Versión de la herramienta: **5.8.
|
|
3
|
+
> Versión de la herramienta: **5.8.16** · El comando que se ejecuta es `ask`.
|
|
4
4
|
> (`sourcecode` sigue funcionando como alias en desactivación y reenvía a `ask`.)
|
|
5
5
|
> Público: personas que van a usar `ask` por primera vez, sin conocimiento previo.
|
|
6
6
|
|
|
@@ -46,7 +46,7 @@ CLI commands — impact, endpoints, spring-audit, explain, … each a pro
|
|
|
46
46
|
The key idea: the extraction is **content-addressed**. Commands reuse the parse cache and,
|
|
47
47
|
where their analysed scope matches, the shared Canonical IR; `ask cache model` names what a
|
|
48
48
|
warm buys for each command rather than implying that every projection costs the same. In
|
|
49
|
-
5.8.
|
|
49
|
+
5.8.16, `validation` enters through that shared CIR and `data-exposure` reuses one semantic
|
|
50
50
|
model across all declared label seeds. (The extraction and consumption contract is fixed in
|
|
51
51
|
the architecture ADRs 0001–0004 under `docs/architecture/`.)
|
|
52
52
|
|
|
@@ -142,7 +142,7 @@ pipx install sourcecode # isolated install, no venv needed
|
|
|
142
142
|
|
|
143
143
|
# Verify
|
|
144
144
|
ask version
|
|
145
|
-
# ask 5.8.
|
|
145
|
+
# ask 5.8.16
|
|
146
146
|
```
|
|
147
147
|
|
|
148
148
|
Requires Python 3.9+.
|
|
@@ -15468,6 +15468,19 @@ def cold_start_cmd(
|
|
|
15468
15468
|
# so. All three are the shared bound now, not a rule invented here.
|
|
15469
15469
|
from sourcecode.output_bounds import compact_document, declare_cap
|
|
15470
15470
|
|
|
15471
|
+
# Keep the compact contract attributable even when there is no RIS yet.
|
|
15472
|
+
# There is no repository identity to recover in this case, so publish
|
|
15473
|
+
# explicit unknowns rather than letting the `no_ris` stub lose the
|
|
15474
|
+
# immutable provenance fields during compaction.
|
|
15475
|
+
if result.get("status") == "no_ris":
|
|
15476
|
+
result = {
|
|
15477
|
+
"schema_version": "1.1",
|
|
15478
|
+
"status": "no_ris",
|
|
15479
|
+
"repo_id": None,
|
|
15480
|
+
"git_head": None,
|
|
15481
|
+
"current_git_head": None,
|
|
15482
|
+
}
|
|
15483
|
+
|
|
15471
15484
|
_CS_ORIENTATION = (
|
|
15472
15485
|
"summary", "entrypoints", "endpoints", "project_type", "validation",
|
|
15473
15486
|
)
|
|
@@ -22,7 +22,7 @@ def _key(root: Path) -> str:
|
|
|
22
22
|
names = {
|
|
23
23
|
"pom.xml", "build.gradle", "build.gradle.kts", "package.json",
|
|
24
24
|
"package-lock.json", "pyproject.toml", "Cargo.toml", "go.mod",
|
|
25
|
-
"composer.json", "Gemfile",
|
|
25
|
+
"requirements.txt", "requirements-dev.txt", "composer.json", "Gemfile",
|
|
26
26
|
"*.csproj", "packages.lock.json",
|
|
27
27
|
}
|
|
28
28
|
paths: set[Path] = set()
|
|
@@ -1171,6 +1171,24 @@ class TaskContextBuilder:
|
|
|
1171
1171
|
if spec.enable_dependencies and not _ris_key_deps:
|
|
1172
1172
|
return None
|
|
1173
1173
|
|
|
1174
|
+
# The RIS fast path used to omit the population block that the full
|
|
1175
|
+
# onboarding scan publishes. That made a warm `onboard` answer
|
|
1176
|
+
# unverifiable and left its prose count without a declared basis.
|
|
1177
|
+
from sourcecode.path_filters import analysis_reads
|
|
1178
|
+
|
|
1179
|
+
source_total = 0
|
|
1180
|
+
for candidate in self.root.rglob("*"):
|
|
1181
|
+
if not candidate.is_file():
|
|
1182
|
+
continue
|
|
1183
|
+
try:
|
|
1184
|
+
relative = candidate.relative_to(self.root).as_posix()
|
|
1185
|
+
except ValueError:
|
|
1186
|
+
continue
|
|
1187
|
+
if not analysis_reads(relative) or self._is_test(relative):
|
|
1188
|
+
continue
|
|
1189
|
+
if self._is_source(relative):
|
|
1190
|
+
source_total += 1
|
|
1191
|
+
|
|
1174
1192
|
return TaskOutput(
|
|
1175
1193
|
task=task_name,
|
|
1176
1194
|
goal=spec.goal,
|
|
@@ -1185,6 +1203,11 @@ class TaskContextBuilder:
|
|
|
1185
1203
|
limitations=[],
|
|
1186
1204
|
confidence=compact.get("confidence") or compact.get("confidence_summary") or "high",
|
|
1187
1205
|
gaps=_gap_strs,
|
|
1206
|
+
population={
|
|
1207
|
+
"name": "source files",
|
|
1208
|
+
"unit": "non-test source files in the scanned repository tree",
|
|
1209
|
+
"total": source_total,
|
|
1210
|
+
},
|
|
1188
1211
|
)
|
|
1189
1212
|
except Exception:
|
|
1190
1213
|
return None
|
|
@@ -664,7 +664,45 @@ def _tx_axis(cir_head: Any, cir_working: Any, root: Path) -> AxisResult:
|
|
|
664
664
|
|
|
665
665
|
def _security_axis(cir_head: Any, cir_working: Any, root: Path) -> AxisResult:
|
|
666
666
|
from sourcecode.spring_security_audit import run_security_audit
|
|
667
|
-
|
|
667
|
+
try:
|
|
668
|
+
head_res = run_security_audit(cir_head, root=root)
|
|
669
|
+
work_res = run_security_audit(cir_working, root=root)
|
|
670
|
+
except Exception as exc:
|
|
671
|
+
return AxisResult(None, f"analyzer error: {exc}")
|
|
672
|
+
|
|
673
|
+
head_by_id = {finding.id: finding for finding in head_res.findings}
|
|
674
|
+
work_by_id = {finding.id: finding for finding in work_res.findings}
|
|
675
|
+
introduced = [work_by_id[key] for key in sorted(set(work_by_id) - set(head_by_id))]
|
|
676
|
+
removed = [head_by_id[key] for key in sorted(set(head_by_id) - set(work_by_id))]
|
|
677
|
+
if not introduced and not removed:
|
|
678
|
+
return AxisResult(False)
|
|
679
|
+
|
|
680
|
+
items = tuple(
|
|
681
|
+
{
|
|
682
|
+
"change": "introduced",
|
|
683
|
+
"pattern_id": finding.pattern_id,
|
|
684
|
+
"symbol": finding.symbol,
|
|
685
|
+
"severity": finding.severity,
|
|
686
|
+
"title": finding.title,
|
|
687
|
+
"source_file": finding.source_file,
|
|
688
|
+
}
|
|
689
|
+
for finding in introduced
|
|
690
|
+
) + tuple(
|
|
691
|
+
{
|
|
692
|
+
"change": "removed",
|
|
693
|
+
"pattern_id": finding.pattern_id,
|
|
694
|
+
"symbol": finding.symbol,
|
|
695
|
+
"severity": finding.severity,
|
|
696
|
+
"title": finding.title,
|
|
697
|
+
"source_file": finding.source_file,
|
|
698
|
+
}
|
|
699
|
+
for finding in removed
|
|
700
|
+
)
|
|
701
|
+
return AxisResult(
|
|
702
|
+
True,
|
|
703
|
+
f"{len(items)} security finding(s) changed",
|
|
704
|
+
items,
|
|
705
|
+
)
|
|
668
706
|
|
|
669
707
|
|
|
670
708
|
# ── bean-wiring axis (injects-graph diff) ───────────────────────────────────────
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/DESIGN-knowledge-provider-integration.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/DESIGN-p6-semantic-impact-engine.md
RENAMED
|
File without changes
|
{sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/DESIGN-p6-semantic-integration-engine.md
RENAMED
|
File without changes
|
|
File without changes
|
{sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/DESIGN-robustness-security-inference.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/REPORT-p6-flow-analyzer-comparison.md
RENAMED
|
File without changes
|
|
File without changes
|
{sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/REPORT-p8-flow-analyzer-migration.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/adr/0002-source-evidence-boundary.md
RENAMED
|
File without changes
|
{sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/adr/0003-architectural-characterization.md
RENAMED
|
File without changes
|
|
File without changes
|
{sourcecode-5.8.15 → sourcecode-5.8.16}/docs/architecture/adr/0005-evidence-reconciliation.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sourcecode-5.8.15 → sourcecode-5.8.16}/docs/eval/2026-06-15-petclinic-rest-issue147-validation.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sourcecode-5.8.15 → sourcecode-5.8.16}/docs/eval/2026-06-16-broadleaf-checkout-impact-fieldtest.md
RENAMED
|
File without changes
|
|
File without changes
|
{sourcecode-5.8.15 → sourcecode-5.8.16}/docs/eval/2026-06-16-spring-petclinic-issue2333-dead-vets.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|