sova-oss 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 (638) hide show
  1. sova_oss-0.1.0/.gitignore +97 -0
  2. sova_oss-0.1.0/CHANGELOG.md +415 -0
  3. sova_oss-0.1.0/CITATION.cff +20 -0
  4. sova_oss-0.1.0/CODE_OF_CONDUCT.md +78 -0
  5. sova_oss-0.1.0/CONTRIBUTING.md +139 -0
  6. sova_oss-0.1.0/DUAL_USE_POLICY.md +123 -0
  7. sova_oss-0.1.0/GOVERNANCE.md +18 -0
  8. sova_oss-0.1.0/LICENSE +201 -0
  9. sova_oss-0.1.0/MAINTAINERS.md +27 -0
  10. sova_oss-0.1.0/NOTICE +20 -0
  11. sova_oss-0.1.0/PKG-INFO +1266 -0
  12. sova_oss-0.1.0/README.md +1224 -0
  13. sova_oss-0.1.0/SECURITY.md +139 -0
  14. sova_oss-0.1.0/TRADEMARKS.md +153 -0
  15. sova_oss-0.1.0/deploy/__init__.py +2 -0
  16. sova_oss-0.1.0/deploy/community/Caddyfile +23 -0
  17. sova_oss-0.1.0/deploy/community/Dockerfile +34 -0
  18. sova_oss-0.1.0/deploy/community/Dockerfile.dockerignore +3 -0
  19. sova_oss-0.1.0/deploy/community/OPERATIONS.md +83 -0
  20. sova_oss-0.1.0/deploy/community/README.md +134 -0
  21. sova_oss-0.1.0/deploy/community/__init__.py +2 -0
  22. sova_oss-0.1.0/deploy/community/beta-policy.example.json +30 -0
  23. sova_oss-0.1.0/deploy/community/compose.yaml +114 -0
  24. sova_oss-0.1.0/deploy/community/preflight.py +503 -0
  25. sova_oss-0.1.0/deploy/monitoring/README.md +12 -0
  26. sova_oss-0.1.0/deploy/monitoring/com.truscor.sova-monitor.plist +22 -0
  27. sova_oss-0.1.0/deploy/monitoring/sova-monitor.service +27 -0
  28. sova_oss-0.1.0/deploy/monitoring/sova-monitor.winsw.xml +12 -0
  29. sova_oss-0.1.0/deploy/worker/README.md +71 -0
  30. sova_oss-0.1.0/deploy/worker/network-mediator/.cargo/config.toml +2 -0
  31. sova_oss-0.1.0/deploy/worker/network-mediator/Cargo.lock +540 -0
  32. sova_oss-0.1.0/deploy/worker/network-mediator/Cargo.toml +31 -0
  33. sova_oss-0.1.0/deploy/worker/network-mediator/README.md +50 -0
  34. sova_oss-0.1.0/deploy/worker/network-mediator/scripts/smoke-wsl.sh +77 -0
  35. sova_oss-0.1.0/deploy/worker/network-mediator/src/lib.rs +1613 -0
  36. sova_oss-0.1.0/deploy/worker/network-mediator/src/main.rs +84 -0
  37. sova_oss-0.1.0/deploy/worker/provision-host.sh +77 -0
  38. sova_oss-0.1.0/deploy/worker/worker-policy.example.json +59 -0
  39. sova_oss-0.1.0/docs/contracts/README.md +23 -0
  40. sova_oss-0.1.0/docs/contracts/coverage-model.md +84 -0
  41. sova_oss-0.1.0/docs/contracts/domain-model.md +79 -0
  42. sova_oss-0.1.0/docs/contracts/finding-lifecycle.md +91 -0
  43. sova_oss-0.1.0/docs/contracts/source-example-reconciliation.md +28 -0
  44. sova_oss-0.1.0/docs/contracts/version-contracts.md +86 -0
  45. sova_oss-0.1.0/docs/decisions/0001-canonical-artifact-meanings.md +286 -0
  46. sova_oss-0.1.0/docs/decisions/0002-versioning-and-lossless-migration.md +488 -0
  47. sova_oss-0.1.0/docs/decisions/0003-open-source-and-proprietary-boundary.md +280 -0
  48. sova_oss-0.1.0/docs/decisions/0004-self-assessment-and-truscor-boundary.md +251 -0
  49. sova_oss-0.1.0/docs/decisions/0005-topic-00-project-constitution.md +228 -0
  50. sova_oss-0.1.0/docs/decisions/0006-topic-01-evidence-go-no-go.md +241 -0
  51. sova_oss-0.1.0/docs/decisions/0007-topic-02-engineering-foundation.md +213 -0
  52. sova_oss-0.1.0/docs/decisions/0008-topic-03-domain-contracts.md +233 -0
  53. sova_oss-0.1.0/docs/decisions/0009-sova-behavior-capsule-and-trace-model.md +247 -0
  54. sova_oss-0.1.0/docs/decisions/0010-executor-contract-and-no-atlas-backends.md +75 -0
  55. sova_oss-0.1.0/docs/decisions/0011-authority-containment-evidence-kernel.md +63 -0
  56. sova_oss-0.1.0/docs/decisions/0012-claim-conditioned-evidence-closure.md +54 -0
  57. sova_oss-0.1.0/docs/decisions/0013-provenance-separated-capability-map.md +36 -0
  58. sova_oss-0.1.0/docs/decisions/0014-evidence-firewalled-runtime.md +43 -0
  59. sova_oss-0.1.0/docs/decisions/0015-bounded-check-and-no-melra-proof.md +38 -0
  60. sova_oss-0.1.0/docs/decisions/0016-three-mode-replay.md +38 -0
  61. sova_oss-0.1.0/docs/decisions/0017-capability-routed-mcp-execution.md +47 -0
  62. sova_oss-0.1.0/docs/decisions/0018-bounded-trigger-search.md +39 -0
  63. sova_oss-0.1.0/docs/decisions/0019-evidence-linked-counterfactual-forensics.md +38 -0
  64. sova_oss-0.1.0/docs/decisions/0020-bounded-evidence-adjudication-disclosure.md +44 -0
  65. sova_oss-0.1.0/docs/decisions/0021-bounded-composition-only-search.md +39 -0
  66. sova_oss-0.1.0/docs/decisions/0022-substitute-only-rehearsal-and-selective-promotion.md +53 -0
  67. sova_oss-0.1.0/docs/decisions/0023-multi-axis-behavior-drift-and-local-regression.md +43 -0
  68. sova_oss-0.1.0/docs/decisions/0024-offline-content-addressed-community-registry.md +43 -0
  69. sova_oss-0.1.0/docs/decisions/0025-local-mcp-out-of-band-authorization.md +42 -0
  70. sova_oss-0.1.0/docs/decisions/0026-fail-closed-extension-and-provider-ecosystem.md +57 -0
  71. sova_oss-0.1.0/docs/decisions/0027-evidence-first-local-community-surfaces.md +49 -0
  72. sova_oss-0.1.0/docs/decisions/0028-universal-security-extension-boundary.md +109 -0
  73. sova_oss-0.1.0/docs/decisions/README.md +41 -0
  74. sova_oss-0.1.0/docs/documentation-status.md +40 -0
  75. sova_oss-0.1.0/docs/engineering/LAUNCH-CHECKLIST.md +345 -0
  76. sova_oss-0.1.0/docs/engineering/aigoat-loopback-acceptance-2026-08-20.md +169 -0
  77. sova_oss-0.1.0/docs/engineering/arena-chamber-validation-2026-08-09.md +110 -0
  78. sova_oss-0.1.0/docs/engineering/browser-swarm-validation-2026-08-09.md +35 -0
  79. sova_oss-0.1.0/docs/engineering/community-monitoring-validation-2026-08-09.md +52 -0
  80. sova_oss-0.1.0/docs/engineering/development.md +115 -0
  81. sova_oss-0.1.0/docs/engineering/external-executor-validation-2026-08-09.md +102 -0
  82. sova_oss-0.1.0/docs/engineering/final-validation-2026-08-04.md +186 -0
  83. sova_oss-0.1.0/docs/engineering/final-validation-2026-08-08.md +145 -0
  84. sova_oss-0.1.0/docs/engineering/founder-vision-acceptance-matrix-2026-08-09.md +84 -0
  85. sova_oss-0.1.0/docs/engineering/language-and-packaging.md +36 -0
  86. sova_oss-0.1.0/docs/engineering/last-mile-launch-implementation-plan-2026-08-21.md +1322 -0
  87. sova_oss-0.1.0/docs/engineering/last-mile-validation-2026-08-11.md +66 -0
  88. sova_oss-0.1.0/docs/engineering/live-browser-campaign-validation-2026-08-07.md +75 -0
  89. sova_oss-0.1.0/docs/engineering/live-browser-validation-2026-08-07.md +39 -0
  90. sova_oss-0.1.0/docs/engineering/model-testing.md +47 -0
  91. sova_oss-0.1.0/docs/engineering/p0-foundation-baseline-2026-08-26.md +99 -0
  92. sova_oss-0.1.0/docs/engineering/p1-universal-intake-validation-2026-08-26.md +103 -0
  93. sova_oss-0.1.0/docs/engineering/p2-methodology-compiler-validation-2026-08-26.md +90 -0
  94. sova_oss-0.1.0/docs/engineering/p3-security-adapter-validation-2026-08-27.md +96 -0
  95. sova_oss-0.1.0/docs/engineering/p4-oracle-laboratory-validation-2026-08-27.md +72 -0
  96. sova_oss-0.1.0/docs/engineering/p5-production-isolation-validation-2026-08-27.md +125 -0
  97. sova_oss-0.1.0/docs/engineering/p6-public-claims-reconciliation-2026-08-31.md +79 -0
  98. sova_oss-0.1.0/docs/engineering/p6-validation-and-launch-readiness-2026-08-27.md +112 -0
  99. sova_oss-0.1.0/docs/engineering/release.md +90 -0
  100. sova_oss-0.1.0/docs/engineering/replay-causal-validation-2026-08-09.md +106 -0
  101. sova_oss-0.1.0/docs/engineering/session-changes-report-2026-08-24.md +215 -0
  102. sova_oss-0.1.0/docs/engineering/sova-engine-completion-buildplan-2026-08-21.md +775 -0
  103. sova_oss-0.1.0/docs/engineering/testing.md +170 -0
  104. sova_oss-0.1.0/docs/engineering/topics-12-14-validation.md +94 -0
  105. sova_oss-0.1.0/docs/engineering/topics-15-17-validation.md +53 -0
  106. sova_oss-0.1.0/docs/engineering/topics-18-20-validation.md +65 -0
  107. sova_oss-0.1.0/docs/engineering/topics-21-23-validation.md +93 -0
  108. sova_oss-0.1.0/docs/engineering/topics-24-27-validation.md +40 -0
  109. sova_oss-0.1.0/docs/engineering/universal-security-launch-checklist-2026-08-26.md +466 -0
  110. sova_oss-0.1.0/docs/glossary.md +90 -0
  111. sova_oss-0.1.0/docs/glossary.toml +476 -0
  112. sova_oss-0.1.0/docs/governance/api-stability.md +74 -0
  113. sova_oss-0.1.0/docs/governance/dependency-advisory-register.md +58 -0
  114. sova_oss-0.1.0/docs/governance/dependency-policy.md +74 -0
  115. sova_oss-0.1.0/docs/governance/ecosystem-archival-and-benchmark-aging.md +17 -0
  116. sova_oss-0.1.0/docs/governance/fixture-and-dataset-provenance.md +59 -0
  117. sova_oss-0.1.0/docs/governance/independent-review.md +17 -0
  118. sova_oss-0.1.0/docs/governance/invention-handling.md +52 -0
  119. sova_oss-0.1.0/docs/governance/public-repository-boundary.md +161 -0
  120. sova_oss-0.1.0/docs/governance/publication-and-ip-review.md +261 -0
  121. sova_oss-0.1.0/docs/governance/release-compatibility-matrix.md +17 -0
  122. sova_oss-0.1.0/docs/governance/repository-controls.md +88 -0
  123. sova_oss-0.1.0/docs/governance/schema-and-taxonomy-changes.md +15 -0
  124. sova_oss-0.1.0/docs/guides/README.md +19 -0
  125. sova_oss-0.1.0/docs/guides/air-gapped.md +24 -0
  126. sova_oss-0.1.0/docs/guides/arena.md +245 -0
  127. sova_oss-0.1.0/docs/guides/audit-and-record.md +208 -0
  128. sova_oss-0.1.0/docs/guides/authorized-target-testing.md +231 -0
  129. sova_oss-0.1.0/docs/guides/command-reference.md +300 -0
  130. sova_oss-0.1.0/docs/guides/data-and-uninstall.md +27 -0
  131. sova_oss-0.1.0/docs/guides/first-five-minutes.md +34 -0
  132. sova_oss-0.1.0/docs/guides/independent-implementation-validation.md +39 -0
  133. sova_oss-0.1.0/docs/guides/installation.md +55 -0
  134. sova_oss-0.1.0/docs/guides/rerun-and-matrix.md +196 -0
  135. sova_oss-0.1.0/docs/guides/user-pathways.md +18 -0
  136. sova_oss-0.1.0/docs/long-horizon-roadmap.md +20 -0
  137. sova_oss-0.1.0/docs/methodology/README.md +14 -0
  138. sova_oss-0.1.0/docs/methodology/versions.toml +79 -0
  139. sova_oss-0.1.0/docs/research/artifacts/README.md +21 -0
  140. sova_oss-0.1.0/docs/research/artifacts/index.toml +7 -0
  141. sova_oss-0.1.0/docs/research/claims-register.md +314 -0
  142. sova_oss-0.1.0/docs/research/oss-architecture-adoption-ledger-2026-08-26.md +227 -0
  143. sova_oss-0.1.0/docs/research/p3-security-adapter-research-2026-08-27.md +104 -0
  144. sova_oss-0.1.0/docs/research/p4-oracle-laboratory-research-2026-08-27.md +65 -0
  145. sova_oss-0.1.0/docs/research/p5-production-isolation-research-2026-08-27.md +159 -0
  146. sova_oss-0.1.0/docs/research/p6-blinded-validation-and-launch-research-2026-08-27.md +73 -0
  147. sova_oss-0.1.0/docs/research/predeclared-comparison-protocol.md +422 -0
  148. sova_oss-0.1.0/docs/research/prior-art-and-interoperability.md +383 -0
  149. sova_oss-0.1.0/docs/specifications/README.md +83 -0
  150. sova_oss-0.1.0/docs/specifications/adaptive-browser-campaign-0.1.md +86 -0
  151. sova_oss-0.1.0/docs/specifications/agent-arena-0.1.md +108 -0
  152. sova_oss-0.1.0/docs/specifications/arena-chamber-0.1.md +191 -0
  153. sova_oss-0.1.0/docs/specifications/authorization-safety-0.1.md +105 -0
  154. sova_oss-0.1.0/docs/specifications/authorized-target-assessment-0.1.md +26 -0
  155. sova_oss-0.1.0/docs/specifications/behavioral-monitoring-and-ci-0.1.md +57 -0
  156. sova_oss-0.1.0/docs/specifications/blinded-causal-validation-0.1.md +110 -0
  157. sova_oss-0.1.0/docs/specifications/blinded-validation-registry-and-launch-0.1.md +175 -0
  158. sova_oss-0.1.0/docs/specifications/browser-adapters-and-web-matrix-0.1.md +36 -0
  159. sova_oss-0.1.0/docs/specifications/capability-map-0.1.md +88 -0
  160. sova_oss-0.1.0/docs/specifications/case-workspace-0.1.md +82 -0
  161. sova_oss-0.1.0/docs/specifications/check-and-demo-0.1.md +88 -0
  162. sova_oss-0.1.0/docs/specifications/community-surfaces-0.1.md +112 -0
  163. sova_oss-0.1.0/docs/specifications/comparability-envelope-0.1.md +120 -0
  164. sova_oss-0.1.0/docs/specifications/comparative-benchmark-protocol-0.1.md +36 -0
  165. sova_oss-0.1.0/docs/specifications/composition-testing-0.1.md +50 -0
  166. sova_oss-0.1.0/docs/specifications/conformance-kit-0.1.md +15 -0
  167. sova_oss-0.1.0/docs/specifications/consequential-action-lab-0.1.md +66 -0
  168. sova_oss-0.1.0/docs/specifications/containment-backends-0.1.md +60 -0
  169. sova_oss-0.1.0/docs/specifications/continuous-monitor-service-0.1.md +75 -0
  170. sova_oss-0.1.0/docs/specifications/controller-worker-production-isolation-0.1.md +172 -0
  171. sova_oss-0.1.0/docs/specifications/cross-platform-desktop-execution-0.1.md +31 -0
  172. sova_oss-0.1.0/docs/specifications/docker-desktop-oci-isolation-0.1.md +123 -0
  173. sova_oss-0.1.0/docs/specifications/evidence-adjudication-disclosure-0.1.md +62 -0
  174. sova_oss-0.1.0/docs/specifications/evidence-replay-application-0.1.md +159 -0
  175. sova_oss-0.1.0/docs/specifications/executor-backed-browser-swarm-0.1.md +146 -0
  176. sova_oss-0.1.0/docs/specifications/executor-contract-0.1.md +194 -0
  177. sova_oss-0.1.0/docs/specifications/extensions-providers-interoperability-0.1.md +131 -0
  178. sova_oss-0.1.0/docs/specifications/external-execution-broker-0.1.md +105 -0
  179. sova_oss-0.1.0/docs/specifications/final-mile-acceptance-0.1.md +33 -0
  180. sova_oss-0.1.0/docs/specifications/forensics-0.1.md +94 -0
  181. sova_oss-0.1.0/docs/specifications/gvisor-runsc-isolation-0.1.md +26 -0
  182. sova_oss-0.1.0/docs/specifications/interoperability.md +59 -0
  183. sova_oss-0.1.0/docs/specifications/live-browser-assessment-0.1.md +93 -0
  184. sova_oss-0.1.0/docs/specifications/live-browser-campaign-0.1.md +88 -0
  185. sova_oss-0.1.0/docs/specifications/live-software-assessment-0.1.md +154 -0
  186. sova_oss-0.1.0/docs/specifications/local-mcp-0.1.md +75 -0
  187. sova_oss-0.1.0/docs/specifications/managed-services-and-hosting-0.1.md +23 -0
  188. sova_oss-0.1.0/docs/specifications/melra-adapter-boundary-0.1.md +69 -0
  189. sova_oss-0.1.0/docs/specifications/methodology-compiler-and-playbook-library-0.1.md +155 -0
  190. sova_oss-0.1.0/docs/specifications/migration-and-compatibility.md +43 -0
  191. sova_oss-0.1.0/docs/specifications/observable-oracles-0.1.md +99 -0
  192. sova_oss-0.1.0/docs/specifications/oci-agent-runtime-0.1.md +85 -0
  193. sova_oss-0.1.0/docs/specifications/oracle-laboratory-reproduction-and-coverage-0.1.md +84 -0
  194. sova_oss-0.1.0/docs/specifications/persistent-browser-sessions-0.1.md +123 -0
  195. sova_oss-0.1.0/docs/specifications/privacy-and-disclosure.md +93 -0
  196. sova_oss-0.1.0/docs/specifications/provider-agent-browser-campaign-0.1.md +79 -0
  197. sova_oss-0.1.0/docs/specifications/provider-experiment-matrix-0.1.md +21 -0
  198. sova_oss-0.1.0/docs/specifications/registry-and-contributions-0.1.md +60 -0
  199. sova_oss-0.1.0/docs/specifications/rehearsal-0.1.md +104 -0
  200. sova_oss-0.1.0/docs/specifications/replay-and-reproduction-0.1.md +115 -0
  201. sova_oss-0.1.0/docs/specifications/runtime-orchestration-0.1.md +95 -0
  202. sova_oss-0.1.0/docs/specifications/security-tool-adapters-and-normalization-0.1.md +170 -0
  203. sova_oss-0.1.0/docs/specifications/self-hosted-community-service-0.1.md +125 -0
  204. sova_oss-0.1.0/docs/specifications/semantic-browser-workflow-0.1.md +130 -0
  205. sova_oss-0.1.0/docs/specifications/sensor-coverage-ledger-0.1.md +24 -0
  206. sova_oss-0.1.0/docs/specifications/sova-capsule-0.1.md +185 -0
  207. sova_oss-0.1.0/docs/specifications/sova-trace-0.1.md +135 -0
  208. sova_oss-0.1.0/docs/specifications/supply-chain-release-0.1.md +22 -0
  209. sova_oss-0.1.0/docs/specifications/synthetic-detonation-0.1.md +98 -0
  210. sova_oss-0.1.0/docs/specifications/threat-model.md +128 -0
  211. sova_oss-0.1.0/docs/specifications/trigger-search-0.1.md +85 -0
  212. sova_oss-0.1.0/docs/specifications/universal-target-intake-0.1.md +114 -0
  213. sova_oss-0.1.0/docs/taxonomy/README.md +33 -0
  214. sova_oss-0.1.0/docs/taxonomy/sova-attack-taxonomy.md +99 -0
  215. sova_oss-0.1.0/examples/agents/oci/Dockerfile +9 -0
  216. sova_oss-0.1.0/examples/agents/oci/README.md +15 -0
  217. sova_oss-0.1.0/examples/agents/oci/agent.py +86 -0
  218. sova_oss-0.1.0/examples/agents/oci/runtime.json +2 -0
  219. sova_oss-0.1.0/examples/arena/README.md +19 -0
  220. sova_oss-0.1.0/examples/arena/browser-swarm.json +59 -0
  221. sova_oss-0.1.0/examples/arena/chamber.json +135 -0
  222. sova_oss-0.1.0/examples/community/README.md +33 -0
  223. sova_oss-0.1.0/examples/community/leaderboard-metadata.json +11 -0
  224. sova_oss-0.1.0/examples/community/monitor-service.json +15 -0
  225. sova_oss-0.1.0/examples/community/observations/baseline.snapshot.json +11 -0
  226. sova_oss-0.1.0/examples/community/observations/current.snapshot.json +11 -0
  227. sova_oss-0.1.0/examples/community/observations/monitor-policy.json +10 -0
  228. sova_oss-0.1.0/examples/extensions/README.md +37 -0
  229. sova_oss-0.1.0/examples/extensions/manifest.json +17 -0
  230. sova_oss-0.1.0/examples/extensions/safe_oracle.py +25 -0
  231. sova_oss-0.1.0/examples/forensics/README.md +29 -0
  232. sova_oss-0.1.0/examples/live/adaptive-browser-policy.json +11 -0
  233. sova_oss-0.1.0/examples/live/browser-campaign.json +28 -0
  234. sova_oss-0.1.0/examples/live/provider-runtime.json +45 -0
  235. sova_oss-0.1.0/examples/live/semantic-browser-mission.json +46 -0
  236. sova_oss-0.1.0/examples/probe/issuance.json +18 -0
  237. sova_oss-0.1.0/examples/rehearsal/provider-request.json +14 -0
  238. sova_oss-0.1.0/examples/scenarios/behavioral-intervention.json +44 -0
  239. sova_oss-0.1.0/examples/scenarios/compositional-sequence.json +48 -0
  240. sova_oss-0.1.0/examples/scenarios/conditional-trigger.json +42 -0
  241. sova_oss-0.1.0/examples/scenarios/portable-artifact-read.json +38 -0
  242. sova_oss-0.1.0/examples/scenarios/refusal-regression.json +35 -0
  243. sova_oss-0.1.0/examples/scenarios/tool-approval.json +35 -0
  244. sova_oss-0.1.0/examples/scenarios/unsafe-egress-blocked.json +35 -0
  245. sova_oss-0.1.0/examples/scenarios/unsupported-capability.json +35 -0
  246. sova_oss-0.1.0/examples/topics-15-17/README.md +35 -0
  247. sova_oss-0.1.0/examples/topics-15-17/adjudication-study.json +10 -0
  248. sova_oss-0.1.0/examples/topics-15-17/browser-counterfactual-study.json +37 -0
  249. sova_oss-0.1.0/examples/topics-15-17/composition-graph.json +13 -0
  250. sova_oss-0.1.0/examples/topics-15-17/counterfactual-study.json +9 -0
  251. sova_oss-0.1.0/examples/topics-15-17/disclosure-study.json +39 -0
  252. sova_oss-0.1.0/examples/topics-15-17/evidence.json +24 -0
  253. sova_oss-0.1.0/examples/topics-15-17/external-events.json +31 -0
  254. sova_oss-0.1.0/examples/topics-18-20/README.md +18 -0
  255. sova_oss-0.1.0/examples/topics-18-20/baseline.json +23 -0
  256. sova_oss-0.1.0/examples/topics-18-20/owned-fixture/app.txt +1 -0
  257. sova_oss-0.1.0/examples/topics-18-20/regression.json +23 -0
  258. sova_oss-0.1.0/examples/topics-18-20/rehearsal.json +35 -0
  259. sova_oss-0.1.0/examples/topics-21-23/README.md +41 -0
  260. sova_oss-0.1.0/examples/topics-21-23/agent-arena.json +56 -0
  261. sova_oss-0.1.0/examples/topics-21-23/arena.json +43 -0
  262. sova_oss-0.1.0/examples/topics-21-23/clip.json +15 -0
  263. sova_oss-0.1.0/pyproject.toml +214 -0
  264. sova_oss-0.1.0/src/sova/__init__.py +14 -0
  265. sova_oss-0.1.0/src/sova/__main__.py +7 -0
  266. sova_oss-0.1.0/src/sova/acceptance/__init__.py +35 -0
  267. sova_oss-0.1.0/src/sova/acceptance/io.py +98 -0
  268. sova_oss-0.1.0/src/sova/acceptance/lab.py +234 -0
  269. sova_oss-0.1.0/src/sova/acceptance/model.py +321 -0
  270. sova_oss-0.1.0/src/sova/adapters/__init__.py +45 -0
  271. sova_oss-0.1.0/src/sova/adapters/codex_exec.py +345 -0
  272. sova_oss-0.1.0/src/sova/adapters/security_catalog.py +685 -0
  273. sova_oss-0.1.0/src/sova/adapters/security_contracts.py +711 -0
  274. sova_oss-0.1.0/src/sova/adapters/security_parsers.py +635 -0
  275. sova_oss-0.1.0/src/sova/adapters/security_runner.py +683 -0
  276. sova_oss-0.1.0/src/sova/assessment.py +542 -0
  277. sova_oss-0.1.0/src/sova/audit/__init__.py +66 -0
  278. sova_oss-0.1.0/src/sova/audit/agentdojo.py +340 -0
  279. sova_oss-0.1.0/src/sova/audit/engine.py +695 -0
  280. sova_oss-0.1.0/src/sova/audit/report.py +168 -0
  281. sova_oss-0.1.0/src/sova/audit/specs/__init__.py +2 -0
  282. sova_oss-0.1.0/src/sova/audit/specs/agentdojo-v1.2.2.json +603 -0
  283. sova_oss-0.1.0/src/sova/benchmarks/__init__.py +14 -0
  284. sova_oss-0.1.0/src/sova/benchmarks/comparative.py +167 -0
  285. sova_oss-0.1.0/src/sova/capsule/__init__.py +47 -0
  286. sova_oss-0.1.0/src/sova/capsule/lifecycle.py +64 -0
  287. sova_oss-0.1.0/src/sova/capsule/migrate.py +405 -0
  288. sova_oss-0.1.0/src/sova/capsule/model.py +490 -0
  289. sova_oss-0.1.0/src/sova/capsule/primitives.py +132 -0
  290. sova_oss-0.1.0/src/sova/cli.py +6941 -0
  291. sova_oss-0.1.0/src/sova/command_audit.py +111 -0
  292. sova_oss-0.1.0/src/sova/community/__init__.py +94 -0
  293. sova_oss-0.1.0/src/sova/community/agent_arena.py +1094 -0
  294. sova_oss-0.1.0/src/sova/community/arena.py +256 -0
  295. sova_oss-0.1.0/src/sova/community/browser_swarm.py +1218 -0
  296. sova_oss-0.1.0/src/sova/community/browser_swarm_config.py +270 -0
  297. sova_oss-0.1.0/src/sova/community/chamber.py +1361 -0
  298. sova_oss-0.1.0/src/sova/community/chamber_config.py +324 -0
  299. sova_oss-0.1.0/src/sova/community/config.py +569 -0
  300. sova_oss-0.1.0/src/sova/community/ctf.py +103 -0
  301. sova_oss-0.1.0/src/sova/community/executor_capsule_reproduction.py +280 -0
  302. sova_oss-0.1.0/src/sova/community/executor_chamber.py +2782 -0
  303. sova_oss-0.1.0/src/sova/community/executor_chamber_config.py +731 -0
  304. sova_oss-0.1.0/src/sova/community/executor_engine.py +886 -0
  305. sova_oss-0.1.0/src/sova/community/executor_engine_full.py +577 -0
  306. sova_oss-0.1.0/src/sova/community/executor_engine_runtime_config.py +446 -0
  307. sova_oss-0.1.0/src/sova/community/executor_surfaces.py +1001 -0
  308. sova_oss-0.1.0/src/sova/community/leaderboard.py +221 -0
  309. sova_oss-0.1.0/src/sova/community/live_executor_engine.py +649 -0
  310. sova_oss-0.1.0/src/sova/community/media.py +170 -0
  311. sova_oss-0.1.0/src/sova/community/probe.py +244 -0
  312. sova_oss-0.1.0/src/sova/community/software_executor_engine.py +549 -0
  313. sova_oss-0.1.0/src/sova/community/swarm/__init__.py +41 -0
  314. sova_oss-0.1.0/src/sova/community/swarm/blackboard.py +123 -0
  315. sova_oss-0.1.0/src/sova/community/swarm/budget.py +191 -0
  316. sova_oss-0.1.0/src/sova/community/swarm/coordinator.py +535 -0
  317. sova_oss-0.1.0/src/sova/community/swarm/coverage.py +173 -0
  318. sova_oss-0.1.0/src/sova/community/swarm/message.py +116 -0
  319. sova_oss-0.1.0/src/sova/community/swarm/runtime.py +178 -0
  320. sova_oss-0.1.0/src/sova/community/swarm/software.py +215 -0
  321. sova_oss-0.1.0/src/sova/community/swarm/stress.py +242 -0
  322. sova_oss-0.1.0/src/sova/community/swarm/worker.py +267 -0
  323. sova_oss-0.1.0/src/sova/composition/__init__.py +55 -0
  324. sova_oss-0.1.0/src/sova/composition/fixtures.py +90 -0
  325. sova_oss-0.1.0/src/sova/composition/graph.py +149 -0
  326. sova_oss-0.1.0/src/sova/composition/model.py +232 -0
  327. sova_oss-0.1.0/src/sova/composition/portable.py +41 -0
  328. sova_oss-0.1.0/src/sova/composition/search.py +349 -0
  329. sova_oss-0.1.0/src/sova/conformance.py +209 -0
  330. sova_oss-0.1.0/src/sova/contracts/__init__.py +94 -0
  331. sova_oss-0.1.0/src/sova/contracts/coverage.py +182 -0
  332. sova_oss-0.1.0/src/sova/contracts/data/__init__.py +2 -0
  333. sova_oss-0.1.0/src/sova/contracts/data/attack-taxonomy-0.1.0.toml +366 -0
  334. sova_oss-0.1.0/src/sova/contracts/errors.py +28 -0
  335. sova_oss-0.1.0/src/sova/contracts/identifiers.py +160 -0
  336. sova_oss-0.1.0/src/sova/contracts/lifecycle.py +182 -0
  337. sova_oss-0.1.0/src/sova/contracts/taxonomy.py +233 -0
  338. sova_oss-0.1.0/src/sova/contracts/versions.py +209 -0
  339. sova_oss-0.1.0/src/sova/contracts/vocabulary.py +47 -0
  340. sova_oss-0.1.0/src/sova/desktop/__init__.py +25 -0
  341. sova_oss-0.1.0/src/sova/desktop/appium.py +393 -0
  342. sova_oss-0.1.0/src/sova/desktop/atspi.py +256 -0
  343. sova_oss-0.1.0/src/sova/desktop/conformance.py +123 -0
  344. sova_oss-0.1.0/src/sova/detonation/__init__.py +75 -0
  345. sova_oss-0.1.0/src/sova/detonation/backends.py +87 -0
  346. sova_oss-0.1.0/src/sova/detonation/coverage.py +240 -0
  347. sova_oss-0.1.0/src/sova/detonation/demo.py +517 -0
  348. sova_oss-0.1.0/src/sova/detonation/sensors.py +221 -0
  349. sova_oss-0.1.0/src/sova/detonation/targets.py +148 -0
  350. sova_oss-0.1.0/src/sova/detonation/world.py +445 -0
  351. sova_oss-0.1.0/src/sova/evidence/__init__.py +45 -0
  352. sova_oss-0.1.0/src/sova/evidence/adjudication.py +120 -0
  353. sova_oss-0.1.0/src/sova/evidence/bundle.py +253 -0
  354. sova_oss-0.1.0/src/sova/evidence/disclosure.py +173 -0
  355. sova_oss-0.1.0/src/sova/evidence/model.py +212 -0
  356. sova_oss-0.1.0/src/sova/evidence/report.py +70 -0
  357. sova_oss-0.1.0/src/sova/executors/__init__.py +75 -0
  358. sova_oss-0.1.0/src/sova/executors/contract.py +233 -0
  359. sova_oss-0.1.0/src/sova/executors/docker_desktop.py +652 -0
  360. sova_oss-0.1.0/src/sova/executors/gvisor.py +462 -0
  361. sova_oss-0.1.0/src/sova/executors/local.py +928 -0
  362. sova_oss-0.1.0/src/sova/executors/runner.py +555 -0
  363. sova_oss-0.1.0/src/sova/executors/scripted.py +143 -0
  364. sova_oss-0.1.0/src/sova/executors/workspace.py +653 -0
  365. sova_oss-0.1.0/src/sova/experiments/__init__.py +20 -0
  366. sova_oss-0.1.0/src/sova/experiments/matrix.py +283 -0
  367. sova_oss-0.1.0/src/sova/extensions/__init__.py +39 -0
  368. sova_oss-0.1.0/src/sova/extensions/model.py +171 -0
  369. sova_oss-0.1.0/src/sova/extensions/runner.py +218 -0
  370. sova_oss-0.1.0/src/sova/extensions/workflow.py +539 -0
  371. sova_oss-0.1.0/src/sova/forensics/__init__.py +67 -0
  372. sova_oss-0.1.0/src/sova/forensics/attribution.py +170 -0
  373. sova_oss-0.1.0/src/sova/forensics/benchmark.py +158 -0
  374. sova_oss-0.1.0/src/sova/forensics/blinded.py +825 -0
  375. sova_oss-0.1.0/src/sova/forensics/browser_counterfactual.py +425 -0
  376. sova_oss-0.1.0/src/sova/forensics/fixtures.py +101 -0
  377. sova_oss-0.1.0/src/sova/forensics/model.py +193 -0
  378. sova_oss-0.1.0/src/sova/forensics/reconstruct.py +214 -0
  379. sova_oss-0.1.0/src/sova/formats/__init__.py +20 -0
  380. sova_oss-0.1.0/src/sova/formats/canonical.py +267 -0
  381. sova_oss-0.1.0/src/sova/formats/errors.py +35 -0
  382. sova_oss-0.1.0/src/sova/formats/package.py +416 -0
  383. sova_oss-0.1.0/src/sova/formats/schema.py +160 -0
  384. sova_oss-0.1.0/src/sova/front_door.py +77 -0
  385. sova_oss-0.1.0/src/sova/intake/__init__.py +49 -0
  386. sova_oss-0.1.0/src/sova/intake/contracts.py +657 -0
  387. sova_oss-0.1.0/src/sova/intake/frontends.py +3182 -0
  388. sova_oss-0.1.0/src/sova/intake/materials.py +373 -0
  389. sova_oss-0.1.0/src/sova/intake/model.py +484 -0
  390. sova_oss-0.1.0/src/sova/intake/pipeline.py +455 -0
  391. sova_oss-0.1.0/src/sova/interoperability/__init__.py +14 -0
  392. sova_oss-0.1.0/src/sova/interoperability/agentdojo.py +665 -0
  393. sova_oss-0.1.0/src/sova/interoperability/inspect_ai.py +129 -0
  394. sova_oss-0.1.0/src/sova/interoperability/inspect_log.py +510 -0
  395. sova_oss-0.1.0/src/sova/interoperability/record.py +145 -0
  396. sova_oss-0.1.0/src/sova/interoperability/trace_attestation.py +255 -0
  397. sova_oss-0.1.0/src/sova/live/__init__.py +158 -0
  398. sova_oss-0.1.0/src/sova/live/action_lab.py +934 -0
  399. sova_oss-0.1.0/src/sova/live/adaptive_campaign.py +493 -0
  400. sova_oss-0.1.0/src/sova/live/adversarial_missions.py +307 -0
  401. sova_oss-0.1.0/src/sova/live/agent_campaign.py +610 -0
  402. sova_oss-0.1.0/src/sova/live/browser.py +865 -0
  403. sova_oss-0.1.0/src/sova/live/campaign.py +1047 -0
  404. sova_oss-0.1.0/src/sova/live/control.py +331 -0
  405. sova_oss-0.1.0/src/sova/live/fixture_web.py +132 -0
  406. sova_oss-0.1.0/src/sova/live/held_out_web.py +365 -0
  407. sova_oss-0.1.0/src/sova/live/persistent_session.py +563 -0
  408. sova_oss-0.1.0/src/sova/live/recording.py +280 -0
  409. sova_oss-0.1.0/src/sova/live/semantic_browser_driver.py +1408 -0
  410. sova_oss-0.1.0/src/sova/live/semantic_workflow.py +1420 -0
  411. sova_oss-0.1.0/src/sova/live/software.py +881 -0
  412. sova_oss-0.1.0/src/sova/live/startup.py +37 -0
  413. sova_oss-0.1.0/src/sova/local_mcp/__init__.py +39 -0
  414. sova_oss-0.1.0/src/sova/local_mcp/approval.py +220 -0
  415. sova_oss-0.1.0/src/sova/local_mcp/model.py +125 -0
  416. sova_oss-0.1.0/src/sova/local_mcp/server.py +135 -0
  417. sova_oss-0.1.0/src/sova/local_mcp/tools.py +514 -0
  418. sova_oss-0.1.0/src/sova/mapping/__init__.py +60 -0
  419. sova_oss-0.1.0/src/sova/mapping/analysis.py +257 -0
  420. sova_oss-0.1.0/src/sova/mapping/discovery.py +864 -0
  421. sova_oss-0.1.0/src/sova/mapping/drift.py +113 -0
  422. sova_oss-0.1.0/src/sova/mapping/model.py +342 -0
  423. sova_oss-0.1.0/src/sova/mapping/report.py +122 -0
  424. sova_oss-0.1.0/src/sova/mcp/__init__.py +73 -0
  425. sova_oss-0.1.0/src/sova/mcp/adapter.py +1606 -0
  426. sova_oss-0.1.0/src/sova/mcp/broker.py +136 -0
  427. sova_oss-0.1.0/src/sova/mcp/cua_driver.py +163 -0
  428. sova_oss-0.1.0/src/sova/mcp/profile_state.py +213 -0
  429. sova_oss-0.1.0/src/sova/mcp/protocol.py +410 -0
  430. sova_oss-0.1.0/src/sova/mcp/receipts.py +146 -0
  431. sova_oss-0.1.0/src/sova/mcp/specs.py +476 -0
  432. sova_oss-0.1.0/src/sova/methodology/__init__.py +58 -0
  433. sova_oss-0.1.0/src/sova/methodology/compiler.py +870 -0
  434. sova_oss-0.1.0/src/sova/methodology/contracts.py +830 -0
  435. sova_oss-0.1.0/src/sova/methodology/contribution.py +190 -0
  436. sova_oss-0.1.0/src/sova/methodology/data/__init__.py +2 -0
  437. sova_oss-0.1.0/src/sova/methodology/data/playbook-seeds-0.1.0.json +95 -0
  438. sova_oss-0.1.0/src/sova/methodology/library.py +814 -0
  439. sova_oss-0.1.0/src/sova/models/__init__.py +10 -0
  440. sova_oss-0.1.0/src/sova/models/scripted.py +128 -0
  441. sova_oss-0.1.0/src/sova/monitoring/__init__.py +39 -0
  442. sova_oss-0.1.0/src/sova/monitoring/alerts.py +175 -0
  443. sova_oss-0.1.0/src/sova/monitoring/diff.py +113 -0
  444. sova_oss-0.1.0/src/sova/monitoring/integrity.py +121 -0
  445. sova_oss-0.1.0/src/sova/monitoring/model.py +93 -0
  446. sova_oss-0.1.0/src/sova/monitoring/recorder.py +162 -0
  447. sova_oss-0.1.0/src/sova/monitoring/sentinel.py +175 -0
  448. sova_oss-0.1.0/src/sova/monitoring/service.py +565 -0
  449. sova_oss-0.1.0/src/sova/onboarding.py +348 -0
  450. sova_oss-0.1.0/src/sova/oracle_lab/__init__.py +78 -0
  451. sova_oss-0.1.0/src/sova/oracle_lab/calibration.py +285 -0
  452. sova_oss-0.1.0/src/sova/oracle_lab/comparison.py +103 -0
  453. sova_oss-0.1.0/src/sova/oracle_lab/contracts.py +641 -0
  454. sova_oss-0.1.0/src/sova/oracle_lab/coverage.py +118 -0
  455. sova_oss-0.1.0/src/sova/oracle_lab/evidence.py +44 -0
  456. sova_oss-0.1.0/src/sova/oracle_lab/io.py +136 -0
  457. sova_oss-0.1.0/src/sova/oracle_lab/proposal.py +76 -0
  458. sova_oss-0.1.0/src/sova/oracle_lab/reproduction.py +118 -0
  459. sova_oss-0.1.0/src/sova/oracle_lab/study.py +160 -0
  460. sova_oss-0.1.0/src/sova/oracles.py +528 -0
  461. sova_oss-0.1.0/src/sova/providers/__init__.py +56 -0
  462. sova_oss-0.1.0/src/sova/providers/core.py +633 -0
  463. sova_oss-0.1.0/src/sova/providers/runtime.py +372 -0
  464. sova_oss-0.1.0/src/sova/py.typed +1 -0
  465. sova_oss-0.1.0/src/sova/registry/__init__.py +66 -0
  466. sova_oss-0.1.0/src/sova/registry/adapters.py +128 -0
  467. sova_oss-0.1.0/src/sova/registry/auto_contribute.py +112 -0
  468. sova_oss-0.1.0/src/sova/registry/backup.py +321 -0
  469. sova_oss-0.1.0/src/sova/registry/client.py +184 -0
  470. sova_oss-0.1.0/src/sova/registry/contribution.py +172 -0
  471. sova_oss-0.1.0/src/sova/registry/index.py +298 -0
  472. sova_oss-0.1.0/src/sova/registry/model.py +189 -0
  473. sova_oss-0.1.0/src/sova/registry/pr_contribution.py +120 -0
  474. sova_oss-0.1.0/src/sova/registry/service.py +1390 -0
  475. sova_oss-0.1.0/src/sova/registry/sync.py +101 -0
  476. sova_oss-0.1.0/src/sova/rehearsal/__init__.py +61 -0
  477. sova_oss-0.1.0/src/sova/rehearsal/agent.py +83 -0
  478. sova_oss-0.1.0/src/sova/rehearsal/backend.py +73 -0
  479. sova_oss-0.1.0/src/sova/rehearsal/environment.py +176 -0
  480. sova_oss-0.1.0/src/sova/rehearsal/model.py +299 -0
  481. sova_oss-0.1.0/src/sova/rehearsal/provider.py +863 -0
  482. sova_oss-0.1.0/src/sova/rehearsal/runner.py +439 -0
  483. sova_oss-0.1.0/src/sova/release.py +456 -0
  484. sova_oss-0.1.0/src/sova/replay/__init__.py +55 -0
  485. sova_oss-0.1.0/src/sova/replay/capsule.py +363 -0
  486. sova_oss-0.1.0/src/sova/replay/controlled.py +120 -0
  487. sova_oss-0.1.0/src/sova/replay/model.py +240 -0
  488. sova_oss-0.1.0/src/sova/replay/render.py +695 -0
  489. sova_oss-0.1.0/src/sova/replay/semantic.py +210 -0
  490. sova_oss-0.1.0/src/sova/replay/service.py +369 -0
  491. sova_oss-0.1.0/src/sova/replay/verification.py +288 -0
  492. sova_oss-0.1.0/src/sova/reproduction.py +304 -0
  493. sova_oss-0.1.0/src/sova/rerun/__init__.py +50 -0
  494. sova_oss-0.1.0/src/sova/rerun/agentdojo.py +673 -0
  495. sova_oss-0.1.0/src/sova/rerun/calibrate.py +475 -0
  496. sova_oss-0.1.0/src/sova/rerun/command.py +538 -0
  497. sova_oss-0.1.0/src/sova/rerun/decision.py +648 -0
  498. sova_oss-0.1.0/src/sova/rerun/engine.py +1241 -0
  499. sova_oss-0.1.0/src/sova/rerun/findings.py +346 -0
  500. sova_oss-0.1.0/src/sova/rerun/judges.py +86 -0
  501. sova_oss-0.1.0/src/sova/rerun/matrix.py +340 -0
  502. sova_oss-0.1.0/src/sova/rerun/providers.py +524 -0
  503. sova_oss-0.1.0/src/sova/rerun/records.py +293 -0
  504. sova_oss-0.1.0/src/sova/rerun/tracing.py +258 -0
  505. sova_oss-0.1.0/src/sova/runtime/__init__.py +105 -0
  506. sova_oss-0.1.0/src/sova/runtime/action_codecs.py +1179 -0
  507. sova_oss-0.1.0/src/sova/runtime/bound_environment.py +1128 -0
  508. sova_oss-0.1.0/src/sova/runtime/browser_surface.py +759 -0
  509. sova_oss-0.1.0/src/sova/runtime/computer_surface.py +458 -0
  510. sova_oss-0.1.0/src/sova/runtime/environment_builder.py +271 -0
  511. sova_oss-0.1.0/src/sova/runtime/evidence.py +426 -0
  512. sova_oss-0.1.0/src/sova/runtime/experience.py +111 -0
  513. sova_oss-0.1.0/src/sova/runtime/managed_surfaces.py +588 -0
  514. sova_oss-0.1.0/src/sova/runtime/melra_computer.py +386 -0
  515. sova_oss-0.1.0/src/sova/runtime/native_windows_computer.py +599 -0
  516. sova_oss-0.1.0/src/sova/runtime/oci_agent.py +631 -0
  517. sova_oss-0.1.0/src/sova/runtime/orchestration.py +613 -0
  518. sova_oss-0.1.0/src/sova/runtime/profiles.py +65 -0
  519. sova_oss-0.1.0/src/sova/runtime/reliability.py +260 -0
  520. sova_oss-0.1.0/src/sova/runtime/sessions.py +555 -0
  521. sova_oss-0.1.0/src/sova/runtime/software_target.py +421 -0
  522. sova_oss-0.1.0/src/sova/runtime/target_environment.py +413 -0
  523. sova_oss-0.1.0/src/sova/runtime/unified_execution.py +1005 -0
  524. sova_oss-0.1.0/src/sova/runtime/window_recording.py +770 -0
  525. sova_oss-0.1.0/src/sova/safety/__init__.py +91 -0
  526. sova_oss-0.1.0/src/sova/safety/authorization.py +1094 -0
  527. sova_oss-0.1.0/src/sova/safety/containment.py +326 -0
  528. sova_oss-0.1.0/src/sova/safety/disclosure.py +81 -0
  529. sova_oss-0.1.0/src/sova/safety/privacy.py +142 -0
  530. sova_oss-0.1.0/src/sova/safety/profiles.py +162 -0
  531. sova_oss-0.1.0/src/sova/schemas/README.md +71 -0
  532. sova_oss-0.1.0/src/sova/schemas/__init__.py +2 -0
  533. sova_oss-0.1.0/src/sova/schemas/adapter-descriptor-0.1.0.schema.json +95 -0
  534. sova_oss-0.1.0/src/sova/schemas/adapter-run-report-0.1.0.schema.json +51 -0
  535. sova_oss-0.1.0/src/sova/schemas/assessment-coverage-0.1.0.schema.json +15 -0
  536. sova_oss-0.1.0/src/sova/schemas/blinded-causal-answer-key-0.1.0.schema.json +51 -0
  537. sova_oss-0.1.0/src/sova/schemas/blinded-causal-predictions-0.1.0.schema.json +35 -0
  538. sova_oss-0.1.0/src/sova/schemas/blinded-causal-score-0.1.0.schema.json +140 -0
  539. sova_oss-0.1.0/src/sova/schemas/blinded-causal-study-0.1.0.schema.json +62 -0
  540. sova_oss-0.1.0/src/sova/schemas/blinded-evaluation-protocol-0.1.0.schema.json +74 -0
  541. sova_oss-0.1.0/src/sova/schemas/blinded-evaluation-report-0.1.0.schema.json +189 -0
  542. sova_oss-0.1.0/src/sova/schemas/blinded-oracle-answer-key-0.1.0.schema.json +13 -0
  543. sova_oss-0.1.0/src/sova/schemas/blinded-oracle-predictions-0.1.0.schema.json +13 -0
  544. sova_oss-0.1.0/src/sova/schemas/blinded-oracle-study-0.1.0.schema.json +18 -0
  545. sova_oss-0.1.0/src/sova/schemas/capsule-manifest-0.1.0.schema.json +225 -0
  546. sova_oss-0.1.0/src/sova/schemas/composition-report-0.1.0.schema.json +24 -0
  547. sova_oss-0.1.0/src/sova/schemas/decisive-evidence-set-0.1.0.schema.json +15 -0
  548. sova_oss-0.1.0/src/sova/schemas/evaluation-observation-ledger-0.1.0.schema.json +43 -0
  549. sova_oss-0.1.0/src/sova/schemas/evaluation-work-order-set-0.1.0.schema.json +25 -0
  550. sova_oss-0.1.0/src/sova/schemas/event-0.1.0.schema.json +128 -0
  551. sova_oss-0.1.0/src/sova/schemas/evidence-0.1.0.schema.json +39 -0
  552. sova_oss-0.1.0/src/sova/schemas/external-benchmark-case-0.1.0.schema.json +23 -0
  553. sova_oss-0.1.0/src/sova/schemas/firecracker-execution-receipt-0.1.0.schema.json +98 -0
  554. sova_oss-0.1.0/src/sova/schemas/firecracker-launch-plan-0.1.0.schema.json +19 -0
  555. sova_oss-0.1.0/src/sova/schemas/firecracker-network-plan-0.1.0.schema.json +42 -0
  556. sova_oss-0.1.0/src/sova/schemas/forensic-reconstruction-0.1.0.schema.json +52 -0
  557. sova_oss-0.1.0/src/sova/schemas/fresh-reproduction-0.1.0.schema.json +20 -0
  558. sova_oss-0.1.0/src/sova/schemas/intake-report-0.1.0.schema.json +174 -0
  559. sova_oss-0.1.0/src/sova/schemas/launch-dossier-0.1.0.schema.json +154 -0
  560. sova_oss-0.1.0/src/sova/schemas/launch-evidence-bundle-0.1.0.schema.json +25 -0
  561. sova_oss-0.1.0/src/sova/schemas/launch-gate-receipt-0.1.0.schema.json +24 -0
  562. sova_oss-0.1.0/src/sova/schemas/launch-trust-policy-0.1.0.schema.json +31 -0
  563. sova_oss-0.1.0/src/sova/schemas/map-report-0.1.0.schema.json +226 -0
  564. sova_oss-0.1.0/src/sova/schemas/methodology-observations-0.1.0.schema.json +9 -0
  565. sova_oss-0.1.0/src/sova/schemas/methodology-plan-0.1.0.schema.json +17 -0
  566. sova_oss-0.1.0/src/sova/schemas/methodology-policy-0.1.0.schema.json +12 -0
  567. sova_oss-0.1.0/src/sova/schemas/normalized-observation-0.1.0.schema.json +42 -0
  568. sova_oss-0.1.0/src/sova/schemas/oracle-calibration-0.1.0.schema.json +39 -0
  569. sova_oss-0.1.0/src/sova/schemas/oracle-comparison-0.1.0.schema.json +23 -0
  570. sova_oss-0.1.0/src/sova/schemas/oracle-proposal-0.1.0.schema.json +41 -0
  571. sova_oss-0.1.0/src/sova/schemas/playbook-0.1.0.schema.json +107 -0
  572. sova_oss-0.1.0/src/sova/schemas/playbook-library-0.1.0.schema.json +14 -0
  573. sova_oss-0.1.0/src/sova/schemas/playbook-submission-0.1.0.schema.json +5 -0
  574. sova_oss-0.1.0/src/sova/schemas/public-claims-snapshot-0.1.0.schema.json +43 -0
  575. sova_oss-0.1.0/src/sova/schemas/registry-beta-readiness-0.1.0.schema.json +39 -0
  576. sova_oss-0.1.0/src/sova/schemas/registry-operational-receipt-0.1.0.schema.json +21 -0
  577. sova_oss-0.1.0/src/sova/schemas/release-candidate-0.1.0.schema.json +22 -0
  578. sova_oss-0.1.0/src/sova/schemas/release-gate-ledger-0.1.0.schema.json +50 -0
  579. sova_oss-0.1.0/src/sova/schemas/release-review-receipt-0.1.0.schema.json +22 -0
  580. sova_oss-0.1.0/src/sova/schemas/scenario-0.1.0.schema.json +105 -0
  581. sova_oss-0.1.0/src/sova/schemas/target-profile-0.1.0.schema.json +94 -0
  582. sova_oss-0.1.0/src/sova/schemas/trace-manifest-0.1.0.schema.json +219 -0
  583. sova_oss-0.1.0/src/sova/schemas/worker-attestation-0.1.0.schema.json +27 -0
  584. sova_oss-0.1.0/src/sova/schemas/worker-cleanup-receipt-0.1.0.schema.json +13 -0
  585. sova_oss-0.1.0/src/sova/schemas/worker-evidence-report-0.1.0.schema.json +17 -0
  586. sova_oss-0.1.0/src/sova/schemas/worker-exact-host-acceptance-receipt-0.1.0.schema.json +31 -0
  587. sova_oss-0.1.0/src/sova/schemas/worker-host-preflight-receipt-0.1.0.schema.json +26 -0
  588. sova_oss-0.1.0/src/sova/schemas/worker-job-manifest-0.1.0.schema.json +110 -0
  589. sova_oss-0.1.0/src/sova/schemas/worker-network-mediator-policy-0.1.0.schema.json +75 -0
  590. sova_oss-0.1.0/src/sova/schemas/worker-network-plane-receipt-0.1.0.schema.json +28 -0
  591. sova_oss-0.1.0/src/sova/schemas/worker-network-receipt-0.1.0.schema.json +16 -0
  592. sova_oss-0.1.0/src/sova/schemas/worker-protocol-message-0.1.0.schema.json +25 -0
  593. sova_oss-0.1.0/src/sova/schemas/worker-secret-receipt-0.1.0.schema.json +14 -0
  594. sova_oss-0.1.0/src/sova/search/__init__.py +56 -0
  595. sova_oss-0.1.0/src/sova/search/demo.py +107 -0
  596. sova_oss-0.1.0/src/sova/search/engine.py +484 -0
  597. sova_oss-0.1.0/src/sova/search/experience.py +51 -0
  598. sova_oss-0.1.0/src/sova/search/model.py +239 -0
  599. sova_oss-0.1.0/src/sova/search/phantom.py +179 -0
  600. sova_oss-0.1.0/src/sova/search/portable.py +35 -0
  601. sova_oss-0.1.0/src/sova/targets/__init__.py +16 -0
  602. sova_oss-0.1.0/src/sova/targets/contract.py +163 -0
  603. sova_oss-0.1.0/src/sova/trace/__init__.py +33 -0
  604. sova_oss-0.1.0/src/sova/trace/integrity.py +329 -0
  605. sova_oss-0.1.0/src/sova/trace/kinds.py +105 -0
  606. sova_oss-0.1.0/src/sova/trace/otel.py +487 -0
  607. sova_oss-0.1.0/src/sova/trace/reader.py +268 -0
  608. sova_oss-0.1.0/src/sova/trace/redaction.py +442 -0
  609. sova_oss-0.1.0/src/sova/trace/writer.py +696 -0
  610. sova_oss-0.1.0/src/sova/validation/__init__.py +99 -0
  611. sova_oss-0.1.0/src/sova/validation/adapters.py +243 -0
  612. sova_oss-0.1.0/src/sova/validation/contracts.py +295 -0
  613. sova_oss-0.1.0/src/sova/validation/gates.py +445 -0
  614. sova_oss-0.1.0/src/sova/validation/launch.py +1295 -0
  615. sova_oss-0.1.0/src/sova/validation/ledger.py +348 -0
  616. sova_oss-0.1.0/src/sova/validation/work_orders.py +88 -0
  617. sova_oss-0.1.0/src/sova/worker/__init__.py +154 -0
  618. sova_oss-0.1.0/src/sova/worker/alternative_backends.py +102 -0
  619. sova_oss-0.1.0/src/sova/worker/attestation.py +152 -0
  620. sova_oss-0.1.0/src/sova/worker/brokers.py +348 -0
  621. sova_oss-0.1.0/src/sova/worker/cas.py +97 -0
  622. sova_oss-0.1.0/src/sova/worker/contracts.py +476 -0
  623. sova_oss-0.1.0/src/sova/worker/deployment.py +247 -0
  624. sova_oss-0.1.0/src/sova/worker/evidence.py +277 -0
  625. sova_oss-0.1.0/src/sova/worker/firecracker.py +409 -0
  626. sova_oss-0.1.0/src/sova/worker/host_acceptance.py +213 -0
  627. sova_oss-0.1.0/src/sova/worker/host_preflight.py +407 -0
  628. sova_oss-0.1.0/src/sova/worker/identity.py +188 -0
  629. sova_oss-0.1.0/src/sova/worker/io.py +151 -0
  630. sova_oss-0.1.0/src/sova/worker/lifecycle.py +822 -0
  631. sova_oss-0.1.0/src/sova/worker/malicious.py +107 -0
  632. sova_oss-0.1.0/src/sova/worker/network_plane.py +1076 -0
  633. sova_oss-0.1.0/src/sova/worker/protocol.py +314 -0
  634. sova_oss-0.1.0/src/sova/worker/service.py +249 -0
  635. sova_oss-0.1.0/src/sova/workflows/__init__.py +17 -0
  636. sova_oss-0.1.0/src/sova/workflows/case.py +560 -0
  637. sova_oss-0.1.0/src/sova/workflows/check.py +287 -0
  638. sova_oss-0.1.0/src/sova/workflows/demo.py +248 -0
