sourcecode 4.10.0__tar.gz → 4.10.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sourcecode-4.10.0 → sourcecode-4.10.1}/CHANGELOG.md +22 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/PKG-INFO +3 -3
- {sourcecode-4.10.0 → sourcecode-4.10.1}/README.md +2 -2
- {sourcecode-4.10.0 → sourcecode-4.10.1}/pyproject.toml +1 -1
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/__init__.py +1 -1
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/migrate_check.py +1 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/provenance.py +12 -9
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/repository_ir.py +21 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/.github/workflows/build-windows.yml +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/.gitignore +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/.ruff.toml +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/CLAUDE.md +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/CONTRIBUTING.md +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/LICENSE +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/SECURITY.md +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/raw +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/scripts/compare_integration_engines.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/scripts/customer_smoke_test.sh +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/scripts/generate_jdk_exports.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/scripts/perf_harness.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/adaptive_scanner.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/archetype.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/architectural_baseline.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/architectural_delta.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/architecture_analyzer.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/architecture_summary.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/ast_extractor.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/audit_report.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/baseline_autocapture.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/cache.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/cache_model.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/call_surface.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/caller_metrics.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/caller_reach.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/canonical_ir.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/chain_rules.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/change_plan.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/cir_graphs.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/classifier.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/cli.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/client_calls.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/code_notes_analyzer.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/compare.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/confidence_analyzer.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/constraint_diff.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/context_cache.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/context_graph.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/context_scorer.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/context_summarizer.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/contract_diff.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/contract_init.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/contract_model.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/contract_pipeline.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/coverage_parser.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/data_exposure.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/data_labels.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/defect_identity.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/degradation.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/dependency_analyzer.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/deployment_prefix.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/detectors/__init__.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/detectors/base.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/detectors/csproj_parser.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/detectors/dart.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/detectors/dotnet.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/detectors/elixir.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/detectors/go.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/detectors/heuristic.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/detectors/hybrid.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/detectors/java.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/detectors/jvm_ext.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/detectors/nodejs.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/detectors/parsers.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/detectors/php.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/detectors/project.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/detectors/python.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/detectors/ruby.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/detectors/rust.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/detectors/systems.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/detectors/terraform.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/detectors/tooling.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/doc_analyzer.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/dynamic_argument_surface.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/endpoint_literals.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/endpoint_metrics.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/entrypoint_classifier.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/env_analyzer.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/envelope.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/environment_resolution.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/error_schema.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/evidence_provider.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/explain.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/facts/__init__.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/facts/registry.json +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/file_chunker.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/file_classifier.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/filter_surface.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/format_contract.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/fqn_utils.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/git_analyzer.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/git_checkout.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/graph_analyzer.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/graph_evidence.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/hibernate_strat.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/identity_fallback.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/integration_coordinates.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/jdk_exports.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/license.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/mcp/__init__.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/mcp/onboarding/__init__.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/mcp/onboarding/applier.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/mcp/onboarding/backup.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/mcp/onboarding/detector.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/mcp/onboarding/planner.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/mcp/orchestrator.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/mcp/registry.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/mcp/runner.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/mcp/server.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/mcp_nudge.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/metrics_analyzer.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/migration_blast.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/non_coverage.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/openapi_surface.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/openrewrite_recipe.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/output_budget.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/parse_cache.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/path_admission.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/path_filters.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/perf.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/pipe_contract.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/posture.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/pr_comment_renderer.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/pr_impact.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/prepare_context.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/progress.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/ranking_engine.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/readiness_timeline.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/reconciliation.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/redactor.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/reference_facts.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/release_info.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/relevance_scorer.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/remedies.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/rename_refactor.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/repo_classifier.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/retrieval/__init__.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/retrieval/context.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/retrieval/errors.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/retrieval/executor.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/retrieval/planner.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/retrieval/query.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/retrieval/request.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/retrieval/resolution.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/retrieval/result.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/retrieval/retriever.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/retrieval/runtime.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/retrieval/steps.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/retrieval/steps_endpoint.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/retrieval/steps_graph.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/retrieval/steps_impact.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/retrieval/steps_intf.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/retrieval/steps_struct.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/retrieval/steps_txsec.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/ris.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/risk.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/rule_catalog.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/runs.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/runtime_classifier.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/sarif.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/scanner.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/schema.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/schemas/envelope-v1.schema.json +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/security_config.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/security_config_scan.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/security_posture.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/semantic_analyzer.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/semantic_impact_engine.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/semantic_integration_engine.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/semantic_services.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/serializer.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/servlet_surface.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/source_text.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/spring_event_topology.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/spring_findings.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/spring_impact.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/spring_model.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/spring_profiles.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/spring_properties.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/spring_security_audit.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/spring_semantic.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/spring_tx_analyzer.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/summarizer.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/target_admission.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/telemetry/__init__.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/telemetry/config.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/telemetry/consent.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/telemetry/events.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/telemetry/filters.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/telemetry/transport.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/test_gap_ranking.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/test_sources.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/token_estimate.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/tree_utils.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/type_usage_surface.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/validation_inference.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/validation_surface.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/verify_edit.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/verify_repo.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/verify_rules.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/version_check.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/src/sourcecode/workspace.py +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/supabase/functions/README.md +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/supabase/functions/get-license/index.ts +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/supabase/functions/lemonsqueezy-webhook/index.ts +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/supabase/functions/telemetry/index.ts +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/supabase/sql/license_event_ordering.sql +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/supabase/sql/licensing_schema.sql +0 -0
- {sourcecode-4.10.0 → sourcecode-4.10.1}/supabase/sql/telemetry_events.sql +0 -0
|
@@ -2,6 +2,28 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [4.10.1] — 2026-08-05
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
|
|
9
|
+
- **`cache model` now includes `audit-report`.** Warm-cache documentation and
|
|
10
|
+
machine output now agree that `audit-report` reuses the same structural layers
|
|
11
|
+
as the other deep analysis/reporting commands.
|
|
12
|
+
- **`migrate-check --blast-radius` no longer changes unrelated provenance.**
|
|
13
|
+
The optional blast-radius flag now adds only the blast-radius block; the shared
|
|
14
|
+
evidence manifest stays deterministic for shape-comparison consumers.
|
|
15
|
+
- **`impact` expands class/interface seeds to in-repository subtypes.** A base
|
|
16
|
+
class or interface query now reaches callers of subtype members, matching the
|
|
17
|
+
endpoint-reach behavior already expected from `impact-chain`.
|
|
18
|
+
- **Severity fields are locked to named units.** Tests now preserve the contract
|
|
19
|
+
that declared scanner severity, composed effective severity and risk band are
|
|
20
|
+
separate fields rather than contradictory values for the same claim.
|
|
21
|
+
|
|
22
|
+
### Documentation
|
|
23
|
+
|
|
24
|
+
- README, user guide, roadmap and defect ledger now reflect the 4.10.1 patch
|
|
25
|
+
status and close stale rows that were already fixed by measured tests.
|
|
26
|
+
|
|
5
27
|
## [4.10.0] — 2026-08-05
|
|
6
28
|
|
|
7
29
|
### Fixed
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sourcecode
|
|
3
|
-
Version: 4.10.
|
|
3
|
+
Version: 4.10.1
|
|
4
4
|
Summary: Persistent structural context and ultra-fast repeated analysis for AI coding agents
|
|
5
5
|
License-File: LICENSE
|
|
6
6
|
Keywords: agents,ai,codebase,context,developer-tools,llm
|
|
@@ -42,7 +42,7 @@ Description-Content-Type: text/markdown
|
|
|
42
42
|
|
|
43
43
|
**Context · Impact · Migration · Architecture · Review — everything from one structural model.**
|
|
44
44
|
|
|
45
|
-

