llm-sca-tooling 0.1.0__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.
- llm_sca_tooling-0.1.0/.gitignore +415 -0
- llm_sca_tooling-0.1.0/PKG-INFO +108 -0
- llm_sca_tooling-0.1.0/docs/architecture.md +22 -0
- llm_sca_tooling-0.1.0/docs/devcontainer-template.md +31 -0
- llm_sca_tooling-0.1.0/docs/evaluation-guide.md +19 -0
- llm_sca_tooling-0.1.0/docs/harness-condition-sheet.md +56 -0
- llm_sca_tooling-0.1.0/docs/harness-setup-guide.md +24 -0
- llm_sca_tooling-0.1.0/docs/harness.md +100 -0
- llm_sca_tooling-0.1.0/docs/incident-record-template.md +52 -0
- llm_sca_tooling-0.1.0/docs/incident-response-guide.md +24 -0
- llm_sca_tooling-0.1.0/docs/indexing.md +59 -0
- llm_sca_tooling-0.1.0/docs/installation.md +29 -0
- llm_sca_tooling-0.1.0/docs/llm-based-static-code-analysis-research-report.md +1792 -0
- llm_sca_tooling-0.1.0/docs/llm-sca-tooling-architecture.md +1466 -0
- llm_sca_tooling-0.1.0/docs/llm-sca-tooling-implementation-plan.md +2163 -0
- llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-0-python-package-skeleton.md +1245 -0
- llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-1-shared-schemas-and-evidence-model.md +2709 -0
- llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-10-evaluation-harness-baseline.md +1702 -0
- llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-11-patch-review-and-risk-gates.md +1568 -0
- llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-12-static-analysis-alert-repair.md +1444 -0
- llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-13-bug-resolve-workflow.md +1531 -0
- llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-14-implementation-check-workflow.md +1201 -0
- llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-15-blast-radius.md +853 -0
- llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-16-dynamic-trace-augmentation.md +942 -0
- llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-17-trajectory-memory-and-experience-replay.md +1197 -0
- llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-18-full-evaluation-calibration-and-release-gates.md +901 -0
- llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-19-operational-hardening-and-distribution.md +1220 -0
- llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-2-local-graph-store-and-repository-registry.md +2219 -0
- llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-3-repository-indexing-mvp.md +2207 -0
- llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-4-mcp-server-core.md +2367 -0
- llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-5-language-backend-expansion.md +1844 -0
- llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-6-sarif-and-static-analysis-layer.md +2074 -0
- llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-7-cross-language-interface-plugin-system.md +2094 -0
- llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-8-repository-query-and-repo-qa-mvp.md +1793 -0
- llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-9-fault-localisation.md +1933 -0
- llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-h0-harness-quality-foundation.md +1126 -0
- llm_sca_tooling-0.1.0/docs/llm-sca-tooling-tech-stack.md +874 -0
- llm_sca_tooling-0.1.0/docs/mcp-server.md +27 -0
- llm_sca_tooling-0.1.0/docs/operational-review-template.md +63 -0
- llm_sca_tooling-0.1.0/docs/plugin-authoring-guide.md +17 -0
- llm_sca_tooling-0.1.0/docs/python-package-skeleton.md +45 -0
- llm_sca_tooling-0.1.0/docs/quickstart.md +32 -0
- llm_sca_tooling-0.1.0/docs/sarif.md +33 -0
- llm_sca_tooling-0.1.0/docs/schema-models.md +28 -0
- llm_sca_tooling-0.1.0/docs/storage.md +41 -0
- llm_sca_tooling-0.1.0/pyproject.toml +230 -0
- llm_sca_tooling-0.1.0/schemas/evidence.schema.json +716 -0
- llm_sca_tooling-0.1.0/schemas/governance.schema.json +911 -0
- llm_sca_tooling-0.1.0/schemas/graph.schema.json +875 -0
- llm_sca_tooling-0.1.0/schemas/harness-condition.schema.json +948 -0
- llm_sca_tooling-0.1.0/schemas/incident.schema.json +597 -0
- llm_sca_tooling-0.1.0/schemas/readiness.schema.json +613 -0
- llm_sca_tooling-0.1.0/schemas/run-record.schema.json +519 -0
- llm_sca_tooling-0.1.0/schemas/verdict.schema.json +625 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/__init__.py +5 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/blast_radius/__init__.py +42 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/blast_radius/abi_impact.py +74 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/blast_radius/ambiguous_links.py +46 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/blast_radius/change_type.py +99 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/blast_radius/cross_repo.py +117 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/blast_radius/doc_spec_impact.py +70 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/blast_radius/generated_stub.py +60 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/blast_radius/graph_traversal.py +263 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/blast_radius/impact_groups.py +33 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/blast_radius/models.py +152 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/blast_radius/report.py +125 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/blast_radius/sarif_reachability.py +59 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/blast_radius/service.py +222 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/blast_radius/traversal_policy.py +192 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/cli/__init__.py +1 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/cli/indexing.py +67 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/cli/main.py +594 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/cli/setup_cmd.py +310 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/config.py +212 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/errors.py +31 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/__init__.py +75 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/ai_readiness.py +116 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/artefact_writer.py +110 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/benchmark_adapter.py +122 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/contamination.py +22 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/fl_metrics.py +118 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/flaky_detector.py +43 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/harness_condition.py +115 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/maintainability_oracle.py +61 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/models.py +244 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/operational_metrics.py +66 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/perturbation_runner.py +12 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/rds_features.py +105 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/regression_adapter.py +54 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/replay.py +18 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/smoke_adapter.py +177 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/store.py +69 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/t1_runner.py +213 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/t2_runner.py +18 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/t3_runner.py +99 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/t4_runner.py +93 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/__init__.py +28 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/blame_prior.py +155 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/context_assembler.py +216 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/embedding_adapters/__init__.py +5 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/embedding_adapters/local_adapter.py +60 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/embedding_adapters/null_adapter.py +26 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/embedding_adapters/openai_adapter.py +27 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/embedding_interface.py +100 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/graph_expansion.py +139 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/investigate.py +167 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/issue.py +355 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/keyword_retrieval.py +324 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/localisation.py +318 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/memory_stub.py +42 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/models.py +172 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/ranking.py +157 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/reasoning.py +97 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/sarif_prior.py +182 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/sbfl.py +214 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/uncertainty.py +88 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/vector_cache.py +215 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/governance/__init__.py +14 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/governance/permissions.py +73 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/governance/policy.py +97 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/graph/__init__.py +1 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/hardening/__init__.py +21 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/hardening/cache_invalidation.py +55 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/hardening/cumulative_risk.py +84 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/hardening/file_watcher.py +22 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/hardening/git_hooks.py +48 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/hardening/graph_chunker.py +37 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/hardening/harness_drift.py +78 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/hardening/manifest_regression_runner.py +28 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/hardening/models.py +155 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/hardening/permission_profiles.py +78 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/hardening/subscription_recovery.py +29 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/hardening/task_authorization.py +28 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/hardening/trace_redaction_audit.py +17 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/harness/__init__.py +5 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/harness/condition.py +169 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/__init__.py +15 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/__init__.py +1 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/base.py +104 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/capability.py +9 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/cpp/__init__.py +5 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/cpp/abi_edge_builder.py +23 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/cpp/clangd_adapter.py +238 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/cpp/cmake_backend.py +26 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/cpp/compile_commands.py +55 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/cpp/cpp_backend.py +131 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/cpp/ctest_detection.py +30 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/cpp/libclang_adapter.py +272 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/cross_check.py +77 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/ctags.py +166 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/fact_reconciler.py +109 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/java/__init__.py +5 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/java/capability.py +3 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/java/java_backend.py +63 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/java/jdt_adapter.py +17 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/python/__init__.py +5 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/python/import_resolver.py +14 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/python/pyan3_adapter.py +172 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/python/pyright_adapter.py +236 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/python/python_backend.py +120 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/python_ast.py +535 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/registry.py +43 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/tree_sitter.py +60 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/typescript/__init__.py +5 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/typescript/madge_adapter.py +82 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/typescript/module_resolver.py +123 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/typescript/package_meta.py +27 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/typescript/ts_backend.py +120 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/typescript/ts_test_detection.py +36 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/typescript/tsmorph_adapter.py +282 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/utils.py +118 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/blame.py +158 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/build_evidence.py +216 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/config.py +22 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/diagnostics.py +65 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/git_metadata.py +137 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/graph_slices.py +44 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/hashing.py +18 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/ignore.py +108 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/lsp/__init__.py +6 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/lsp/capabilities.py +27 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/lsp/client.py +90 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/lsp/errors.py +13 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/lsp/lifecycle.py +38 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/lsp/protocol.py +17 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/lsp/request_dispatcher.py +96 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/manifests.py +100 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/pipeline.py +5 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/provenance.py +11 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/result.py +47 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/scanner.py +321 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/service.py +696 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/snapshots.py +31 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/summaries.py +82 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/__init__.py +6 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/capabilities.py +42 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/config.py +36 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/context.py +22 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/dev_server.py +60 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/errors.py +86 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/notifications.py +47 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/prompt_registry.py +181 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/prompts/bug_resolve.md +67 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/prompts/evaluate.md +10 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/prompts/implementation_check.md +56 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/prompts/investigate.md +27 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/prompts/operational_review.md +18 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/prompts/patch_review.md +5 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/prompts/readiness_audit.md +17 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/prompts.py +12 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/resource_registry.py +101 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/resource_uris.py +41 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/resources/__init__.py +5 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/resources/blame.py +48 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/resources/core.py +440 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/resources/eval.py +94 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/resources/interfaces.py +104 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/resources/memory.py +101 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/resources/sarif.py +96 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/sampling.py +28 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/serialization.py +24 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/server.py +192 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/subscriptions.py +57 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/task_ids.py +9 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/task_runner.py +115 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/task_store.py +204 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tasks.py +57 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/telemetry.py +79 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tool_permissions.py +20 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tool_registry.py +72 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tools/__init__.py +5 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tools/blame.py +90 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tools/core.py +519 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tools/eval.py +335 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tools/fl.py +142 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tools/impl_check.py +120 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tools/interface.py +297 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tools/issue_resolution.py +153 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tools/memory.py +398 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tools/operational_review.py +89 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tools/patch_review.py +300 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tools/qa.py +178 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tools/readiness_audit.py +88 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tools/sarif.py +157 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tools/sast_repair.py +340 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tools/traces.py +202 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/__init__.py +31 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/errors.py +19 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/eviction/__init__.py +5 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/eviction/compactor.py +140 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/models.py +286 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/promotion/__init__.py +5 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/promotion/pipeline.py +77 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/redaction.py +46 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/relabelling/__init__.py +6 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/relabelling/interface.py +18 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/relabelling/null_relabeller.py +32 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/retrieval/__init__.py +13 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/retrieval/coarse.py +48 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/retrieval/fine.py +65 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/retrieval/interface.py +27 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/retrieval/misalignment_guard.py +33 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/ship_gate.py +31 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/store.py +236 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/write_path.py +97 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/operations/__init__.py +29 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/operations/budget.py +88 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/operations/ledger_delete.py +112 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/operations/ledger_export.py +84 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/operations/ledger_retention.py +37 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/operations/run_records.py +175 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/__init__.py +46 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/ast_diff.py +142 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/diff_parser.py +129 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/dryrun.py +189 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/four_agent_audit.py +56 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/graph_context.py +101 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/interface_compat.py +109 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/maintainability_gate.py +53 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/merge_policy.py +48 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/models.py +369 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/operational_integration.py +74 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/report.py +337 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/risk_classifier.py +122 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/risk_features.py +55 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/risk_policy.py +158 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/sampling_integration.py +100 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/sarif_delta.py +99 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/scope_audit.py +113 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/symbol_detector.py +138 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/test_delta.py +97 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/__init__.py +9 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/backlog/__init__.py +128 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/backlog/dbus_stub.py +3 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/backlog/grpc_stub.py +3 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/backlog/mqtt_stub.py +3 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/backlog/protobuf_stub.py +3 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/backlog/zeromq_stub.py +3 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/base.py +165 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/capability.py +77 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/errors.py +19 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/graph_utils.py +190 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/http_rest/__init__.py +5 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/http_rest/client_detector.py +41 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/http_rest/django_detector.py +28 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/http_rest/fastapi_detector.py +13 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/http_rest/flask_detector.py +13 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/http_rest/framework_detector.py +97 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/http_rest/openapi_parser.py +131 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/http_rest/plugin.py +395 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/http_rest/schema_extractor.py +12 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/http_rest/url_normalizer.py +57 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/interface_record.py +105 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/omniorb_idl/__init__.py +5 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/omniorb_idl/caller_finder.py +29 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/omniorb_idl/cpp_servant_linker.py +36 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/omniorb_idl/generated_artifact_tracker.py +19 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/omniorb_idl/idl_parser.py +39 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/omniorb_idl/plugin.py +329 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/omniorb_idl/python_stub_linker.py +26 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/registry.py +172 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/runner.py +76 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/store.py +57 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/traversal.py +155 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/traverse_edges.py +109 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/websocket/__init__.py +5 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/websocket/client_detector.py +33 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/websocket/event_extractor.py +21 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/websocket/namespace_resolver.py +16 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/websocket/plugin.py +321 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/websocket/server_detector.py +71 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/privacy/__init__.py +35 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/privacy/export_delete.py +69 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/privacy/redaction.py +69 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/privacy/retention_policy.py +95 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/qa/__init__.py +14 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/qa/answer.py +54 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/qa/behaviour_trace.py +204 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/qa/blame.py +265 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/qa/classifier.py +148 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/qa/confidence.py +63 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/qa/evidence_assembler.py +144 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/qa/graph_query.py +183 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/qa/interface_lookup.py +137 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/qa/lookup.py +386 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/qa/question.py +120 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/qa/service.py +282 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/qa/ship_gate.py +89 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/qa/synthesis.py +90 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/release/__init__.py +27 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/release/ablation.py +43 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/release/adversarial.py +34 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/release/calibration.py +101 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/release/models.py +171 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/release/operational_gates.py +71 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/release/production_refresh.py +42 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/release/release_gate.py +72 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/release/report_templates.py +41 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/__init__.py +31 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/adapters/__init__.py +20 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/adapters/bandit.py +160 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/adapters/base.py +41 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/adapters/codeql.py +46 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/adapters/external_import.py +52 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/adapters/ruleset.py +44 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/adapters/semgrep.py +100 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/adapters/sonarqube.py +71 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/binding.py +160 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/delta.py +110 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/errors.py +19 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/fingerprint.py +44 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/models.py +363 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/normalizer.py +485 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/parser.py +392 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/pipeline.py +135 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/resource.py +66 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/rulesets/__init__.py +0 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/rulesets/cpp_security.yaml +11 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/rulesets/python_security.yaml +20 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/rulesets/typescript_security.yaml +10 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/store.py +270 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/warned_by.py +190 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sast_repair/__init__.py +91 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sast_repair/alert_binding.py +122 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sast_repair/alert_classification.py +92 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sast_repair/analyser_rerun.py +89 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sast_repair/build_test_runner.py +91 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sast_repair/corpus_adapter.py +149 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sast_repair/models.py +262 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sast_repair/patch_generator.py +59 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sast_repair/predicate_examples.py +64 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sast_repair/predicate_metadata.py +132 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sast_repair/remaining_risk.py +115 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sast_repair/repair_context.py +101 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sast_repair/report.py +286 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sast_repair/rule_evolution.py +33 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sast_repair/sandbox.py +134 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sast_repair/sarif_delta_verifier.py +95 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/sast_repair/suppression.py +68 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/__init__.py +5 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/base.py +88 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/contracts.py +53 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/enums.py +254 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/evidence.py +69 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/governance.py +201 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/graph.py +292 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/harness.py +62 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/incidents.py +108 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/json_schema.py +100 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/memory.py +36 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/operations.py +190 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/patches.py +64 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/provenance.py +173 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/readiness.py +122 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/run_records.py +154 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/sarif.py +39 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/supply_chain.py +37 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/validation.py +90 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/verdicts.py +81 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/__init__.py +9 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/artifacts.py +140 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/diagnostics.py +14 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/errors.py +57 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/export_import.py +382 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/graph_queries.py +30 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/graph_store.py +633 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/harness_store.py +150 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/ids.py +48 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/migrations/0001_initial.sql +297 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/migrations/0002_sarif.sql +88 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/migrations/0003_embedding_vectors.sql +19 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/migrations/0004_eval_runs.sql +14 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/migrations/0005_memory.sql +58 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/migrations/__init__.py +88 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/operations.py +514 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/paths.py +74 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/registry.py +193 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/snapshots.py +197 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/sqlite.py +16 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/transactions.py +19 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/workspace.py +135 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/telemetry/__init__.py +6 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/telemetry/logging.py +41 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/telemetry/trace_writer.py +85 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/__init__.py +35 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/adapters/__init__.py +16 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/adapters/base.py +38 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/adapters/cpp_adapter.py +30 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/adapters/js_adapter.py +30 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/adapters/python_adapter.py +157 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/adapters/python_runner.py +243 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/adapters/registry.py +32 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/artefact_store.py +63 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/compression/__init__.py +17 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/compression/divergence.py +45 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/compression/interface.py +21 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/compression/null_summarizer.py +84 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/compression/state_diff.py +177 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/contract.py +86 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/integration/__init__.py +17 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/integration/bug_resolve_hook.py +18 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/integration/fl_hook.py +65 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/integration/impl_check_hook.py +26 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/integration/patch_review_hook.py +11 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/models.py +213 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/redaction.py +49 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/scope_filter.py +96 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/service.py +286 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/transport/__init__.py +13 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/transport/http_transport.py +58 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/__init__.py +1 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/bug_resolve/__init__.py +57 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/bug_resolve/blast_radius_stub.py +51 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/bug_resolve/candidate_patch.py +77 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/bug_resolve/certificate.py +60 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/bug_resolve/config.py +34 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/bug_resolve/gate_runner.py +153 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/bug_resolve/investigate.py +121 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/bug_resolve/models.py +307 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/bug_resolve/monitor_hooks.py +162 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/bug_resolve/patch_selection.py +102 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/bug_resolve/preconditions.py +42 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/bug_resolve/repair_context.py +69 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/bug_resolve/report.py +155 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/bug_resolve/reproduction_test.py +64 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/bug_resolve/state_machine.py +482 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/impl_check/__init__.py +37 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/impl_check/aggregator.py +159 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/impl_check/clause_extractor.py +118 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/impl_check/contract_generator.py +137 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/impl_check/dynamic_verdict.py +71 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/impl_check/grounding.py +56 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/impl_check/harness_policy.py +55 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/impl_check/ingestion.py +44 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/impl_check/intent_graph.py +56 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/impl_check/models.py +272 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/impl_check/operational_binding.py +33 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/impl_check/report.py +254 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/impl_check/static_verdict.py +155 -0
- llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/impl_check/verdict_matrix.py +70 -0
- llm_sca_tooling-0.1.0/tests/__init__.py +1 -0
- llm_sca_tooling-0.1.0/tests/blast_radius/__init__.py +0 -0
- llm_sca_tooling-0.1.0/tests/blast_radius/conftest.py +126 -0
- llm_sca_tooling-0.1.0/tests/blast_radius/fixtures/__init__.py +0 -0
- llm_sca_tooling-0.1.0/tests/blast_radius/test_abi_impact.py +84 -0
- llm_sca_tooling-0.1.0/tests/blast_radius/test_ambiguous_links.py +95 -0
- llm_sca_tooling-0.1.0/tests/blast_radius/test_blast_radius_template.py +67 -0
- llm_sca_tooling-0.1.0/tests/blast_radius/test_change_type.py +110 -0
- llm_sca_tooling-0.1.0/tests/blast_radius/test_cross_repo.py +137 -0
- llm_sca_tooling-0.1.0/tests/blast_radius/test_doc_spec_impact.py +118 -0
- llm_sca_tooling-0.1.0/tests/blast_radius/test_generated_stub.py +73 -0
- llm_sca_tooling-0.1.0/tests/blast_radius/test_graph_traversal.py +380 -0
- llm_sca_tooling-0.1.0/tests/blast_radius/test_impact_groups.py +89 -0
- llm_sca_tooling-0.1.0/tests/blast_radius/test_report.py +223 -0
- llm_sca_tooling-0.1.0/tests/blast_radius/test_sarif_reachability.py +70 -0
- llm_sca_tooling-0.1.0/tests/blast_radius/test_service.py +245 -0
- llm_sca_tooling-0.1.0/tests/blast_radius/test_traversal_policy.py +137 -0
- llm_sca_tooling-0.1.0/tests/conftest.py +39 -0
- llm_sca_tooling-0.1.0/tests/docs/test_phase19_docs.py +24 -0
- llm_sca_tooling-0.1.0/tests/evaluation/conftest.py +16 -0
- llm_sca_tooling-0.1.0/tests/evaluation/fixtures/smoke/ambiguity/gold_patch.diff +6 -0
- llm_sca_tooling-0.1.0/tests/evaluation/fixtures/smoke/ambiguity/gold_suspects.json +7 -0
- llm_sca_tooling-0.1.0/tests/evaluation/fixtures/smoke/ambiguity/issue.json +11 -0
- llm_sca_tooling-0.1.0/tests/evaluation/fixtures/smoke/file_localisation/gold_patch.diff +7 -0
- llm_sca_tooling-0.1.0/tests/evaluation/fixtures/smoke/file_localisation/gold_suspects.json +6 -0
- llm_sca_tooling-0.1.0/tests/evaluation/fixtures/smoke/file_localisation/issue.json +11 -0
- llm_sca_tooling-0.1.0/tests/evaluation/fixtures/smoke/maintainability/gold_patch.diff +8 -0
- llm_sca_tooling-0.1.0/tests/evaluation/fixtures/smoke/maintainability/gold_suspects.json +6 -0
- llm_sca_tooling-0.1.0/tests/evaluation/fixtures/smoke/maintainability/issue.json +11 -0
- llm_sca_tooling-0.1.0/tests/evaluation/fixtures/smoke/multi_file/gold_patch.diff +14 -0
- llm_sca_tooling-0.1.0/tests/evaluation/fixtures/smoke/multi_file/gold_suspects.json +6 -0
- llm_sca_tooling-0.1.0/tests/evaluation/fixtures/smoke/multi_file/issue.json +11 -0
- llm_sca_tooling-0.1.0/tests/evaluation/fixtures/smoke/security/gold_patch.diff +7 -0
- llm_sca_tooling-0.1.0/tests/evaluation/fixtures/smoke/security/gold_suspects.json +6 -0
- llm_sca_tooling-0.1.0/tests/evaluation/fixtures/smoke/security/issue.json +11 -0
- llm_sca_tooling-0.1.0/tests/evaluation/test_adapters_metrics_runner.py +127 -0
- llm_sca_tooling-0.1.0/tests/evaluation/test_eval_mcp.py +50 -0
- llm_sca_tooling-0.1.0/tests/evaluation/test_models_and_hcs.py +53 -0
- llm_sca_tooling-0.1.0/tests/fl/conftest.py +190 -0
- llm_sca_tooling-0.1.0/tests/fl/test_embedding_vector_cache.py +38 -0
- llm_sca_tooling-0.1.0/tests/fl/test_graph_expansion.py +38 -0
- llm_sca_tooling-0.1.0/tests/fl/test_issue.py +41 -0
- llm_sca_tooling-0.1.0/tests/fl/test_keyword_retrieval.py +30 -0
- llm_sca_tooling-0.1.0/tests/fl/test_localisation_tool.py +62 -0
- llm_sca_tooling-0.1.0/tests/fl/test_ranking_uncertainty.py +80 -0
- llm_sca_tooling-0.1.0/tests/fl/test_sbfl_investigate_memory.py +50 -0
- llm_sca_tooling-0.1.0/tests/hardening/test_phase19_hardening.py +115 -0
- llm_sca_tooling-0.1.0/tests/harness/test_manifest_regression.py +17 -0
- llm_sca_tooling-0.1.0/tests/harness/test_non_relaxation.py +26 -0
- llm_sca_tooling-0.1.0/tests/harness/test_semantic_mutation.py +13 -0
- llm_sca_tooling-0.1.0/tests/indexing/__init__.py +1 -0
- llm_sca_tooling-0.1.0/tests/indexing/conftest.py +60 -0
- llm_sca_tooling-0.1.0/tests/indexing/test_blame.py +151 -0
- llm_sca_tooling-0.1.0/tests/indexing/test_build_blame_summary.py +73 -0
- llm_sca_tooling-0.1.0/tests/indexing/test_build_evidence.py +104 -0
- llm_sca_tooling-0.1.0/tests/indexing/test_cross_checker.py +118 -0
- llm_sca_tooling-0.1.0/tests/indexing/test_ctags_backend.py +129 -0
- llm_sca_tooling-0.1.0/tests/indexing/test_fact_reconciler.py +147 -0
- llm_sca_tooling-0.1.0/tests/indexing/test_git_metadata.py +43 -0
- llm_sca_tooling-0.1.0/tests/indexing/test_graph_manifest.py +182 -0
- llm_sca_tooling-0.1.0/tests/indexing/test_graph_slices.py +42 -0
- llm_sca_tooling-0.1.0/tests/indexing/test_lsp_layer.py +181 -0
- llm_sca_tooling-0.1.0/tests/indexing/test_optional_backends.py +29 -0
- llm_sca_tooling-0.1.0/tests/indexing/test_phase5_backends.py +186 -0
- llm_sca_tooling-0.1.0/tests/indexing/test_python_ast_backend.py +42 -0
- llm_sca_tooling-0.1.0/tests/indexing/test_scanner.py +33 -0
- llm_sca_tooling-0.1.0/tests/indexing/test_service_integration.py +116 -0
- llm_sca_tooling-0.1.0/tests/indexing/test_summary_cache.py +138 -0
- llm_sca_tooling-0.1.0/tests/indexing/test_tree_sitter_backend.py +80 -0
- llm_sca_tooling-0.1.0/tests/mcp_server/__init__.py +1 -0
- llm_sca_tooling-0.1.0/tests/mcp_server/conftest.py +59 -0
- llm_sca_tooling-0.1.0/tests/mcp_server/test_interface_tools_resources.py +82 -0
- llm_sca_tooling-0.1.0/tests/mcp_server/test_mcp_errors.py +100 -0
- llm_sca_tooling-0.1.0/tests/mcp_server/test_prompts_regressions.py +57 -0
- llm_sca_tooling-0.1.0/tests/mcp_server/test_qa_tools.py +75 -0
- llm_sca_tooling-0.1.0/tests/mcp_server/test_resources.py +102 -0
- llm_sca_tooling-0.1.0/tests/mcp_server/test_sarif_tool_resource.py +94 -0
- llm_sca_tooling-0.1.0/tests/mcp_server/test_server_startup.py +33 -0
- llm_sca_tooling-0.1.0/tests/mcp_server/test_tools_tasks_notifications.py +94 -0
- llm_sca_tooling-0.1.0/tests/memory/test_phase17_memory.py +348 -0
- llm_sca_tooling-0.1.0/tests/operations/test_phase19_ledger.py +89 -0
- llm_sca_tooling-0.1.0/tests/packaging/test_phase19_distribution.py +16 -0
- llm_sca_tooling-0.1.0/tests/patch_review/__init__.py +1 -0
- llm_sca_tooling-0.1.0/tests/patch_review/conftest.py +38 -0
- llm_sca_tooling-0.1.0/tests/patch_review/fixtures/diffs/missing_test_fix.diff +12 -0
- llm_sca_tooling-0.1.0/tests/patch_review/fixtures/diffs/overfit_fix.diff +13 -0
- llm_sca_tooling-0.1.0/tests/patch_review/fixtures/diffs/safe_fix.diff +13 -0
- llm_sca_tooling-0.1.0/tests/patch_review/fixtures/diffs/scope_violation.diff +10 -0
- llm_sca_tooling-0.1.0/tests/patch_review/fixtures/diffs/vulnerable_fix.diff +11 -0
- llm_sca_tooling-0.1.0/tests/patch_review/test_ast_diff.py +133 -0
- llm_sca_tooling-0.1.0/tests/patch_review/test_diff_parser.py +61 -0
- llm_sca_tooling-0.1.0/tests/patch_review/test_dryrun.py +111 -0
- llm_sca_tooling-0.1.0/tests/patch_review/test_four_agent_audit.py +74 -0
- llm_sca_tooling-0.1.0/tests/patch_review/test_graph_context.py +68 -0
- llm_sca_tooling-0.1.0/tests/patch_review/test_interface_compat.py +103 -0
- llm_sca_tooling-0.1.0/tests/patch_review/test_maintainability_gate.py +17 -0
- llm_sca_tooling-0.1.0/tests/patch_review/test_mcp_tools.py +67 -0
- llm_sca_tooling-0.1.0/tests/patch_review/test_merge_policy.py +155 -0
- llm_sca_tooling-0.1.0/tests/patch_review/test_models.py +58 -0
- llm_sca_tooling-0.1.0/tests/patch_review/test_report.py +91 -0
- llm_sca_tooling-0.1.0/tests/patch_review/test_risk_policy.py +307 -0
- llm_sca_tooling-0.1.0/tests/patch_review/test_sarif_delta.py +54 -0
- llm_sca_tooling-0.1.0/tests/patch_review/test_scope_audit.py +102 -0
- llm_sca_tooling-0.1.0/tests/patch_review/test_symbol_detector.py +81 -0
- llm_sca_tooling-0.1.0/tests/patch_review/test_test_delta.py +64 -0
- llm_sca_tooling-0.1.0/tests/plugins/http_rest/test_http_rest_plugin.py +99 -0
- llm_sca_tooling-0.1.0/tests/plugins/omniorb_idl/test_omniorb_idl_plugin.py +66 -0
- llm_sca_tooling-0.1.0/tests/plugins/test_interface_record_traversal.py +60 -0
- llm_sca_tooling-0.1.0/tests/plugins/test_plugin_base_registry.py +35 -0
- llm_sca_tooling-0.1.0/tests/plugins/test_traversal.py +71 -0
- llm_sca_tooling-0.1.0/tests/plugins/websocket/test_websocket_plugin.py +52 -0
- llm_sca_tooling-0.1.0/tests/privacy/test_phase19_privacy.py +57 -0
- llm_sca_tooling-0.1.0/tests/qa/test_evidence_assembler.py +118 -0
- llm_sca_tooling-0.1.0/tests/qa/test_lookup_graph_answer.py +219 -0
- llm_sca_tooling-0.1.0/tests/qa/test_question_classifier.py +42 -0
- llm_sca_tooling-0.1.0/tests/release/test_phase18_release.py +221 -0
- llm_sca_tooling-0.1.0/tests/release/test_phase18_tools_prompts.py +48 -0
- llm_sca_tooling-0.1.0/tests/sarif/adapters/test_adapters.py +47 -0
- llm_sca_tooling-0.1.0/tests/sarif/adapters/test_sonarqube_adapter.py +46 -0
- llm_sca_tooling-0.1.0/tests/sarif/conftest.py +44 -0
- llm_sca_tooling-0.1.0/tests/sarif/fixtures/sarif_runs/bandit_basic.sarif.json +32 -0
- llm_sca_tooling-0.1.0/tests/sarif/fixtures/sarif_runs/codeql_basic.sarif.json +24 -0
- llm_sca_tooling-0.1.0/tests/sarif/fixtures/sarif_runs/delta_after.sarif.json +37 -0
- llm_sca_tooling-0.1.0/tests/sarif/fixtures/sarif_runs/delta_before.sarif.json +37 -0
- llm_sca_tooling-0.1.0/tests/sarif/fixtures/sarif_runs/external_generic.sarif.json +41 -0
- llm_sca_tooling-0.1.0/tests/sarif/fixtures/sarif_runs/malformed.sarif.json +1 -0
- llm_sca_tooling-0.1.0/tests/sarif/fixtures/sarif_runs/partial_locations.sarif.json +9 -0
- llm_sca_tooling-0.1.0/tests/sarif/fixtures/sarif_runs/semgrep_cpp_basic.sarif.json +9 -0
- llm_sca_tooling-0.1.0/tests/sarif/fixtures/sarif_runs/semgrep_python_basic.sarif.json +9 -0
- llm_sca_tooling-0.1.0/tests/sarif/fixtures/sarif_runs/semgrep_typescript_basic.sarif.json +9 -0
- llm_sca_tooling-0.1.0/tests/sarif/fixtures/sarif_runs/sonarqube_export.sarif.json +9 -0
- llm_sca_tooling-0.1.0/tests/sarif/fixtures/sarif_runs/wrong_version.sarif.json +1 -0
- llm_sca_tooling-0.1.0/tests/sarif/test_models.py +36 -0
- llm_sca_tooling-0.1.0/tests/sarif/test_parser_normalizer_fingerprint.py +136 -0
- llm_sca_tooling-0.1.0/tests/sarif/test_store_binding_delta.py +132 -0
- llm_sca_tooling-0.1.0/tests/sast_repair/__init__.py +0 -0
- llm_sca_tooling-0.1.0/tests/sast_repair/conftest.py +41 -0
- llm_sca_tooling-0.1.0/tests/sast_repair/fixtures/alerts/false_positive_alert.json +8 -0
- llm_sca_tooling-0.1.0/tests/sast_repair/fixtures/alerts/injection_alert.json +10 -0
- llm_sca_tooling-0.1.0/tests/sast_repair/fixtures/alerts/nullderef_alert.json +10 -0
- llm_sca_tooling-0.1.0/tests/sast_repair/fixtures/alerts/unknown_alert.json +5 -0
- llm_sca_tooling-0.1.0/tests/sast_repair/fixtures/corpus/injection_examples.json +13 -0
- llm_sca_tooling-0.1.0/tests/sast_repair/fixtures/corpus/nullderef_examples.json +25 -0
- llm_sca_tooling-0.1.0/tests/sast_repair/test_alert_binding.py +78 -0
- llm_sca_tooling-0.1.0/tests/sast_repair/test_alert_classification.py +78 -0
- llm_sca_tooling-0.1.0/tests/sast_repair/test_analyser_rerun.py +76 -0
- llm_sca_tooling-0.1.0/tests/sast_repair/test_build_test_runner.py +78 -0
- llm_sca_tooling-0.1.0/tests/sast_repair/test_corpus_adapter.py +103 -0
- llm_sca_tooling-0.1.0/tests/sast_repair/test_mcp_tools.py +95 -0
- llm_sca_tooling-0.1.0/tests/sast_repair/test_models.py +107 -0
- llm_sca_tooling-0.1.0/tests/sast_repair/test_patch_generator.py +25 -0
- llm_sca_tooling-0.1.0/tests/sast_repair/test_predicate_metadata.py +50 -0
- llm_sca_tooling-0.1.0/tests/sast_repair/test_remaining_risk.py +95 -0
- llm_sca_tooling-0.1.0/tests/sast_repair/test_repair_context.py +85 -0
- llm_sca_tooling-0.1.0/tests/sast_repair/test_report.py +163 -0
- llm_sca_tooling-0.1.0/tests/sast_repair/test_rule_evolution.py +22 -0
- llm_sca_tooling-0.1.0/tests/sast_repair/test_sandbox.py +78 -0
- llm_sca_tooling-0.1.0/tests/sast_repair/test_sarif_delta_verifier.py +62 -0
- llm_sca_tooling-0.1.0/tests/sast_repair/test_skill_template.py +39 -0
- llm_sca_tooling-0.1.0/tests/sast_repair/test_suppression.py +97 -0
- llm_sca_tooling-0.1.0/tests/schemas/conftest.py +69 -0
- llm_sca_tooling-0.1.0/tests/schemas/fixtures/invalid/evidence.json +1 -0
- llm_sca_tooling-0.1.0/tests/schemas/fixtures/invalid/governance.json +1 -0
- llm_sca_tooling-0.1.0/tests/schemas/fixtures/invalid/graph.json +51 -0
- llm_sca_tooling-0.1.0/tests/schemas/fixtures/invalid/harness-condition.json +1 -0
- llm_sca_tooling-0.1.0/tests/schemas/fixtures/invalid/incident.json +1 -0
- llm_sca_tooling-0.1.0/tests/schemas/fixtures/invalid/readiness.json +1 -0
- llm_sca_tooling-0.1.0/tests/schemas/fixtures/invalid/run-record.json +1 -0
- llm_sca_tooling-0.1.0/tests/schemas/fixtures/invalid/verdict.json +1 -0
- llm_sca_tooling-0.1.0/tests/schemas/fixtures/valid/evidence.json +53 -0
- llm_sca_tooling-0.1.0/tests/schemas/fixtures/valid/governance.json +28 -0
- llm_sca_tooling-0.1.0/tests/schemas/fixtures/valid/graph.json +27 -0
- llm_sca_tooling-0.1.0/tests/schemas/fixtures/valid/harness-condition.json +39 -0
- llm_sca_tooling-0.1.0/tests/schemas/fixtures/valid/incident.json +35 -0
- llm_sca_tooling-0.1.0/tests/schemas/fixtures/valid/readiness.json +35 -0
- llm_sca_tooling-0.1.0/tests/schemas/fixtures/valid/run-record.json +23 -0
- llm_sca_tooling-0.1.0/tests/schemas/fixtures/valid/verdict.json +33 -0
- llm_sca_tooling-0.1.0/tests/schemas/test_base_models.py +105 -0
- llm_sca_tooling-0.1.0/tests/schemas/test_evidence_verdict_schema.py +142 -0
- llm_sca_tooling-0.1.0/tests/schemas/test_governance_harness_readiness_incident_schema.py +199 -0
- llm_sca_tooling-0.1.0/tests/schemas/test_graph_schema.py +196 -0
- llm_sca_tooling-0.1.0/tests/schemas/test_json_schema_exports.py +55 -0
- llm_sca_tooling-0.1.0/tests/schemas/test_run_record_schema.py +107 -0
- llm_sca_tooling-0.1.0/tests/schemas/test_schema_regressions.py +73 -0
- llm_sca_tooling-0.1.0/tests/smoke/test_smoke_import.py +7 -0
- llm_sca_tooling-0.1.0/tests/storage/__init__.py +1 -0
- llm_sca_tooling-0.1.0/tests/storage/conftest.py +269 -0
- llm_sca_tooling-0.1.0/tests/storage/test_artifact_store.py +55 -0
- llm_sca_tooling-0.1.0/tests/storage/test_export_import.py +55 -0
- llm_sca_tooling-0.1.0/tests/storage/test_graph_store.py +113 -0
- llm_sca_tooling-0.1.0/tests/storage/test_harness_metadata_store.py +46 -0
- llm_sca_tooling-0.1.0/tests/storage/test_migrations_transactions.py +69 -0
- llm_sca_tooling-0.1.0/tests/storage/test_operational_store.py +138 -0
- llm_sca_tooling-0.1.0/tests/storage/test_repository_registry.py +50 -0
- llm_sca_tooling-0.1.0/tests/storage/test_snapshot_store.py +39 -0
- llm_sca_tooling-0.1.0/tests/storage/test_workspace_store.py +20 -0
- llm_sca_tooling-0.1.0/tests/traces/fixtures/scripts/no_reproduce.py +6 -0
- llm_sca_tooling-0.1.0/tests/traces/fixtures/scripts/reproducer_exception.py +6 -0
- llm_sca_tooling-0.1.0/tests/traces/fixtures/scripts/reproducer_simple.py +10 -0
- llm_sca_tooling-0.1.0/tests/traces/test_phase16_integration_hooks.py +108 -0
- llm_sca_tooling-0.1.0/tests/traces/test_phase16_trace_capture.py +192 -0
- llm_sca_tooling-0.1.0/tests/transport/test_phase19_http_transport.py +34 -0
- llm_sca_tooling-0.1.0/tests/unit/test_cli.py +155 -0
- llm_sca_tooling-0.1.0/tests/unit/test_config.py +45 -0
- llm_sca_tooling-0.1.0/tests/unit/test_errors.py +8 -0
- llm_sca_tooling-0.1.0/tests/unit/test_governance.py +24 -0
- llm_sca_tooling-0.1.0/tests/unit/test_harness_condition.py +22 -0
- llm_sca_tooling-0.1.0/tests/unit/test_operations.py +41 -0
- llm_sca_tooling-0.1.0/tests/unit/test_plugin_registry_phase0.py +10 -0
- llm_sca_tooling-0.1.0/tests/unit/test_setup.py +306 -0
- llm_sca_tooling-0.1.0/tests/unit/test_telemetry.py +28 -0
- llm_sca_tooling-0.1.0/tests/workflows/__init__.py +0 -0
- llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/__init__.py +0 -0
- llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/fixtures/gold/simple_nullderef_patch.diff +5 -0
- llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/fixtures/issues/ambiguous_issue.json +5 -0
- llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/fixtures/issues/budget_exhausted_issue.json +5 -0
- llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/fixtures/issues/multi_file_logic_error.json +5 -0
- llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/fixtures/issues/sarif_security_alert.json +5 -0
- llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/fixtures/issues/simple_nullderef.json +5 -0
- llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/test_blast_radius_stub.py +35 -0
- llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/test_bug_resolve_prompt.py +41 -0
- llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/test_candidate_patch.py +49 -0
- llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/test_certificate.py +49 -0
- llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/test_config.py +60 -0
- llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/test_gate_runner.py +138 -0
- llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/test_investigate.py +90 -0
- llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/test_models.py +183 -0
- llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/test_monitor_hooks.py +146 -0
- llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/test_patch_selection.py +74 -0
- llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/test_preconditions.py +56 -0
- llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/test_repair_context.py +74 -0
- llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/test_report.py +161 -0
- llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/test_reproduction_test.py +86 -0
- llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/test_run_issue_resolution.py +71 -0
- llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/test_skill_templates.py +32 -0
- llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/test_state_machine.py +152 -0
- llm_sca_tooling-0.1.0/tests/workflows/impl_check/__init__.py +0 -0
- llm_sca_tooling-0.1.0/tests/workflows/impl_check/fixtures/specs/ambiguous_spec.md +6 -0
- llm_sca_tooling-0.1.0/tests/workflows/impl_check/fixtures/specs/harness_policy_spec.md +7 -0
- llm_sca_tooling-0.1.0/tests/workflows/impl_check/fixtures/specs/security_spec.md +7 -0
- llm_sca_tooling-0.1.0/tests/workflows/impl_check/fixtures/specs/simple_feature_spec.md +7 -0
- llm_sca_tooling-0.1.0/tests/workflows/impl_check/test_aggregator.py +130 -0
- llm_sca_tooling-0.1.0/tests/workflows/impl_check/test_clause_extractor.py +65 -0
- llm_sca_tooling-0.1.0/tests/workflows/impl_check/test_contract_generator.py +74 -0
- llm_sca_tooling-0.1.0/tests/workflows/impl_check/test_dynamic_verdict.py +26 -0
- llm_sca_tooling-0.1.0/tests/workflows/impl_check/test_grounding.py +38 -0
- llm_sca_tooling-0.1.0/tests/workflows/impl_check/test_harness_policy.py +46 -0
- llm_sca_tooling-0.1.0/tests/workflows/impl_check/test_ingestion.py +46 -0
- llm_sca_tooling-0.1.0/tests/workflows/impl_check/test_intent_graph.py +38 -0
- llm_sca_tooling-0.1.0/tests/workflows/impl_check/test_operational_binding.py +34 -0
- llm_sca_tooling-0.1.0/tests/workflows/impl_check/test_report.py +75 -0
- llm_sca_tooling-0.1.0/tests/workflows/impl_check/test_run_implementation_check.py +87 -0
- llm_sca_tooling-0.1.0/tests/workflows/impl_check/test_static_verdict.py +148 -0
- llm_sca_tooling-0.1.0/tests/workflows/impl_check/test_verdict_matrix.py +81 -0
|
@@ -0,0 +1,415 @@
|
|
|
1
|
+
# Created by https://www.toptal.com/developers/gitignore/api/python,vim,visualstudiocode,jetbrains,macos,windows,linux
|
|
2
|
+
# Edit at https://www.toptal.com/developers/gitignore?templates=python,vim,visualstudiocode,jetbrains,macos,windows,linux
|
|
3
|
+
|
|
4
|
+
### JetBrains ###
|
|
5
|
+
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
|
|
6
|
+
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
|
7
|
+
|
|
8
|
+
# User-specific stuff
|
|
9
|
+
.idea/**/workspace.xml
|
|
10
|
+
.idea/**/tasks.xml
|
|
11
|
+
.idea/**/usage.statistics.xml
|
|
12
|
+
.idea/**/dictionaries
|
|
13
|
+
.idea/**/shelf
|
|
14
|
+
|
|
15
|
+
# AWS User-specific
|
|
16
|
+
.idea/**/aws.xml
|
|
17
|
+
|
|
18
|
+
# Generated files
|
|
19
|
+
.idea/**/contentModel.xml
|
|
20
|
+
|
|
21
|
+
# Sensitive or high-churn files
|
|
22
|
+
.idea/**/dataSources/
|
|
23
|
+
.idea/**/dataSources.ids
|
|
24
|
+
.idea/**/dataSources.local.xml
|
|
25
|
+
.idea/**/sqlDataSources.xml
|
|
26
|
+
.idea/**/dynamic.xml
|
|
27
|
+
.idea/**/uiDesigner.xml
|
|
28
|
+
.idea/**/dbnavigator.xml
|
|
29
|
+
|
|
30
|
+
# Gradle
|
|
31
|
+
.idea/**/gradle.xml
|
|
32
|
+
.idea/**/libraries
|
|
33
|
+
|
|
34
|
+
# Gradle and Maven with auto-import
|
|
35
|
+
# When using Gradle or Maven with auto-import, you should exclude module files,
|
|
36
|
+
# since they will be recreated, and may cause churn. Uncomment if using
|
|
37
|
+
# auto-import.
|
|
38
|
+
# .idea/artifacts
|
|
39
|
+
# .idea/compiler.xml
|
|
40
|
+
# .idea/jarRepositories.xml
|
|
41
|
+
# .idea/modules.xml
|
|
42
|
+
# .idea/*.iml
|
|
43
|
+
# .idea/modules
|
|
44
|
+
# *.iml
|
|
45
|
+
# *.ipr
|
|
46
|
+
|
|
47
|
+
# CMake
|
|
48
|
+
cmake-build-*/
|
|
49
|
+
|
|
50
|
+
# Mongo Explorer plugin
|
|
51
|
+
.idea/**/mongoSettings.xml
|
|
52
|
+
|
|
53
|
+
# File-based project format
|
|
54
|
+
*.iws
|
|
55
|
+
|
|
56
|
+
# IntelliJ
|
|
57
|
+
out/
|
|
58
|
+
|
|
59
|
+
# mpeltonen/sbt-idea plugin
|
|
60
|
+
.idea_modules/
|
|
61
|
+
|
|
62
|
+
# JIRA plugin
|
|
63
|
+
atlassian-ide-plugin.xml
|
|
64
|
+
|
|
65
|
+
# Cursive Clojure plugin
|
|
66
|
+
.idea/replstate.xml
|
|
67
|
+
|
|
68
|
+
# SonarLint plugin
|
|
69
|
+
.idea/sonarlint/
|
|
70
|
+
|
|
71
|
+
# Crashlytics plugin (for Android Studio and IntelliJ)
|
|
72
|
+
com_crashlytics_export_strings.xml
|
|
73
|
+
crashlytics.properties
|
|
74
|
+
crashlytics-build.properties
|
|
75
|
+
fabric.properties
|
|
76
|
+
|
|
77
|
+
# Editor-based Rest Client
|
|
78
|
+
.idea/httpRequests
|
|
79
|
+
|
|
80
|
+
# Android studio 3.1+ serialized cache file
|
|
81
|
+
.idea/caches/build_file_checksums.ser
|
|
82
|
+
|
|
83
|
+
### JetBrains Patch ###
|
|
84
|
+
# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
|
|
85
|
+
|
|
86
|
+
# *.iml
|
|
87
|
+
# modules.xml
|
|
88
|
+
# .idea/misc.xml
|
|
89
|
+
# *.ipr
|
|
90
|
+
|
|
91
|
+
# Sonarlint plugin
|
|
92
|
+
# https://plugins.jetbrains.com/plugin/7973-sonarlint
|
|
93
|
+
.idea/**/sonarlint/
|
|
94
|
+
|
|
95
|
+
# SonarQube Plugin
|
|
96
|
+
# https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin
|
|
97
|
+
.idea/**/sonarIssues.xml
|
|
98
|
+
|
|
99
|
+
# Markdown Navigator plugin
|
|
100
|
+
# https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced
|
|
101
|
+
.idea/**/markdown-navigator.xml
|
|
102
|
+
.idea/**/markdown-navigator-enh.xml
|
|
103
|
+
.idea/**/markdown-navigator/
|
|
104
|
+
|
|
105
|
+
# Cache file creation bug
|
|
106
|
+
# See https://youtrack.jetbrains.com/issue/JBR-2257
|
|
107
|
+
.idea/$CACHE_FILE$
|
|
108
|
+
|
|
109
|
+
# CodeStream plugin
|
|
110
|
+
# https://plugins.jetbrains.com/plugin/12206-codestream
|
|
111
|
+
.idea/codestream.xml
|
|
112
|
+
|
|
113
|
+
# Azure Toolkit for IntelliJ plugin
|
|
114
|
+
# https://plugins.jetbrains.com/plugin/8053-azure-toolkit-for-intellij
|
|
115
|
+
.idea/**/azureSettings.xml
|
|
116
|
+
|
|
117
|
+
### Linux ###
|
|
118
|
+
*~
|
|
119
|
+
|
|
120
|
+
# temporary files which can be created if a process still has a handle open of a deleted file
|
|
121
|
+
.fuse_hidden*
|
|
122
|
+
|
|
123
|
+
# KDE directory preferences
|
|
124
|
+
.directory
|
|
125
|
+
|
|
126
|
+
# Linux trash folder which might appear on any partition or disk
|
|
127
|
+
.Trash-*
|
|
128
|
+
|
|
129
|
+
# .nfs files are created when an open file is removed but is still being accessed
|
|
130
|
+
.nfs*
|
|
131
|
+
|
|
132
|
+
### macOS ###
|
|
133
|
+
# General
|
|
134
|
+
.DS_Store
|
|
135
|
+
.AppleDouble
|
|
136
|
+
.LSOverride
|
|
137
|
+
|
|
138
|
+
# Icon must end with two \r
|
|
139
|
+
Icon
|
|
140
|
+
|
|
141
|
+
# Thumbnails
|
|
142
|
+
._*
|
|
143
|
+
|
|
144
|
+
# Files that might appear in the root of a volume
|
|
145
|
+
.DocumentRevisions-V100
|
|
146
|
+
.fseventsd
|
|
147
|
+
.Spotlight-V100
|
|
148
|
+
.TemporaryItems
|
|
149
|
+
.Trashes
|
|
150
|
+
.VolumeIcon.icns
|
|
151
|
+
.com.apple.timemachine.donotpresent
|
|
152
|
+
|
|
153
|
+
# Directories potentially created on remote AFP share
|
|
154
|
+
.AppleDB
|
|
155
|
+
.AppleDesktop
|
|
156
|
+
Network Trash Folder
|
|
157
|
+
Temporary Items
|
|
158
|
+
.apdisk
|
|
159
|
+
|
|
160
|
+
### macOS Patch ###
|
|
161
|
+
# iCloud generated files
|
|
162
|
+
*.icloud
|
|
163
|
+
|
|
164
|
+
### Python ###
|
|
165
|
+
# Byte-compiled / optimized / DLL files
|
|
166
|
+
__pycache__/
|
|
167
|
+
*.py[cod]
|
|
168
|
+
*$py.class
|
|
169
|
+
|
|
170
|
+
# C extensions
|
|
171
|
+
*.so
|
|
172
|
+
|
|
173
|
+
# Distribution / packaging
|
|
174
|
+
.Python
|
|
175
|
+
build/
|
|
176
|
+
develop-eggs/
|
|
177
|
+
dist/
|
|
178
|
+
downloads/
|
|
179
|
+
eggs/
|
|
180
|
+
.eggs/
|
|
181
|
+
lib/
|
|
182
|
+
lib64/
|
|
183
|
+
parts/
|
|
184
|
+
sdist/
|
|
185
|
+
var/
|
|
186
|
+
wheels/
|
|
187
|
+
share/python-wheels/
|
|
188
|
+
*.egg-info/
|
|
189
|
+
.installed.cfg
|
|
190
|
+
*.egg
|
|
191
|
+
MANIFEST
|
|
192
|
+
|
|
193
|
+
# PyInstaller
|
|
194
|
+
# Usually these files are written by a python script from a template
|
|
195
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
196
|
+
*.manifest
|
|
197
|
+
*.spec
|
|
198
|
+
|
|
199
|
+
# Installer logs
|
|
200
|
+
pip-log.txt
|
|
201
|
+
pip-delete-this-directory.txt
|
|
202
|
+
|
|
203
|
+
# Unit test / coverage reports
|
|
204
|
+
htmlcov/
|
|
205
|
+
.tox/
|
|
206
|
+
.nox/
|
|
207
|
+
.coverage
|
|
208
|
+
.coverage.*
|
|
209
|
+
.cache
|
|
210
|
+
nosetests.xml
|
|
211
|
+
coverage.xml
|
|
212
|
+
*.cover
|
|
213
|
+
*.py,cover
|
|
214
|
+
.hypothesis/
|
|
215
|
+
.pytest_cache/
|
|
216
|
+
cover/
|
|
217
|
+
|
|
218
|
+
# Translations
|
|
219
|
+
*.mo
|
|
220
|
+
*.pot
|
|
221
|
+
|
|
222
|
+
# Django stuff:
|
|
223
|
+
*.log
|
|
224
|
+
local_settings.py
|
|
225
|
+
db.sqlite3
|
|
226
|
+
db.sqlite3-journal
|
|
227
|
+
|
|
228
|
+
# Flask stuff:
|
|
229
|
+
instance/
|
|
230
|
+
.webassets-cache
|
|
231
|
+
|
|
232
|
+
# Scrapy stuff:
|
|
233
|
+
.scrapy
|
|
234
|
+
|
|
235
|
+
# Sphinx documentation
|
|
236
|
+
docs/_build/
|
|
237
|
+
|
|
238
|
+
# PyBuilder
|
|
239
|
+
.pybuilder/
|
|
240
|
+
target/
|
|
241
|
+
|
|
242
|
+
# Jupyter Notebook
|
|
243
|
+
.ipynb_checkpoints
|
|
244
|
+
|
|
245
|
+
# IPython
|
|
246
|
+
profile_default/
|
|
247
|
+
ipython_config.py
|
|
248
|
+
|
|
249
|
+
# pyenv
|
|
250
|
+
# For a library or package, you might want to ignore these files since the code is
|
|
251
|
+
# intended to run in multiple environments; otherwise, check them in:
|
|
252
|
+
# .python-version
|
|
253
|
+
|
|
254
|
+
# pipenv
|
|
255
|
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
|
256
|
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
|
257
|
+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
|
258
|
+
# install all needed dependencies.
|
|
259
|
+
#Pipfile.lock
|
|
260
|
+
|
|
261
|
+
# poetry
|
|
262
|
+
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
|
|
263
|
+
# This is especially recommended for binary packages to ensure reproducibility, and is more
|
|
264
|
+
# commonly ignored for libraries.
|
|
265
|
+
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
|
|
266
|
+
#poetry.lock
|
|
267
|
+
|
|
268
|
+
# pdm
|
|
269
|
+
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
|
|
270
|
+
#pdm.lock
|
|
271
|
+
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
|
|
272
|
+
# in version control.
|
|
273
|
+
# https://pdm.fming.dev/#use-with-ide
|
|
274
|
+
.pdm.toml
|
|
275
|
+
|
|
276
|
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
|
|
277
|
+
__pypackages__/
|
|
278
|
+
|
|
279
|
+
# Celery stuff
|
|
280
|
+
celerybeat-schedule
|
|
281
|
+
celerybeat.pid
|
|
282
|
+
|
|
283
|
+
# SageMath parsed files
|
|
284
|
+
*.sage.py
|
|
285
|
+
|
|
286
|
+
# Environments
|
|
287
|
+
.env
|
|
288
|
+
.venv
|
|
289
|
+
env/
|
|
290
|
+
venv/
|
|
291
|
+
ENV/
|
|
292
|
+
env.bak/
|
|
293
|
+
venv.bak/
|
|
294
|
+
|
|
295
|
+
# Spyder project settings
|
|
296
|
+
.spyderproject
|
|
297
|
+
.spyproject
|
|
298
|
+
|
|
299
|
+
# Rope project settings
|
|
300
|
+
.ropeproject
|
|
301
|
+
|
|
302
|
+
# mkdocs documentation
|
|
303
|
+
/site
|
|
304
|
+
|
|
305
|
+
# mypy
|
|
306
|
+
.mypy_cache/
|
|
307
|
+
.dmypy.json
|
|
308
|
+
dmypy.json
|
|
309
|
+
|
|
310
|
+
# Pyre type checker
|
|
311
|
+
.pyre/
|
|
312
|
+
|
|
313
|
+
# pytype static type analyzer
|
|
314
|
+
.pytype/
|
|
315
|
+
|
|
316
|
+
# Cython debug symbols
|
|
317
|
+
cython_debug/
|
|
318
|
+
|
|
319
|
+
# PyCharm
|
|
320
|
+
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
|
|
321
|
+
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
|
|
322
|
+
# and can be added to the global gitignore or merged into this file. For a more nuclear
|
|
323
|
+
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
|
324
|
+
#.idea/
|
|
325
|
+
|
|
326
|
+
### Python Patch ###
|
|
327
|
+
# Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration
|
|
328
|
+
poetry.toml
|
|
329
|
+
|
|
330
|
+
# ruff
|
|
331
|
+
.ruff_cache/
|
|
332
|
+
|
|
333
|
+
# LSP config files
|
|
334
|
+
pyrightconfig.json
|
|
335
|
+
|
|
336
|
+
### Vim ###
|
|
337
|
+
# Swap
|
|
338
|
+
[._]*.s[a-v][a-z]
|
|
339
|
+
!*.svg # comment out if you don't need vector files
|
|
340
|
+
[._]*.sw[a-p]
|
|
341
|
+
[._]s[a-rt-v][a-z]
|
|
342
|
+
[._]ss[a-gi-z]
|
|
343
|
+
[._]sw[a-p]
|
|
344
|
+
|
|
345
|
+
# Session
|
|
346
|
+
Session.vim
|
|
347
|
+
Sessionx.vim
|
|
348
|
+
|
|
349
|
+
# Temporary
|
|
350
|
+
.netrwhist
|
|
351
|
+
# Auto-generated tag files
|
|
352
|
+
tags
|
|
353
|
+
# Persistent undo
|
|
354
|
+
[._]*.un~
|
|
355
|
+
|
|
356
|
+
### VisualStudioCode ###
|
|
357
|
+
.vscode/*
|
|
358
|
+
!.vscode/settings.json
|
|
359
|
+
!.vscode/tasks.json
|
|
360
|
+
!.vscode/launch.json
|
|
361
|
+
!.vscode/extensions.json
|
|
362
|
+
!.vscode/*.code-snippets
|
|
363
|
+
|
|
364
|
+
# Local History for Visual Studio Code
|
|
365
|
+
.history/
|
|
366
|
+
|
|
367
|
+
# Built Visual Studio Code Extensions
|
|
368
|
+
*.vsix
|
|
369
|
+
|
|
370
|
+
### VisualStudioCode Patch ###
|
|
371
|
+
# Ignore all local history of files
|
|
372
|
+
.history
|
|
373
|
+
.ionide
|
|
374
|
+
|
|
375
|
+
### Windows ###
|
|
376
|
+
# Windows thumbnail cache files
|
|
377
|
+
Thumbs.db
|
|
378
|
+
Thumbs.db:encryptable
|
|
379
|
+
ehthumbs.db
|
|
380
|
+
ehthumbs_vista.db
|
|
381
|
+
|
|
382
|
+
# Dump file
|
|
383
|
+
*.stackdump
|
|
384
|
+
|
|
385
|
+
# Folder config file
|
|
386
|
+
[Dd]esktop.ini
|
|
387
|
+
|
|
388
|
+
# Recycle Bin used on file shares
|
|
389
|
+
$RECYCLE.BIN/
|
|
390
|
+
|
|
391
|
+
# Windows Installer files
|
|
392
|
+
*.cab
|
|
393
|
+
*.msi
|
|
394
|
+
*.msix
|
|
395
|
+
*.msm
|
|
396
|
+
*.msp
|
|
397
|
+
|
|
398
|
+
# Windows shortcuts
|
|
399
|
+
*.lnk
|
|
400
|
+
|
|
401
|
+
# End of https://www.toptal.com/developers/gitignore/api/python,vim,visualstudiocode,jetbrains,macos,windows,linux
|
|
402
|
+
|
|
403
|
+
# Project-specific additions
|
|
404
|
+
.llm-sca/
|
|
405
|
+
.agent/runs/
|
|
406
|
+
.agent/traces/
|
|
407
|
+
|
|
408
|
+
# local-agent-harness (do not edit below this line)
|
|
409
|
+
.agent/logs/
|
|
410
|
+
.agent/eval/
|
|
411
|
+
.env.*
|
|
412
|
+
*.pem
|
|
413
|
+
*.key
|
|
414
|
+
*.p12
|
|
415
|
+
*.pfx
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: llm-sca-tooling
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: LLM-augmented static code analysis tooling.
|
|
5
|
+
Requires-Python: >=3.12
|
|
6
|
+
Requires-Dist: aiosqlite>=0.20
|
|
7
|
+
Requires-Dist: alembic>=1.13
|
|
8
|
+
Requires-Dist: asyncpg>=0.29
|
|
9
|
+
Requires-Dist: defusedxml>=0.7
|
|
10
|
+
Requires-Dist: fastapi>=0.115
|
|
11
|
+
Requires-Dist: fastembed>=0.3
|
|
12
|
+
Requires-Dist: fastmcp>=2.0
|
|
13
|
+
Requires-Dist: httpx>=0.27
|
|
14
|
+
Requires-Dist: jsonschema>=4.23
|
|
15
|
+
Requires-Dist: lxml>=5.2
|
|
16
|
+
Requires-Dist: markdown-it-py>=3.0
|
|
17
|
+
Requires-Dist: networkx>=3.3
|
|
18
|
+
Requires-Dist: orjson>=3.10
|
|
19
|
+
Requires-Dist: pyan3>=1.4
|
|
20
|
+
Requires-Dist: pydantic-settings>=2.0
|
|
21
|
+
Requires-Dist: pydantic>=2.0
|
|
22
|
+
Requires-Dist: rich>=13.0
|
|
23
|
+
Requires-Dist: ruamel-yaml>=0.18
|
|
24
|
+
Requires-Dist: selectolax>=0.3
|
|
25
|
+
Requires-Dist: sqlite-vec>=0.1
|
|
26
|
+
Requires-Dist: sqlmodel>=0.0.21
|
|
27
|
+
Requires-Dist: tomli-w>=1.1
|
|
28
|
+
Requires-Dist: tree-sitter-c>=0.22
|
|
29
|
+
Requires-Dist: tree-sitter-cpp>=0.22
|
|
30
|
+
Requires-Dist: tree-sitter-javascript>=0.22
|
|
31
|
+
Requires-Dist: tree-sitter-python>=0.22
|
|
32
|
+
Requires-Dist: tree-sitter>=0.22
|
|
33
|
+
Requires-Dist: typer>=0.12
|
|
34
|
+
Requires-Dist: uvicorn[standard]>=0.30
|
|
35
|
+
Provides-Extra: dev
|
|
36
|
+
Requires-Dist: anyio[trio]>=4.0; extra == 'dev'
|
|
37
|
+
Requires-Dist: bandit[toml]>=1.7; extra == 'dev'
|
|
38
|
+
Requires-Dist: black>=24.0; extra == 'dev'
|
|
39
|
+
Requires-Dist: detect-secrets>=1.5; extra == 'dev'
|
|
40
|
+
Requires-Dist: hatchling>=1.24; extra == 'dev'
|
|
41
|
+
Requires-Dist: import-linter>=2.1; extra == 'dev'
|
|
42
|
+
Requires-Dist: isort>=5.13; extra == 'dev'
|
|
43
|
+
Requires-Dist: jsf>=0.11; extra == 'dev'
|
|
44
|
+
Requires-Dist: lxml-stubs>=0.5; extra == 'dev'
|
|
45
|
+
Requires-Dist: mypy>=1.10; extra == 'dev'
|
|
46
|
+
Requires-Dist: networkx-stubs; extra == 'dev'
|
|
47
|
+
Requires-Dist: pip-audit>=2.7; extra == 'dev'
|
|
48
|
+
Requires-Dist: pre-commit>=3.7; extra == 'dev'
|
|
49
|
+
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
|
|
50
|
+
Requires-Dist: pytest-cov>=5.0; extra == 'dev'
|
|
51
|
+
Requires-Dist: pytest-xdist>=3.5; extra == 'dev'
|
|
52
|
+
Requires-Dist: pytest>=8.0; extra == 'dev'
|
|
53
|
+
Requires-Dist: ruff>=0.4; extra == 'dev'
|
|
54
|
+
Requires-Dist: tox>=4.0; extra == 'dev'
|
|
55
|
+
Requires-Dist: types-defusedxml; extra == 'dev'
|
|
56
|
+
Requires-Dist: types-jsonschema; extra == 'dev'
|
|
57
|
+
Provides-Extra: test
|
|
58
|
+
Requires-Dist: pytest-asyncio>=0.23; extra == 'test'
|
|
59
|
+
Requires-Dist: pytest-cov>=5.0; extra == 'test'
|
|
60
|
+
Requires-Dist: pytest-xdist>=3.5; extra == 'test'
|
|
61
|
+
Requires-Dist: pytest>=8.0; extra == 'test'
|
|
62
|
+
Description-Content-Type: text/markdown
|
|
63
|
+
|
|
64
|
+
# Phase 0 Python Package Skeleton
|
|
65
|
+
|
|
66
|
+
Phase 0 establishes the package surfaces that later implementation phases use.
|
|
67
|
+
This repository already contains Phases 1-8, so the Phase 0 pass is additive:
|
|
68
|
+
existing indexing, storage, MCP, SARIF, plugin, and QA modules remain intact.
|
|
69
|
+
|
|
70
|
+
Current Phase 0 baseline:
|
|
71
|
+
|
|
72
|
+
- Python floor: 3.12.
|
|
73
|
+
- Dependency manager: `uv` with `uv.lock` as supply-chain evidence.
|
|
74
|
+
- CLI framework: Typer + Rich.
|
|
75
|
+
- JSONL writers: `orjson`.
|
|
76
|
+
- Formatting/lint order: `isort`, `black`, then `ruff`.
|
|
77
|
+
- Architecture gate: `.importlinter` plus `uv run lint-imports`.
|
|
78
|
+
|
|
79
|
+
Implemented skeleton surfaces:
|
|
80
|
+
|
|
81
|
+
- `llm_sca_tooling.config`: typed defaults, JSON/TOML loading, environment
|
|
82
|
+
overrides, and redacted config output.
|
|
83
|
+
- `llm_sca_tooling.errors`: package-level structured errors.
|
|
84
|
+
- `llm_sca_tooling.telemetry`: logger setup and JSONL trace writer.
|
|
85
|
+
- `llm_sca_tooling.operations`: file-backed run-record writer and budget
|
|
86
|
+
monitor.
|
|
87
|
+
- `llm_sca_tooling.governance`: permission profiles and policy evaluator.
|
|
88
|
+
- `llm_sca_tooling.harness`: Harness Condition Sheet writer.
|
|
89
|
+
- `llm_sca_tooling.cli.main`: Typer/Rich `llm-sca-tooling` command entrypoint.
|
|
90
|
+
- `llm_sca_tooling.plugins.registry.NoOpPlugin`: no-op plugin for skeleton
|
|
91
|
+
registry tests.
|
|
92
|
+
|
|
93
|
+
The historical `evidence-sca` CLI remains available for existing graph and MCP
|
|
94
|
+
commands.
|
|
95
|
+
|
|
96
|
+
Useful commands:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
uv sync --extra dev
|
|
100
|
+
llm-sca-tooling --version
|
|
101
|
+
llm-sca-tooling version
|
|
102
|
+
llm-sca-tooling config show
|
|
103
|
+
llm-sca-tooling config validate
|
|
104
|
+
llm-sca-tooling harness status
|
|
105
|
+
llm-sca-tooling run create demo
|
|
106
|
+
make verify
|
|
107
|
+
make verify-baseline
|
|
108
|
+
```
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Architecture
|
|
2
|
+
|
|
3
|
+
`evidence-sca` stores repository evidence in a local workspace:
|
|
4
|
+
|
|
5
|
+
- `storage`: SQLite persistence, migrations, graph facts, run records, incidents,
|
|
6
|
+
readiness records, imports, and exports.
|
|
7
|
+
- `indexing`, `plugins`, `sarif`, and `traces`: evidence producers.
|
|
8
|
+
- `mcp_server`: local tool and resource facade over stored evidence.
|
|
9
|
+
- `workflows`, `memory`, `release`, and `hardening`: higher-level governance,
|
|
10
|
+
evaluation, replay, release gates, drift checks, and operational hardening.
|
|
11
|
+
- `privacy`, `operations`, and `transport`: retention, redaction, ledger
|
|
12
|
+
export/delete controls, and hardened transport configuration.
|
|
13
|
+
|
|
14
|
+
Phase 19 keeps operational controls deterministic: permission profiles are typed,
|
|
15
|
+
cache invalidation emits auditable events, graph chunking is bounded, and drift
|
|
16
|
+
checks produce structured records. Release evidence should include the relevant
|
|
17
|
+
HarnessConditionSheet.
|
|
18
|
+
|
|
19
|
+
## Limitations
|
|
20
|
+
|
|
21
|
+
The architecture is single-workspace and local-first. Cloud tenancy, hosted
|
|
22
|
+
identity, and distributed queueing are explicitly outside this phase.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Devcontainer Template
|
|
2
|
+
|
|
3
|
+
This repository's agent scope does not allow writing `.devcontainer/` directly.
|
|
4
|
+
Operators can adapt this template manually when they need an isolated developer
|
|
5
|
+
container.
|
|
6
|
+
|
|
7
|
+
```json
|
|
8
|
+
{
|
|
9
|
+
"name": "evidence-sca",
|
|
10
|
+
"image": "mcr.microsoft.com/devcontainers/python:3.12",
|
|
11
|
+
"features": {
|
|
12
|
+
"ghcr.io/devcontainers/features/github-cli:1": {}
|
|
13
|
+
},
|
|
14
|
+
"postCreateCommand": "pipx install uv && uv sync --extra dev",
|
|
15
|
+
"customizations": {
|
|
16
|
+
"vscode": {
|
|
17
|
+
"settings": {
|
|
18
|
+
"python.defaultInterpreterPath": ".venv/bin/python"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Record any containerized verification in the HarnessConditionSheet.
|
|
26
|
+
|
|
27
|
+
## Limitations
|
|
28
|
+
|
|
29
|
+
The template is intentionally minimal and does not grant network or secret
|
|
30
|
+
access. Add organization-specific mounts, caches, and credentials outside agent
|
|
31
|
+
authored changes.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Evaluation Guide
|
|
2
|
+
|
|
3
|
+
Evaluation results should be reproducible and traceable:
|
|
4
|
+
|
|
5
|
+
- T1 and T2 measure baseline graph and workflow behavior.
|
|
6
|
+
- T3 measures integration, contamination, and replay-sensitive quality.
|
|
7
|
+
- T4 measures operational and release readiness.
|
|
8
|
+
- Calibration, adversarial refresh, operational gates, memory ship gates, and
|
|
9
|
+
manifest regressions feed the release gate.
|
|
10
|
+
|
|
11
|
+
Use `uv run llm-sca-tooling release-gate --suite all` for the deterministic
|
|
12
|
+
aggregation smoke path. Attach the HarnessConditionSheet, eval run identifiers,
|
|
13
|
+
and verification command outputs to PR evidence.
|
|
14
|
+
|
|
15
|
+
## Limitations
|
|
16
|
+
|
|
17
|
+
The evaluation guide describes local deterministic gates. It does not certify
|
|
18
|
+
model quality for repositories outside the sampled corpus without additional
|
|
19
|
+
calibration evidence.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Harness Condition Sheet Template
|
|
2
|
+
|
|
3
|
+
Run ID: `<run_id>`
|
|
4
|
+
Report date: `<ISO-8601 date>`
|
|
5
|
+
Phase/milestone: `<phase name or milestone label>`
|
|
6
|
+
|
|
7
|
+
## Runtime And Model
|
|
8
|
+
|
|
9
|
+
- Runtime name and version:
|
|
10
|
+
- Model backend and version:
|
|
11
|
+
- MCP server version:
|
|
12
|
+
|
|
13
|
+
## Manifest State
|
|
14
|
+
|
|
15
|
+
- AGENTS.md revision:
|
|
16
|
+
- Active runtime overlays and revisions:
|
|
17
|
+
- SKILL.md templates active:
|
|
18
|
+
|
|
19
|
+
## Exposed Tools
|
|
20
|
+
|
|
21
|
+
- Tool set hash:
|
|
22
|
+
- Tools active for this run:
|
|
23
|
+
- Tools disabled or not available:
|
|
24
|
+
|
|
25
|
+
## Permission Mode
|
|
26
|
+
|
|
27
|
+
- Permission profile:
|
|
28
|
+
- Path allowlist:
|
|
29
|
+
- Network policy:
|
|
30
|
+
- Sandbox or devcontainer:
|
|
31
|
+
|
|
32
|
+
## Verification Gates
|
|
33
|
+
|
|
34
|
+
- Verify command used:
|
|
35
|
+
- Gates enabled:
|
|
36
|
+
- Gates disabled with justification:
|
|
37
|
+
|
|
38
|
+
## Context And Cost Policy
|
|
39
|
+
|
|
40
|
+
- Context budget:
|
|
41
|
+
- Token budget:
|
|
42
|
+
- Retry budget:
|
|
43
|
+
- Wall-clock budget:
|
|
44
|
+
- Compaction policy:
|
|
45
|
+
|
|
46
|
+
## Telemetry
|
|
47
|
+
|
|
48
|
+
- Session trace location:
|
|
49
|
+
- Trace completeness: `complete | incomplete | missing`
|
|
50
|
+
- Redaction policy applied:
|
|
51
|
+
|
|
52
|
+
## Evaluation Notes
|
|
53
|
+
|
|
54
|
+
- Known limitations:
|
|
55
|
+
- Deviations from standard harness:
|
|
56
|
+
- Waived controls with reviewed justification:
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Harness Setup Guide
|
|
2
|
+
|
|
3
|
+
The harness setup requires:
|
|
4
|
+
|
|
5
|
+
- `AGENTS.md` with hard constraints and command policy.
|
|
6
|
+
- `.agent/plan.md` for session trace and decisions.
|
|
7
|
+
- `.github/workflows/verify.yml` for the repository verify path.
|
|
8
|
+
- A stage record at `.agent/harness-stage.json`.
|
|
9
|
+
- A HarnessConditionSheet for release-relevant work.
|
|
10
|
+
|
|
11
|
+
Run drift checks before a PR:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
uv run llm-sca-tooling check-drift . --stage S3 --report-out .agent/drift-report.json
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Use permission profiles conservatively. The default Phase 19 set contains
|
|
18
|
+
read-only, read-search, read-search-edit, read-search-execute, review, and commit
|
|
19
|
+
profiles.
|
|
20
|
+
|
|
21
|
+
## Limitations
|
|
22
|
+
|
|
23
|
+
This repo does not allow agents to create `.devcontainer/` directly. A template
|
|
24
|
+
for operators is provided in `docs/devcontainer-template.md`.
|