@@ -0,0 +1,97 @@
1
+ # Private planning, company, IP, and confidential context — never commit
2
+ /TRUSCOR_Bible_v4_0.md
3
+ /SOVA_TRUSCOR_Patent_and_Publication_Strategy_v1_0.md
4
+ /SOVA_OSS_Master_Idea_Doc_v4_7_FINAL.md
5
+ /Atlas_MCP_Confidential_Technical_Report_v1.0 (1).pdf
6
+ /ATLAS_Core_and_ATLAS_OS_Open_Core_PRD_v1.0.pdf
7
+ /SOVA_OSS_PARTS_INDEX.md
8
+ /SOVA_MASTER_IDEA_AND_STRUCTURE_v5.md
9
+ /SOVA_MASTER_IDEA_AND_STRUCTURE_v6.md
10
+
11
+ # Proprietary engine, intelligence, client, and trade-secret material
12
+ /private/
13
+ /confidential/
14
+ /internal-only/
15
+ /truscor-engine/
16
+ /private-corpus/
17
+ /matched-loss/
18
+ /client-data/
19
+ /client-findings/
20
+ /honeypot-internal/
21
+ /atlas-confidential/
22
+ /trade-secrets/
23
+ *.confidential.*
24
+ *.private.*
25
+ *.secret.*
26
+
27
+ # Secrets and local configuration
28
+ .env
29
+ .env.*
30
+ !.env.example
31
+ *.pem
32
+ *.key
33
+ *.p12
34
+ *.pfx
35
+ *.token
36
+ service-signing-key.raw
37
+
38
+ # SOVA local state and potentially sensitive evidence
39
+ /.sova/
40
+ *.sova-trace
41
+ *.sova-trace.*
42
+ /traces/
43
+ /receipts/
44
+ /artifacts/private/
45
+ /browser-profiles/
46
+ /.playwright-mcp/
47
+ /community-state/
48
+ /monitor-state/
49
+ /deploy/community/operator/
50
+
51
+ # Only explicitly synthetic, provenance-recorded trace goldens may be public
52
+ !/tests/fixtures/golden/trace/*.sova-trace
53
+
54
+ # Dependencies and virtual environments
55
+ node_modules/
56
+ .pnpm-store/
57
+ .venv/
58
+ venv/
59
+ __pycache__/
60
+ *.py[cod]
61
+ *.egg-info/
62
+ .mypy_cache/
63
+ .pytest_cache/
64
+ .ruff_cache/
65
+ .hypothesis/
66
+
67
+ # Build, coverage, logs, and temporary output
68
+ dist/
69
+ build/
70
+ coverage/
71
+ .coverage
72
+ /.coverage-*
73
+ coverage.json
74
+ /coverage-*.json
75
+ htmlcov/
76
+ *.log
77
+ audit-requirements.txt
78
+ /.validation/
79
+ /.test-artifacts/
80
+ /.test-tmp-*/
81
+ /.pytest-tmp/
82
+ /.tmp-*/
83
+ tmp/
84
+ temp/
85
+ /.tmp/
86
+ .cache/
87
+ .tmp-npm-cache/
88
+ /deploy/worker/network-mediator/target/
89
+
90
+ # Editors and operating systems
91
+ /CLAUDE.md
92
+ /.claude/
93
+ .idea/
94
+ .vscode/
95
+ .DS_Store
96
+ Thumbs.db
97
+ desktop.ini
@@ -0,0 +1,415 @@
1
+ # Changelog
2
+
3
+ All notable public changes to SOVA OSS are recorded here.
4
+
5
+ This project follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/)
6
+ and will use [Semantic Versioning](https://semver.org/spec/v2.0.0.html) for the
7
+ CLI package. Artifact specifications, methodologies, adapters, and taxonomies
8
+ have independent version ledgers.
9
+
10
+ ## [Unreleased]
11
+
12
+ ## [0.1.0] - 2026-11-15
13
+
14
+ First release on PyPI: `pip install sova-oss`, with `pip install "sova-oss[agentdojo]"` for
15
+ re-running findings. The `.sova` and `.sova-trace` 0.1.0 formats and the `sova.calibration`
16
+ 0.1.0 report are frozen, and the core commands (`record agentdojo`, `record inspect-log`,
17
+ `verify`, `show`, `compare`, `audit`, `rerun`, `matrix`, `calibrate`) are stable within 0.1.x;
18
+ everything else is experimental, as listed in `docs/governance/api-stability.md`. This release
19
+ accompanies the TRUSCOR research preprint on portable, evidence-bounded reproduction of AI-agent
20
+ security findings, whose results ship as `.sova` files this package verifies.
21
+
22
+ ### Release
23
+
24
+ - Added `.github/workflows/publish.yml`, which publishes a tagged release through PyPI Trusted
25
+ Publishing with attestations, only when dispatched by hand, after the tag/version check, the
26
+ test suite, and a clean-environment install of the built wheel.
27
+ - Added `docs/governance/api-stability.md` and a test that fails if a stable command is removed or
28
+ renamed.
29
+ - The local MCP server and the MCP client now report the installed package version instead of a
30
+ fixed string.
31
+ - Fixed spurious "workspace seed file changed while it was admitted" refusals on Windows with
32
+ Python 3.14: `st_ctime` is left out of the seed's file identity there, where its meaning differs
33
+ between Python versions and between a stat by path and by handle.
34
+
35
+ ### Security
36
+
37
+ - Hardened community ingestion against secrets hidden in compressed, nested,
38
+ and self-extracting ZIP members; aligned raw-file, base64, HTTP, and reverse-
39
+ proxy limits; and made rejected staging cleanup fail closed.
40
+ - Made OCI-agent admission require an exact digest-pinned image and attested
41
+ `runsc` runtime before and after approval, reject adapter substitution, bind
42
+ native-execution provenance into signed Arena traces, and verify cleanup even
43
+ when the container engine becomes unavailable.
44
+ - Upgraded the runtime dependency to `cryptography 50.x` after the fixed stable
45
+ release became available, retired the temporary PKCS#7 advisory exception,
46
+ and restored a strict no-ignored-advisory dependency audit.
47
+ - Upgraded the worker mediator from vulnerable `time 0.3.41` to fixed `0.3.47`
48
+ for RUSTSEC-2026-0009, moved its pinned build floor to Rust 1.88.0, and kept
49
+ the RustSec gate strict with no advisory ignore.
50
+
51
+ ### Added
52
+
53
+ - Added `sova audit`, which checks each AgentDojo episode's security verdict
54
+ against the recorded tool calls using a frozen, digest-identified rule set
55
+ (`agentdojo-v1.2.2`), and `sova record agentdojo`, which converts AgentDojo
56
+ run logs into `.sova-trace` files and `.sova` capsules; `sova record inspect`
57
+ and `sova record trace` route to the existing importers.
58
+ - Added `sova show` (capsule summary or trace timeline) and made `sova --help`
59
+ lead with the core commands.
60
+ - Added `sova rerun` and `sova matrix`: run a recorded AgentDojo finding again on
61
+ a chosen model (OpenAI-compatible Chat Completions or Responses API, or
62
+ Anthropic), report attacks among judged runs with a Wilson 95% interval and the
63
+ runs that could not be judged, and decide reproduction against the recorded run
64
+ with six explicit states. `matrix` runs findings x models x trials, classifies
65
+ findings across a model upgrade, and resumes from earlier runs. Model calls need
66
+ `--authorize`; keys come only from named environment variables. Needs the new
67
+ optional `sova-oss[agentdojo]` extra (`agentdojo==0.1.35`).
68
+ - Bound the exact README, documentation, demo, website, paper, Registry, and
69
+ release-note claim surfaces into the P6 release candidate and launch dossier.
70
+ A canonical snapshot with any held or unreviewed surface now blocks publication.
71
+
72
+ - A signed exact-candidate launch dossier workflow with strict input/output
73
+ schemas, Ed25519/DSSE receipt verification, nine role-scoped trust roots, an
74
+ out-of-band trust-policy pin, recomputed evaluation/Registry/release ledgers,
75
+ exact artifact-manifest and claims-register byte binding, and inert
76
+ `release keygen`, `release sign-evidence`, `release assemble-evidence`, and
77
+ `release dossier` commands. Trust policy admission requires one distinct key
78
+ per role and structural separation between internal principals and both
79
+ independent reviewers. Dossiers expose deterministic evaluation, Registry,
80
+ review, and external-gate summaries plus sorted machine-readable hold reasons.
81
+ Missing, synthetic, untrusted, tampered, or drifted evidence cannot authorize
82
+ tagging or publication.
83
+ - A digest-frozen blinded-evaluation protocol spanning eight target classes and
84
+ four lane kinds, provenance/loss-reporting adapters for five external benchmark
85
+ families, exact expected-run accounting, and explicit coverage, finding,
86
+ reproduction, false-positive, infrastructure, cost, latency, and containment
87
+ measures. The included acceptance is synthetic and establishes no comparative
88
+ field result.
89
+ - A ten-control Registry beta readiness contract, deterministic bounded local
90
+ backup/verification/empty-root restore, and a five-review exact-release ledger
91
+ that refuses synthetic, non-production, wrong-artifact, missing, failed, and
92
+ non-independent receipts. Public deployment and release approval remain open.
93
+ - An immutable controller/worker protocol with mutually authenticated signed
94
+ messages, content-addressed jobs, exact secret capabilities, hostile evidence
95
+ validation, cleanup/attestation receipts, and a Firecracker 1.16.1 jailer
96
+ launch compiler plus root-only Unix-API, pidfd watchdog, exact cleanup, and
97
+ lifecycle receipt path. A separately pinned static Rust mediator now enforces
98
+ canonical per-job policy, exact hostname/port/DNS-pin/SNI authority, address
99
+ floors, budgets, and durable no-replace receipts. It has cross-language tests,
100
+ a real WSL denied-flow smoke, a deterministic Cargo SBOM, and candidate
101
+ checksum/signing/provenance integration. Live dedicated-host isolation and
102
+ independent review are explicitly not claimed.
103
+ - An oracle laboratory with proposal/calibration/promotion separation,
104
+ differential and metamorphic checks, independent reproduction, explicit
105
+ abstention and failure states, and eight-dimensional measured coverage.
106
+ - Adaptive semantic browser exploration for controlled targets, with
107
+ secret-redacted accessibility observations, a closed typed action algebra,
108
+ multi-page UI workflows, per-batch approval, one shared hard deadline,
109
+ prerequisite-failure guards, persisted-oracle reproduction, signed trace
110
+ history, WebM recording, and decisive replay cues.
111
+ - A strict third-party OCI agent protocol plus `agent conform-oci` and Arena
112
+ integration through an attested gVisor `runsc` boundary. Agents can return
113
+ messages or reviewed browser plans but never inherit browser, host,
114
+ credential, target, or approval authority.
115
+ - One-step `sova replay FINDING.sova` and explicit `replay open`, with safe
116
+ local-file launch, automation-friendly `--no-open`, selected cue receipts,
117
+ WebM/MP4 duration validation, comparison-side event selection, and exact
118
+ decisive playback windows.
119
+ - A digest-gated community deployment blueprint and preflight that builds a
120
+ non-root SOVA image, validates immutable resolved Compose images, stages a
121
+ protected operator token through a no-network initializer, aligns proxy and
122
+ service limits, and launches with no implicit image pull. Internet operation
123
+ remains subject to the documented external production gates.
124
+ - Provider-backed `arena web` now supports the same explicit `--headed
125
+ --record-video` path as browser detonation. Passing deterministic oracle
126
+ events create visible exploit-confirmed chapters and canonical,
127
+ media-digest-bound replay cues; capsule replay selects the exact trace event
128
+ and opens a bounded decisive-moment video window with declared timing
129
+ uncertainty.
130
+ - Explicit opt-in Playwright browser recording with headed WebM capture,
131
+ chapter/action overlays, bounded and signature-checked media packaging, typed
132
+ `visual-replay` capsule objects, `--media` timeline playback, and direct
133
+ `sova replay capsule` rendering without manual archive extraction.
134
+ - An evidence-native replay application with play/pause, speed controls,
135
+ sensor-family lanes, search, causal/correlation navigation, synchronized
136
+ comparison, hostile-content-safe rendering, integrity-validated live trace
137
+ prefixes, and a bounded loopback SSE service.
138
+ - A strict three-phase blinded causal-validation protocol with separate
139
+ label-free tasks and committed answer keys, DSSE reviewer-key pinning,
140
+ stochastic CPU-only fixtures, abstention-aware metrics and confidence
141
+ intervals, explicit external-review limits, and four pinned JSON Schemas.
142
+ - A loopback-only self-hosted community reference service with secret-safe token
143
+ initialization, bounded staged uploads, pinned evidence signers, asynchronous
144
+ verification, restart recovery, atomic content-addressed promotion, a
145
+ DSSE-signed live index, service-key and sequence verification, SSE updates,
146
+ standard-profile-only leaderboard rows, duplicate-evidence defenses, and no
147
+ submitted-content execution. The standard-library transport is explicitly
148
+ not presented as an Internet-production server.
149
+ - A durable foreground `sova monitor serve` scheduler with exact non-executable
150
+ job documents, workspace-bound snapshot paths, kernel-backed overlap
151
+ exclusion, interrupted-run recovery, cooperative cancellation, bounded
152
+ retention for reports and history, and signed drift-result traces.
153
+ - An executor-backed `sova arena swarm-web` lane in which bounded scripted or
154
+ provider-capable roles take sequential turns over one exclusively leased,
155
+ target-bound browser profile; select only operator-authored candidate grants;
156
+ share redacted observations rather than credentials; receive fresh human
157
+ approval for browser subruns; and emit signed coordinator and participant
158
+ traces, exact live-channel parity, and an offline-verifiable aggregate
159
+ capsule. An opt-in installed-Chrome two-role fixture test passes across MCP
160
+ restarts.
161
+ - A live-attested Docker Desktop OCI executor for digest-pinned cached images,
162
+ with no network, host mounts, Docker socket, or image pull; read-only rootfs,
163
+ non-root zero-capability execution, no-new-privileges, CPU/memory/PID/output/
164
+ runtime bounds, forced cleanup, a `sova safety attest-docker` command, and an
165
+ opt-in real-runtime conformance test. It is explicitly a container sharing
166
+ the Docker VM kernel, not a per-workload microVM.
167
+ - Target-digest-bound opaque browser profiles with atomic cross-process leases,
168
+ bounded stale-lock recovery, graceful MCP/Chromium shutdown, a manual headful
169
+ login/CAPTCHA handoff, opt-in reuse across browser/agent/Arena campaigns, and
170
+ a signed installed-Chrome two-process persistence proof that excludes profile
171
+ handles, paths, and cookie material from evidence.
172
+ - An inert `sova target browser-kit` authoring workflow that normalizes one
173
+ controlled origin, generates a strict target/campaign/assessment-plan bundle,
174
+ explains external proof-of-control and human approval, and performs no
175
+ network access or authorization inference.
176
+ - Digest-and-size screenshot sensor evidence in owned and bounded browser
177
+ campaigns; raw screenshot pixels remain outside durable SOVA traces.
178
+ - Offline `sova probe issue` and `sova probe verify` round trips with strict
179
+ secret-free issuance requests, ephemeral Ed25519 signatures, nonce/scope/TTL
180
+ binding, and explicit included-key-integrity-only trust semantics.
181
+ - A direct `sova trace command` front door with shell-free exact executable
182
+ resolution, credential-shaped argument refusal, canonical digest-bound TTY
183
+ review, restricted environment inheritance, signed evidence, and an explicit
184
+ ordinary-host-authority limitation.
185
+ - Cross-platform extension launch hardening that rejects inline code flags for
186
+ version-suffixed Python, PyPy, and Node executables plus common POSIX shells.
187
+ - Fully applicable environment, target, code, dependency, registry, and model
188
+ fingerprint states plus pinned methodology/taxonomy in the bundled sleeper
189
+ demo, allowing its installed-wheel output to enter the strict case workspace
190
+ without weakening verification.
191
+ - A provider-assisted `sova rehearse agent-run` path with bounded sanitized
192
+ workspace disclosure, exact pre-call and pre-execution approvals, a tool-free
193
+ strict-JSON planner, fail-closed budgets, signed planning/execution traces,
194
+ and a portable evidence capsule while preserving substitute-only effects.
195
+ - Authorization-gated local-software detonation that executes finite
196
+ process-only capsules against two credential-stripped disposable workspace
197
+ copies, observes bounded process/output/file-delta evidence, signs and
198
+ compares primary/reproduction traces, and packages a verified capsule without
199
+ claiming host isolation or legal-authority verification.
200
+ - An offline `sova case build` workflow that verifies exact capsule-to-trace
201
+ binding and produces forensic reconstruction, inert timeline, payload-free
202
+ replay media, evidence/SARIF reports, behavior snapshot, selective disclosure,
203
+ and a contribution preview whose human gates remain closed.
204
+ - Authorization-gated dynamic `sova check` execution for controlled browser
205
+ targets, with non-offensive campaign enforcement, signed evidence,
206
+ controlled reproduction, and explicit not-observed/inconclusive semantics.
207
+ - Repeated real-browser counterfactual pairs that remove one declared message,
208
+ verify signed baseline/intervention/reproduction evidence, reject fingerprint
209
+ drift, and package uncertainty-aware attribution in a `.sova` capsule.
210
+ - An authorization-gated `sova detonate owned-web-fixture` path that drives a
211
+ real loopback website through pinned Playwright MCP and Chrome, records signed
212
+ primary/reproduction traces, compares observable outcomes, and packages a
213
+ `.sova` evidence capsule.
214
+ - An external browser-target workflow with short-lived HTTPS well-known control
215
+ challenges, certificate and exact-origin binding, redirect refusal,
216
+ pre-dispatch URL checks, and final observed-origin drift detection.
217
+ - Closed exact-batch terminal authorization that lets a person review a bounded
218
+ run once while preserving distinct signed, scope-bound, one-use tokens for
219
+ every individual action.
220
+ - A real-browser `sova hunt` campaign that evaluates an exact reviewed
221
+ candidate set, records snapshot/console/network sensors, detects observable
222
+ near misses, performs fresh controlled reproduction, and emits signed traces
223
+ plus an offline-verifiable discovery capsule.
224
+ - A provider-assisted `sova hunt agent-browser` path with isolated recon,
225
+ explorer, strategist, attacker, and advisory judge roles; strict JSON and
226
+ model budgets; redacted role records; explicit provider-call permission; and
227
+ unchanged proof-of-control plus exact browser-action approval boundaries.
228
+ - A provider-capable `sova arena agent-run` path with separate challenger,
229
+ defender, and advisory-judge contexts; bounded multi-round message exchange;
230
+ capture-time-redacted prompt/model/inter-agent/environment/oracle sensors;
231
+ deterministic scoring; signed per-match traces and capsules; and mandatory
232
+ custom non-comparable profiles without participant tools.
233
+ - Buildable `sova-oss` Python package and typed, tested `sova` command-line interface.
234
+ - A fail-visible dependency-advisory register and source guard for the current
235
+ `cryptography` PKCS#7 advisory, with an automatic removal condition when a
236
+ compatible fixed release becomes available.
237
+ - Reproducible `uv` development lockfile and cross-platform CI.
238
+ - Formatting, linting, strict typing, tests, coverage, security, provenance,
239
+ compatibility, performance-budget, and failure-injection controls.
240
+ - Repository governance, documentation states, glossary generation, research
241
+ artifact indexing, methodology versioning, issue routing, and release rules.
242
+ - Experimental `sova.domain` contract primitives for strict versions,
243
+ SHA-256 fingerprints, UUIDv7 logical identities, and explicit context.
244
+ - Five-axis non-destructive finding lifecycle and stable failure codes.
245
+ - Versioned twelve-class `sova.attack` taxonomy with standard/custom profile
246
+ rules and version-pinned OWASP, MITRE ATLAS, CWE, and CAPEC mappings.
247
+ - Six-dimensional frozen-denominator observed coverage, exploration budgets,
248
+ stopping rules, and source-example reconciliation.
249
+ - Experimental `.sova` capsule/scenario schemas, deterministic packaging,
250
+ content-addressed attachments, authoring, inspection, validation, linting,
251
+ canonical hashing, and explicit chained migrations.
252
+ - Streaming `.sova-trace` capture with four profiles, chunking, recovery,
253
+ indexed inspection, inert playback, capture-time redaction, optional
254
+ DSSE-compatible Ed25519 signatures, and offline verification.
255
+ - Pinned OpenTelemetry/OpenInference import/export mappings with explicit
256
+ fidelity-loss reports.
257
+ - Privacy-minimizing OpenInference `0.1.30` import with explicit content
258
+ opt-in, sensitive-field accounting, bounded hostile-input handling, and a
259
+ corrected span-kind mapping that never emits the nonexistent `MEMORY` kind.
260
+ - Deterministic scripted-model and scripted-executor lanes plus a restricted
261
+ local host-process executor with exact capability negotiation.
262
+ - Observable deterministic oracles, integrity-checked declared-outcome
263
+ comparison, and a complete safe no-Atlas vertical-slice fixture.
264
+ - Explicit observer producer identity for reference oracle conclusions so
265
+ executor output and SOVA-owned judging remain distinguishable in evidence.
266
+ - Optional DSSE/Ed25519 and required-key verification in the independently
267
+ implemented offline verifier, without importing the SOVA package.
268
+ - A dependency-free Node.js verifier and cross-language agreement tests for
269
+ package, canonical manifest, event chain, redaction, and DSSE evidence.
270
+ - Strict opaque `sova-secret:` references, just-in-time child-environment
271
+ resolution, supervised process lifecycle, explicit unsupported resource
272
+ limits, and provider-crash normalization.
273
+ - An experimental authority-containment-evidence kernel with exact per-action
274
+ scope, expiring single-use authority, proof-of-control checks, consequence
275
+ classes, monotone effect budgets, containment binding, and single-use
276
+ out-of-band human approvals.
277
+ - Containment capability descriptors and admission decisions for the
278
+ no-native-code synthetic world, restricted local developer execution, OCI,
279
+ gVisor, Firecracker, and Kata candidates without mislabelling unvalidated
280
+ host or container execution as a security sandbox.
281
+ - A seedable event-sourced synthetic detonation world with inert run-unique
282
+ canaries, sink-only egress, substitute services, explicit reset evidence, a
283
+ normalized sensor mesh, claim-conditioned evidence closure, and nine
284
+ deterministic ground-truth target families.
285
+ - Deterministic file, process, network, canary, tool, authorization, browser,
286
+ database, inter-agent, state, trigger, and composite oracles.
287
+ - A safe `sova demo sleeper` path that emits an offline-verifiable
288
+ `.sova-trace`, `.sova` capsule, and human-readable summary without a model,
289
+ provider key, network, container runtime, or MELRA installation.
290
+ - A pinned MELRA adapter with strict internal task-state normalization,
291
+ status/cancel handling, and a permanent no-MELRA fallback path.
292
+ - Air-gapped `sova map` collection, provenance-separated capability closures,
293
+ schema-validated map reports, and immutable tool-definition drift snapshots.
294
+ - Provider-neutral role orchestration, standard/custom run profiles, an
295
+ evidence-firewalled judging path, model fallback budgets, local minimized
296
+ experience records, opaque session leases, and verified executor fallback.
297
+ - A complete `sova check`/`sova demo` no-MELRA path with named bounded
298
+ baselines, two-dimensional trigger search, signed discovery and reproduction
299
+ traces, independent verification, honest exit states, and performance gates.
300
+ - Three non-interchangeable replay modes, four-state offline verification,
301
+ fresh linked re-execution, uncertainty-aware semantic studies, calibrated
302
+ optional judging, and an inert side-by-side timeline viewer.
303
+ - A bounded MCP 2025-11-25 stdio client, Microsoft Playwright MCP and
304
+ restricted Windows-MCP mappings, pinned launch recipes, capability routing,
305
+ conservative verification/fallback, and cross-adapter conformance tests.
306
+ - A typed 13-dimension trigger-search model with measurable signature, random,
307
+ grid, coverage, human, and adaptive evolutionary baselines; sequence
308
+ minimization; digest-only local experience; and an owned-target Phantom
309
+ Fuzzer contract with secret-free attempt and browser-confirmation trace
310
+ events.
311
+ - Evidence-linked forensic reconstruction with causal partial-ordering,
312
+ uncertain-order and missing-sensor markers, paired-intervention attribution,
313
+ explicit confounding/abstention, Wilson intervals, and a five-case
314
+ deterministic calibration fixture.
315
+ - Watermarked self-assessment evidence bundles, SARIF 2.1.0 projection/import,
316
+ four-state execution-bounded scanner adjudication, local-only disclosure
317
+ preparation, bounded local maintainer-contact discovery, approved default
318
+ disclosure clocks, and technical, executive, reproduction, and methodology
319
+ views.
320
+ - Typed metadata-only composition graphs, pairwise/t-wise/risk/trigger-aware
321
+ bounded search, fresh-observation minimization, element-removal attribution,
322
+ portable `.sova` composition fragments, and a ground-truth composition-only
323
+ failure fixture.
324
+ - Credential-stripped substitute-only rehearsal with pluggable preparation,
325
+ separate user/attacker evidence, signed success/failure traces, clean diffs,
326
+ material-step captures, capability reach, and digest-bound selective export.
327
+ - Shell-free allowlisted process tracing, multi-axis behavior/environment/
328
+ methodology drift, local sentinel history, deterministic CI/SARIF policy, a
329
+ reusable GitHub workflow, and protected-baseline SOVA self-checks.
330
+ - An offline repository-of-files registry with content-addressed objects,
331
+ DSSE-compatible signed indexes, explicit key-pinning trust, pull-only atomic
332
+ mirror caching, verification tiers, consent-firewalled contribution staging,
333
+ and provenance-preserving external adapters.
334
+ - An account-free local MCP `2025-11-25` stdio server with a pinned tool
335
+ manifest, explicit side-effect declarations, separate-terminal exact
336
+ invocation approval, expiry, single-use replay protection, and signed
337
+ authorization evidence.
338
+ - A fail-closed extension protocol, metadata-only PyPA discovery, shell-free
339
+ subprocess conformance runner, provider-neutral OpenAI/Anthropic/OpenRouter/
340
+ Ollama adapters with injected no-network tests, eight target declarations,
341
+ and an inert provenance-preserving Inspect AI bridge.
342
+ - A human-operated extension workflow with strict manifests, absolute paths,
343
+ executable and script digest pins, post-approval drift checks, protocol-bound
344
+ responses, capture-time redaction, signed traces, and explicit non-sandbox
345
+ limitations, plus an executable safe example.
346
+ - Signed nonce-bound probe evidence, a deterministic trace-per-attempt local
347
+ Arena, signature-pinned static leaderboard, inert CTF catalog, and bounded
348
+ redaction-first replay clip renderer with strict public CLI documents.
349
+ - Account-free `sova init`, non-secret `sova doctor`, identity-bound managed
350
+ data deletion, a first-five-minutes path, user-path guides, governance, and
351
+ maintainer documentation.
352
+ - Deterministic CycloneDX 1.6 SBOM generation, exact release checksums, hostile
353
+ bundle verification, and a reproducible neutral conformance ZIP containing
354
+ canonical schema, event, extension, and manifest vectors.
355
+ - Secret-free authorized-target manifests and inert plans plus signed,
356
+ deterministic website and software fixtures that prove target planning,
357
+ observable execution, trace capture, capsule packaging, controlled
358
+ reproduction, comparison, and offline verification without contacting a
359
+ live target.
360
+ - A machine-audited 83-command CLI surface whose registered handlers must all
361
+ execute in mandatory offline CI.
362
+
363
+ ### Fixed
364
+
365
+ - Corrected the release claim ledger to the parser-verified 111 CLI leaf
366
+ commands and recorded the bounded provider-backed AI Goat loopback acceptance
367
+ without broadening it into an autonomous-coverage or provider-quality claim.
368
+ - Standardized test invocation on `python -m pytest`, avoiding a Windows
369
+ console-entry-point import-path failure for the public `scripts` package.
370
+ - Current-to-current `.sova` migration now performs an exact, no-overwrite
371
+ byte-preserving copy when the destination differs from the source.
372
+ - Local MCP control-key creation now forces binary mode on Windows so random
373
+ newline bytes cannot be translated to CRLF and alter the generated key.
374
+ - Windows foreground/background cancellation now detects failed or timed-out
375
+ `taskkill /T` attempts, falls back immediately to the owned root process, and
376
+ retries transient temporary-I/O cleanup. Arbitrary descendant-tree
377
+ containment still requires a stronger operating-system backend.
378
+
379
+ ### Security
380
+
381
+ - Full-SHA pinning for GitHub Actions.
382
+ - Dedicated public-boundary, secret, dependency, and CodeQL checks.
383
+ - Synthetic-fixture provenance and raw-trace location enforcement.
384
+ - Malformed archive, parser differential, corruption, truncation, reordering,
385
+ substitution, signature-confusion, redaction, and hostile-extension tests.
386
+ - Secret values and provider exception messages are excluded from durable
387
+ capsules and normal trace outcomes by tested boundaries.
388
+ - Keyed redaction commitments reject missing or sub-32-byte key material before
389
+ capture; operators must still supply genuinely high-entropy keys.
390
+ - Encrypted redaction can use authenticated power-of-two length buckets;
391
+ decryption rejects padding metadata that disagrees with the authenticated
392
+ associated data. Bucket, presence, path, and surrounding-structure leakage
393
+ remain explicit limitations.
394
+ - The threat model explicitly records that standalone offline verification
395
+ cannot detect byte-identical replay or valid-signer equivocation without
396
+ trusted external freshness or transparency state.
397
+ - External MCP transport success is never treated as action success when the
398
+ provider's embedded task is blocked, partial, waiting, cancelled, failed,
399
+ nonterminal, unknown, or substituted.
400
+ - Windows-MCP telemetry is disabled by the pinned recipe and dangerous host
401
+ tools are excluded from the SOVA mapping by default.
402
+ - MCP stdio reads, unrelated-response deferral, and request deadlines are
403
+ bounded before allocation or retry; backend environment additions fail
404
+ closed unless allowlisted.
405
+ - Phantom payload/evidence sizes are bounded, and ephemeral token zeroization
406
+ runs on success, validation failure, or harness failure.
407
+
408
+ ## [0.1.0a0] - never published
409
+
410
+ Pre-alpha engineering-foundation version, superseded by 0.1.0 before any
411
+ publication.
412
+
413
+ [Unreleased]: https://github.com/TRUSCOR/SOVA-OSS/compare/v0.1.0...HEAD
414
+ [0.1.0]: https://github.com/TRUSCOR/SOVA-OSS/releases/tag/v0.1.0
415
+ [0.1.0a0]: https://github.com/TRUSCOR/SOVA-OSS/commits/main
@@ -0,0 +1,20 @@
1
+ cff-version: "1.2.0"
2
+ message: "If you use SOVA OSS in software, research, a paper, benchmark, dataset, or publication, please cite this repository and the release or commit you used."
3
+ title: "SOVA OSS: Security and Offensive Vulnerability Adversary"
4
+ abstract: "A local-first open-source workbench for mapping, adversarially testing, tracing, reproducing, and analyzing AI-agent security behavior."
5
+ authors:
6
+ - family-names: "Patil"
7
+ given-names: "Gautam R."
8
+ - name: "TRUSCOR"
9
+ repository-code: "https://github.com/TRUSCOR/SOVA-OSS"
10
+ url: "https://truscor.org"
11
+ license: "Apache-2.0"
12
+ version: "0.1.0"
13
+ date-released: "2026-11-15"
14
+ keywords:
15
+ - "AI agent security"
16
+ - "adversarial testing"
17
+ - "MCP security"
18
+ - "security evidence"
19
+ - "reproducibility"
20
+ - "forensics"
@@ -0,0 +1,78 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our pledge
4
+
5
+ We as members, contributors, and leaders pledge to make participation in the
6
+ SOVA OSS community a harassment-free experience for everyone, regardless of
7
+ age, body size, visible or invisible disability, ethnicity, sex characteristics,
8
+ gender identity and expression, level of experience, education, socio-economic
9
+ status, nationality, personal appearance, race, caste, color, religion, or
10
+ sexual identity and orientation.
11
+
12
+ We pledge to act and interact in ways that contribute to an open, welcoming,
13
+ diverse, inclusive, and healthy community.
14
+
15
+ ## Our standards
16
+
17
+ Examples of behavior that contributes to a positive environment include:
18
+
19
+ - demonstrating empathy and kindness toward other people;
20
+ - respecting differing opinions, viewpoints, and experiences;
21
+ - giving and gracefully accepting constructive feedback;
22
+ - accepting responsibility and apologizing to those affected by our mistakes;
23
+ - focusing on what is best for the overall community.
24
+
25
+ Examples of unacceptable behavior include:
26
+
27
+ - sexualized language or imagery, sexual attention, or advances;
28
+ - trolling, insulting or derogatory comments, and personal or political attacks;
29
+ - public or private harassment;
30
+ - publishing others' private information without explicit permission;
31
+ - pressuring contributors to disclose confidential security, client, research,
32
+ employment, or identity information;
33
+ - other conduct reasonably considered inappropriate in a professional setting.
34
+
35
+ ## Enforcement responsibilities
36
+
37
+ Project leaders are responsible for clarifying and enforcing acceptable
38
+ behavior and will take appropriate and fair corrective action in response to
39
+ behavior they deem inappropriate, threatening, offensive, or harmful.
40
+
41
+ Project leaders may remove, edit, or reject comments, commits, code, wiki edits,
42
+ issues, and other contributions that are inconsistent with this Code of
43
+ Conduct, and will communicate reasons for moderation when appropriate.
44
+
45
+ ## Scope
46
+
47
+ This Code applies within project spaces and when an individual officially
48
+ represents the project in public spaces.
49
+
50
+ ## Enforcement
51
+
52
+ Report abusive, harassing, or otherwise unacceptable behavior privately to
53
+ [gautam@truscor.org](mailto:gautam@truscor.org) with the subject
54
+ `[SOVA CONDUCT]`. Do not include security vulnerabilities in a conduct report;
55
+ use [SECURITY.md](SECURITY.md).
56
+
57
+ All complaints will be reviewed and investigated promptly and fairly.
58
+ Enforcement staff must respect the reporter's privacy and security.
59
+
60
+ ## Enforcement guidelines
61
+
62
+ Project leaders will follow these community-impact guidelines:
63
+
64
+ 1. **Correction:** A private written warning and explanation for inappropriate
65
+ language or other behavior judged unprofessional or unwelcome.
66
+ 2. **Warning:** A warning with consequences for continued behavior, including
67
+ no interaction with specified people for a stated period.
68
+ 3. **Temporary ban:** A temporary ban from project interaction for a serious
69
+ violation or sustained inappropriate behavior.
70
+ 4. **Permanent ban:** Permanent removal for a pattern of violations,
71
+ harassment, aggression, or disparagement of protected classes.
72
+
73
+ ## Attribution
74
+
75
+ This Code of Conduct is adapted from the
76
+ [Contributor Covenant, version 2.1](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html),
77
+ available under the
78
+ [Creative Commons Attribution 4.0 International licence](https://creativecommons.org/licenses/by/4.0/).