sourcecode 5.9.2__tar.gz → 5.9.3__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.9.2 → sourcecode-5.9.3}/CHANGELOG.md +20 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/PKG-INFO +10 -4
- {sourcecode-5.9.2 → sourcecode-5.9.3}/README.md +9 -3
- sourcecode-5.9.3/docs/AUDIT-2026-08-27-EXTERNAL-5.9.2.md +68 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/DEVELOPMENT-ROADMAP.md +20 -1
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/EXECUTIVE-ROADMAP.md +16 -1
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/PRODUCT-ROUTE.md +16 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/USER_GUIDE.md +9 -3
- {sourcecode-5.9.2 → sourcecode-5.9.3}/pyproject.toml +1 -1
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/__init__.py +1 -1
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/cli.py +9 -3
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/license.py +28 -1
- {sourcecode-5.9.2 → sourcecode-5.9.3}/.github/workflows/build-windows.yml +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/.github/workflows/perf-gate.yml +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/.github/workflows/windows-battery.yml +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/.gitignore +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/.ruff.toml +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/CLAUDE.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/CODE_OF_CONDUCT.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/CONTRIBUTING.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/LICENSE +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/NOTICE +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/SECURITY.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/AUDIT-2026-08-22-5.8.22.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/AUDIT-2026-08-23-5.8.24.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/AUDIT-2026-08-23-COMMERCIAL.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/AUDIT-2026-08-23-CORPUS-AMPLIADO.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/AUDIT-2026-08-23-EXTERNAL-5.8.25.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/AUDIT-2026-08-23-EXTERNAL-5.8.26.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/AUDIT-2026-08-23-THINGSBOARD-FINDINGS.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/AUDIT-2026-08-26-EXTERNAL-5.8.26.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/AUDIT-2026-08-26-EXTERNAL-5.8.27.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/AUDIT-2026-08-26-EXTERNAL-5.8.28-PACK.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/AUDIT-2026-08-26-EXTERNAL-5.8.28.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/AUDIT-2026-08-26-EXTERNAL-5.8.31.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/AUDIT-2026-08-26-EXTERNAL-5.8.32.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/AUDIT-2026-08-26-EXTERNAL-5.9.0.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/AUDIT-2026-08-26-MONETIZATION.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/AUDIT-TESTING-CORPUS-2026-08-22.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/CACHE.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/COMMERCIAL-OFFER.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/CUSTOMER-VALIDATION.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/DEFECT-LEDGER.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/DEMO-5MIN.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/DOCUMENTATION-HYGIENE-2026-08-23.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/EXECUTION-PLAN-12MO.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/MANUAL-USUARIO.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/MODERNIZATION.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/PRODUCT_AUDIT.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/PRODUCT_IDENTITY.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/PRODUCT_TIERS.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/RC1-CHECKLIST.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/RELEASE-CHECKLIST.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/STRATEGY-2026-08-26-AGENT-CONTEXT.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/CATALOG-retrieval-intents.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/DESIGN-assessment-deployment-evidence.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/DESIGN-assessment-report.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/DESIGN-build-closure-provenance.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/DESIGN-knowledge-provider-integration.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/DESIGN-p5.3b-statement-surface.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/DESIGN-p5.5-span-index.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/DESIGN-p6-semantic-impact-engine.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/DESIGN-p6-semantic-integration-engine.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/DESIGN-p7-semantic-services.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/DESIGN-pack-gate-ci.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/DESIGN-pack-manifest.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/DESIGN-pack-mcp-api.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/DESIGN-robustness-security-inference.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/DESIGN-semantic-retrieval.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/EPV-p6-class-typeref.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/REPORT-p6-flow-analyzer-comparison.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/REPORT-p6-integration-detector-comparison.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/REPORT-p8-flow-analyzer-migration.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/REPORT-p9-integration-detector-migration.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/adr/0001-semantic-ir.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/adr/0002-source-evidence-boundary.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/adr/0003-architectural-characterization.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/adr/0004-semantic-retrieval.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/adr/0005-evidence-reconciliation.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/adr/0006-performance-harness.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/adr/0007-composition-semantics.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/adr/0008-answer-coherence.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/consumer-disposition-inventory.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/overview.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/product-architecture-review.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/product-strategy-layering.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/semantic-ir-consumer-matrix.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/semantic-ir-roadmap.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/baseline-ci.yml +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/commercial-pipeline-audit.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/contracts-ci.yml +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/contracts.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/eval/2026-06-15-petclinic-rest-issue11-vets-pagination.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/eval/2026-06-15-petclinic-rest-issue147-validation.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/eval/2026-06-15-petclinic-rest-workflow.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/eval/2026-06-15-phase18-openapi-surface.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/eval/2026-06-15-phase20-validation-surface.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/eval/2026-06-16-broadleaf-checkout-impact-fieldtest.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/eval/2026-06-16-petclinic-rest-issue11-weakness2-closed.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/eval/2026-06-16-spring-petclinic-issue2333-dead-vets.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/licensing-schema.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/migrate-check.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/pack-gate-github-actions.yml +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/pack-gate-gitlab.yml +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/README.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/REGRESSION-GATE.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.15/SUMMARY.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.15/alfresco__ask__cold.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.15/alfresco__ask__warm.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.15/broadleaf__ask__cold.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.15/broadleaf__ask__warm.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.15/eureka__ask__cold.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.15/eureka__ask__warm.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.15/jenkins__ask__cold.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.15/jenkins__ask__warm.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.15/jobrunr__ask__cold.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.15/jobrunr__ask__warm.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.15/keycloak__ask__cold.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.15/keycloak__ask__warm.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.15/neo4j__ask__cold.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.15/neo4j__ask__warm.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.15/ofbiz__ask__cold.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.15/ofbiz__ask__warm.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.15/openmrs__ask__cold.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.15/openmrs__ask__warm.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.15/petclinic__ask__cold.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.15/petclinic__ask__warm.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.16/SUMMARY.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.16/alfresco__ask__cold.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.16/alfresco__ask__warm.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.16/broadleaf__ask__cold.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.16/broadleaf__ask__warm.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.16/eureka__ask__cold.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.16/eureka__ask__warm.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.16/jenkins__ask__cold.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.16/jenkins__ask__warm.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.16/jobrunr__ask__cold.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.16/jobrunr__ask__warm.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.16/keycloak__ask__cold.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.16/keycloak__ask__warm.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.16/neo4j__ask__cold.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.16/neo4j__ask__warm.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.16/ofbiz__ask__cold.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.16/ofbiz__ask__warm.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.16/openmrs__ask__cold.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.16/openmrs__ask__warm.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.16/petclinic__ask__cold.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/2.5.16/petclinic__ask__warm.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/gate-latest/README.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/gate-latest/broadleaf__ask__warm.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/gate-latest/broadleaf__endpoints__warm.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/gate-latest/broadleaf__migrate-check__warm.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/gate-latest/broadleaf__posture__warm.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/gate-latest/broadleaf__spring-audit__warm.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/gate-latest/broadleaf__validation__warm.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/baselines/reference-best/README.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/perf/corpus-testing-2026-08-22.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/posture.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/privacy.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/pro-experience-audit.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/schema.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/spec/envelope-v1.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/docs/spring-audit-ci.yml +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/hatch_build.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/scripts/compare_integration_engines.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/scripts/context_cost_harness.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/scripts/customer_smoke_test.sh +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/scripts/generate_jdk_exports.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/scripts/perf_gate.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/scripts/perf_harness.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/scripts/sync_gate_anchors.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/scripts/test_fast.sh +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/__main__.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/access_drift.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/adaptive_scanner.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/analysis_budget.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/answer_bounds.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/archetype.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/architectural_baseline.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/architectural_delta.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/architecture_analyzer.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/architecture_summary.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/ast_extractor.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/audit_clusters.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/audit_recipe.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/audit_report.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/audit_since.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/audit_verify.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/baseline_attestation.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/baseline_autocapture.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/breaking_changes.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/build_modules.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/build_stamp.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/bundled_docs.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/c4_render.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/cache.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/cache_model.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/cache_observation.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/call_surface.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/caller_metrics.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/caller_reach.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/canonical_ir.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/chain_rules.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/change_plan.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/ci_output.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/cir_graphs.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/classifier.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/client_calls.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/code_notes_analyzer.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/compare.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/confidence_analyzer.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/constraint_diff.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/consumer_join.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/container_wiring.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/context_cache.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/context_graph.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/context_scorer.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/context_summarizer.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/contract_diff.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/contract_init.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/contract_model.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/contract_pipeline.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/coverage_parser.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/cve_feed.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/cve_reachability.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/data_exposure.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/data_labels.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/declarations.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/defect_classes/__init__.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/defect_classes/registry.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/defect_identity.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/degradation.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/dependency_analyzer.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/deployment_prefix.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/detach.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/detectors/__init__.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/detectors/base.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/detectors/csproj_parser.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/detectors/dart.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/detectors/dotnet.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/detectors/elixir.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/detectors/go.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/detectors/heuristic.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/detectors/hybrid.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/detectors/java.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/detectors/jvm_ext.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/detectors/nodejs.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/detectors/parsers.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/detectors/php.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/detectors/project.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/detectors/python.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/detectors/ruby.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/detectors/rust.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/detectors/systems.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/detectors/terraform.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/detectors/tooling.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/doc_analyzer.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/dynamic_argument_surface.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/empty_reach.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/endpoint_disposition.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/endpoint_literals.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/endpoint_metrics.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/entrypoint_classifier.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/env_analyzer.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/envelope.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/environment_resolution.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/error_schema.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/evidence_provider.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/execution_plan.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/explain.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/explain_endpoint.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/facts/__init__.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/facts/registry.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/field_deprecations.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/file_chunker.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/file_classifier.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/filter_surface.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/findings_baseline.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/format_contract.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/fqn_utils.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/functional_routes.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/gate_anchors.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/git_analyzer.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/git_checkout.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/github_diff.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/graph_analyzer.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/graph_evidence.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/hibernate_strat.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/identity_fallback.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/integration_coordinates.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/intent_router.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/jdk_exports.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/manifest_cache.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/mcp/__init__.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/mcp/dependency_import.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/mcp/onboarding/__init__.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/mcp/onboarding/applier.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/mcp/onboarding/backup.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/mcp/onboarding/detector.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/mcp/onboarding/planner.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/mcp/orchestrator.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/mcp/registry.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/mcp/runner.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/mcp/server.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/mcp_nudge.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/metrics_analyzer.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/migrate_check.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/migration_apply.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/migration_blast.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/non_coverage.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/openapi_surface.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/openrewrite_recipe.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/output_bounds.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/output_budget.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/output_ceiling.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/output_encoding.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/output_sink.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/pack_manifest.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/packs.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/parallel.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/parse_cache.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/partial_contract.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/path_admission.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/path_display.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/path_filters.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/perf.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/phased_run.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/pipe_contract.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/posture.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/pr_comment_renderer.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/pr_impact.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/pr_risk.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/prepare_context.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/product_info.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/progress.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/provenance.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/ranking_engine.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/readiness_timeline.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/readonly.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/reconciliation.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/redactor.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/reference_facts.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/regress.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/regulatory_pack.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/release_info.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/relevance_scorer.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/remediation_diff.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/remediation_flow.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/remediation_report.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/remedies.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/rename_refactor.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/repo_classifier.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/repository_ir.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/resource_budget.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/retrieval/__init__.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/retrieval/context.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/retrieval/errors.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/retrieval/executor.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/retrieval/planner.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/retrieval/query.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/retrieval/request.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/retrieval/resolution.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/retrieval/result.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/retrieval/retriever.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/retrieval/runtime.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/retrieval/steps.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/retrieval/steps_endpoint.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/retrieval/steps_graph.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/retrieval/steps_impact.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/retrieval/steps_intf.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/retrieval/steps_struct.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/retrieval/steps_txsec.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/ris.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/risk.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/risk_model.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/rule_catalog.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/rule_pass.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/runs.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/runtime_classifier.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/sarif.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/sarif_emit.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/scanner.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/schema.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/schema_producers.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/schema_registry.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/schemas/core-analysis-v1.schema.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/schemas/cve-reachability-v1.schema.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/schemas/endpoints-v1.schema.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/schemas/envelope-v1.schema.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/schemas/pr-impact-v1.schema.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/schemas/verify-edit-v1.schema.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/schemas/verify-v1.schema.json +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/security_chain.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/security_config.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/security_config_scan.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/security_posture.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/selection_contract.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/self_audit.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/selftest.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/semantic_analyzer.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/semantic_impact_engine.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/semantic_integration_engine.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/semantic_services.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/serializer.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/servlet_surface.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/source_text.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/spring_event_topology.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/spring_findings.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/spring_impact.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/spring_model.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/spring_profiles.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/spring_properties.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/spring_security_audit.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/spring_semantic.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/spring_tx_analyzer.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/sql_taint.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/summarizer.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/target_admission.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/telemetry/__init__.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/telemetry/config.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/telemetry/consent.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/telemetry/events.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/telemetry/filters.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/telemetry/transport.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/test_gap_ranking.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/test_sources.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/text_input.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/timeline.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/timeline_cache.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/token_estimate.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/tree_utils.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/type_usage_surface.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/validation_inference.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/validation_surface.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/verify_edit.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/verify_repo.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/verify_rules.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/version_check.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/vex.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/waivers.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/watch_loop.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/wired_surface.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/src/sourcecode/workspace.py +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/supabase/functions/README.md +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/supabase/functions/get-license/index.ts +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/supabase/functions/lemonsqueezy-webhook/index.ts +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/supabase/functions/telemetry/index.ts +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/supabase/sql/license_event_ordering.sql +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/supabase/sql/licensing_schema.sql +0 -0
- {sourcecode-5.9.2 → sourcecode-5.9.3}/supabase/sql/telemetry_events.sql +0 -0
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [5.9.3] — 2026-08-27
|
|
4
|
+
|
|
5
|
+
*Workspace entitlement correctness patch release.*
|
|
6
|
+
|
|
7
|
+
**Fixed**
|
|
8
|
+
|
|
9
|
+
- `auth workspace` collapses overlapping parent/child repository paths and
|
|
10
|
+
publishes `overlapping_paths`, preventing physical Java files from being
|
|
11
|
+
counted twice.
|
|
12
|
+
- `auth workspace` rejects nonexistent or non-directory paths through the
|
|
13
|
+
standard structured `INVALID_INPUT` / `missing` contract instead of treating
|
|
14
|
+
them as empty repositories.
|
|
15
|
+
|
|
16
|
+
**Validation**
|
|
17
|
+
|
|
18
|
+
- Added regression coverage for duplicate, overlapping, invalid and mixed
|
|
19
|
+
workspace inputs.
|
|
20
|
+
- Rechecked the contract against representative repositories under
|
|
21
|
+
`Documents/workspace/testing`.
|
|
22
|
+
|
|
3
23
|
## [5.9.2] — 2026-08-27
|
|
4
24
|
|
|
5
25
|
*Commercial positioning increment: bounded agent context, reproducible cost
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sourcecode
|
|
3
|
-
Version: 5.9.
|
|
3
|
+
Version: 5.9.3
|
|
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
|
|
@@ -59,7 +59,7 @@ Description-Content-Type: text/markdown
|
|
|
59
59
|
> question. All analysis is local and deterministic; see [Privacy](#configuration--privacy)
|
|
60
60
|
> before inspecting a repository whose telemetry policy you need to control.
|
|
61
61
|
|
|
62
|
-

|
|
63
63
|

|
|
64
64
|
|
|
65
65
|
Copyright (c) 2026 Dominique Haroun. All rights reserved. ASK Engine 5.7.0 and
|
|
@@ -196,7 +196,7 @@ set `ASK_MAX_RSS_MB=<megabytes>`; if the process exceeds it, ASK refuses the
|
|
|
196
196
|
answer with `MEMORY_TOO_LARGE`, including the observed peak and limit. Leave it
|
|
197
197
|
unset, or set it to `0`, to disable the ceiling explicitly.
|
|
198
198
|
|
|
199
|
-
**Current performance status.** Release 5.9.
|
|
199
|
+
**Current performance status.** Release 5.9.3 retains the shared Canonical IR
|
|
200
200
|
path used by `validation` and now passes that same CIR into labelled `data-exposure`
|
|
201
201
|
runs; the no-label path remains parse-free. These are implementation properties,
|
|
202
202
|
not duration promises. A controlled external warm-path audit has opened performance
|
|
@@ -212,6 +212,12 @@ aggregate Java entitlement. `--enforce` is an opt-in named-buyer pilot that reus
|
|
|
212
212
|
the existing Pro gate; advisory mode remains the default and no billing is
|
|
213
213
|
performed by the CLI.
|
|
214
214
|
|
|
215
|
+
`auth workspace` normalizes its repository arguments before counting. If one
|
|
216
|
+
path contains another, the parent is counted once and the overlap is published
|
|
217
|
+
in `overlapping_paths`; a missing or non-directory path is rejected as structured
|
|
218
|
+
invalid input rather than treated as an empty repository. This prevents silent
|
|
219
|
+
entitlement errors in CI and does not change per-repository gates or billing.
|
|
220
|
+
|
|
215
221
|
**What a warm actually covers.** `ask cache warm` rebuilds the declared root views and their
|
|
216
222
|
shared structural layers (L1/L2 + the Repository Intelligence Snapshot + the shared Canonical
|
|
217
223
|
IR). Pass `--views compact` or `--views compact,agent` to warm only selected views; without
|
|
@@ -237,7 +243,7 @@ brew tap haroundominique/sourcecode && brew install sourcecode
|
|
|
237
243
|
# pip / pipx
|
|
238
244
|
pipx install sourcecode # or: pip install sourcecode
|
|
239
245
|
|
|
240
|
-
ask version # ask 5.9.
|
|
246
|
+
ask version # ask 5.9.3 — and, on a build that has aged,
|
|
241
247
|
# how many releases have probably shipped since
|
|
242
248
|
```
|
|
243
249
|
|
|
@@ -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
|
|
@@ -147,7 +147,7 @@ set `ASK_MAX_RSS_MB=<megabytes>`; if the process exceeds it, ASK refuses the
|
|
|
147
147
|
answer with `MEMORY_TOO_LARGE`, including the observed peak and limit. Leave it
|
|
148
148
|
unset, or set it to `0`, to disable the ceiling explicitly.
|
|
149
149
|
|
|
150
|
-
**Current performance status.** Release 5.9.
|
|
150
|
+
**Current performance status.** Release 5.9.3 retains the shared Canonical IR
|
|
151
151
|
path used by `validation` and now passes that same CIR into labelled `data-exposure`
|
|
152
152
|
runs; the no-label path remains parse-free. These are implementation properties,
|
|
153
153
|
not duration promises. A controlled external warm-path audit has opened performance
|
|
@@ -163,6 +163,12 @@ aggregate Java entitlement. `--enforce` is an opt-in named-buyer pilot that reus
|
|
|
163
163
|
the existing Pro gate; advisory mode remains the default and no billing is
|
|
164
164
|
performed by the CLI.
|
|
165
165
|
|
|
166
|
+
`auth workspace` normalizes its repository arguments before counting. If one
|
|
167
|
+
path contains another, the parent is counted once and the overlap is published
|
|
168
|
+
in `overlapping_paths`; a missing or non-directory path is rejected as structured
|
|
169
|
+
invalid input rather than treated as an empty repository. This prevents silent
|
|
170
|
+
entitlement errors in CI and does not change per-repository gates or billing.
|
|
171
|
+
|
|
166
172
|
**What a warm actually covers.** `ask cache warm` rebuilds the declared root views and their
|
|
167
173
|
shared structural layers (L1/L2 + the Repository Intelligence Snapshot + the shared Canonical
|
|
168
174
|
IR). Pass `--views compact` or `--views compact,agent` to warm only selected views; without
|
|
@@ -188,7 +194,7 @@ brew tap haroundominique/sourcecode && brew install sourcecode
|
|
|
188
194
|
# pip / pipx
|
|
189
195
|
pipx install sourcecode # or: pip install sourcecode
|
|
190
196
|
|
|
191
|
-
ask version # ask 5.9.
|
|
197
|
+
ask version # ask 5.9.3 — and, on a build that has aged,
|
|
192
198
|
# how many releases have probably shipped since
|
|
193
199
|
```
|
|
194
200
|
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# External Audit Intake — ASK 5.9.2
|
|
2
|
+
|
|
3
|
+
**Received:** 2026-08-27
|
|
4
|
+
**Scope:** regression battery and commercial-positioning review against 5.9.1
|
|
5
|
+
**Source:** external audit supplied in the Codex task attachment
|
|
6
|
+
|
|
7
|
+
## Executive disposition
|
|
8
|
+
|
|
9
|
+
The report uses two different scoring lenses: **9.8/10** for the regression and
|
|
10
|
+
functional battery, and **9/10** for the strategic comparison against 5.9.1.
|
|
11
|
+
They are retained as separate assessments, not averaged into a product KPI.
|
|
12
|
+
|
|
13
|
+
The audit reports no critical defect and no regression in the previously closed
|
|
14
|
+
surface. It confirms stable behaviour for `SEC-004` / `DEAD-001`, `boot3_readiness`,
|
|
15
|
+
the `selftest` scope warning, pack-gate test-file poisoning, JAX-RS explainability,
|
|
16
|
+
CVE inventory scope, `pr-risk` error handling, `posture --diff --limit`, cache,
|
|
17
|
+
telemetry, baseline and pack flows.
|
|
18
|
+
|
|
19
|
+
Two new `auth workspace` defects are accepted into the engineering queue:
|
|
20
|
+
|
|
21
|
+
- **AUD-609-B01, medium:** overlapping repository arguments can double-count the
|
|
22
|
+
same physical Java files when a parent path and one of its descendants are both
|
|
23
|
+
supplied. This can make entitlement aggregation inaccurate and can produce a
|
|
24
|
+
false threshold crossing near the limit.
|
|
25
|
+
- **AUD-609-B02, low-medium:** a nonexistent repository path is treated as a valid
|
|
26
|
+
empty repository. A typo can therefore produce a successful but misleading
|
|
27
|
+
entitlement result in automation.
|
|
28
|
+
|
|
29
|
+
The audit's reproduction is accepted as a defect report, not as proof of the
|
|
30
|
+
suspected implementation mechanism. The fix must establish the invariant through
|
|
31
|
+
tests: overlapping inputs are explicit and deterministic, and invalid paths cannot
|
|
32
|
+
silently become empty repositories.
|
|
33
|
+
|
|
34
|
+
## Confirmed capabilities
|
|
35
|
+
|
|
36
|
+
- `audit-report --sign-key` and `audit-verify` perform an offline HMAC-SHA256
|
|
37
|
+
roundtrip: correct key and untouched content validate; an incorrect key or one-byte
|
|
38
|
+
content mutation fails with the appropriate result and exit code.
|
|
39
|
+
- `audit-report --pack ens` is evidence mapping only. It publishes `legal_claim: false`
|
|
40
|
+
and distinguishes present from missing control evidence; it is not ENS certification.
|
|
41
|
+
- `baseline attest` is deterministic, read-only and explicit about non-coverage, but
|
|
42
|
+
it does **not** sign or hash the attestation for independent integrity verification.
|
|
43
|
+
- `remediation-report` is a redacted JSON projection of ASK's own defect ledger, not
|
|
44
|
+
a remediation report for the user's analysed repository.
|
|
45
|
+
- `auth workspace --enforce` remains an opt-in named-buyer pilot and was not exercised
|
|
46
|
+
in this round.
|
|
47
|
+
- `schema` includes `ens-evidence-pack-v1`; `ask version` publishes closure coverage
|
|
48
|
+
and release cadence provenance.
|
|
49
|
+
|
|
50
|
+
## Commercial reading
|
|
51
|
+
|
|
52
|
+
The signed audit bundle materially strengthens the evidence-bundle thesis and is a
|
|
53
|
+
credible compliance-workflow input. It must be described as **tamper-evident integrity
|
|
54
|
+
evidence**, not a certificate: HMAC is symmetric, requires key sharing, and is not
|
|
55
|
+
public PKI. ENS/CRA mappings remain evidence mapping, not legal or regulatory advice.
|
|
56
|
+
|
|
57
|
+
The commercial route is therefore positive but not fully validated. The missing proof
|
|
58
|
+
is a signed historical attestation, concrete ENS/CRA control translation and a real
|
|
59
|
+
customer reference. The external price indication ($40-60 per developer/month) and
|
|
60
|
+
the "strong buy" verdict are market hypotheses, not pricing evidence; no price change
|
|
61
|
+
is authorized without buyer interviews, usage data or a paid reference.
|
|
62
|
+
|
|
63
|
+
## Regression and non-regression record
|
|
64
|
+
|
|
65
|
+
The reported cold-cache measurement (130.2 seconds) is within the supplied historical
|
|
66
|
+
range and is not a regression claim. The seven commands not yet composed into the
|
|
67
|
+
assessment/gate packs are a product opportunity, not a bug. All other re-checks in the
|
|
68
|
+
report are recorded as stable unless contradicted by the two defects above.
|
|
@@ -3,7 +3,12 @@
|
|
|
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 QUEUE — release `5.9.
|
|
6
|
+
> **CURRENT QUEUE — release `5.9.3`; external reconciliation `AUD-608` is implemented.**
|
|
7
|
+
> The 2026-08-27 external review adds `AUD-609-B01` (overlapping workspace paths
|
|
8
|
+
> double-count Java files) and `AUD-609-B02` (missing workspace paths accepted as
|
|
9
|
+
> empty repositories); both are fixed in `5.9.3`. It reports no regression in the
|
|
10
|
+
> prior closure set. Evidence and the commercial interpretation are in
|
|
11
|
+
> [`AUDIT-2026-08-27-EXTERNAL-5.9.2.md`](AUDIT-2026-08-27-EXTERNAL-5.9.2.md).
|
|
7
12
|
> `AUD-608-C01` is closed in `fe1f624`: `cve` declares static
|
|
8
13
|
> dependency-inventory coverage and non-coverage. `AUD-608-P01` is closed in
|
|
9
14
|
> `b479465`: `pr-risk --since` constructs its base context and surfaces failures
|
|
@@ -100,6 +105,20 @@ aspirations: each is asserted by that row's tests.
|
|
|
100
105
|
| `AUD-607-X09` | P3 | `self-audit` — run ASK against its own build. | `ask self-audit` (`self-audit-v1`) | **Implemented (`f1fa913`), with its "not recommended" reason shipped inside the payload.** The semantic engine does not apply to Python source, so those figures are absent and declared rather than reported as zeros. What it does check — cache model, format contract, schema registry and output affordances over the INSTALLED build — found a real drift on its first run. |
|
|
101
106
|
| `ASK-COM-01` | P1 | Continuous evidence attestation over persisted baseline history. | `ask baseline attest` (`baseline-attestation-v1`) | **Implemented.** Read-only projection of architecture or findings trend; publishes capture boundaries, latest commit, comparability and explicit non-coverage. It never claims legal compliance, improvement, or a clean zero without history. |
|
|
102
107
|
|
|
108
|
+
### Feature Intake — external review of 5.9.2, 2026-08-27
|
|
109
|
+
|
|
110
|
+
The supplied regression and market review reports no regression in the prior closure
|
|
111
|
+
set. Its two reproducible `auth workspace` defects are opened below; the report's
|
|
112
|
+
commercial recommendations are recorded as hypotheses, not product claims. Full
|
|
113
|
+
triage is in [`AUDIT-2026-08-27-EXTERNAL-5.9.2.md`](AUDIT-2026-08-27-EXTERNAL-5.9.2.md).
|
|
114
|
+
|
|
115
|
+
| ID | Priority | Feature / defect | Acceptance criteria | Status/order |
|
|
116
|
+
|---|---:|---|---|---|
|
|
117
|
+
| `AUD-609-B01` | P2 | `auth workspace` double-counts overlapping repository paths. | Normalize paths, detect parent/descendant overlap and prevent silent double-counting; publish an explicit overlap decision or reject the ambiguous input. Preserve deterministic per-repository evidence and add fixtures for parent-only, child-only and overlapping inputs. | **Fixed in `5.9.3`.** Parent/descendant inputs collapse to one counted tree and publish `overlapping_paths`. |
|
|
118
|
+
| `AUD-609-B02` | P2 | `auth workspace` accepts a nonexistent path as an empty repository. | Validate every input path before counting; return the repository's standard structured path error, or an explicit invalid entry that cannot yield a successful entitlement decision. Add a regression fixture for typos and mixed valid/invalid inputs. | **Fixed in `5.9.3`.** Invalid paths fail with structured `INVALID_INPUT` / `missing`. |
|
|
119
|
+
| `AUD-609-C01` | P2 | Signed evidence and historical attestation use different integrity contracts. | Decide whether `baseline attest` gains the existing signing mechanism or clearly publishes that it is unsigned; document the choice in help, schema and buyer-facing material. Do not call unsigned output a certificate or compliance proof. | **Queued, commercial validation.** No implementation claim until the signing boundary and key model are explicit. |
|
|
120
|
+
| `AUD-609-C02` | P3 | Translate technical evidence into concrete ENS/CRA controls. | Define a named control mapping with source evidence, missing evidence and `legal_claim: false`; validate it with a named compliance buyer or auditor before presenting it as a market capability. | **Queued, buyer-gated.** `audit-report --pack ens` remains evidence mapping only. |
|
|
121
|
+
|
|
103
122
|
### Explicitly Rejected
|
|
104
123
|
|
|
105
124
|
These are not roadmap work: `--format` and `--compact` remain separate contracts;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
> `pack assessment` and `pack gate`, and make evidence and safe change the
|
|
6
6
|
> product surface. This roadmap must not introduce a competing product thesis.
|
|
7
7
|
|
|
8
|
-
> **CURRENT UPDATE — release `5.9.
|
|
8
|
+
> **CURRENT UPDATE — release `5.9.3`, following the external `5.9.0` reconciliation (`AUD-608`).**
|
|
9
9
|
> The commercial increment adds stateless context budgets, a reproducible context-cost harness,
|
|
10
10
|
> source-level migration SARIF and an opt-in workspace entitlement pilot. Advisory behaviour remains
|
|
11
11
|
> the default; named-buyer validation is still required before broad enforcement.
|
|
@@ -19,6 +19,21 @@
|
|
|
19
19
|
> non-reproduction did not cover the payload shape now identified. Details are
|
|
20
20
|
> in [`AUDIT-2026-08-26-EXTERNAL-5.9.0.md`](AUDIT-2026-08-26-EXTERNAL-5.9.0.md).
|
|
21
21
|
|
|
22
|
+
> **EXTERNAL REVIEW — 5.9.2, received 2026-08-27.** No regression was reported in the
|
|
23
|
+
> previously closed surface. Two `auth workspace` defects are now open: overlapping
|
|
24
|
+
> parent/child paths can double-count Java files, and nonexistent paths are accepted as
|
|
25
|
+
> empty repositories. Both affect entitlement accuracy and must close before pricing or
|
|
26
|
+
> enforcement decisions rely on workspace aggregation. `audit-report --sign-key` plus
|
|
27
|
+
> `audit-verify` is confirmed as working offline HMAC-SHA256 integrity evidence.
|
|
28
|
+
> `baseline attest` remains unsigned and must not be sold as a tamper-verifiable
|
|
29
|
+
> certificate. ENS output is evidence mapping only (`legal_claim: false`); no customer
|
|
30
|
+
> reference or buyer validation exists yet. Full triage: [`AUDIT-2026-08-27-EXTERNAL-5.9.2.md`](AUDIT-2026-08-27-EXTERNAL-5.9.2.md).
|
|
31
|
+
|
|
32
|
+
> **5.9.3 correction.** `auth workspace` now counts overlapping parent/child paths once
|
|
33
|
+
> and rejects missing or non-directory paths with the standard structured input error.
|
|
34
|
+
> Workspace entitlement is therefore safer to measure, but remains advisory by default;
|
|
35
|
+
> no pricing or enforcement decision is authorized by this fix alone.
|
|
36
|
+
|
|
22
37
|
> **HISTORICAL STATUS — release `5.9.0`, following two external audits of `5.8.32`, 2026-08-26.** Two
|
|
23
38
|
> independent rounds scored the release **9.7/10** (reverification) and **8/10** (comparison against
|
|
24
39
|
> `5.8.31`). **Neither round reported a regression**, and both maintained the same commercial
|
|
@@ -33,6 +33,22 @@ The public trust layer, if activated, must be a generated and redacted
|
|
|
33
33
|
projection, never the raw defect ledger. Its acceptance rules must exclude
|
|
34
34
|
maintainer paths, third-party evaluation subjects and unsupported claims.
|
|
35
35
|
|
|
36
|
+
### Evidence and commercial validation boundary
|
|
37
|
+
|
|
38
|
+
The 5.9.2 external review confirms that `audit-report --sign-key` and
|
|
39
|
+
`audit-verify` provide offline HMAC-SHA256 integrity verification for an evidence
|
|
40
|
+
bundle. The route may describe this as tamper-evident bundle integrity, not as a
|
|
41
|
+
certificate or public-PKI trust: HMAC is symmetric and requires controlled key
|
|
42
|
+
sharing. `audit-report --pack ens` remains an evidence mapping with
|
|
43
|
+
`legal_claim: false`, not ENS/CRA certification or legal advice.
|
|
44
|
+
|
|
45
|
+
`baseline attest` is a deterministic, read-only continuity projection, but it is
|
|
46
|
+
currently unsigned. Until its integrity contract is decided and validated, it
|
|
47
|
+
must not be positioned as independently verifiable historical evidence. A real
|
|
48
|
+
customer reference, concrete control translation and buyer evidence are still
|
|
49
|
+
required before changing the price, activating workspace enforcement or claiming
|
|
50
|
+
compliance-market fit. External price opinions are hypotheses, not pricing data.
|
|
51
|
+
|
|
36
52
|
## Individual commands and packs
|
|
37
53
|
|
|
38
54
|
Every existing command remains supported for users who want a precise answer:
|
|
@@ -46,13 +46,13 @@ 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.9.
|
|
49
|
+
5.9.3, `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
|
|
|
53
53
|
The current external pack audit intake is tracked in
|
|
54
54
|
[`AUDIT-2026-08-26-EXTERNAL-5.8.28-PACK.md`](AUDIT-2026-08-26-EXTERNAL-5.8.28-PACK.md);
|
|
55
|
-
the two pack fixes are included in release 5.9.
|
|
55
|
+
the two pack fixes are included in release 5.9.3, with release-artifact verification
|
|
56
56
|
remaining for detached execution and pack evidence.
|
|
57
57
|
|
|
58
58
|
---
|
|
@@ -221,7 +221,7 @@ pipx install sourcecode # isolated install, no venv needed
|
|
|
221
221
|
|
|
222
222
|
# Verify
|
|
223
223
|
ask version
|
|
224
|
-
# ask 5.9.
|
|
224
|
+
# ask 5.9.3
|
|
225
225
|
```
|
|
226
226
|
|
|
227
227
|
Requires Python 3.9+.
|
|
@@ -1180,6 +1180,8 @@ the stored architecture or findings series (`--kind findings`) and publishes its
|
|
|
1180
1180
|
boundaries, latest commit, comparability and explicit limits as `baseline-attestation-v1`.
|
|
1181
1181
|
It is evidence continuity, not a legal or regulatory compliance verdict, and it returns
|
|
1182
1182
|
`status: no_history` instead of manufacturing a clean zero when no capture exists.
|
|
1183
|
+
Unlike `audit-report --sign-key`, `baseline attest` is currently unsigned: its
|
|
1184
|
+
`content_id` supports deterministic comparison, not third-party tamper verification.
|
|
1183
1185
|
|
|
1184
1186
|
For a multi-repository buyer, `ask auth workspace <repo>...` previews the aggregate Java
|
|
1185
1187
|
population that a workspace-sized entitlement would see. The preview is advisory only: it
|
|
@@ -1187,6 +1189,10 @@ does not change the current per-repository gate or charge the workspace.
|
|
|
1187
1189
|
For a named-buyer pilot, add `--enforce`: crossing the aggregate threshold then requires
|
|
1188
1190
|
the existing Pro entitlement and exits with the standard license-required contract; below
|
|
1189
1191
|
the threshold it passes. This flag is opt-in and does not change per-repository gates.
|
|
1192
|
+
Repository arguments are normalized before counting. If a parent and descendant are both
|
|
1193
|
+
supplied, the parent is counted once and the overlap is listed in `overlapping_paths`.
|
|
1194
|
+
Missing or non-directory paths fail with the standard structured `INVALID_INPUT` / `missing`
|
|
1195
|
+
contract; they are never treated as empty repositories.
|
|
1190
1196
|
|
|
1191
1197
|
---
|
|
1192
1198
|
|
|
@@ -17919,7 +17919,8 @@ def auth_workspace_cmd(
|
|
|
17919
17919
|
"--enforce",
|
|
17920
17920
|
help=(
|
|
17921
17921
|
"Pilot gate: require the existing Pro entitlement when the aggregate "
|
|
17922
|
-
"workspace threshold is exceeded. Advisory by default."
|
|
17922
|
+
"workspace threshold is exceeded. Advisory by default. Overlapping "
|
|
17923
|
+
"paths are counted once; missing paths are rejected."
|
|
17923
17924
|
),
|
|
17924
17925
|
),
|
|
17925
17926
|
) -> None:
|
|
@@ -17927,12 +17928,17 @@ def auth_workspace_cmd(
|
|
|
17927
17928
|
|
|
17928
17929
|
Advisory mode is the default. Use ``--enforce`` only for the named-buyer
|
|
17929
17930
|
pilot: it reuses the existing Pro gate when the aggregate threshold is
|
|
17930
|
-
crossed and performs no billing.
|
|
17931
|
+
crossed and performs no billing. Repository paths are normalized, parent /
|
|
17932
|
+
descendant overlaps are counted once, and missing paths are rejected.
|
|
17931
17933
|
"""
|
|
17932
17934
|
_enforce_format("auth-workspace", format)
|
|
17933
17935
|
from sourcecode.license import require_pro, workspace_entitlement
|
|
17934
17936
|
|
|
17935
|
-
|
|
17937
|
+
validated_repos = [
|
|
17938
|
+
_admit_path(repo, usage="auth workspace")
|
|
17939
|
+
for repo in repos
|
|
17940
|
+
]
|
|
17941
|
+
data = workspace_entitlement([str(repo) for repo in validated_repos], enforce=enforce)
|
|
17936
17942
|
if data["enforcement_decision"] == "pro_required":
|
|
17937
17943
|
require_pro("workspace entitlement")
|
|
17938
17944
|
_emit_command_output(
|
|
@@ -550,7 +550,33 @@ def workspace_entitlement(
|
|
|
550
550
|
aggregate crosses the threshold. This function only publishes the decision;
|
|
551
551
|
it never changes the per-repository rule or performs billing.
|
|
552
552
|
"""
|
|
553
|
-
|
|
553
|
+
normalized = sorted({str(Path(path).resolve()) for path in repo_paths})
|
|
554
|
+
invalid = [path for path in normalized if not Path(path).is_dir()]
|
|
555
|
+
if invalid:
|
|
556
|
+
raise FileNotFoundError(
|
|
557
|
+
"Workspace repository path does not exist or is not a directory: "
|
|
558
|
+
+ invalid[0]
|
|
559
|
+
)
|
|
560
|
+
unique: list[str] = []
|
|
561
|
+
overlapping_paths: list[dict[str, str]] = []
|
|
562
|
+
for candidate in normalized:
|
|
563
|
+
parent = next(
|
|
564
|
+
(existing for existing in unique if Path(candidate) == Path(existing)
|
|
565
|
+
or Path(existing) in Path(candidate).parents),
|
|
566
|
+
None,
|
|
567
|
+
)
|
|
568
|
+
if parent is not None:
|
|
569
|
+
overlapping_paths.append({"parent": parent, "child": candidate})
|
|
570
|
+
continue
|
|
571
|
+
descendants = [
|
|
572
|
+
existing for existing in unique
|
|
573
|
+
if Path(candidate) in Path(existing).parents
|
|
574
|
+
]
|
|
575
|
+
for descendant in descendants:
|
|
576
|
+
unique.remove(descendant)
|
|
577
|
+
overlapping_paths.append({"parent": candidate, "child": descendant})
|
|
578
|
+
unique.append(candidate)
|
|
579
|
+
unique.sort()
|
|
554
580
|
repositories = [
|
|
555
581
|
{"path": path, "java_files": count_java_files(path)}
|
|
556
582
|
for path in unique
|
|
@@ -561,6 +587,7 @@ def workspace_entitlement(
|
|
|
561
587
|
"status": "ok" if repositories else "no_repositories",
|
|
562
588
|
"repository_count": len(repositories),
|
|
563
589
|
"repositories": repositories,
|
|
590
|
+
"overlapping_paths": overlapping_paths,
|
|
564
591
|
"workspace_java_files": total,
|
|
565
592
|
"workspace_java_file_limit": _FREE_REPO_JAVA_FILE_LIMIT,
|
|
566
593
|
"workspace_threshold_exceeded": total > _FREE_REPO_JAVA_FILE_LIMIT,
|
|
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
|
|
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
|
|
File without changes
|
{sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/DESIGN-assessment-deployment-evidence.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/DESIGN-knowledge-provider-integration.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/DESIGN-p6-semantic-integration-engine.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/DESIGN-robustness-security-inference.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/REPORT-p6-flow-analyzer-comparison.md
RENAMED
|
File without changes
|
{sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/REPORT-p6-integration-detector-comparison.md
RENAMED
|
File without changes
|
{sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/REPORT-p8-flow-analyzer-migration.md
RENAMED
|
File without changes
|
{sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/REPORT-p9-integration-detector-migration.md
RENAMED
|
File without changes
|
|
File without changes
|
{sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/adr/0002-source-evidence-boundary.md
RENAMED
|
File without changes
|
{sourcecode-5.9.2 → sourcecode-5.9.3}/docs/architecture/adr/0003-architectural-characterization.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
|
|
File without changes
|