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.
Files changed (754) hide show
  1. llm_sca_tooling-0.1.0/.gitignore +415 -0
  2. llm_sca_tooling-0.1.0/PKG-INFO +108 -0
  3. llm_sca_tooling-0.1.0/docs/architecture.md +22 -0
  4. llm_sca_tooling-0.1.0/docs/devcontainer-template.md +31 -0
  5. llm_sca_tooling-0.1.0/docs/evaluation-guide.md +19 -0
  6. llm_sca_tooling-0.1.0/docs/harness-condition-sheet.md +56 -0
  7. llm_sca_tooling-0.1.0/docs/harness-setup-guide.md +24 -0
  8. llm_sca_tooling-0.1.0/docs/harness.md +100 -0
  9. llm_sca_tooling-0.1.0/docs/incident-record-template.md +52 -0
  10. llm_sca_tooling-0.1.0/docs/incident-response-guide.md +24 -0
  11. llm_sca_tooling-0.1.0/docs/indexing.md +59 -0
  12. llm_sca_tooling-0.1.0/docs/installation.md +29 -0
  13. llm_sca_tooling-0.1.0/docs/llm-based-static-code-analysis-research-report.md +1792 -0
  14. llm_sca_tooling-0.1.0/docs/llm-sca-tooling-architecture.md +1466 -0
  15. llm_sca_tooling-0.1.0/docs/llm-sca-tooling-implementation-plan.md +2163 -0
  16. llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-0-python-package-skeleton.md +1245 -0
  17. llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-1-shared-schemas-and-evidence-model.md +2709 -0
  18. llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-10-evaluation-harness-baseline.md +1702 -0
  19. llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-11-patch-review-and-risk-gates.md +1568 -0
  20. llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-12-static-analysis-alert-repair.md +1444 -0
  21. llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-13-bug-resolve-workflow.md +1531 -0
  22. llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-14-implementation-check-workflow.md +1201 -0
  23. llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-15-blast-radius.md +853 -0
  24. llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-16-dynamic-trace-augmentation.md +942 -0
  25. llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-17-trajectory-memory-and-experience-replay.md +1197 -0
  26. llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-18-full-evaluation-calibration-and-release-gates.md +901 -0
  27. llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-19-operational-hardening-and-distribution.md +1220 -0
  28. llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-2-local-graph-store-and-repository-registry.md +2219 -0
  29. llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-3-repository-indexing-mvp.md +2207 -0
  30. llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-4-mcp-server-core.md +2367 -0
  31. llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-5-language-backend-expansion.md +1844 -0
  32. llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-6-sarif-and-static-analysis-layer.md +2074 -0
  33. llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-7-cross-language-interface-plugin-system.md +2094 -0
  34. llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-8-repository-query-and-repo-qa-mvp.md +1793 -0
  35. llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-9-fault-localisation.md +1933 -0
  36. llm_sca_tooling-0.1.0/docs/llm-sca-tooling-phase-h0-harness-quality-foundation.md +1126 -0
  37. llm_sca_tooling-0.1.0/docs/llm-sca-tooling-tech-stack.md +874 -0
  38. llm_sca_tooling-0.1.0/docs/mcp-server.md +27 -0
  39. llm_sca_tooling-0.1.0/docs/operational-review-template.md +63 -0
  40. llm_sca_tooling-0.1.0/docs/plugin-authoring-guide.md +17 -0
  41. llm_sca_tooling-0.1.0/docs/python-package-skeleton.md +45 -0
  42. llm_sca_tooling-0.1.0/docs/quickstart.md +32 -0
  43. llm_sca_tooling-0.1.0/docs/sarif.md +33 -0
  44. llm_sca_tooling-0.1.0/docs/schema-models.md +28 -0
  45. llm_sca_tooling-0.1.0/docs/storage.md +41 -0
  46. llm_sca_tooling-0.1.0/pyproject.toml +230 -0
  47. llm_sca_tooling-0.1.0/schemas/evidence.schema.json +716 -0
  48. llm_sca_tooling-0.1.0/schemas/governance.schema.json +911 -0
  49. llm_sca_tooling-0.1.0/schemas/graph.schema.json +875 -0
  50. llm_sca_tooling-0.1.0/schemas/harness-condition.schema.json +948 -0
  51. llm_sca_tooling-0.1.0/schemas/incident.schema.json +597 -0
  52. llm_sca_tooling-0.1.0/schemas/readiness.schema.json +613 -0
  53. llm_sca_tooling-0.1.0/schemas/run-record.schema.json +519 -0
  54. llm_sca_tooling-0.1.0/schemas/verdict.schema.json +625 -0
  55. llm_sca_tooling-0.1.0/src/llm_sca_tooling/__init__.py +5 -0
  56. llm_sca_tooling-0.1.0/src/llm_sca_tooling/blast_radius/__init__.py +42 -0
  57. llm_sca_tooling-0.1.0/src/llm_sca_tooling/blast_radius/abi_impact.py +74 -0
  58. llm_sca_tooling-0.1.0/src/llm_sca_tooling/blast_radius/ambiguous_links.py +46 -0
  59. llm_sca_tooling-0.1.0/src/llm_sca_tooling/blast_radius/change_type.py +99 -0
  60. llm_sca_tooling-0.1.0/src/llm_sca_tooling/blast_radius/cross_repo.py +117 -0
  61. llm_sca_tooling-0.1.0/src/llm_sca_tooling/blast_radius/doc_spec_impact.py +70 -0
  62. llm_sca_tooling-0.1.0/src/llm_sca_tooling/blast_radius/generated_stub.py +60 -0
  63. llm_sca_tooling-0.1.0/src/llm_sca_tooling/blast_radius/graph_traversal.py +263 -0
  64. llm_sca_tooling-0.1.0/src/llm_sca_tooling/blast_radius/impact_groups.py +33 -0
  65. llm_sca_tooling-0.1.0/src/llm_sca_tooling/blast_radius/models.py +152 -0
  66. llm_sca_tooling-0.1.0/src/llm_sca_tooling/blast_radius/report.py +125 -0
  67. llm_sca_tooling-0.1.0/src/llm_sca_tooling/blast_radius/sarif_reachability.py +59 -0
  68. llm_sca_tooling-0.1.0/src/llm_sca_tooling/blast_radius/service.py +222 -0
  69. llm_sca_tooling-0.1.0/src/llm_sca_tooling/blast_radius/traversal_policy.py +192 -0
  70. llm_sca_tooling-0.1.0/src/llm_sca_tooling/cli/__init__.py +1 -0
  71. llm_sca_tooling-0.1.0/src/llm_sca_tooling/cli/indexing.py +67 -0
  72. llm_sca_tooling-0.1.0/src/llm_sca_tooling/cli/main.py +594 -0
  73. llm_sca_tooling-0.1.0/src/llm_sca_tooling/cli/setup_cmd.py +310 -0
  74. llm_sca_tooling-0.1.0/src/llm_sca_tooling/config.py +212 -0
  75. llm_sca_tooling-0.1.0/src/llm_sca_tooling/errors.py +31 -0
  76. llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/__init__.py +75 -0
  77. llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/ai_readiness.py +116 -0
  78. llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/artefact_writer.py +110 -0
  79. llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/benchmark_adapter.py +122 -0
  80. llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/contamination.py +22 -0
  81. llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/fl_metrics.py +118 -0
  82. llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/flaky_detector.py +43 -0
  83. llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/harness_condition.py +115 -0
  84. llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/maintainability_oracle.py +61 -0
  85. llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/models.py +244 -0
  86. llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/operational_metrics.py +66 -0
  87. llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/perturbation_runner.py +12 -0
  88. llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/rds_features.py +105 -0
  89. llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/regression_adapter.py +54 -0
  90. llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/replay.py +18 -0
  91. llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/smoke_adapter.py +177 -0
  92. llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/store.py +69 -0
  93. llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/t1_runner.py +213 -0
  94. llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/t2_runner.py +18 -0
  95. llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/t3_runner.py +99 -0
  96. llm_sca_tooling-0.1.0/src/llm_sca_tooling/evaluation/t4_runner.py +93 -0
  97. llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/__init__.py +28 -0
  98. llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/blame_prior.py +155 -0
  99. llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/context_assembler.py +216 -0
  100. llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/embedding_adapters/__init__.py +5 -0
  101. llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/embedding_adapters/local_adapter.py +60 -0
  102. llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/embedding_adapters/null_adapter.py +26 -0
  103. llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/embedding_adapters/openai_adapter.py +27 -0
  104. llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/embedding_interface.py +100 -0
  105. llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/graph_expansion.py +139 -0
  106. llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/investigate.py +167 -0
  107. llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/issue.py +355 -0
  108. llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/keyword_retrieval.py +324 -0
  109. llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/localisation.py +318 -0
  110. llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/memory_stub.py +42 -0
  111. llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/models.py +172 -0
  112. llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/ranking.py +157 -0
  113. llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/reasoning.py +97 -0
  114. llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/sarif_prior.py +182 -0
  115. llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/sbfl.py +214 -0
  116. llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/uncertainty.py +88 -0
  117. llm_sca_tooling-0.1.0/src/llm_sca_tooling/fl/vector_cache.py +215 -0
  118. llm_sca_tooling-0.1.0/src/llm_sca_tooling/governance/__init__.py +14 -0
  119. llm_sca_tooling-0.1.0/src/llm_sca_tooling/governance/permissions.py +73 -0
  120. llm_sca_tooling-0.1.0/src/llm_sca_tooling/governance/policy.py +97 -0
  121. llm_sca_tooling-0.1.0/src/llm_sca_tooling/graph/__init__.py +1 -0
  122. llm_sca_tooling-0.1.0/src/llm_sca_tooling/hardening/__init__.py +21 -0
  123. llm_sca_tooling-0.1.0/src/llm_sca_tooling/hardening/cache_invalidation.py +55 -0
  124. llm_sca_tooling-0.1.0/src/llm_sca_tooling/hardening/cumulative_risk.py +84 -0
  125. llm_sca_tooling-0.1.0/src/llm_sca_tooling/hardening/file_watcher.py +22 -0
  126. llm_sca_tooling-0.1.0/src/llm_sca_tooling/hardening/git_hooks.py +48 -0
  127. llm_sca_tooling-0.1.0/src/llm_sca_tooling/hardening/graph_chunker.py +37 -0
  128. llm_sca_tooling-0.1.0/src/llm_sca_tooling/hardening/harness_drift.py +78 -0
  129. llm_sca_tooling-0.1.0/src/llm_sca_tooling/hardening/manifest_regression_runner.py +28 -0
  130. llm_sca_tooling-0.1.0/src/llm_sca_tooling/hardening/models.py +155 -0
  131. llm_sca_tooling-0.1.0/src/llm_sca_tooling/hardening/permission_profiles.py +78 -0
  132. llm_sca_tooling-0.1.0/src/llm_sca_tooling/hardening/subscription_recovery.py +29 -0
  133. llm_sca_tooling-0.1.0/src/llm_sca_tooling/hardening/task_authorization.py +28 -0
  134. llm_sca_tooling-0.1.0/src/llm_sca_tooling/hardening/trace_redaction_audit.py +17 -0
  135. llm_sca_tooling-0.1.0/src/llm_sca_tooling/harness/__init__.py +5 -0
  136. llm_sca_tooling-0.1.0/src/llm_sca_tooling/harness/condition.py +169 -0
  137. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/__init__.py +15 -0
  138. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/__init__.py +1 -0
  139. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/base.py +104 -0
  140. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/capability.py +9 -0
  141. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/cpp/__init__.py +5 -0
  142. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/cpp/abi_edge_builder.py +23 -0
  143. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/cpp/clangd_adapter.py +238 -0
  144. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/cpp/cmake_backend.py +26 -0
  145. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/cpp/compile_commands.py +55 -0
  146. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/cpp/cpp_backend.py +131 -0
  147. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/cpp/ctest_detection.py +30 -0
  148. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/cpp/libclang_adapter.py +272 -0
  149. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/cross_check.py +77 -0
  150. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/ctags.py +166 -0
  151. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/fact_reconciler.py +109 -0
  152. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/java/__init__.py +5 -0
  153. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/java/capability.py +3 -0
  154. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/java/java_backend.py +63 -0
  155. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/java/jdt_adapter.py +17 -0
  156. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/python/__init__.py +5 -0
  157. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/python/import_resolver.py +14 -0
  158. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/python/pyan3_adapter.py +172 -0
  159. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/python/pyright_adapter.py +236 -0
  160. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/python/python_backend.py +120 -0
  161. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/python_ast.py +535 -0
  162. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/registry.py +43 -0
  163. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/tree_sitter.py +60 -0
  164. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/typescript/__init__.py +5 -0
  165. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/typescript/madge_adapter.py +82 -0
  166. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/typescript/module_resolver.py +123 -0
  167. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/typescript/package_meta.py +27 -0
  168. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/typescript/ts_backend.py +120 -0
  169. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/typescript/ts_test_detection.py +36 -0
  170. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/typescript/tsmorph_adapter.py +282 -0
  171. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/backends/utils.py +118 -0
  172. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/blame.py +158 -0
  173. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/build_evidence.py +216 -0
  174. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/config.py +22 -0
  175. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/diagnostics.py +65 -0
  176. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/git_metadata.py +137 -0
  177. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/graph_slices.py +44 -0
  178. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/hashing.py +18 -0
  179. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/ignore.py +108 -0
  180. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/lsp/__init__.py +6 -0
  181. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/lsp/capabilities.py +27 -0
  182. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/lsp/client.py +90 -0
  183. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/lsp/errors.py +13 -0
  184. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/lsp/lifecycle.py +38 -0
  185. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/lsp/protocol.py +17 -0
  186. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/lsp/request_dispatcher.py +96 -0
  187. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/manifests.py +100 -0
  188. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/pipeline.py +5 -0
  189. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/provenance.py +11 -0
  190. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/result.py +47 -0
  191. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/scanner.py +321 -0
  192. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/service.py +696 -0
  193. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/snapshots.py +31 -0
  194. llm_sca_tooling-0.1.0/src/llm_sca_tooling/indexing/summaries.py +82 -0
  195. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/__init__.py +6 -0
  196. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/capabilities.py +42 -0
  197. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/config.py +36 -0
  198. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/context.py +22 -0
  199. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/dev_server.py +60 -0
  200. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/errors.py +86 -0
  201. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/notifications.py +47 -0
  202. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/prompt_registry.py +181 -0
  203. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/prompts/bug_resolve.md +67 -0
  204. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/prompts/evaluate.md +10 -0
  205. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/prompts/implementation_check.md +56 -0
  206. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/prompts/investigate.md +27 -0
  207. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/prompts/operational_review.md +18 -0
  208. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/prompts/patch_review.md +5 -0
  209. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/prompts/readiness_audit.md +17 -0
  210. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/prompts.py +12 -0
  211. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/resource_registry.py +101 -0
  212. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/resource_uris.py +41 -0
  213. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/resources/__init__.py +5 -0
  214. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/resources/blame.py +48 -0
  215. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/resources/core.py +440 -0
  216. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/resources/eval.py +94 -0
  217. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/resources/interfaces.py +104 -0
  218. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/resources/memory.py +101 -0
  219. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/resources/sarif.py +96 -0
  220. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/sampling.py +28 -0
  221. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/serialization.py +24 -0
  222. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/server.py +192 -0
  223. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/subscriptions.py +57 -0
  224. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/task_ids.py +9 -0
  225. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/task_runner.py +115 -0
  226. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/task_store.py +204 -0
  227. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tasks.py +57 -0
  228. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/telemetry.py +79 -0
  229. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tool_permissions.py +20 -0
  230. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tool_registry.py +72 -0
  231. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tools/__init__.py +5 -0
  232. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tools/blame.py +90 -0
  233. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tools/core.py +519 -0
  234. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tools/eval.py +335 -0
  235. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tools/fl.py +142 -0
  236. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tools/impl_check.py +120 -0
  237. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tools/interface.py +297 -0
  238. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tools/issue_resolution.py +153 -0
  239. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tools/memory.py +398 -0
  240. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tools/operational_review.py +89 -0
  241. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tools/patch_review.py +300 -0
  242. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tools/qa.py +178 -0
  243. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tools/readiness_audit.py +88 -0
  244. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tools/sarif.py +157 -0
  245. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tools/sast_repair.py +340 -0
  246. llm_sca_tooling-0.1.0/src/llm_sca_tooling/mcp_server/tools/traces.py +202 -0
  247. llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/__init__.py +31 -0
  248. llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/errors.py +19 -0
  249. llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/eviction/__init__.py +5 -0
  250. llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/eviction/compactor.py +140 -0
  251. llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/models.py +286 -0
  252. llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/promotion/__init__.py +5 -0
  253. llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/promotion/pipeline.py +77 -0
  254. llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/redaction.py +46 -0
  255. llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/relabelling/__init__.py +6 -0
  256. llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/relabelling/interface.py +18 -0
  257. llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/relabelling/null_relabeller.py +32 -0
  258. llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/retrieval/__init__.py +13 -0
  259. llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/retrieval/coarse.py +48 -0
  260. llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/retrieval/fine.py +65 -0
  261. llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/retrieval/interface.py +27 -0
  262. llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/retrieval/misalignment_guard.py +33 -0
  263. llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/ship_gate.py +31 -0
  264. llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/store.py +236 -0
  265. llm_sca_tooling-0.1.0/src/llm_sca_tooling/memory/write_path.py +97 -0
  266. llm_sca_tooling-0.1.0/src/llm_sca_tooling/operations/__init__.py +29 -0
  267. llm_sca_tooling-0.1.0/src/llm_sca_tooling/operations/budget.py +88 -0
  268. llm_sca_tooling-0.1.0/src/llm_sca_tooling/operations/ledger_delete.py +112 -0
  269. llm_sca_tooling-0.1.0/src/llm_sca_tooling/operations/ledger_export.py +84 -0
  270. llm_sca_tooling-0.1.0/src/llm_sca_tooling/operations/ledger_retention.py +37 -0
  271. llm_sca_tooling-0.1.0/src/llm_sca_tooling/operations/run_records.py +175 -0
  272. llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/__init__.py +46 -0
  273. llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/ast_diff.py +142 -0
  274. llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/diff_parser.py +129 -0
  275. llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/dryrun.py +189 -0
  276. llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/four_agent_audit.py +56 -0
  277. llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/graph_context.py +101 -0
  278. llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/interface_compat.py +109 -0
  279. llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/maintainability_gate.py +53 -0
  280. llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/merge_policy.py +48 -0
  281. llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/models.py +369 -0
  282. llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/operational_integration.py +74 -0
  283. llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/report.py +337 -0
  284. llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/risk_classifier.py +122 -0
  285. llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/risk_features.py +55 -0
  286. llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/risk_policy.py +158 -0
  287. llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/sampling_integration.py +100 -0
  288. llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/sarif_delta.py +99 -0
  289. llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/scope_audit.py +113 -0
  290. llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/symbol_detector.py +138 -0
  291. llm_sca_tooling-0.1.0/src/llm_sca_tooling/patch_review/test_delta.py +97 -0
  292. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/__init__.py +9 -0
  293. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/backlog/__init__.py +128 -0
  294. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/backlog/dbus_stub.py +3 -0
  295. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/backlog/grpc_stub.py +3 -0
  296. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/backlog/mqtt_stub.py +3 -0
  297. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/backlog/protobuf_stub.py +3 -0
  298. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/backlog/zeromq_stub.py +3 -0
  299. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/base.py +165 -0
  300. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/capability.py +77 -0
  301. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/errors.py +19 -0
  302. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/graph_utils.py +190 -0
  303. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/http_rest/__init__.py +5 -0
  304. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/http_rest/client_detector.py +41 -0
  305. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/http_rest/django_detector.py +28 -0
  306. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/http_rest/fastapi_detector.py +13 -0
  307. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/http_rest/flask_detector.py +13 -0
  308. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/http_rest/framework_detector.py +97 -0
  309. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/http_rest/openapi_parser.py +131 -0
  310. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/http_rest/plugin.py +395 -0
  311. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/http_rest/schema_extractor.py +12 -0
  312. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/http_rest/url_normalizer.py +57 -0
  313. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/interface_record.py +105 -0
  314. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/omniorb_idl/__init__.py +5 -0
  315. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/omniorb_idl/caller_finder.py +29 -0
  316. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/omniorb_idl/cpp_servant_linker.py +36 -0
  317. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/omniorb_idl/generated_artifact_tracker.py +19 -0
  318. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/omniorb_idl/idl_parser.py +39 -0
  319. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/omniorb_idl/plugin.py +329 -0
  320. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/omniorb_idl/python_stub_linker.py +26 -0
  321. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/registry.py +172 -0
  322. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/runner.py +76 -0
  323. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/store.py +57 -0
  324. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/traversal.py +155 -0
  325. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/traverse_edges.py +109 -0
  326. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/websocket/__init__.py +5 -0
  327. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/websocket/client_detector.py +33 -0
  328. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/websocket/event_extractor.py +21 -0
  329. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/websocket/namespace_resolver.py +16 -0
  330. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/websocket/plugin.py +321 -0
  331. llm_sca_tooling-0.1.0/src/llm_sca_tooling/plugins/websocket/server_detector.py +71 -0
  332. llm_sca_tooling-0.1.0/src/llm_sca_tooling/privacy/__init__.py +35 -0
  333. llm_sca_tooling-0.1.0/src/llm_sca_tooling/privacy/export_delete.py +69 -0
  334. llm_sca_tooling-0.1.0/src/llm_sca_tooling/privacy/redaction.py +69 -0
  335. llm_sca_tooling-0.1.0/src/llm_sca_tooling/privacy/retention_policy.py +95 -0
  336. llm_sca_tooling-0.1.0/src/llm_sca_tooling/qa/__init__.py +14 -0
  337. llm_sca_tooling-0.1.0/src/llm_sca_tooling/qa/answer.py +54 -0
  338. llm_sca_tooling-0.1.0/src/llm_sca_tooling/qa/behaviour_trace.py +204 -0
  339. llm_sca_tooling-0.1.0/src/llm_sca_tooling/qa/blame.py +265 -0
  340. llm_sca_tooling-0.1.0/src/llm_sca_tooling/qa/classifier.py +148 -0
  341. llm_sca_tooling-0.1.0/src/llm_sca_tooling/qa/confidence.py +63 -0
  342. llm_sca_tooling-0.1.0/src/llm_sca_tooling/qa/evidence_assembler.py +144 -0
  343. llm_sca_tooling-0.1.0/src/llm_sca_tooling/qa/graph_query.py +183 -0
  344. llm_sca_tooling-0.1.0/src/llm_sca_tooling/qa/interface_lookup.py +137 -0
  345. llm_sca_tooling-0.1.0/src/llm_sca_tooling/qa/lookup.py +386 -0
  346. llm_sca_tooling-0.1.0/src/llm_sca_tooling/qa/question.py +120 -0
  347. llm_sca_tooling-0.1.0/src/llm_sca_tooling/qa/service.py +282 -0
  348. llm_sca_tooling-0.1.0/src/llm_sca_tooling/qa/ship_gate.py +89 -0
  349. llm_sca_tooling-0.1.0/src/llm_sca_tooling/qa/synthesis.py +90 -0
  350. llm_sca_tooling-0.1.0/src/llm_sca_tooling/release/__init__.py +27 -0
  351. llm_sca_tooling-0.1.0/src/llm_sca_tooling/release/ablation.py +43 -0
  352. llm_sca_tooling-0.1.0/src/llm_sca_tooling/release/adversarial.py +34 -0
  353. llm_sca_tooling-0.1.0/src/llm_sca_tooling/release/calibration.py +101 -0
  354. llm_sca_tooling-0.1.0/src/llm_sca_tooling/release/models.py +171 -0
  355. llm_sca_tooling-0.1.0/src/llm_sca_tooling/release/operational_gates.py +71 -0
  356. llm_sca_tooling-0.1.0/src/llm_sca_tooling/release/production_refresh.py +42 -0
  357. llm_sca_tooling-0.1.0/src/llm_sca_tooling/release/release_gate.py +72 -0
  358. llm_sca_tooling-0.1.0/src/llm_sca_tooling/release/report_templates.py +41 -0
  359. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/__init__.py +31 -0
  360. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/adapters/__init__.py +20 -0
  361. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/adapters/bandit.py +160 -0
  362. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/adapters/base.py +41 -0
  363. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/adapters/codeql.py +46 -0
  364. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/adapters/external_import.py +52 -0
  365. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/adapters/ruleset.py +44 -0
  366. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/adapters/semgrep.py +100 -0
  367. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/adapters/sonarqube.py +71 -0
  368. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/binding.py +160 -0
  369. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/delta.py +110 -0
  370. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/errors.py +19 -0
  371. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/fingerprint.py +44 -0
  372. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/models.py +363 -0
  373. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/normalizer.py +485 -0
  374. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/parser.py +392 -0
  375. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/pipeline.py +135 -0
  376. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/resource.py +66 -0
  377. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/rulesets/__init__.py +0 -0
  378. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/rulesets/cpp_security.yaml +11 -0
  379. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/rulesets/python_security.yaml +20 -0
  380. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/rulesets/typescript_security.yaml +10 -0
  381. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/store.py +270 -0
  382. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sarif/warned_by.py +190 -0
  383. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sast_repair/__init__.py +91 -0
  384. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sast_repair/alert_binding.py +122 -0
  385. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sast_repair/alert_classification.py +92 -0
  386. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sast_repair/analyser_rerun.py +89 -0
  387. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sast_repair/build_test_runner.py +91 -0
  388. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sast_repair/corpus_adapter.py +149 -0
  389. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sast_repair/models.py +262 -0
  390. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sast_repair/patch_generator.py +59 -0
  391. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sast_repair/predicate_examples.py +64 -0
  392. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sast_repair/predicate_metadata.py +132 -0
  393. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sast_repair/remaining_risk.py +115 -0
  394. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sast_repair/repair_context.py +101 -0
  395. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sast_repair/report.py +286 -0
  396. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sast_repair/rule_evolution.py +33 -0
  397. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sast_repair/sandbox.py +134 -0
  398. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sast_repair/sarif_delta_verifier.py +95 -0
  399. llm_sca_tooling-0.1.0/src/llm_sca_tooling/sast_repair/suppression.py +68 -0
  400. llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/__init__.py +5 -0
  401. llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/base.py +88 -0
  402. llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/contracts.py +53 -0
  403. llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/enums.py +254 -0
  404. llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/evidence.py +69 -0
  405. llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/governance.py +201 -0
  406. llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/graph.py +292 -0
  407. llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/harness.py +62 -0
  408. llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/incidents.py +108 -0
  409. llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/json_schema.py +100 -0
  410. llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/memory.py +36 -0
  411. llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/operations.py +190 -0
  412. llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/patches.py +64 -0
  413. llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/provenance.py +173 -0
  414. llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/readiness.py +122 -0
  415. llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/run_records.py +154 -0
  416. llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/sarif.py +39 -0
  417. llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/supply_chain.py +37 -0
  418. llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/validation.py +90 -0
  419. llm_sca_tooling-0.1.0/src/llm_sca_tooling/schemas/verdicts.py +81 -0
  420. llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/__init__.py +9 -0
  421. llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/artifacts.py +140 -0
  422. llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/diagnostics.py +14 -0
  423. llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/errors.py +57 -0
  424. llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/export_import.py +382 -0
  425. llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/graph_queries.py +30 -0
  426. llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/graph_store.py +633 -0
  427. llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/harness_store.py +150 -0
  428. llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/ids.py +48 -0
  429. llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/migrations/0001_initial.sql +297 -0
  430. llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/migrations/0002_sarif.sql +88 -0
  431. llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/migrations/0003_embedding_vectors.sql +19 -0
  432. llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/migrations/0004_eval_runs.sql +14 -0
  433. llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/migrations/0005_memory.sql +58 -0
  434. llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/migrations/__init__.py +88 -0
  435. llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/operations.py +514 -0
  436. llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/paths.py +74 -0
  437. llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/registry.py +193 -0
  438. llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/snapshots.py +197 -0
  439. llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/sqlite.py +16 -0
  440. llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/transactions.py +19 -0
  441. llm_sca_tooling-0.1.0/src/llm_sca_tooling/storage/workspace.py +135 -0
  442. llm_sca_tooling-0.1.0/src/llm_sca_tooling/telemetry/__init__.py +6 -0
  443. llm_sca_tooling-0.1.0/src/llm_sca_tooling/telemetry/logging.py +41 -0
  444. llm_sca_tooling-0.1.0/src/llm_sca_tooling/telemetry/trace_writer.py +85 -0
  445. llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/__init__.py +35 -0
  446. llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/adapters/__init__.py +16 -0
  447. llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/adapters/base.py +38 -0
  448. llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/adapters/cpp_adapter.py +30 -0
  449. llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/adapters/js_adapter.py +30 -0
  450. llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/adapters/python_adapter.py +157 -0
  451. llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/adapters/python_runner.py +243 -0
  452. llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/adapters/registry.py +32 -0
  453. llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/artefact_store.py +63 -0
  454. llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/compression/__init__.py +17 -0
  455. llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/compression/divergence.py +45 -0
  456. llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/compression/interface.py +21 -0
  457. llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/compression/null_summarizer.py +84 -0
  458. llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/compression/state_diff.py +177 -0
  459. llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/contract.py +86 -0
  460. llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/integration/__init__.py +17 -0
  461. llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/integration/bug_resolve_hook.py +18 -0
  462. llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/integration/fl_hook.py +65 -0
  463. llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/integration/impl_check_hook.py +26 -0
  464. llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/integration/patch_review_hook.py +11 -0
  465. llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/models.py +213 -0
  466. llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/redaction.py +49 -0
  467. llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/scope_filter.py +96 -0
  468. llm_sca_tooling-0.1.0/src/llm_sca_tooling/traces/service.py +286 -0
  469. llm_sca_tooling-0.1.0/src/llm_sca_tooling/transport/__init__.py +13 -0
  470. llm_sca_tooling-0.1.0/src/llm_sca_tooling/transport/http_transport.py +58 -0
  471. llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/__init__.py +1 -0
  472. llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/bug_resolve/__init__.py +57 -0
  473. llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/bug_resolve/blast_radius_stub.py +51 -0
  474. llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/bug_resolve/candidate_patch.py +77 -0
  475. llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/bug_resolve/certificate.py +60 -0
  476. llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/bug_resolve/config.py +34 -0
  477. llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/bug_resolve/gate_runner.py +153 -0
  478. llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/bug_resolve/investigate.py +121 -0
  479. llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/bug_resolve/models.py +307 -0
  480. llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/bug_resolve/monitor_hooks.py +162 -0
  481. llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/bug_resolve/patch_selection.py +102 -0
  482. llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/bug_resolve/preconditions.py +42 -0
  483. llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/bug_resolve/repair_context.py +69 -0
  484. llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/bug_resolve/report.py +155 -0
  485. llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/bug_resolve/reproduction_test.py +64 -0
  486. llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/bug_resolve/state_machine.py +482 -0
  487. llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/impl_check/__init__.py +37 -0
  488. llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/impl_check/aggregator.py +159 -0
  489. llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/impl_check/clause_extractor.py +118 -0
  490. llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/impl_check/contract_generator.py +137 -0
  491. llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/impl_check/dynamic_verdict.py +71 -0
  492. llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/impl_check/grounding.py +56 -0
  493. llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/impl_check/harness_policy.py +55 -0
  494. llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/impl_check/ingestion.py +44 -0
  495. llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/impl_check/intent_graph.py +56 -0
  496. llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/impl_check/models.py +272 -0
  497. llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/impl_check/operational_binding.py +33 -0
  498. llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/impl_check/report.py +254 -0
  499. llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/impl_check/static_verdict.py +155 -0
  500. llm_sca_tooling-0.1.0/src/llm_sca_tooling/workflows/impl_check/verdict_matrix.py +70 -0
  501. llm_sca_tooling-0.1.0/tests/__init__.py +1 -0
  502. llm_sca_tooling-0.1.0/tests/blast_radius/__init__.py +0 -0
  503. llm_sca_tooling-0.1.0/tests/blast_radius/conftest.py +126 -0
  504. llm_sca_tooling-0.1.0/tests/blast_radius/fixtures/__init__.py +0 -0
  505. llm_sca_tooling-0.1.0/tests/blast_radius/test_abi_impact.py +84 -0
  506. llm_sca_tooling-0.1.0/tests/blast_radius/test_ambiguous_links.py +95 -0
  507. llm_sca_tooling-0.1.0/tests/blast_radius/test_blast_radius_template.py +67 -0
  508. llm_sca_tooling-0.1.0/tests/blast_radius/test_change_type.py +110 -0
  509. llm_sca_tooling-0.1.0/tests/blast_radius/test_cross_repo.py +137 -0
  510. llm_sca_tooling-0.1.0/tests/blast_radius/test_doc_spec_impact.py +118 -0
  511. llm_sca_tooling-0.1.0/tests/blast_radius/test_generated_stub.py +73 -0
  512. llm_sca_tooling-0.1.0/tests/blast_radius/test_graph_traversal.py +380 -0
  513. llm_sca_tooling-0.1.0/tests/blast_radius/test_impact_groups.py +89 -0
  514. llm_sca_tooling-0.1.0/tests/blast_radius/test_report.py +223 -0
  515. llm_sca_tooling-0.1.0/tests/blast_radius/test_sarif_reachability.py +70 -0
  516. llm_sca_tooling-0.1.0/tests/blast_radius/test_service.py +245 -0
  517. llm_sca_tooling-0.1.0/tests/blast_radius/test_traversal_policy.py +137 -0
  518. llm_sca_tooling-0.1.0/tests/conftest.py +39 -0
  519. llm_sca_tooling-0.1.0/tests/docs/test_phase19_docs.py +24 -0
  520. llm_sca_tooling-0.1.0/tests/evaluation/conftest.py +16 -0
  521. llm_sca_tooling-0.1.0/tests/evaluation/fixtures/smoke/ambiguity/gold_patch.diff +6 -0
  522. llm_sca_tooling-0.1.0/tests/evaluation/fixtures/smoke/ambiguity/gold_suspects.json +7 -0
  523. llm_sca_tooling-0.1.0/tests/evaluation/fixtures/smoke/ambiguity/issue.json +11 -0
  524. llm_sca_tooling-0.1.0/tests/evaluation/fixtures/smoke/file_localisation/gold_patch.diff +7 -0
  525. llm_sca_tooling-0.1.0/tests/evaluation/fixtures/smoke/file_localisation/gold_suspects.json +6 -0
  526. llm_sca_tooling-0.1.0/tests/evaluation/fixtures/smoke/file_localisation/issue.json +11 -0
  527. llm_sca_tooling-0.1.0/tests/evaluation/fixtures/smoke/maintainability/gold_patch.diff +8 -0
  528. llm_sca_tooling-0.1.0/tests/evaluation/fixtures/smoke/maintainability/gold_suspects.json +6 -0
  529. llm_sca_tooling-0.1.0/tests/evaluation/fixtures/smoke/maintainability/issue.json +11 -0
  530. llm_sca_tooling-0.1.0/tests/evaluation/fixtures/smoke/multi_file/gold_patch.diff +14 -0
  531. llm_sca_tooling-0.1.0/tests/evaluation/fixtures/smoke/multi_file/gold_suspects.json +6 -0
  532. llm_sca_tooling-0.1.0/tests/evaluation/fixtures/smoke/multi_file/issue.json +11 -0
  533. llm_sca_tooling-0.1.0/tests/evaluation/fixtures/smoke/security/gold_patch.diff +7 -0
  534. llm_sca_tooling-0.1.0/tests/evaluation/fixtures/smoke/security/gold_suspects.json +6 -0
  535. llm_sca_tooling-0.1.0/tests/evaluation/fixtures/smoke/security/issue.json +11 -0
  536. llm_sca_tooling-0.1.0/tests/evaluation/test_adapters_metrics_runner.py +127 -0
  537. llm_sca_tooling-0.1.0/tests/evaluation/test_eval_mcp.py +50 -0
  538. llm_sca_tooling-0.1.0/tests/evaluation/test_models_and_hcs.py +53 -0
  539. llm_sca_tooling-0.1.0/tests/fl/conftest.py +190 -0
  540. llm_sca_tooling-0.1.0/tests/fl/test_embedding_vector_cache.py +38 -0
  541. llm_sca_tooling-0.1.0/tests/fl/test_graph_expansion.py +38 -0
  542. llm_sca_tooling-0.1.0/tests/fl/test_issue.py +41 -0
  543. llm_sca_tooling-0.1.0/tests/fl/test_keyword_retrieval.py +30 -0
  544. llm_sca_tooling-0.1.0/tests/fl/test_localisation_tool.py +62 -0
  545. llm_sca_tooling-0.1.0/tests/fl/test_ranking_uncertainty.py +80 -0
  546. llm_sca_tooling-0.1.0/tests/fl/test_sbfl_investigate_memory.py +50 -0
  547. llm_sca_tooling-0.1.0/tests/hardening/test_phase19_hardening.py +115 -0
  548. llm_sca_tooling-0.1.0/tests/harness/test_manifest_regression.py +17 -0
  549. llm_sca_tooling-0.1.0/tests/harness/test_non_relaxation.py +26 -0
  550. llm_sca_tooling-0.1.0/tests/harness/test_semantic_mutation.py +13 -0
  551. llm_sca_tooling-0.1.0/tests/indexing/__init__.py +1 -0
  552. llm_sca_tooling-0.1.0/tests/indexing/conftest.py +60 -0
  553. llm_sca_tooling-0.1.0/tests/indexing/test_blame.py +151 -0
  554. llm_sca_tooling-0.1.0/tests/indexing/test_build_blame_summary.py +73 -0
  555. llm_sca_tooling-0.1.0/tests/indexing/test_build_evidence.py +104 -0
  556. llm_sca_tooling-0.1.0/tests/indexing/test_cross_checker.py +118 -0
  557. llm_sca_tooling-0.1.0/tests/indexing/test_ctags_backend.py +129 -0
  558. llm_sca_tooling-0.1.0/tests/indexing/test_fact_reconciler.py +147 -0
  559. llm_sca_tooling-0.1.0/tests/indexing/test_git_metadata.py +43 -0
  560. llm_sca_tooling-0.1.0/tests/indexing/test_graph_manifest.py +182 -0
  561. llm_sca_tooling-0.1.0/tests/indexing/test_graph_slices.py +42 -0
  562. llm_sca_tooling-0.1.0/tests/indexing/test_lsp_layer.py +181 -0
  563. llm_sca_tooling-0.1.0/tests/indexing/test_optional_backends.py +29 -0
  564. llm_sca_tooling-0.1.0/tests/indexing/test_phase5_backends.py +186 -0
  565. llm_sca_tooling-0.1.0/tests/indexing/test_python_ast_backend.py +42 -0
  566. llm_sca_tooling-0.1.0/tests/indexing/test_scanner.py +33 -0
  567. llm_sca_tooling-0.1.0/tests/indexing/test_service_integration.py +116 -0
  568. llm_sca_tooling-0.1.0/tests/indexing/test_summary_cache.py +138 -0
  569. llm_sca_tooling-0.1.0/tests/indexing/test_tree_sitter_backend.py +80 -0
  570. llm_sca_tooling-0.1.0/tests/mcp_server/__init__.py +1 -0
  571. llm_sca_tooling-0.1.0/tests/mcp_server/conftest.py +59 -0
  572. llm_sca_tooling-0.1.0/tests/mcp_server/test_interface_tools_resources.py +82 -0
  573. llm_sca_tooling-0.1.0/tests/mcp_server/test_mcp_errors.py +100 -0
  574. llm_sca_tooling-0.1.0/tests/mcp_server/test_prompts_regressions.py +57 -0
  575. llm_sca_tooling-0.1.0/tests/mcp_server/test_qa_tools.py +75 -0
  576. llm_sca_tooling-0.1.0/tests/mcp_server/test_resources.py +102 -0
  577. llm_sca_tooling-0.1.0/tests/mcp_server/test_sarif_tool_resource.py +94 -0
  578. llm_sca_tooling-0.1.0/tests/mcp_server/test_server_startup.py +33 -0
  579. llm_sca_tooling-0.1.0/tests/mcp_server/test_tools_tasks_notifications.py +94 -0
  580. llm_sca_tooling-0.1.0/tests/memory/test_phase17_memory.py +348 -0
  581. llm_sca_tooling-0.1.0/tests/operations/test_phase19_ledger.py +89 -0
  582. llm_sca_tooling-0.1.0/tests/packaging/test_phase19_distribution.py +16 -0
  583. llm_sca_tooling-0.1.0/tests/patch_review/__init__.py +1 -0
  584. llm_sca_tooling-0.1.0/tests/patch_review/conftest.py +38 -0
  585. llm_sca_tooling-0.1.0/tests/patch_review/fixtures/diffs/missing_test_fix.diff +12 -0
  586. llm_sca_tooling-0.1.0/tests/patch_review/fixtures/diffs/overfit_fix.diff +13 -0
  587. llm_sca_tooling-0.1.0/tests/patch_review/fixtures/diffs/safe_fix.diff +13 -0
  588. llm_sca_tooling-0.1.0/tests/patch_review/fixtures/diffs/scope_violation.diff +10 -0
  589. llm_sca_tooling-0.1.0/tests/patch_review/fixtures/diffs/vulnerable_fix.diff +11 -0
  590. llm_sca_tooling-0.1.0/tests/patch_review/test_ast_diff.py +133 -0
  591. llm_sca_tooling-0.1.0/tests/patch_review/test_diff_parser.py +61 -0
  592. llm_sca_tooling-0.1.0/tests/patch_review/test_dryrun.py +111 -0
  593. llm_sca_tooling-0.1.0/tests/patch_review/test_four_agent_audit.py +74 -0
  594. llm_sca_tooling-0.1.0/tests/patch_review/test_graph_context.py +68 -0
  595. llm_sca_tooling-0.1.0/tests/patch_review/test_interface_compat.py +103 -0
  596. llm_sca_tooling-0.1.0/tests/patch_review/test_maintainability_gate.py +17 -0
  597. llm_sca_tooling-0.1.0/tests/patch_review/test_mcp_tools.py +67 -0
  598. llm_sca_tooling-0.1.0/tests/patch_review/test_merge_policy.py +155 -0
  599. llm_sca_tooling-0.1.0/tests/patch_review/test_models.py +58 -0
  600. llm_sca_tooling-0.1.0/tests/patch_review/test_report.py +91 -0
  601. llm_sca_tooling-0.1.0/tests/patch_review/test_risk_policy.py +307 -0
  602. llm_sca_tooling-0.1.0/tests/patch_review/test_sarif_delta.py +54 -0
  603. llm_sca_tooling-0.1.0/tests/patch_review/test_scope_audit.py +102 -0
  604. llm_sca_tooling-0.1.0/tests/patch_review/test_symbol_detector.py +81 -0
  605. llm_sca_tooling-0.1.0/tests/patch_review/test_test_delta.py +64 -0
  606. llm_sca_tooling-0.1.0/tests/plugins/http_rest/test_http_rest_plugin.py +99 -0
  607. llm_sca_tooling-0.1.0/tests/plugins/omniorb_idl/test_omniorb_idl_plugin.py +66 -0
  608. llm_sca_tooling-0.1.0/tests/plugins/test_interface_record_traversal.py +60 -0
  609. llm_sca_tooling-0.1.0/tests/plugins/test_plugin_base_registry.py +35 -0
  610. llm_sca_tooling-0.1.0/tests/plugins/test_traversal.py +71 -0
  611. llm_sca_tooling-0.1.0/tests/plugins/websocket/test_websocket_plugin.py +52 -0
  612. llm_sca_tooling-0.1.0/tests/privacy/test_phase19_privacy.py +57 -0
  613. llm_sca_tooling-0.1.0/tests/qa/test_evidence_assembler.py +118 -0
  614. llm_sca_tooling-0.1.0/tests/qa/test_lookup_graph_answer.py +219 -0
  615. llm_sca_tooling-0.1.0/tests/qa/test_question_classifier.py +42 -0
  616. llm_sca_tooling-0.1.0/tests/release/test_phase18_release.py +221 -0
  617. llm_sca_tooling-0.1.0/tests/release/test_phase18_tools_prompts.py +48 -0
  618. llm_sca_tooling-0.1.0/tests/sarif/adapters/test_adapters.py +47 -0
  619. llm_sca_tooling-0.1.0/tests/sarif/adapters/test_sonarqube_adapter.py +46 -0
  620. llm_sca_tooling-0.1.0/tests/sarif/conftest.py +44 -0
  621. llm_sca_tooling-0.1.0/tests/sarif/fixtures/sarif_runs/bandit_basic.sarif.json +32 -0
  622. llm_sca_tooling-0.1.0/tests/sarif/fixtures/sarif_runs/codeql_basic.sarif.json +24 -0
  623. llm_sca_tooling-0.1.0/tests/sarif/fixtures/sarif_runs/delta_after.sarif.json +37 -0
  624. llm_sca_tooling-0.1.0/tests/sarif/fixtures/sarif_runs/delta_before.sarif.json +37 -0
  625. llm_sca_tooling-0.1.0/tests/sarif/fixtures/sarif_runs/external_generic.sarif.json +41 -0
  626. llm_sca_tooling-0.1.0/tests/sarif/fixtures/sarif_runs/malformed.sarif.json +1 -0
  627. llm_sca_tooling-0.1.0/tests/sarif/fixtures/sarif_runs/partial_locations.sarif.json +9 -0
  628. llm_sca_tooling-0.1.0/tests/sarif/fixtures/sarif_runs/semgrep_cpp_basic.sarif.json +9 -0
  629. llm_sca_tooling-0.1.0/tests/sarif/fixtures/sarif_runs/semgrep_python_basic.sarif.json +9 -0
  630. llm_sca_tooling-0.1.0/tests/sarif/fixtures/sarif_runs/semgrep_typescript_basic.sarif.json +9 -0
  631. llm_sca_tooling-0.1.0/tests/sarif/fixtures/sarif_runs/sonarqube_export.sarif.json +9 -0
  632. llm_sca_tooling-0.1.0/tests/sarif/fixtures/sarif_runs/wrong_version.sarif.json +1 -0
  633. llm_sca_tooling-0.1.0/tests/sarif/test_models.py +36 -0
  634. llm_sca_tooling-0.1.0/tests/sarif/test_parser_normalizer_fingerprint.py +136 -0
  635. llm_sca_tooling-0.1.0/tests/sarif/test_store_binding_delta.py +132 -0
  636. llm_sca_tooling-0.1.0/tests/sast_repair/__init__.py +0 -0
  637. llm_sca_tooling-0.1.0/tests/sast_repair/conftest.py +41 -0
  638. llm_sca_tooling-0.1.0/tests/sast_repair/fixtures/alerts/false_positive_alert.json +8 -0
  639. llm_sca_tooling-0.1.0/tests/sast_repair/fixtures/alerts/injection_alert.json +10 -0
  640. llm_sca_tooling-0.1.0/tests/sast_repair/fixtures/alerts/nullderef_alert.json +10 -0
  641. llm_sca_tooling-0.1.0/tests/sast_repair/fixtures/alerts/unknown_alert.json +5 -0
  642. llm_sca_tooling-0.1.0/tests/sast_repair/fixtures/corpus/injection_examples.json +13 -0
  643. llm_sca_tooling-0.1.0/tests/sast_repair/fixtures/corpus/nullderef_examples.json +25 -0
  644. llm_sca_tooling-0.1.0/tests/sast_repair/test_alert_binding.py +78 -0
  645. llm_sca_tooling-0.1.0/tests/sast_repair/test_alert_classification.py +78 -0
  646. llm_sca_tooling-0.1.0/tests/sast_repair/test_analyser_rerun.py +76 -0
  647. llm_sca_tooling-0.1.0/tests/sast_repair/test_build_test_runner.py +78 -0
  648. llm_sca_tooling-0.1.0/tests/sast_repair/test_corpus_adapter.py +103 -0
  649. llm_sca_tooling-0.1.0/tests/sast_repair/test_mcp_tools.py +95 -0
  650. llm_sca_tooling-0.1.0/tests/sast_repair/test_models.py +107 -0
  651. llm_sca_tooling-0.1.0/tests/sast_repair/test_patch_generator.py +25 -0
  652. llm_sca_tooling-0.1.0/tests/sast_repair/test_predicate_metadata.py +50 -0
  653. llm_sca_tooling-0.1.0/tests/sast_repair/test_remaining_risk.py +95 -0
  654. llm_sca_tooling-0.1.0/tests/sast_repair/test_repair_context.py +85 -0
  655. llm_sca_tooling-0.1.0/tests/sast_repair/test_report.py +163 -0
  656. llm_sca_tooling-0.1.0/tests/sast_repair/test_rule_evolution.py +22 -0
  657. llm_sca_tooling-0.1.0/tests/sast_repair/test_sandbox.py +78 -0
  658. llm_sca_tooling-0.1.0/tests/sast_repair/test_sarif_delta_verifier.py +62 -0
  659. llm_sca_tooling-0.1.0/tests/sast_repair/test_skill_template.py +39 -0
  660. llm_sca_tooling-0.1.0/tests/sast_repair/test_suppression.py +97 -0
  661. llm_sca_tooling-0.1.0/tests/schemas/conftest.py +69 -0
  662. llm_sca_tooling-0.1.0/tests/schemas/fixtures/invalid/evidence.json +1 -0
  663. llm_sca_tooling-0.1.0/tests/schemas/fixtures/invalid/governance.json +1 -0
  664. llm_sca_tooling-0.1.0/tests/schemas/fixtures/invalid/graph.json +51 -0
  665. llm_sca_tooling-0.1.0/tests/schemas/fixtures/invalid/harness-condition.json +1 -0
  666. llm_sca_tooling-0.1.0/tests/schemas/fixtures/invalid/incident.json +1 -0
  667. llm_sca_tooling-0.1.0/tests/schemas/fixtures/invalid/readiness.json +1 -0
  668. llm_sca_tooling-0.1.0/tests/schemas/fixtures/invalid/run-record.json +1 -0
  669. llm_sca_tooling-0.1.0/tests/schemas/fixtures/invalid/verdict.json +1 -0
  670. llm_sca_tooling-0.1.0/tests/schemas/fixtures/valid/evidence.json +53 -0
  671. llm_sca_tooling-0.1.0/tests/schemas/fixtures/valid/governance.json +28 -0
  672. llm_sca_tooling-0.1.0/tests/schemas/fixtures/valid/graph.json +27 -0
  673. llm_sca_tooling-0.1.0/tests/schemas/fixtures/valid/harness-condition.json +39 -0
  674. llm_sca_tooling-0.1.0/tests/schemas/fixtures/valid/incident.json +35 -0
  675. llm_sca_tooling-0.1.0/tests/schemas/fixtures/valid/readiness.json +35 -0
  676. llm_sca_tooling-0.1.0/tests/schemas/fixtures/valid/run-record.json +23 -0
  677. llm_sca_tooling-0.1.0/tests/schemas/fixtures/valid/verdict.json +33 -0
  678. llm_sca_tooling-0.1.0/tests/schemas/test_base_models.py +105 -0
  679. llm_sca_tooling-0.1.0/tests/schemas/test_evidence_verdict_schema.py +142 -0
  680. llm_sca_tooling-0.1.0/tests/schemas/test_governance_harness_readiness_incident_schema.py +199 -0
  681. llm_sca_tooling-0.1.0/tests/schemas/test_graph_schema.py +196 -0
  682. llm_sca_tooling-0.1.0/tests/schemas/test_json_schema_exports.py +55 -0
  683. llm_sca_tooling-0.1.0/tests/schemas/test_run_record_schema.py +107 -0
  684. llm_sca_tooling-0.1.0/tests/schemas/test_schema_regressions.py +73 -0
  685. llm_sca_tooling-0.1.0/tests/smoke/test_smoke_import.py +7 -0
  686. llm_sca_tooling-0.1.0/tests/storage/__init__.py +1 -0
  687. llm_sca_tooling-0.1.0/tests/storage/conftest.py +269 -0
  688. llm_sca_tooling-0.1.0/tests/storage/test_artifact_store.py +55 -0
  689. llm_sca_tooling-0.1.0/tests/storage/test_export_import.py +55 -0
  690. llm_sca_tooling-0.1.0/tests/storage/test_graph_store.py +113 -0
  691. llm_sca_tooling-0.1.0/tests/storage/test_harness_metadata_store.py +46 -0
  692. llm_sca_tooling-0.1.0/tests/storage/test_migrations_transactions.py +69 -0
  693. llm_sca_tooling-0.1.0/tests/storage/test_operational_store.py +138 -0
  694. llm_sca_tooling-0.1.0/tests/storage/test_repository_registry.py +50 -0
  695. llm_sca_tooling-0.1.0/tests/storage/test_snapshot_store.py +39 -0
  696. llm_sca_tooling-0.1.0/tests/storage/test_workspace_store.py +20 -0
  697. llm_sca_tooling-0.1.0/tests/traces/fixtures/scripts/no_reproduce.py +6 -0
  698. llm_sca_tooling-0.1.0/tests/traces/fixtures/scripts/reproducer_exception.py +6 -0
  699. llm_sca_tooling-0.1.0/tests/traces/fixtures/scripts/reproducer_simple.py +10 -0
  700. llm_sca_tooling-0.1.0/tests/traces/test_phase16_integration_hooks.py +108 -0
  701. llm_sca_tooling-0.1.0/tests/traces/test_phase16_trace_capture.py +192 -0
  702. llm_sca_tooling-0.1.0/tests/transport/test_phase19_http_transport.py +34 -0
  703. llm_sca_tooling-0.1.0/tests/unit/test_cli.py +155 -0
  704. llm_sca_tooling-0.1.0/tests/unit/test_config.py +45 -0
  705. llm_sca_tooling-0.1.0/tests/unit/test_errors.py +8 -0
  706. llm_sca_tooling-0.1.0/tests/unit/test_governance.py +24 -0
  707. llm_sca_tooling-0.1.0/tests/unit/test_harness_condition.py +22 -0
  708. llm_sca_tooling-0.1.0/tests/unit/test_operations.py +41 -0
  709. llm_sca_tooling-0.1.0/tests/unit/test_plugin_registry_phase0.py +10 -0
  710. llm_sca_tooling-0.1.0/tests/unit/test_setup.py +306 -0
  711. llm_sca_tooling-0.1.0/tests/unit/test_telemetry.py +28 -0
  712. llm_sca_tooling-0.1.0/tests/workflows/__init__.py +0 -0
  713. llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/__init__.py +0 -0
  714. llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/fixtures/gold/simple_nullderef_patch.diff +5 -0
  715. llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/fixtures/issues/ambiguous_issue.json +5 -0
  716. llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/fixtures/issues/budget_exhausted_issue.json +5 -0
  717. llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/fixtures/issues/multi_file_logic_error.json +5 -0
  718. llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/fixtures/issues/sarif_security_alert.json +5 -0
  719. llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/fixtures/issues/simple_nullderef.json +5 -0
  720. llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/test_blast_radius_stub.py +35 -0
  721. llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/test_bug_resolve_prompt.py +41 -0
  722. llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/test_candidate_patch.py +49 -0
  723. llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/test_certificate.py +49 -0
  724. llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/test_config.py +60 -0
  725. llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/test_gate_runner.py +138 -0
  726. llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/test_investigate.py +90 -0
  727. llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/test_models.py +183 -0
  728. llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/test_monitor_hooks.py +146 -0
  729. llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/test_patch_selection.py +74 -0
  730. llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/test_preconditions.py +56 -0
  731. llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/test_repair_context.py +74 -0
  732. llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/test_report.py +161 -0
  733. llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/test_reproduction_test.py +86 -0
  734. llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/test_run_issue_resolution.py +71 -0
  735. llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/test_skill_templates.py +32 -0
  736. llm_sca_tooling-0.1.0/tests/workflows/bug_resolve/test_state_machine.py +152 -0
  737. llm_sca_tooling-0.1.0/tests/workflows/impl_check/__init__.py +0 -0
  738. llm_sca_tooling-0.1.0/tests/workflows/impl_check/fixtures/specs/ambiguous_spec.md +6 -0
  739. llm_sca_tooling-0.1.0/tests/workflows/impl_check/fixtures/specs/harness_policy_spec.md +7 -0
  740. llm_sca_tooling-0.1.0/tests/workflows/impl_check/fixtures/specs/security_spec.md +7 -0
  741. llm_sca_tooling-0.1.0/tests/workflows/impl_check/fixtures/specs/simple_feature_spec.md +7 -0
  742. llm_sca_tooling-0.1.0/tests/workflows/impl_check/test_aggregator.py +130 -0
  743. llm_sca_tooling-0.1.0/tests/workflows/impl_check/test_clause_extractor.py +65 -0
  744. llm_sca_tooling-0.1.0/tests/workflows/impl_check/test_contract_generator.py +74 -0
  745. llm_sca_tooling-0.1.0/tests/workflows/impl_check/test_dynamic_verdict.py +26 -0
  746. llm_sca_tooling-0.1.0/tests/workflows/impl_check/test_grounding.py +38 -0
  747. llm_sca_tooling-0.1.0/tests/workflows/impl_check/test_harness_policy.py +46 -0
  748. llm_sca_tooling-0.1.0/tests/workflows/impl_check/test_ingestion.py +46 -0
  749. llm_sca_tooling-0.1.0/tests/workflows/impl_check/test_intent_graph.py +38 -0
  750. llm_sca_tooling-0.1.0/tests/workflows/impl_check/test_operational_binding.py +34 -0
  751. llm_sca_tooling-0.1.0/tests/workflows/impl_check/test_report.py +75 -0
  752. llm_sca_tooling-0.1.0/tests/workflows/impl_check/test_run_implementation_check.py +87 -0
  753. llm_sca_tooling-0.1.0/tests/workflows/impl_check/test_static_verdict.py +148 -0
  754. 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`.