|
|
46
46
|

|
|
47
47
|
|
|
48
48
|
> **ASK Engine** is the product. The CLI command is **`ask`**. The legacy **`sourcecode`**
|
|
@@ -99,7 +99,7 @@ brew tap haroundominique/sourcecode && brew install sourcecode
|
|
|
99
99
|
# pip / pipx
|
|
100
100
|
pipx install sourcecode # or: pip install sourcecode
|
|
101
101
|
|
|
102
|
-
ask version # ask 4.10.
|
|
102
|
+
ask version # ask 4.10.1 — and, on a build that has aged,
|
|
103
103
|
# how many releases have probably shipped since
|
|
104
104
|
```
|
|
105
105
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
**Context · Impact · Migration · Architecture · Review — everything from one structural model.**
|
|
6
6
|
|
|
7
|
-

|
|
8
8
|

|
|
9
9
|
|
|
10
10
|
> **ASK Engine** is the product. The CLI command is **`ask`**. The legacy **`sourcecode`**
|
|
@@ -61,7 +61,7 @@ brew tap haroundominique/sourcecode && brew install sourcecode
|
|
|
61
61
|
# pip / pipx
|
|
62
62
|
pipx install sourcecode # or: pip install sourcecode
|
|
63
63
|
|
|
64
|
-
ask version # ask 4.10.
|
|
64
|
+
ask version # ask 4.10.1 — and, on a build that has aged,
|
|
65
65
|
# how many releases have probably shipped since
|
|
66
66
|
```
|
|
67
67
|
|
|
@@ -162,6 +162,7 @@ def build_evidence_manifest(
|
|
|
162
162
|
command: str,
|
|
163
163
|
root: Path,
|
|
164
164
|
inputs: Optional[dict[str, Any]] = None,
|
|
165
|
+
include_generated_at: bool = True,
|
|
165
166
|
) -> dict[str, Any]:
|
|
166
167
|
"""Build a machine-readable provenance index for an existing payload."""
|
|
167
168
|
root = Path(root).resolve()
|
|
@@ -173,17 +174,19 @@ def build_evidence_manifest(
|
|
|
173
174
|
for claim in claims
|
|
174
175
|
if (claim.get("source") or {}).get("path")
|
|
175
176
|
})
|
|
177
|
+
run: dict[str, Any] = {
|
|
178
|
+
"command": command,
|
|
179
|
+
"tool": "ask",
|
|
180
|
+
"tool_version": __version__,
|
|
181
|
+
"repository": str(root),
|
|
182
|
+
"git_head": _git_head(root),
|
|
183
|
+
"inputs": inputs or {},
|
|
184
|
+
}
|
|
185
|
+
if include_generated_at:
|
|
186
|
+
run["generated_at"] = datetime.now(timezone.utc).isoformat()
|
|
176
187
|
return {
|
|
177
188
|
"schema_version": PROVENANCE_SCHEMA,
|
|
178
|
-
"run":
|
|
179
|
-
"command": command,
|
|
180
|
-
"tool": "ask",
|
|
181
|
-
"tool_version": __version__,
|
|
182
|
-
"repository": str(root),
|
|
183
|
-
"git_head": _git_head(root),
|
|
184
|
-
"generated_at": datetime.now(timezone.utc).isoformat(),
|
|
185
|
-
"inputs": inputs or {},
|
|
186
|
-
},
|
|
189
|
+
"run": run,
|
|
187
190
|
"claims": claims,
|
|
188
191
|
"sources": [{"path": path} for path in sources],
|
|
189
192
|
"claims_cap": (
|
|
@@ -6975,6 +6975,27 @@ def compute_blast_radius(
|
|
|
6975
6975
|
)
|
|
6976
6976
|
except Exception:
|
|
6977
6977
|
_impl_graph = None
|
|
6978
|
+
if _impl_graph is not None:
|
|
6979
|
+
_class_fqns = {
|
|
6980
|
+
n.get("fqn") or ""
|
|
6981
|
+
for n in graph_nodes
|
|
6982
|
+
if (n.get("symbol_kind") or n.get("type"))
|
|
6983
|
+
in {"class", "interface", "enum", "record", "annotation"}
|
|
6984
|
+
}
|
|
6985
|
+
|
|
6986
|
+
def _seed_class(_sym: str) -> str:
|
|
6987
|
+
return _sym if _sym in _class_fqns else _enclosing_class(_sym)
|
|
6988
|
+
|
|
6989
|
+
_seed_set = set(matched_fqns)
|
|
6990
|
+
_expanded = set(matched_fqns)
|
|
6991
|
+
_symbols_by_class: dict[str, list[str]] = {}
|
|
6992
|
+
for _sym in reverse_graph:
|
|
6993
|
+
_symbols_by_class.setdefault(_seed_class(_sym), []).append(_sym)
|
|
6994
|
+
for _seed in sorted(_seed_set):
|
|
6995
|
+
for _subtype in getattr(_impl_graph, "all_subtypes_of")(_seed_class(_seed)):
|
|
6996
|
+
for _sym in _symbols_by_class.get(_subtype, ()):
|
|
6997
|
+
_expanded.add(_sym)
|
|
6998
|
+
matched_fqns = _expanded
|
|
6978
6999
|
for seed in matched_fqns:
|
|
6979
7000
|
_seed_callers = _all_callers_from_rg(seed, reverse_graph, _rg_index, _impl_graph)
|
|
6980
7001
|
if len(_seed_callers) > _HUB_CALLER_THRESHOLD and max_depth > 1:
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|