siphrix 1.0.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 (1354) hide show
  1. siphrix-1.0.0/CHANGELOG.md +433 -0
  2. siphrix-1.0.0/CONTRIBUTING.md +191 -0
  3. siphrix-1.0.0/LICENSE +21 -0
  4. siphrix-1.0.0/MANIFEST.in +145 -0
  5. siphrix-1.0.0/PKG-INFO +1543 -0
  6. siphrix-1.0.0/README.md +1479 -0
  7. siphrix-1.0.0/SECURITY.md +148 -0
  8. siphrix-1.0.0/docs/CANONICAL_CONTRACTS.md +134 -0
  9. siphrix-1.0.0/docs/README.md +38 -0
  10. siphrix-1.0.0/docs/REPO_STRUCTURE.md +79 -0
  11. siphrix-1.0.0/docs/architecture/ARCHITECTURE_v1.md +89 -0
  12. siphrix-1.0.0/docs/architecture/HOSTED_ADMIN_DASHBOARD_MVP.md +128 -0
  13. siphrix-1.0.0/docs/architecture/HOSTED_CONTROL_PLANE_BOUNDARY.md +396 -0
  14. siphrix-1.0.0/docs/architecture/HOSTED_FOUNDATION_RUNTIME.md +386 -0
  15. siphrix-1.0.0/docs/architecture/HOSTED_HEALTH_SKELETON.md +184 -0
  16. siphrix-1.0.0/docs/architecture/HOSTED_POLICY_BUNDLE_SYSTEM.md +459 -0
  17. siphrix-1.0.0/docs/architecture/HOSTED_SERVER_SCAFFOLD_BOUNDARY.md +369 -0
  18. siphrix-1.0.0/docs/architecture/LOCAL_DAEMON_HOSTED_POLICY_IMPORT_BOUNDARY.md +617 -0
  19. siphrix-1.0.0/docs/architecture/TRUST_AND_REMOTE_POLICY.md +501 -0
  20. siphrix-1.0.0/docs/architecture/policy_versioning.md +10720 -0
  21. siphrix-1.0.0/docs/architecture_snapshot.md +175 -0
  22. siphrix-1.0.0/docs/audits/api_public_api_normalization_round.md +390 -0
  23. siphrix-1.0.0/docs/audits/bom_cleanup_report.md +140 -0
  24. siphrix-1.0.0/docs/audits/bom_cleanup_round.md +155 -0
  25. siphrix-1.0.0/docs/audits/canonical_path_and_naming_consistency_round.md +334 -0
  26. siphrix-1.0.0/docs/audits/cleanup_series_final_closing_memo.md +428 -0
  27. siphrix-1.0.0/docs/audits/console_init_extraction.md +253 -0
  28. siphrix-1.0.0/docs/audits/constitution_all_snapshot_resync.md +268 -0
  29. siphrix-1.0.0/docs/audits/constitution_execution_init_extraction.md +211 -0
  30. siphrix-1.0.0/docs/audits/constitution_execution_operational_init_extraction.md +228 -0
  31. siphrix-1.0.0/docs/audits/constitution_init_extraction.md +234 -0
  32. siphrix-1.0.0/docs/audits/constitution_test_hygiene_round.md +194 -0
  33. siphrix-1.0.0/docs/audits/constitution_test_hygiene_round_2.md +195 -0
  34. siphrix-1.0.0/docs/audits/contracts_init_extraction.md +257 -0
  35. siphrix-1.0.0/docs/audits/contracts_validation_docs_sweep.md +166 -0
  36. siphrix-1.0.0/docs/audits/contracts_validation_facade_conversion.md +309 -0
  37. siphrix-1.0.0/docs/audits/contracts_validation_phase0_lock.md +194 -0
  38. siphrix-1.0.0/docs/audits/contracts_validation_phase1_base_extraction.md +203 -0
  39. siphrix-1.0.0/docs/audits/contracts_validation_phase2_core_extraction.md +288 -0
  40. siphrix-1.0.0/docs/audits/contracts_validation_phase3_simulation_extraction.md +331 -0
  41. siphrix-1.0.0/docs/audits/contracts_validation_phase4_projected_extraction.md +282 -0
  42. siphrix-1.0.0/docs/audits/contracts_validation_phase5_constitutional_extraction.md +368 -0
  43. siphrix-1.0.0/docs/audits/contracts_validation_phase6_integration_extraction.md +328 -0
  44. siphrix-1.0.0/docs/audits/contracts_validation_risk_extraction.md +276 -0
  45. siphrix-1.0.0/docs/audits/contracts_validation_split_plan.md +675 -0
  46. siphrix-1.0.0/docs/audits/contracts_validation_workspace_extraction.md +333 -0
  47. siphrix-1.0.0/docs/audits/docs_truth_alignment_round.md +341 -0
  48. siphrix-1.0.0/docs/audits/engine_init_facade_conversion.md +325 -0
  49. siphrix-1.0.0/docs/audits/final_repo_boundary_and_naming_round.md +341 -0
  50. siphrix-1.0.0/docs/audits/foundation_cycle_break.md +169 -0
  51. siphrix-1.0.0/docs/audits/foundation_init_facade_conversion.md +360 -0
  52. siphrix-1.0.0/docs/audits/governance_init_extraction.md +181 -0
  53. siphrix-1.0.0/docs/audits/import_graph_audit.md +484 -0
  54. siphrix-1.0.0/docs/audits/init_facade_conversion_round.md +356 -0
  55. siphrix-1.0.0/docs/audits/init_facade_conversion_round_2.md +338 -0
  56. siphrix-1.0.0/docs/audits/launch_baseline_audit.md +433 -0
  57. siphrix-1.0.0/docs/audits/policy_versioning_init_extraction.md +191 -0
  58. siphrix-1.0.0/docs/audits/rebaseline_closing_memo.md +295 -0
  59. siphrix-1.0.0/docs/audits/release_readiness_and_precommit_hygiene_round.md +373 -0
  60. siphrix-1.0.0/docs/audits/repo_artifact_cleanup.md +218 -0
  61. siphrix-1.0.0/docs/audits/repo_cleanup_round.md +305 -0
  62. siphrix-1.0.0/docs/audits/risk_contracts_cycle_break.md +301 -0
  63. siphrix-1.0.0/docs/decision_executor_bindings.md +153 -0
  64. siphrix-1.0.0/docs/execution_attestation.md +135 -0
  65. siphrix-1.0.0/docs/execution_boundaries.md +142 -0
  66. siphrix-1.0.0/docs/execution_conformance.md +152 -0
  67. siphrix-1.0.0/docs/execution_handoff.md +121 -0
  68. siphrix-1.0.0/docs/execution_refusal.md +148 -0
  69. siphrix-1.0.0/docs/executor_capabilities.md +161 -0
  70. siphrix-1.0.0/docs/executor_contracts.md +185 -0
  71. siphrix-1.0.0/docs/integration/ADVANCED.md +198 -0
  72. siphrix-1.0.0/docs/integration/APPROVAL_WORKFLOW.md +284 -0
  73. siphrix-1.0.0/docs/integration/CONTEXT_ADAPTERS.md +77 -0
  74. siphrix-1.0.0/docs/integration/CONTROL_PANEL.md +108 -0
  75. siphrix-1.0.0/docs/integration/EXECUTOR_ADAPTERS.md +92 -0
  76. siphrix-1.0.0/docs/integration/FLOW_CONTROL.md +101 -0
  77. siphrix-1.0.0/docs/integration/FRAMEWORK_ADAPTERS.md +59 -0
  78. siphrix-1.0.0/docs/integration/HOSTED_FOUNDATION.md +266 -0
  79. siphrix-1.0.0/docs/integration/HOW_TO_INTEGRATE_SIPHRIX.md +612 -0
  80. siphrix-1.0.0/docs/integration/INTEGRATION_REGISTRY.md +84 -0
  81. siphrix-1.0.0/docs/integration/LOCAL_AGENT_DAEMON.md +374 -0
  82. siphrix-1.0.0/docs/integration/LOCAL_DAEMON_API.md +775 -0
  83. siphrix-1.0.0/docs/integration/LOCAL_STATE.md +405 -0
  84. siphrix-1.0.0/docs/integration/OPERATOR_API.md +483 -0
  85. siphrix-1.0.0/docs/integration/ORCHESTRATION.md +123 -0
  86. siphrix-1.0.0/docs/integration/ORG_RBAC.md +258 -0
  87. siphrix-1.0.0/docs/integration/PLANNER_ADAPTERS.md +188 -0
  88. siphrix-1.0.0/docs/integration/POLICY_AUTHORING.md +298 -0
  89. siphrix-1.0.0/docs/integration/POLICY_CONTROL_PLANE.md +223 -0
  90. siphrix-1.0.0/docs/integration/QUICKSTART.md +393 -0
  91. siphrix-1.0.0/docs/integration/README.md +62 -0
  92. siphrix-1.0.0/docs/integration/RISK_SCORING.md +325 -0
  93. siphrix-1.0.0/docs/integration/SDK_REFERENCE.md +325 -0
  94. siphrix-1.0.0/docs/integration/SIPHRIX_CONSOLE.md +588 -0
  95. siphrix-1.0.0/docs/integration/TOOL_DISPATCHER_INTEGRATION.md +347 -0
  96. siphrix-1.0.0/docs/launch/COMMERCIAL_BOUNDARY.md +331 -0
  97. siphrix-1.0.0/docs/launch/DEMO_SCRIPT.md +171 -0
  98. siphrix-1.0.0/docs/launch/GITHUB_RELEASE_v1.0.0.md +145 -0
  99. siphrix-1.0.0/docs/launch/NEXT_PHASE_DECISION.md +359 -0
  100. siphrix-1.0.0/docs/launch/PRIVATE_BETA_ACCEPTANCE.md +161 -0
  101. siphrix-1.0.0/docs/launch/PRIVATE_BETA_KNOWN_LIMITATIONS.md +40 -0
  102. siphrix-1.0.0/docs/launch/PRIVATE_BETA_ONBOARDING.md +586 -0
  103. siphrix-1.0.0/docs/launch/PRIVATE_BETA_RELEASE_NOTES.md +70 -0
  104. siphrix-1.0.0/docs/launch/PRIVATE_BETA_RUNBOOK.md +109 -0
  105. siphrix-1.0.0/docs/launch/PRIVATE_BETA_SMOKE_MATRIX.md +46 -0
  106. siphrix-1.0.0/docs/launch/PUBLIC_HANDOFF.md +122 -0
  107. siphrix-1.0.0/docs/launch/QUICK_EVAL.md +807 -0
  108. siphrix-1.0.0/docs/launch/R11_ACCEPTANCE.md +191 -0
  109. siphrix-1.0.0/docs/launch/README.md +29 -0
  110. siphrix-1.0.0/docs/launch/RELEASE_NOTES_v1.0.0.md +179 -0
  111. siphrix-1.0.0/docs/point_7_10_console_ui_foundation.md +277 -0
  112. siphrix-1.0.0/docs/point_8_simulation.md +402 -0
  113. siphrix-1.0.0/docs/point_9_multi_agent_governance.md +1434 -0
  114. siphrix-1.0.0/docs/policy-schema-v4.md +111 -0
  115. siphrix-1.0.0/docs/policy-schema.md +120 -0
  116. siphrix-1.0.0/docs/release/FINAL_RELEASE_STATUS.md +147 -0
  117. siphrix-1.0.0/docs/release/FINAL_RELEASE_VERDICT_v1.md +134 -0
  118. siphrix-1.0.0/docs/release/FINAL_STATUS_v1.md +203 -0
  119. siphrix-1.0.0/docs/release/LOCAL_ALPHA_RELEASE_CHECKLIST.md +161 -0
  120. siphrix-1.0.0/docs/release/README.md +95 -0
  121. siphrix-1.0.0/docs/release/RELEASE_CONTENTS_v1.md +69 -0
  122. siphrix-1.0.0/docs/release/RELEASE_NOTES_v1.md +71 -0
  123. siphrix-1.0.0/docs/release/RELEASE_RUNBOOK.md +328 -0
  124. siphrix-1.0.0/docs/release/SIPHRIX_FULL_ABSORPTION_AUDIT.md +316 -0
  125. siphrix-1.0.0/docs/release/WINDOWS_INSTALLER.md +342 -0
  126. siphrix-1.0.0/docs/risk.md +253 -0
  127. siphrix-1.0.0/docs/sensitive-detection.md +289 -0
  128. siphrix-1.0.0/docs/ui/DASHBOARD.md +809 -0
  129. siphrix-1.0.0/docs/ui/README.md +125 -0
  130. siphrix-1.0.0/docs/ui/SHOWCASE.md +316 -0
  131. siphrix-1.0.0/installer/windows/README.md +176 -0
  132. siphrix-1.0.0/installer/windows/build-installer.ps1 +380 -0
  133. siphrix-1.0.0/installer/windows/build-wheelhouse.ps1 +94 -0
  134. siphrix-1.0.0/installer/windows/launch-siphrix.bat +42 -0
  135. siphrix-1.0.0/installer/windows/launch-siphrix.ps1 +50 -0
  136. siphrix-1.0.0/installer/windows/open-console.bat +10 -0
  137. siphrix-1.0.0/installer/windows/siphrix.iss +142 -0
  138. siphrix-1.0.0/pyproject.toml +162 -0
  139. siphrix-1.0.0/pytest.ini +6 -0
  140. siphrix-1.0.0/setup.cfg +4 -0
  141. siphrix-1.0.0/siphrix/__init__.py +94 -0
  142. siphrix-1.0.0/siphrix/__main__.py +13 -0
  143. siphrix-1.0.0/siphrix/adapters/__init__.py +98 -0
  144. siphrix-1.0.0/siphrix/adapters/context/__init__.py +15 -0
  145. siphrix-1.0.0/siphrix/adapters/context/base.py +81 -0
  146. siphrix-1.0.0/siphrix/adapters/context/composite_context.py +80 -0
  147. siphrix-1.0.0/siphrix/adapters/context/environment_context.py +37 -0
  148. siphrix-1.0.0/siphrix/adapters/context/normalizer.py +339 -0
  149. siphrix-1.0.0/siphrix/adapters/context/role_context.py +37 -0
  150. siphrix-1.0.0/siphrix/adapters/context/session_context.py +37 -0
  151. siphrix-1.0.0/siphrix/adapters/context/tenant_context.py +37 -0
  152. siphrix-1.0.0/siphrix/adapters/executors/__init__.py +10 -0
  153. siphrix-1.0.0/siphrix/adapters/executors/base.py +241 -0
  154. siphrix-1.0.0/siphrix/adapters/executors/email_executor.py +384 -0
  155. siphrix-1.0.0/siphrix/adapters/executors/filesystem_executor.py +271 -0
  156. siphrix-1.0.0/siphrix/adapters/executors/network_executor.py +309 -0
  157. siphrix-1.0.0/siphrix/adapters/executors/os_enforcement_bridge.py +32716 -0
  158. siphrix-1.0.0/siphrix/adapters/executors/pre_execution_gate.py +934 -0
  159. siphrix-1.0.0/siphrix/adapters/executors/sandbox_executor.py +351 -0
  160. siphrix-1.0.0/siphrix/adapters/executors/shell_executor.py +240 -0
  161. siphrix-1.0.0/siphrix/adapters/executors/stub_executor.py +47 -0
  162. siphrix-1.0.0/siphrix/adapters/frameworks/__init__.py +7 -0
  163. siphrix-1.0.0/siphrix/adapters/frameworks/agent_runtime_adapter.py +85 -0
  164. siphrix-1.0.0/siphrix/adapters/frameworks/base.py +158 -0
  165. siphrix-1.0.0/siphrix/adapters/frameworks/orchestration_adapter.py +65 -0
  166. siphrix-1.0.0/siphrix/adapters/frameworks/workflow_adapter.py +57 -0
  167. siphrix-1.0.0/siphrix/adapters/planners/__init__.py +19 -0
  168. siphrix-1.0.0/siphrix/adapters/planners/anthropic_planner.py +57 -0
  169. siphrix-1.0.0/siphrix/adapters/planners/base.py +93 -0
  170. siphrix-1.0.0/siphrix/adapters/planners/custom_planner.py +24 -0
  171. siphrix-1.0.0/siphrix/adapters/planners/gemini_planner.py +173 -0
  172. siphrix-1.0.0/siphrix/adapters/planners/local_planner.py +29 -0
  173. siphrix-1.0.0/siphrix/adapters/planners/mock_planner.py +84 -0
  174. siphrix-1.0.0/siphrix/adapters/planners/normalizer.py +408 -0
  175. siphrix-1.0.0/siphrix/adapters/planners/ollama_planner.py +46 -0
  176. siphrix-1.0.0/siphrix/adapters/planners/openai_planner.py +58 -0
  177. siphrix-1.0.0/siphrix/adapters/registry.py +1004 -0
  178. siphrix-1.0.0/siphrix/agent.py +556 -0
  179. siphrix-1.0.0/siphrix/analysis/__init__.py +144 -0
  180. siphrix-1.0.0/siphrix/analysis/bounded_explorer.py +53 -0
  181. siphrix-1.0.0/siphrix/analysis/collusion.py +41 -0
  182. siphrix-1.0.0/siphrix/analysis/containment_plan.py +121 -0
  183. siphrix-1.0.0/siphrix/analysis/cross_agent_correlation.py +159 -0
  184. siphrix-1.0.0/siphrix/analysis/cross_analyzer.py +21 -0
  185. siphrix-1.0.0/siphrix/analysis/cross_coverage.py +29 -0
  186. siphrix-1.0.0/siphrix/analysis/cross_diff.py +15 -0
  187. siphrix-1.0.0/siphrix/analysis/cross_engine.py +15 -0
  188. siphrix-1.0.0/siphrix/analysis/cross_policy.py +23 -0
  189. siphrix-1.0.0/siphrix/analysis/cross_rules.py +27 -0
  190. siphrix-1.0.0/siphrix/analysis/cross_state.py +46 -0
  191. siphrix-1.0.0/siphrix/analysis/decomposition.py +178 -0
  192. siphrix-1.0.0/siphrix/analysis/determinism.py +77 -0
  193. siphrix-1.0.0/siphrix/analysis/escalation.py +151 -0
  194. siphrix-1.0.0/siphrix/analysis/exfiltration.py +56 -0
  195. siphrix-1.0.0/siphrix/analysis/formal.py +14 -0
  196. siphrix-1.0.0/siphrix/analysis/formal_properties.py +38 -0
  197. siphrix-1.0.0/siphrix/analysis/observation_bus.py +41 -0
  198. siphrix-1.0.0/siphrix/analysis/policies.py +24 -0
  199. siphrix-1.0.0/siphrix/analysis/proof_artifacts.py +18 -0
  200. siphrix-1.0.0/siphrix/analysis/simulation.py +153 -0
  201. siphrix-1.0.0/siphrix/analysis/state_machine.py +218 -0
  202. siphrix-1.0.0/siphrix/analysis/temporal_risk.py +155 -0
  203. siphrix-1.0.0/siphrix/analysis/threat_graph.py +120 -0
  204. siphrix-1.0.0/siphrix/analysis/trajectory.py +102 -0
  205. siphrix-1.0.0/siphrix/analysis/zero_trust.py +120 -0
  206. siphrix-1.0.0/siphrix/audit.py +564 -0
  207. siphrix-1.0.0/siphrix/canon/canon_runtime.py +401 -0
  208. siphrix-1.0.0/siphrix/canon/canon_v1.md +118 -0
  209. siphrix-1.0.0/siphrix/canon/canon_v1_laws.yaml +419 -0
  210. siphrix-1.0.0/siphrix/canon/conformance_tests.yaml +107 -0
  211. siphrix-1.0.0/siphrix/cli/__init__.py +60 -0
  212. siphrix-1.0.0/siphrix/cli/app.py +19328 -0
  213. siphrix-1.0.0/siphrix/cli/demo.py +845 -0
  214. siphrix-1.0.0/siphrix/cli/enterprise.py +28 -0
  215. siphrix-1.0.0/siphrix/cli/governance.py +26 -0
  216. siphrix-1.0.0/siphrix/cli/predictive.py +28 -0
  217. siphrix-1.0.0/siphrix/cli/style.py +325 -0
  218. siphrix-1.0.0/siphrix/coherence/__init__.py +3 -0
  219. siphrix-1.0.0/siphrix/coherence/enforcer.py +87 -0
  220. siphrix-1.0.0/siphrix/config.py +265 -0
  221. siphrix-1.0.0/siphrix/console/__init__.py +54 -0
  222. siphrix-1.0.0/siphrix/console/_public_api.py +1561 -0
  223. siphrix-1.0.0/siphrix/console/ai_tool_bridge.py +1896 -0
  224. siphrix-1.0.0/siphrix/console/analytics_risk_intelligence.py +8394 -0
  225. siphrix-1.0.0/siphrix/console/app.py +26 -0
  226. siphrix-1.0.0/siphrix/console/approval_workflow.py +4556 -0
  227. siphrix-1.0.0/siphrix/console/audit_explorer.py +2079 -0
  228. siphrix-1.0.0/siphrix/console/audit_workspace.py +493 -0
  229. siphrix-1.0.0/siphrix/console/browser_ai_monitor.py +9242 -0
  230. siphrix-1.0.0/siphrix/console/constitutional_projection.py +1743 -0
  231. siphrix-1.0.0/siphrix/console/contracts.py +2096 -0
  232. siphrix-1.0.0/siphrix/console/dashboard_overview.py +2577 -0
  233. siphrix-1.0.0/siphrix/console/decision_workspace.py +250 -0
  234. siphrix-1.0.0/siphrix/console/distributed_infrastructure.py +7744 -0
  235. siphrix-1.0.0/siphrix/console/enterprise_features.py +7970 -0
  236. siphrix-1.0.0/siphrix/console/high_assurance_enforcement.py +5910 -0
  237. siphrix-1.0.0/siphrix/console/hosted_foundation.py +4561 -0
  238. siphrix-1.0.0/siphrix/console/hosted_policy_control_plane.py +8316 -0
  239. siphrix-1.0.0/siphrix/console/local_agent.py +991 -0
  240. siphrix-1.0.0/siphrix/console/multi_agent_governance.py +9179 -0
  241. siphrix-1.0.0/siphrix/console/notifications_alerting.py +9051 -0
  242. siphrix-1.0.0/siphrix/console/operator_actions.py +475 -0
  243. siphrix-1.0.0/siphrix/console/operator_api.py +2658 -0
  244. siphrix-1.0.0/siphrix/console/operator_api_auth.py +206 -0
  245. siphrix-1.0.0/siphrix/console/operator_command_execution.py +519 -0
  246. siphrix-1.0.0/siphrix/console/operator_commands.py +1143 -0
  247. siphrix-1.0.0/siphrix/console/operator_control.py +582 -0
  248. siphrix-1.0.0/siphrix/console/org_rbac.py +7651 -0
  249. siphrix-1.0.0/siphrix/console/policy_builder.py +1538 -0
  250. siphrix-1.0.0/siphrix/console/policy_workspace.py +395 -0
  251. siphrix-1.0.0/siphrix/console/replay_lab.py +3370 -0
  252. siphrix-1.0.0/siphrix/console/replay_workspace.py +356 -0
  253. siphrix-1.0.0/siphrix/console/risk_feed_workspace.py +462 -0
  254. siphrix-1.0.0/siphrix/console/routes/__init__.py +5 -0
  255. siphrix-1.0.0/siphrix/console/routes/console_routes.py +46 -0
  256. siphrix-1.0.0/siphrix/console/runtime_workspace.py +592 -0
  257. siphrix-1.0.0/siphrix/console/simulation_projection.py +237 -0
  258. siphrix-1.0.0/siphrix/console/ui/__init__.py +93 -0
  259. siphrix-1.0.0/siphrix/console/ui/console_app.py +584 -0
  260. siphrix-1.0.0/siphrix/console/ui/console_rendering.py +103 -0
  261. siphrix-1.0.0/siphrix/console/ui/console_ui_models.py +383 -0
  262. siphrix-1.0.0/siphrix/console/ui/workspace_viewers.py +394 -0
  263. siphrix-1.0.0/siphrix/console/workspace_links.py +333 -0
  264. siphrix-1.0.0/siphrix/constitution/__init__.py +43 -0
  265. siphrix-1.0.0/siphrix/constitution/_public_api.py +652 -0
  266. siphrix-1.0.0/siphrix/constitution/agent_exchange_record.py +306 -0
  267. siphrix-1.0.0/siphrix/constitution/agent_exchange_record_validation.py +46 -0
  268. siphrix-1.0.0/siphrix/constitution/agent_handshake_record.py +295 -0
  269. siphrix-1.0.0/siphrix/constitution/agent_handshake_record_validation.py +46 -0
  270. siphrix-1.0.0/siphrix/constitution/agent_identity_record.py +442 -0
  271. siphrix-1.0.0/siphrix/constitution/agent_identity_record_validation.py +127 -0
  272. siphrix-1.0.0/siphrix/constitution/approval_envelope_record.py +222 -0
  273. siphrix-1.0.0/siphrix/constitution/approval_envelope_record_validation.py +46 -0
  274. siphrix-1.0.0/siphrix/constitution/audit_trace_record.py +459 -0
  275. siphrix-1.0.0/siphrix/constitution/audit_trace_record_validation.py +128 -0
  276. siphrix-1.0.0/siphrix/constitution/audit_trace_validation_pack.py +51 -0
  277. siphrix-1.0.0/siphrix/constitution/audit_trace_validation_pack_validation.py +91 -0
  278. siphrix-1.0.0/siphrix/constitution/context_window_record.py +466 -0
  279. siphrix-1.0.0/siphrix/constitution/context_window_record_validation.py +128 -0
  280. siphrix-1.0.0/siphrix/constitution/context_window_validation_pack.py +51 -0
  281. siphrix-1.0.0/siphrix/constitution/context_window_validation_pack_validation.py +91 -0
  282. siphrix-1.0.0/siphrix/constitution/delegation_authority_record.py +420 -0
  283. siphrix-1.0.0/siphrix/constitution/delegation_authority_record_validation.py +77 -0
  284. siphrix-1.0.0/siphrix/constitution/distribution_channel_record.py +238 -0
  285. siphrix-1.0.0/siphrix/constitution/distribution_channel_record_validation.py +46 -0
  286. siphrix-1.0.0/siphrix/constitution/distribution_lineage_record.py +249 -0
  287. siphrix-1.0.0/siphrix/constitution/distribution_lineage_record_validation.py +45 -0
  288. siphrix-1.0.0/siphrix/constitution/distribution_manifest_record.py +240 -0
  289. siphrix-1.0.0/siphrix/constitution/distribution_manifest_record_validation.py +46 -0
  290. siphrix-1.0.0/siphrix/constitution/distribution_receipt_record.py +261 -0
  291. siphrix-1.0.0/siphrix/constitution/distribution_receipt_record_validation.py +45 -0
  292. siphrix-1.0.0/siphrix/constitution/enclave_attestation_record.py +285 -0
  293. siphrix-1.0.0/siphrix/constitution/enclave_attestation_record_validation.py +46 -0
  294. siphrix-1.0.0/siphrix/constitution/enclave_boundary_record.py +275 -0
  295. siphrix-1.0.0/siphrix/constitution/enclave_boundary_record_validation.py +46 -0
  296. siphrix-1.0.0/siphrix/constitution/execution/__init__.py +44 -0
  297. siphrix-1.0.0/siphrix/constitution/execution/_public_api.py +213 -0
  298. siphrix-1.0.0/siphrix/constitution/execution/decision_executor_binding_validation.py +194 -0
  299. siphrix-1.0.0/siphrix/constitution/execution/decision_executor_bindings.py +490 -0
  300. siphrix-1.0.0/siphrix/constitution/execution/execution_attestation.py +587 -0
  301. siphrix-1.0.0/siphrix/constitution/execution/execution_attestation_validation.py +230 -0
  302. siphrix-1.0.0/siphrix/constitution/execution/execution_boundaries.py +490 -0
  303. siphrix-1.0.0/siphrix/constitution/execution/execution_boundary_validation.py +252 -0
  304. siphrix-1.0.0/siphrix/constitution/execution/execution_bridge.py +348 -0
  305. siphrix-1.0.0/siphrix/constitution/execution/execution_bridge_resolution.py +104 -0
  306. siphrix-1.0.0/siphrix/constitution/execution/execution_bridge_validation.py +114 -0
  307. siphrix-1.0.0/siphrix/constitution/execution/execution_conformance.py +562 -0
  308. siphrix-1.0.0/siphrix/constitution/execution/execution_conformance_validation.py +230 -0
  309. siphrix-1.0.0/siphrix/constitution/execution/execution_handoff.py +603 -0
  310. siphrix-1.0.0/siphrix/constitution/execution/execution_handoff_validation.py +227 -0
  311. siphrix-1.0.0/siphrix/constitution/execution/execution_refusal.py +541 -0
  312. siphrix-1.0.0/siphrix/constitution/execution/execution_refusal_validation.py +208 -0
  313. siphrix-1.0.0/siphrix/constitution/execution/executor_capabilities.py +593 -0
  314. siphrix-1.0.0/siphrix/constitution/execution/executor_capability_validation.py +299 -0
  315. siphrix-1.0.0/siphrix/constitution/execution/executor_contract.py +669 -0
  316. siphrix-1.0.0/siphrix/constitution/execution/executor_validation.py +282 -0
  317. siphrix-1.0.0/siphrix/constitution/execution/operational/__init__.py +49 -0
  318. siphrix-1.0.0/siphrix/constitution/execution/operational/_public_api.py +239 -0
  319. siphrix-1.0.0/siphrix/constitution/execution/operational/boundary.py +406 -0
  320. siphrix-1.0.0/siphrix/constitution/execution/operational/capability.py +291 -0
  321. siphrix-1.0.0/siphrix/constitution/execution/operational/completion.py +340 -0
  322. siphrix-1.0.0/siphrix/constitution/execution/operational/completion_validation.py +142 -0
  323. siphrix-1.0.0/siphrix/constitution/execution/operational/dispatch_binding.py +319 -0
  324. siphrix-1.0.0/siphrix/constitution/execution/operational/dispatch_binding_resolution.py +133 -0
  325. siphrix-1.0.0/siphrix/constitution/execution/operational/dispatch_binding_validation.py +123 -0
  326. siphrix-1.0.0/siphrix/constitution/execution/operational/handoff.py +335 -0
  327. siphrix-1.0.0/siphrix/constitution/execution/operational/handoff_consumption.py +121 -0
  328. siphrix-1.0.0/siphrix/constitution/execution/operational/handoff_validation.py +107 -0
  329. siphrix-1.0.0/siphrix/constitution/execution/operational/identity.py +322 -0
  330. siphrix-1.0.0/siphrix/constitution/execution/operational/outcome_production.py +287 -0
  331. siphrix-1.0.0/siphrix/constitution/execution/operational/outcome_production_resolution.py +128 -0
  332. siphrix-1.0.0/siphrix/constitution/execution/operational/outcome_production_validation.py +88 -0
  333. siphrix-1.0.0/siphrix/constitution/execution/operational/production_completion.py +279 -0
  334. siphrix-1.0.0/siphrix/constitution/execution/operational/production_completion_resolution.py +121 -0
  335. siphrix-1.0.0/siphrix/constitution/execution/operational/production_completion_validation.py +89 -0
  336. siphrix-1.0.0/siphrix/constitution/execution/operational/record.py +258 -0
  337. siphrix-1.0.0/siphrix/constitution/execution/operational/refusal.py +306 -0
  338. siphrix-1.0.0/siphrix/constitution/execution/operational/refusal_validation.py +126 -0
  339. siphrix-1.0.0/siphrix/constitution/execution/operational/registry.py +318 -0
  340. siphrix-1.0.0/siphrix/constitution/execution/operational/registry_validation.py +222 -0
  341. siphrix-1.0.0/siphrix/constitution/execution/operational/request.py +287 -0
  342. siphrix-1.0.0/siphrix/constitution/execution/operational/request_validation.py +126 -0
  343. siphrix-1.0.0/siphrix/constitution/execution/operational/result.py +302 -0
  344. siphrix-1.0.0/siphrix/constitution/execution/operational/result_validation.py +126 -0
  345. siphrix-1.0.0/siphrix/constitution/execution/operational/validation.py +349 -0
  346. siphrix-1.0.0/siphrix/constitution/inter_agent_policy_record.py +315 -0
  347. siphrix-1.0.0/siphrix/constitution/inter_agent_policy_record_validation.py +66 -0
  348. siphrix-1.0.0/siphrix/constitution/mesh_route_record.py +288 -0
  349. siphrix-1.0.0/siphrix/constitution/mesh_route_record_validation.py +46 -0
  350. siphrix-1.0.0/siphrix/constitution/mesh_topology_record.py +285 -0
  351. siphrix-1.0.0/siphrix/constitution/mesh_topology_record_validation.py +46 -0
  352. siphrix-1.0.0/siphrix/constitution/organization_entry_gate.py +367 -0
  353. siphrix-1.0.0/siphrix/constitution/organization_entry_gate_validation.py +112 -0
  354. siphrix-1.0.0/siphrix/constitution/organization_execution_scope_binding.py +360 -0
  355. siphrix-1.0.0/siphrix/constitution/organization_execution_scope_binding_validation.py +112 -0
  356. siphrix-1.0.0/siphrix/constitution/organization_identity.py +310 -0
  357. siphrix-1.0.0/siphrix/constitution/organization_identity_validation.py +100 -0
  358. siphrix-1.0.0/siphrix/constitution/organization_membership.py +345 -0
  359. siphrix-1.0.0/siphrix/constitution/organization_membership_validation.py +111 -0
  360. siphrix-1.0.0/siphrix/constitution/organization_policy_attachment.py +381 -0
  361. siphrix-1.0.0/siphrix/constitution/organization_policy_attachment_validation.py +114 -0
  362. siphrix-1.0.0/siphrix/constitution/organization_role.py +352 -0
  363. siphrix-1.0.0/siphrix/constitution/organization_role_assignment.py +368 -0
  364. siphrix-1.0.0/siphrix/constitution/organization_role_assignment_validation.py +113 -0
  365. siphrix-1.0.0/siphrix/constitution/organization_role_validation.py +110 -0
  366. siphrix-1.0.0/siphrix/constitution/organization_scope.py +333 -0
  367. siphrix-1.0.0/siphrix/constitution/organization_scope_bridge.py +365 -0
  368. siphrix-1.0.0/siphrix/constitution/organization_scope_bridge_validation.py +112 -0
  369. siphrix-1.0.0/siphrix/constitution/organization_scope_validation.py +108 -0
  370. siphrix-1.0.0/siphrix/constitution/organization_validation_pack.py +128 -0
  371. siphrix-1.0.0/siphrix/constitution/organization_validation_pack_validation.py +133 -0
  372. siphrix-1.0.0/siphrix/constitution/quorum_requirement_record.py +220 -0
  373. siphrix-1.0.0/siphrix/constitution/quorum_requirement_record_validation.py +46 -0
  374. siphrix-1.0.0/siphrix/constitution/replay_record.py +431 -0
  375. siphrix-1.0.0/siphrix/constitution/replay_record_validation.py +128 -0
  376. siphrix-1.0.0/siphrix/constitution/replay_validation_pack.py +51 -0
  377. siphrix-1.0.0/siphrix/constitution/replay_validation_pack_validation.py +90 -0
  378. siphrix-1.0.0/siphrix/constitution/trust_attestation_record.py +244 -0
  379. siphrix-1.0.0/siphrix/constitution/trust_attestation_record_validation.py +46 -0
  380. siphrix-1.0.0/siphrix/constitution/trust_boundary_record.py +253 -0
  381. siphrix-1.0.0/siphrix/constitution/trust_boundary_record_validation.py +46 -0
  382. siphrix-1.0.0/siphrix/constitution/trust_relation_record.py +228 -0
  383. siphrix-1.0.0/siphrix/constitution/trust_relation_record_validation.py +46 -0
  384. siphrix-1.0.0/siphrix/contracts/__init__.py +52 -0
  385. siphrix-1.0.0/siphrix/contracts/_public_api.py +672 -0
  386. siphrix-1.0.0/siphrix/contracts/_validation_base.py +116 -0
  387. siphrix-1.0.0/siphrix/contracts/_validation_constitutional.py +2074 -0
  388. siphrix-1.0.0/siphrix/contracts/_validation_core.py +2273 -0
  389. siphrix-1.0.0/siphrix/contracts/_validation_integration.py +292 -0
  390. siphrix-1.0.0/siphrix/contracts/_validation_projected.py +1216 -0
  391. siphrix-1.0.0/siphrix/contracts/_validation_risk.py +1772 -0
  392. siphrix-1.0.0/siphrix/contracts/_validation_simulation.py +1406 -0
  393. siphrix-1.0.0/siphrix/contracts/_validation_workspace.py +4702 -0
  394. siphrix-1.0.0/siphrix/contracts/action.py +218 -0
  395. siphrix-1.0.0/siphrix/contracts/adapter_capability.py +107 -0
  396. siphrix-1.0.0/siphrix/contracts/agent_identity.py +221 -0
  397. siphrix-1.0.0/siphrix/contracts/approval_runtime.py +803 -0
  398. siphrix-1.0.0/siphrix/contracts/audit.py +18 -0
  399. siphrix-1.0.0/siphrix/contracts/audit_event.py +132 -0
  400. siphrix-1.0.0/siphrix/contracts/constitutional_audit.py +661 -0
  401. siphrix-1.0.0/siphrix/contracts/constitutional_diff.py +1100 -0
  402. siphrix-1.0.0/siphrix/contracts/context.py +101 -0
  403. siphrix-1.0.0/siphrix/contracts/decision.py +116 -0
  404. siphrix-1.0.0/siphrix/contracts/delegation_graph.py +571 -0
  405. siphrix-1.0.0/siphrix/contracts/escalation_paths.py +760 -0
  406. siphrix-1.0.0/siphrix/contracts/execution.py +183 -0
  407. siphrix-1.0.0/siphrix/contracts/flow.py +253 -0
  408. siphrix-1.0.0/siphrix/contracts/inter_agent_policy.py +581 -0
  409. siphrix-1.0.0/siphrix/contracts/multi_agent.py +12 -0
  410. siphrix-1.0.0/siphrix/contracts/planner.py +251 -0
  411. siphrix-1.0.0/siphrix/contracts/quorum_resolver.py +753 -0
  412. siphrix-1.0.0/siphrix/contracts/risk.py +11 -0
  413. siphrix-1.0.0/siphrix/contracts/simulation.py +861 -0
  414. siphrix-1.0.0/siphrix/contracts/trust_relations.py +726 -0
  415. siphrix-1.0.0/siphrix/contracts/validation.py +229 -0
  416. siphrix-1.0.0/siphrix/devtools/__init__.py +1 -0
  417. siphrix-1.0.0/siphrix/doctor.py +302 -0
  418. siphrix-1.0.0/siphrix/engine/__init__.py +65 -0
  419. siphrix-1.0.0/siphrix/engine/canonical_manifest.py +18 -0
  420. siphrix-1.0.0/siphrix/engine/gap_audit.py +38 -0
  421. siphrix-1.0.0/siphrix/engine/runner_profiles.py +259 -0
  422. siphrix-1.0.0/siphrix/engine/stack_declaration.py +30 -0
  423. siphrix-1.0.0/siphrix/engine/unified_runner.py +420 -0
  424. siphrix-1.0.0/siphrix/examples/__init__.py +47 -0
  425. siphrix-1.0.0/siphrix/examples/integration_audit.py +7 -0
  426. siphrix-1.0.0/siphrix/examples/integration_layer_utils.py +38 -0
  427. siphrix-1.0.0/siphrix/examples/integration_snapshot.py +7 -0
  428. siphrix-1.0.0/siphrix/examples/role_policy_resolver.py +18 -0
  429. siphrix-1.0.0/siphrix/exec_intercept/__init__.py +4 -0
  430. siphrix-1.0.0/siphrix/exec_intercept/evaluator.py +188 -0
  431. siphrix-1.0.0/siphrix/exec_intercept/intercept.py +83 -0
  432. siphrix-1.0.0/siphrix/exec_intercept/policy.py +25 -0
  433. siphrix-1.0.0/siphrix/exec_intercept/types.py +48 -0
  434. siphrix-1.0.0/siphrix/explanation.py +114 -0
  435. siphrix-1.0.0/siphrix/foundation/__init__.py +111 -0
  436. siphrix-1.0.0/siphrix/foundation/analyzer.py +37 -0
  437. siphrix-1.0.0/siphrix/foundation/aspl.py +68 -0
  438. siphrix-1.0.0/siphrix/foundation/aspl_lexer.py +97 -0
  439. siphrix-1.0.0/siphrix/foundation/aspl_types.py +64 -0
  440. siphrix-1.0.0/siphrix/foundation/audit_chain.py +99 -0
  441. siphrix-1.0.0/siphrix/foundation/canon.py +30 -0
  442. siphrix-1.0.0/siphrix/foundation/poe.py +44 -0
  443. siphrix-1.0.0/siphrix/foundation/policy_signing.py +139 -0
  444. siphrix-1.0.0/siphrix/foundation/policy_sources.py +30 -0
  445. siphrix-1.0.0/siphrix/foundation/preflight.py +20 -0
  446. siphrix-1.0.0/siphrix/foundation/proof_bundle.py +95 -0
  447. siphrix-1.0.0/siphrix/foundation/state.py +30 -0
  448. siphrix-1.0.0/siphrix/governance/__init__.py +39 -0
  449. siphrix-1.0.0/siphrix/governance/_public_api.py +1012 -0
  450. siphrix-1.0.0/siphrix/governance/audit/__init__.py +1 -0
  451. siphrix-1.0.0/siphrix/governance/audit/certification.py +114 -0
  452. siphrix-1.0.0/siphrix/governance/audit/chain_integrity.py +186 -0
  453. siphrix-1.0.0/siphrix/governance/audit/chain_retrieval_truth.py +144 -0
  454. siphrix-1.0.0/siphrix/governance/audit/chain_truth.py +175 -0
  455. siphrix-1.0.0/siphrix/governance/audit/closure_manifest.py +103 -0
  456. siphrix-1.0.0/siphrix/governance/audit/correlation_readiness.py +155 -0
  457. siphrix-1.0.0/siphrix/governance/audit/cross_layer_consistency.py +97 -0
  458. siphrix-1.0.0/siphrix/governance/audit/evidence_assurance.py +207 -0
  459. siphrix-1.0.0/siphrix/governance/audit/export.py +98 -0
  460. siphrix-1.0.0/siphrix/governance/audit/exporter.py +173 -0
  461. siphrix-1.0.0/siphrix/governance/audit/forensic_readiness.py +245 -0
  462. siphrix-1.0.0/siphrix/governance/audit/global_determinism.py +81 -0
  463. siphrix-1.0.0/siphrix/governance/audit/global_truth.py +86 -0
  464. siphrix-1.0.0/siphrix/governance/audit/handoff.py +84 -0
  465. siphrix-1.0.0/siphrix/governance/audit/incident_readiness.py +148 -0
  466. siphrix-1.0.0/siphrix/governance/audit/incident_reconstruction.py +137 -0
  467. siphrix-1.0.0/siphrix/governance/audit/incident_reproducibility.py +75 -0
  468. siphrix-1.0.0/siphrix/governance/audit/index.py +175 -0
  469. siphrix-1.0.0/siphrix/governance/audit/index_query_consistency.py +142 -0
  470. siphrix-1.0.0/siphrix/governance/audit/integrity.py +166 -0
  471. siphrix-1.0.0/siphrix/governance/audit/lineage_confidence.py +201 -0
  472. siphrix-1.0.0/siphrix/governance/audit/match_safety.py +114 -0
  473. siphrix-1.0.0/siphrix/governance/audit/no_overclaim.py +88 -0
  474. siphrix-1.0.0/siphrix/governance/audit/package_safety.py +100 -0
  475. siphrix-1.0.0/siphrix/governance/audit/packaging_readiness.py +130 -0
  476. siphrix-1.0.0/siphrix/governance/audit/packaging_truth.py +107 -0
  477. siphrix-1.0.0/siphrix/governance/audit/query_engine.py +461 -0
  478. siphrix-1.0.0/siphrix/governance/audit/query_honesty.py +188 -0
  479. siphrix-1.0.0/siphrix/governance/audit/query_integrity.py +346 -0
  480. siphrix-1.0.0/siphrix/governance/audit/query_projection.py +90 -0
  481. siphrix-1.0.0/siphrix/governance/audit/query_projection_faithfulness.py +154 -0
  482. siphrix-1.0.0/siphrix/governance/audit/query_readiness.py +173 -0
  483. siphrix-1.0.0/siphrix/governance/audit/query_reproducibility.py +138 -0
  484. siphrix-1.0.0/siphrix/governance/audit/query_truth.py +164 -0
  485. siphrix-1.0.0/siphrix/governance/audit/reconstruction_chain_truth.py +137 -0
  486. siphrix-1.0.0/siphrix/governance/audit/record.py +127 -0
  487. siphrix-1.0.0/siphrix/governance/audit/record_admissibility.py +254 -0
  488. siphrix-1.0.0/siphrix/governance/audit/reproducibility.py +141 -0
  489. siphrix-1.0.0/siphrix/governance/audit/retention_redaction_foundation.py +266 -0
  490. siphrix-1.0.0/siphrix/governance/audit/retrieval_readiness.py +156 -0
  491. siphrix-1.0.0/siphrix/governance/audit/schema.py +226 -0
  492. siphrix-1.0.0/siphrix/governance/audit/tamper_detection.py +136 -0
  493. siphrix-1.0.0/siphrix/governance/audit/timeline.py +161 -0
  494. siphrix-1.0.0/siphrix/governance/audit/timeline_hardening.py +209 -0
  495. siphrix-1.0.0/siphrix/governance/audit/workspace_projection.py +111 -0
  496. siphrix-1.0.0/siphrix/governance/compliance/__init__.py +1 -0
  497. siphrix-1.0.0/siphrix/governance/compliance/export.py +58 -0
  498. siphrix-1.0.0/siphrix/governance/compliance/mapping.py +115 -0
  499. siphrix-1.0.0/siphrix/governance/compliance/replay.py +45 -0
  500. siphrix-1.0.0/siphrix/governance/correlation_graph.py +391 -0
  501. siphrix-1.0.0/siphrix/governance/correlation_graph_integrity.py +120 -0
  502. siphrix-1.0.0/siphrix/governance/decision_ledger.py +79 -0
  503. siphrix-1.0.0/siphrix/governance/delegated_authority.py +109 -0
  504. siphrix-1.0.0/siphrix/governance/evidence/__init__.py +1 -0
  505. siphrix-1.0.0/siphrix/governance/evidence/bundle.py +127 -0
  506. siphrix-1.0.0/siphrix/governance/evidence/bundle_faithfulness.py +170 -0
  507. siphrix-1.0.0/siphrix/governance/evidence/export.py +99 -0
  508. siphrix-1.0.0/siphrix/governance/evidence/provenance.py +137 -0
  509. siphrix-1.0.0/siphrix/governance/evidence/retention.py +54 -0
  510. siphrix-1.0.0/siphrix/governance/exception_governance.py +112 -0
  511. siphrix-1.0.0/siphrix/governance/explainability.py +31 -0
  512. siphrix-1.0.0/siphrix/governance/governance_record.py +55 -0
  513. siphrix-1.0.0/siphrix/governance/incident/__init__.py +1 -0
  514. siphrix-1.0.0/siphrix/governance/incident/grouping_honesty.py +105 -0
  515. siphrix-1.0.0/siphrix/governance/incident/reconstruction.py +176 -0
  516. siphrix-1.0.0/siphrix/governance/incident/review_package.py +156 -0
  517. siphrix-1.0.0/siphrix/governance/incident/truth.py +122 -0
  518. siphrix-1.0.0/siphrix/governance/operator_investigation_view.py +113 -0
  519. siphrix-1.0.0/siphrix/governance/policy_framework.py +45 -0
  520. siphrix-1.0.0/siphrix/governance/quorum_approval.py +147 -0
  521. siphrix-1.0.0/siphrix/governance/quorum_store.py +348 -0
  522. siphrix-1.0.0/siphrix/governance/regulatory_profiles.py +83 -0
  523. siphrix-1.0.0/siphrix/governance/retention_workflow.py +41 -0
  524. siphrix-1.0.0/siphrix/hosted/__init__.py +36 -0
  525. siphrix-1.0.0/siphrix/hosted/admin_dashboard.py +930 -0
  526. siphrix-1.0.0/siphrix/hosted/scaffold.py +958 -0
  527. siphrix-1.0.0/siphrix/hosted/store.py +1031 -0
  528. siphrix-1.0.0/siphrix/identity/__init__.py +3 -0
  529. siphrix-1.0.0/siphrix/identity/loader.py +14 -0
  530. siphrix-1.0.0/siphrix/identity/schema.py +64 -0
  531. siphrix-1.0.0/siphrix/identity/temp_builder.py +29 -0
  532. siphrix-1.0.0/siphrix/identity/validator.py +17 -0
  533. siphrix-1.0.0/siphrix/integration_flow/__init__.py +5 -0
  534. siphrix-1.0.0/siphrix/integration_flow/orchestrator.py +423 -0
  535. siphrix-1.0.0/siphrix/integrations/__init__.py +70 -0
  536. siphrix-1.0.0/siphrix/integrations/audit.py +100 -0
  537. siphrix-1.0.0/siphrix/integrations/layer_utils.py +419 -0
  538. siphrix-1.0.0/siphrix/integrations/snapshot.py +245 -0
  539. siphrix-1.0.0/siphrix/intention/__init__.py +3 -0
  540. siphrix-1.0.0/siphrix/intention/interpreter.py +116 -0
  541. siphrix-1.0.0/siphrix/intention/types.py +18 -0
  542. siphrix-1.0.0/siphrix/local_agent.py +375 -0
  543. siphrix-1.0.0/siphrix/local_daemon.py +1365 -0
  544. siphrix-1.0.0/siphrix/local_diagnostics.py +273 -0
  545. siphrix-1.0.0/siphrix/local_hosted_import/__init__.py +32 -0
  546. siphrix-1.0.0/siphrix/local_hosted_import/cli.py +276 -0
  547. siphrix-1.0.0/siphrix/local_hosted_import/daemon_api.py +234 -0
  548. siphrix-1.0.0/siphrix/local_hosted_import/store.py +430 -0
  549. siphrix-1.0.0/siphrix/local_hosted_import/verifier.py +560 -0
  550. siphrix-1.0.0/siphrix/local_state.py +1081 -0
  551. siphrix-1.0.0/siphrix/logs/__init__.py +3 -0
  552. siphrix-1.0.0/siphrix/logs/logger.py +43 -0
  553. siphrix-1.0.0/siphrix/memory/__init__.py +3 -0
  554. siphrix-1.0.0/siphrix/memory/api.py +207 -0
  555. siphrix-1.0.0/siphrix/memory/schema.py +33 -0
  556. siphrix-1.0.0/siphrix/memory/store.py +32 -0
  557. siphrix-1.0.0/siphrix/orchestrator/__init__.py +14 -0
  558. siphrix-1.0.0/siphrix/orchestrator/llm_stub.py +43 -0
  559. siphrix-1.0.0/siphrix/orchestrator/pipeline.py +251 -0
  560. siphrix-1.0.0/siphrix/policies/agent_default_v1.yaml +22 -0
  561. siphrix-1.0.0/siphrix/policies/global_baseline_v1.yaml +40 -0
  562. siphrix-1.0.0/siphrix/policies/index.yaml +5 -0
  563. siphrix-1.0.0/siphrix/policies/org_default_v1.yaml +17 -0
  564. siphrix-1.0.0/siphrix/policies/team_default_v1.yaml +22 -0
  565. siphrix-1.0.0/siphrix/policy_packs/__init__.py +153 -0
  566. siphrix-1.0.0/siphrix/policy_packs/bridge.py +223 -0
  567. siphrix-1.0.0/siphrix/policy_packs/dev_agent_defaults.yaml +53 -0
  568. siphrix-1.0.0/siphrix/policy_packs/enterprise_defaults.yaml +57 -0
  569. siphrix-1.0.0/siphrix/policy_packs/resolver.py +83 -0
  570. siphrix-1.0.0/siphrix/policy_packs/roles/admin.yaml +33 -0
  571. siphrix-1.0.0/siphrix/policy_packs/roles/developer.yaml +36 -0
  572. siphrix-1.0.0/siphrix/policy_packs/roles/finance.yaml +26 -0
  573. siphrix-1.0.0/siphrix/policy_packs/roles/support.yaml +24 -0
  574. siphrix-1.0.0/siphrix/policy_packs/safe_defaults.yaml +279 -0
  575. siphrix-1.0.0/siphrix/policy_packs/signing.py +279 -0
  576. siphrix-1.0.0/siphrix/policy_remote.py +136 -0
  577. siphrix-1.0.0/siphrix/policy_runtime/__init__.py +20 -0
  578. siphrix-1.0.0/siphrix/policy_runtime/input.py +178 -0
  579. siphrix-1.0.0/siphrix/policy_runtime/loader.py +569 -0
  580. siphrix-1.0.0/siphrix/policy_runtime/manager.py +1066 -0
  581. siphrix-1.0.0/siphrix/policy_runtime/registry.py +73 -0
  582. siphrix-1.0.0/siphrix/policy_runtime/rule_eval.py +91 -0
  583. siphrix-1.0.0/siphrix/policy_runtime/types.py +87 -0
  584. siphrix-1.0.0/siphrix/policy_sources/source.py +129 -0
  585. siphrix-1.0.0/siphrix/policy_versioning/__init__.py +39 -0
  586. siphrix-1.0.0/siphrix/policy_versioning/_public_api.py +3994 -0
  587. siphrix-1.0.0/siphrix/policy_versioning/activation/__init__.py +1 -0
  588. siphrix-1.0.0/siphrix/policy_versioning/activation/activation.py +100 -0
  589. siphrix-1.0.0/siphrix/policy_versioning/activation/atomicity.py +96 -0
  590. siphrix-1.0.0/siphrix/policy_versioning/activation/atomicity_truth.py +98 -0
  591. siphrix-1.0.0/siphrix/policy_versioning/activation/chain_truth.py +113 -0
  592. siphrix-1.0.0/siphrix/policy_versioning/activation/eligibility.py +117 -0
  593. siphrix-1.0.0/siphrix/policy_versioning/activation/emergency_control.py +125 -0
  594. siphrix-1.0.0/siphrix/policy_versioning/activation/emergency_safety.py +94 -0
  595. siphrix-1.0.0/siphrix/policy_versioning/activation/foundation_readiness.py +160 -0
  596. siphrix-1.0.0/siphrix/policy_versioning/activation/honesty.py +124 -0
  597. siphrix-1.0.0/siphrix/policy_versioning/activation/integrity.py +205 -0
  598. siphrix-1.0.0/siphrix/policy_versioning/activation/projection.py +121 -0
  599. siphrix-1.0.0/siphrix/policy_versioning/activation/projection_faithfulness.py +109 -0
  600. siphrix-1.0.0/siphrix/policy_versioning/activation/readiness.py +184 -0
  601. siphrix-1.0.0/siphrix/policy_versioning/activation/reproducibility.py +64 -0
  602. siphrix-1.0.0/siphrix/policy_versioning/activation/rollback_orchestration.py +190 -0
  603. siphrix-1.0.0/siphrix/policy_versioning/activation/rollback_preparation.py +156 -0
  604. siphrix-1.0.0/siphrix/policy_versioning/activation/rollback_safety.py +75 -0
  605. siphrix-1.0.0/siphrix/policy_versioning/activation/rollback_truth.py +105 -0
  606. siphrix-1.0.0/siphrix/policy_versioning/activation/rollout.py +174 -0
  607. siphrix-1.0.0/siphrix/policy_versioning/activation/rollout_eligibility.py +169 -0
  608. siphrix-1.0.0/siphrix/policy_versioning/activation/staging.py +115 -0
  609. siphrix-1.0.0/siphrix/policy_versioning/attestation_view.py +491 -0
  610. siphrix-1.0.0/siphrix/policy_versioning/batch_replay_reports.py +626 -0
  611. siphrix-1.0.0/siphrix/policy_versioning/compilation/__init__.py +1 -0
  612. siphrix-1.0.0/siphrix/policy_versioning/compilation/compiler.py +816 -0
  613. siphrix-1.0.0/siphrix/policy_versioning/compilation/compiler_coverage.py +521 -0
  614. siphrix-1.0.0/siphrix/policy_versioning/compilation/compiler_diff.py +441 -0
  615. siphrix-1.0.0/siphrix/policy_versioning/compilation/compiler_export.py +2350 -0
  616. siphrix-1.0.0/siphrix/policy_versioning/compilation/compiler_honesty.py +783 -0
  617. siphrix-1.0.0/siphrix/policy_versioning/compilation/compiler_integrity.py +1071 -0
  618. siphrix-1.0.0/siphrix/policy_versioning/compilation/compiler_readiness.py +819 -0
  619. siphrix-1.0.0/siphrix/policy_versioning/compilation/compiler_reproducibility.py +452 -0
  620. siphrix-1.0.0/siphrix/policy_versioning/compilation/compiler_safety.py +636 -0
  621. siphrix-1.0.0/siphrix/policy_versioning/compilation/compiler_summary.py +325 -0
  622. siphrix-1.0.0/siphrix/policy_versioning/compilation/compiler_trace.py +275 -0
  623. siphrix-1.0.0/siphrix/policy_versioning/compilation/consistency.py +117 -0
  624. siphrix-1.0.0/siphrix/policy_versioning/compilation/cross_run_analysis.py +154 -0
  625. siphrix-1.0.0/siphrix/policy_versioning/compilation/derivation.py +110 -0
  626. siphrix-1.0.0/siphrix/policy_versioning/compilation/expected_overlays.py +135 -0
  627. siphrix-1.0.0/siphrix/policy_versioning/compilation/fingerprint_registry.py +167 -0
  628. siphrix-1.0.0/siphrix/policy_versioning/compilation/gap_enforcement.py +59 -0
  629. siphrix-1.0.0/siphrix/policy_versioning/compilation/graph.py +201 -0
  630. siphrix-1.0.0/siphrix/policy_versioning/compilation/graph_integrity.py +187 -0
  631. siphrix-1.0.0/siphrix/policy_versioning/compilation/graph_projection.py +68 -0
  632. siphrix-1.0.0/siphrix/policy_versioning/compilation/lineage.py +73 -0
  633. siphrix-1.0.0/siphrix/policy_versioning/compilation/lineage_honesty.py +92 -0
  634. siphrix-1.0.0/siphrix/policy_versioning/compilation/models.py +991 -0
  635. siphrix-1.0.0/siphrix/policy_versioning/compilation/regression.py +108 -0
  636. siphrix-1.0.0/siphrix/policy_versioning/compilation/resolution.py +453 -0
  637. siphrix-1.0.0/siphrix/policy_versioning/compilation/semantic_dependency.py +104 -0
  638. siphrix-1.0.0/siphrix/policy_versioning/compilation/stage33_export.py +161 -0
  639. siphrix-1.0.0/siphrix/policy_versioning/compilation/stage33_reproducibility.py +68 -0
  640. siphrix-1.0.0/siphrix/policy_versioning/compilation/stage34_readiness.py +96 -0
  641. siphrix-1.0.0/siphrix/policy_versioning/compilation/trace.py +70 -0
  642. siphrix-1.0.0/siphrix/policy_versioning/compilation/trace_integrity.py +106 -0
  643. siphrix-1.0.0/siphrix/policy_versioning/context/__init__.py +1 -0
  644. siphrix-1.0.0/siphrix/policy_versioning/context/compat.py +611 -0
  645. siphrix-1.0.0/siphrix/policy_versioning/context/consistency.py +725 -0
  646. siphrix-1.0.0/siphrix/policy_versioning/context/fingerprint.py +272 -0
  647. siphrix-1.0.0/siphrix/policy_versioning/context/foundation_readiness.py +668 -0
  648. siphrix-1.0.0/siphrix/policy_versioning/context/invariants.py +940 -0
  649. siphrix-1.0.0/siphrix/policy_versioning/context/migration.py +477 -0
  650. siphrix-1.0.0/siphrix/policy_versioning/context/models.py +1908 -0
  651. siphrix-1.0.0/siphrix/policy_versioning/context/normalization_hardening.py +444 -0
  652. siphrix-1.0.0/siphrix/policy_versioning/context/provenance.py +502 -0
  653. siphrix-1.0.0/siphrix/policy_versioning/context/resolver.py +2397 -0
  654. siphrix-1.0.0/siphrix/policy_versioning/context/resolver_arbitration.py +783 -0
  655. siphrix-1.0.0/siphrix/policy_versioning/context/resolver_export.py +552 -0
  656. siphrix-1.0.0/siphrix/policy_versioning/context/resolver_honesty.py +509 -0
  657. siphrix-1.0.0/siphrix/policy_versioning/context/resolver_integrity.py +741 -0
  658. siphrix-1.0.0/siphrix/policy_versioning/context/resolver_readiness.py +591 -0
  659. siphrix-1.0.0/siphrix/policy_versioning/context/resolver_reproducibility.py +347 -0
  660. siphrix-1.0.0/siphrix/policy_versioning/counterfactual_models.py +417 -0
  661. siphrix-1.0.0/siphrix/policy_versioning/distribution/__init__.py +1 -0
  662. siphrix-1.0.0/siphrix/policy_versioning/distribution/foundation_readiness.py +193 -0
  663. siphrix-1.0.0/siphrix/policy_versioning/distribution/honesty.py +107 -0
  664. siphrix-1.0.0/siphrix/policy_versioning/distribution/integrity.py +182 -0
  665. siphrix-1.0.0/siphrix/policy_versioning/distribution/protocol.py +197 -0
  666. siphrix-1.0.0/siphrix/policy_versioning/distribution/protocol_readiness.py +173 -0
  667. siphrix-1.0.0/siphrix/policy_versioning/distribution/readiness.py +105 -0
  668. siphrix-1.0.0/siphrix/policy_versioning/distribution/reproducibility.py +114 -0
  669. siphrix-1.0.0/siphrix/policy_versioning/environment_view.py +392 -0
  670. siphrix-1.0.0/siphrix/policy_versioning/evaluation/__init__.py +1 -0
  671. siphrix-1.0.0/siphrix/policy_versioning/evaluation/contradictions.py +135 -0
  672. siphrix-1.0.0/siphrix/policy_versioning/evaluation/engine.py +353 -0
  673. siphrix-1.0.0/siphrix/policy_versioning/evaluation/honesty.py +145 -0
  674. siphrix-1.0.0/siphrix/policy_versioning/evaluation/integrity.py +226 -0
  675. siphrix-1.0.0/siphrix/policy_versioning/evaluation/matching.py +520 -0
  676. siphrix-1.0.0/siphrix/policy_versioning/evaluation/models.py +344 -0
  677. siphrix-1.0.0/siphrix/policy_versioning/evaluation/projection.py +133 -0
  678. siphrix-1.0.0/siphrix/policy_versioning/evaluation/readiness.py +164 -0
  679. siphrix-1.0.0/siphrix/policy_versioning/evaluation/reproducibility.py +104 -0
  680. siphrix-1.0.0/siphrix/policy_versioning/evaluation/result.py +359 -0
  681. siphrix-1.0.0/siphrix/policy_versioning/evaluation/safety.py +103 -0
  682. siphrix-1.0.0/siphrix/policy_versioning/explanation/__init__.py +1 -0
  683. siphrix-1.0.0/siphrix/policy_versioning/explanation/closure.py +71 -0
  684. siphrix-1.0.0/siphrix/policy_versioning/explanation/consistency.py +101 -0
  685. siphrix-1.0.0/siphrix/policy_versioning/explanation/contracts.py +120 -0
  686. siphrix-1.0.0/siphrix/policy_versioning/explanation/diff.py +231 -0
  687. siphrix-1.0.0/siphrix/policy_versioning/explanation/drift.py +73 -0
  688. siphrix-1.0.0/siphrix/policy_versioning/explanation/projection.py +143 -0
  689. siphrix-1.0.0/siphrix/policy_versioning/explanation/readiness.py +164 -0
  690. siphrix-1.0.0/siphrix/policy_versioning/explanation/registry.py +176 -0
  691. siphrix-1.0.0/siphrix/policy_versioning/explanation/reproducibility.py +117 -0
  692. siphrix-1.0.0/siphrix/policy_versioning/explanation/safety.py +109 -0
  693. siphrix-1.0.0/siphrix/policy_versioning/explanation/stability.py +49 -0
  694. siphrix-1.0.0/siphrix/policy_versioning/intake_governance.py +378 -0
  695. siphrix-1.0.0/siphrix/policy_versioning/integration.py +424 -0
  696. siphrix-1.0.0/siphrix/policy_versioning/investigation.py +2222 -0
  697. siphrix-1.0.0/siphrix/policy_versioning/investigation_hardening.py +2307 -0
  698. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/__init__.py +1 -0
  699. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/final_stage3_honesty.py +116 -0
  700. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/final_stage3_integrity.py +173 -0
  701. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/final_stage3_readiness.py +98 -0
  702. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/point2_certification.py +135 -0
  703. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/point2_closure_assurance.py +182 -0
  704. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/point2_closure_manifest.py +107 -0
  705. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/point2_closure_readiness.py +96 -0
  706. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/point2_contracts.py +153 -0
  707. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/point2_handoff.py +98 -0
  708. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/point2_honesty.py +120 -0
  709. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/point2_integrity.py +166 -0
  710. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/point2_operational_profile.py +97 -0
  711. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/point2_postclosure_drift.py +94 -0
  712. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/point2_seal_enforcement.py +197 -0
  713. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/point2_transition_governance.py +187 -0
  714. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/point3_certification.py +194 -0
  715. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/point3_certification_stability.py +89 -0
  716. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/point3_closure_manifest.py +170 -0
  717. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/point3_closure_readiness.py +128 -0
  718. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/point3_contract_postclosure.py +85 -0
  719. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/point3_contracts.py +139 -0
  720. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/point3_drift_detection.py +139 -0
  721. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/point3_drift_impact.py +82 -0
  722. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/point3_handoff.py +154 -0
  723. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/point3_honesty.py +120 -0
  724. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/point3_integrity.py +170 -0
  725. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/point3_operational_profile.py +158 -0
  726. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/point3_postclosure_assurance.py +80 -0
  727. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/point3_postclosure_audit.py +78 -0
  728. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/point3_recertification.py +98 -0
  729. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/point3_seal_enforcement.py +167 -0
  730. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/policy_final_point3_readiness.py +135 -0
  731. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/stage3_certification.py +114 -0
  732. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/stage3_chain_truth.py +94 -0
  733. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/stage3_closure_manifest.py +113 -0
  734. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/stage3_contracts.py +132 -0
  735. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/stage3_drift_preparation.py +97 -0
  736. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/stage3_export_integration.py +124 -0
  737. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/stage3_handoff.py +92 -0
  738. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/stage3_operational_profile.py +83 -0
  739. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/stage3_operator_investigation_views.py +95 -0
  740. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/stage3_replay_integration.py +150 -0
  741. siphrix-1.0.0/siphrix/policy_versioning/lifecycle/stage3_scope_assurance.py +104 -0
  742. siphrix-1.0.0/siphrix/policy_versioning/local_policy_intake.py +161 -0
  743. siphrix-1.0.0/siphrix/policy_versioning/local_policy_intake_hardening.py +100 -0
  744. siphrix-1.0.0/siphrix/policy_versioning/local_policy_trust.py +142 -0
  745. siphrix-1.0.0/siphrix/policy_versioning/local_policy_trust_safety.py +66 -0
  746. siphrix-1.0.0/siphrix/policy_versioning/manifest/__init__.py +1 -0
  747. siphrix-1.0.0/siphrix/policy_versioning/manifest/authority_contracts.py +169 -0
  748. siphrix-1.0.0/siphrix/policy_versioning/manifest/authority_lineage.py +215 -0
  749. siphrix-1.0.0/siphrix/policy_versioning/manifest/authority_overlap.py +250 -0
  750. siphrix-1.0.0/siphrix/policy_versioning/manifest/channel_resolver.py +151 -0
  751. siphrix-1.0.0/siphrix/policy_versioning/manifest/compatibility.py +144 -0
  752. siphrix-1.0.0/siphrix/policy_versioning/manifest/compatibility_hardening.py +154 -0
  753. siphrix-1.0.0/siphrix/policy_versioning/manifest/integrity.py +137 -0
  754. siphrix-1.0.0/siphrix/policy_versioning/manifest/manifest.py +310 -0
  755. siphrix-1.0.0/siphrix/policy_versioning/manifest/projection.py +143 -0
  756. siphrix-1.0.0/siphrix/policy_versioning/manifest/projection_faithfulness.py +108 -0
  757. siphrix-1.0.0/siphrix/policy_versioning/manifest/registry.py +156 -0
  758. siphrix-1.0.0/siphrix/policy_versioning/manifest/registry_provenance.py +98 -0
  759. siphrix-1.0.0/siphrix/policy_versioning/manifest/registry_provenance_truth.py +105 -0
  760. siphrix-1.0.0/siphrix/policy_versioning/manifest/remote_channel_resolution.py +104 -0
  761. siphrix-1.0.0/siphrix/policy_versioning/manifest/remote_channel_truth.py +100 -0
  762. siphrix-1.0.0/siphrix/policy_versioning/manifest/remote_local_consistency.py +106 -0
  763. siphrix-1.0.0/siphrix/policy_versioning/manifest/reproducibility.py +103 -0
  764. siphrix-1.0.0/siphrix/policy_versioning/operator_hardening.py +2384 -0
  765. siphrix-1.0.0/siphrix/policy_versioning/operator_views.py +1762 -0
  766. siphrix-1.0.0/siphrix/policy_versioning/orchestration/__init__.py +1 -0
  767. siphrix-1.0.0/siphrix/policy_versioning/orchestration/audit.py +60 -0
  768. siphrix-1.0.0/siphrix/policy_versioning/orchestration/chain_truth.py +135 -0
  769. siphrix-1.0.0/siphrix/policy_versioning/orchestration/fetch.py +158 -0
  770. siphrix-1.0.0/siphrix/policy_versioning/orchestration/fetch_selection_safety.py +76 -0
  771. siphrix-1.0.0/siphrix/policy_versioning/orchestration/honesty.py +132 -0
  772. siphrix-1.0.0/siphrix/policy_versioning/orchestration/integrity.py +235 -0
  773. siphrix-1.0.0/siphrix/policy_versioning/orchestration/projection.py +132 -0
  774. siphrix-1.0.0/siphrix/policy_versioning/orchestration/projection_faithfulness.py +125 -0
  775. siphrix-1.0.0/siphrix/policy_versioning/orchestration/readiness.py +112 -0
  776. siphrix-1.0.0/siphrix/policy_versioning/orchestration/reproducibility.py +63 -0
  777. siphrix-1.0.0/siphrix/policy_versioning/orchestration/resolution_trace.py +420 -0
  778. siphrix-1.0.0/siphrix/policy_versioning/orchestration/revocation.py +160 -0
  779. siphrix-1.0.0/siphrix/policy_versioning/orchestration/revocation_truth.py +95 -0
  780. siphrix-1.0.0/siphrix/policy_versioning/orchestration/semantic_diff.py +920 -0
  781. siphrix-1.0.0/siphrix/policy_versioning/orchestration/state.py +89 -0
  782. siphrix-1.0.0/siphrix/policy_versioning/orchestration/target_truth.py +100 -0
  783. siphrix-1.0.0/siphrix/policy_versioning/overlays/__init__.py +1 -0
  784. siphrix-1.0.0/siphrix/policy_versioning/overlays/applicability.py +482 -0
  785. siphrix-1.0.0/siphrix/policy_versioning/overlays/conflicts.py +435 -0
  786. siphrix-1.0.0/siphrix/policy_versioning/overlays/explanations.py +519 -0
  787. siphrix-1.0.0/siphrix/policy_versioning/overlays/field_merge.py +740 -0
  788. siphrix-1.0.0/siphrix/policy_versioning/overlays/merge.py +622 -0
  789. siphrix-1.0.0/siphrix/policy_versioning/overlays/models.py +811 -0
  790. siphrix-1.0.0/siphrix/policy_versioning/overlays/readiness.py +639 -0
  791. siphrix-1.0.0/siphrix/policy_versioning/overlays/scope.py +471 -0
  792. siphrix-1.0.0/siphrix/policy_versioning/overlays/selector.py +888 -0
  793. siphrix-1.0.0/siphrix/policy_versioning/overlays/semantics.py +353 -0
  794. siphrix-1.0.0/siphrix/policy_versioning/overlays/soundness.py +345 -0
  795. siphrix-1.0.0/siphrix/policy_versioning/policy_lineage.py +295 -0
  796. siphrix-1.0.0/siphrix/policy_versioning/promotion_execution.py +355 -0
  797. siphrix-1.0.0/siphrix/policy_versioning/registry_config.py +165 -0
  798. siphrix-1.0.0/siphrix/policy_versioning/registry_intake.py +388 -0
  799. siphrix-1.0.0/siphrix/policy_versioning/registry_view.py +397 -0
  800. siphrix-1.0.0/siphrix/policy_versioning/replay/__init__.py +1 -0
  801. siphrix-1.0.0/siphrix/policy_versioning/replay/compat.py +539 -0
  802. siphrix-1.0.0/siphrix/policy_versioning/replay/engine.py +1657 -0
  803. siphrix-1.0.0/siphrix/policy_versioning/replay/export_integration.py +602 -0
  804. siphrix-1.0.0/siphrix/policy_versioning/replay/models.py +1528 -0
  805. siphrix-1.0.0/siphrix/policy_versioning/replay/queries.py +549 -0
  806. siphrix-1.0.0/siphrix/policy_versioning/replay/view_models.py +708 -0
  807. siphrix-1.0.0/siphrix/policy_versioning/replay/workspace.py +366 -0
  808. siphrix-1.0.0/siphrix/policy_versioning/resource_classifier.py +270 -0
  809. siphrix-1.0.0/siphrix/policy_versioning/rollback_execution.py +471 -0
  810. siphrix-1.0.0/siphrix/policy_versioning/runtime_integration/__init__.py +1 -0
  811. siphrix-1.0.0/siphrix/policy_versioning/runtime_integration/bundle_assessment.py +85 -0
  812. siphrix-1.0.0/siphrix/policy_versioning/runtime_integration/causal_attribution.py +122 -0
  813. siphrix-1.0.0/siphrix/policy_versioning/runtime_integration/export_integration.py +162 -0
  814. siphrix-1.0.0/siphrix/policy_versioning/runtime_integration/integration_chain_truth.py +113 -0
  815. siphrix-1.0.0/siphrix/policy_versioning/runtime_integration/integration_closure_readiness.py +340 -0
  816. siphrix-1.0.0/siphrix/policy_versioning/runtime_integration/integration_honesty.py +151 -0
  817. siphrix-1.0.0/siphrix/policy_versioning/runtime_integration/integration_integrity.py +257 -0
  818. siphrix-1.0.0/siphrix/policy_versioning/runtime_integration/integration_readiness.py +102 -0
  819. siphrix-1.0.0/siphrix/policy_versioning/runtime_integration/integration_reproducibility.py +161 -0
  820. siphrix-1.0.0/siphrix/policy_versioning/runtime_integration/investigation_views.py +89 -0
  821. siphrix-1.0.0/siphrix/policy_versioning/runtime_integration/justification.py +140 -0
  822. siphrix-1.0.0/siphrix/policy_versioning/runtime_integration/justification_honesty.py +130 -0
  823. siphrix-1.0.0/siphrix/policy_versioning/runtime_integration/operator_views.py +97 -0
  824. siphrix-1.0.0/siphrix/policy_versioning/runtime_integration/projection_contracts.py +95 -0
  825. siphrix-1.0.0/siphrix/policy_versioning/runtime_integration/projection_faithfulness.py +120 -0
  826. siphrix-1.0.0/siphrix/policy_versioning/runtime_integration/provenance_integrity.py +135 -0
  827. siphrix-1.0.0/siphrix/policy_versioning/runtime_integration/replay_integration.py +202 -0
  828. siphrix-1.0.0/siphrix/policy_versioning/runtime_integration/timeline_truth.py +334 -0
  829. siphrix-1.0.0/siphrix/policy_versioning/runtime_integration/timeline_workspace.py +104 -0
  830. siphrix-1.0.0/siphrix/policy_versioning/runtime_integration/trace_builder.py +152 -0
  831. siphrix-1.0.0/siphrix/policy_versioning/runtime_integration/trace_integrity.py +193 -0
  832. siphrix-1.0.0/siphrix/policy_versioning/runtime_integration/trace_linkage.py +58 -0
  833. siphrix-1.0.0/siphrix/policy_versioning/runtime_integration/trace_models.py +490 -0
  834. siphrix-1.0.0/siphrix/policy_versioning/runtime_integration/view_safety.py +197 -0
  835. siphrix-1.0.0/siphrix/policy_versioning/session_resolver.py +303 -0
  836. siphrix-1.0.0/siphrix/policy_versioning/snapshots/__init__.py +1 -0
  837. siphrix-1.0.0/siphrix/policy_versioning/snapshots/approval_state_resolver.py +229 -0
  838. siphrix-1.0.0/siphrix/policy_versioning/snapshots/decision_diff.py +2124 -0
  839. siphrix-1.0.0/siphrix/policy_versioning/snapshots/decision_ready_policy.py +215 -0
  840. siphrix-1.0.0/siphrix/policy_versioning/snapshots/decision_ready_policy_safety.py +95 -0
  841. siphrix-1.0.0/siphrix/policy_versioning/snapshots/decision_snapshot_store.py +861 -0
  842. siphrix-1.0.0/siphrix/policy_versioning/snapshots/lineage_engine.py +447 -0
  843. siphrix-1.0.0/siphrix/policy_versioning/snapshots/lineage_integrity.py +383 -0
  844. siphrix-1.0.0/siphrix/policy_versioning/snapshots/lineage_store.py +145 -0
  845. siphrix-1.0.0/siphrix/policy_versioning/snapshots/snapshot_integrity.py +872 -0
  846. siphrix-1.0.0/siphrix/policy_versioning/temporal_policy_resolver.py +326 -0
  847. siphrix-1.0.0/siphrix/policy_versioning/tenant_view.py +262 -0
  848. siphrix-1.0.0/siphrix/policy_versioning/transition_governance.py +356 -0
  849. siphrix-1.0.0/siphrix/policy_versioning/transition_ledger.py +278 -0
  850. siphrix-1.0.0/siphrix/policy_versioning/trust/__init__.py +1 -0
  851. siphrix-1.0.0/siphrix/policy_versioning/trust/chain_consistency.py +173 -0
  852. siphrix-1.0.0/siphrix/policy_versioning/trust/chain_risk.py +124 -0
  853. siphrix-1.0.0/siphrix/policy_versioning/trust/epoch_drift.py +214 -0
  854. siphrix-1.0.0/siphrix/policy_versioning/trust/foundation_readiness.py +127 -0
  855. siphrix-1.0.0/siphrix/policy_versioning/trust/governance_readiness.py +154 -0
  856. siphrix-1.0.0/siphrix/policy_versioning/trust/history.py +131 -0
  857. siphrix-1.0.0/siphrix/policy_versioning/trust/honesty.py +96 -0
  858. siphrix-1.0.0/siphrix/policy_versioning/trust/trust.py +373 -0
  859. siphrix-1.0.0/siphrix/policy_versioning/versioned_policy_codec.py +312 -0
  860. siphrix-1.0.0/siphrix/readiness/__init__.py +32 -0
  861. siphrix-1.0.0/siphrix/readiness/assessor.py +260 -0
  862. siphrix-1.0.0/siphrix/readiness/checks.py +1325 -0
  863. siphrix-1.0.0/siphrix/readiness/models.py +102 -0
  864. siphrix-1.0.0/siphrix/release.py +288 -0
  865. siphrix-1.0.0/siphrix/resilience/__init__.py +123 -0
  866. siphrix-1.0.0/siphrix/resilience/adaptive_guardrail.py +169 -0
  867. siphrix-1.0.0/siphrix/resilience/audit_log_model.py +42 -0
  868. siphrix-1.0.0/siphrix/resilience/blast_radius_control.py +115 -0
  869. siphrix-1.0.0/siphrix/resilience/damage_containment.py +31 -0
  870. siphrix-1.0.0/siphrix/resilience/distributed_control.py +150 -0
  871. siphrix-1.0.0/siphrix/resilience/distributed_lock.py +34 -0
  872. siphrix-1.0.0/siphrix/resilience/enforcement_cluster.py +66 -0
  873. siphrix-1.0.0/siphrix/resilience/evidence_adaptation.py +85 -0
  874. siphrix-1.0.0/siphrix/resilience/fragmented_kill_switch.py +98 -0
  875. siphrix-1.0.0/siphrix/resilience/healing.py +69 -0
  876. siphrix-1.0.0/siphrix/resilience/health_monitor.py +71 -0
  877. siphrix-1.0.0/siphrix/resilience/human_recovery.py +79 -0
  878. siphrix-1.0.0/siphrix/resilience/org_control_plane.py +109 -0
  879. siphrix-1.0.0/siphrix/resilience/regional_control.py +122 -0
  880. siphrix-1.0.0/siphrix/resilience/split_brain.py +40 -0
  881. siphrix-1.0.0/siphrix/resilience/state_engine.py +55 -0
  882. siphrix-1.0.0/siphrix/resilience/temporal_dsl.py +104 -0
  883. siphrix-1.0.0/siphrix/resilience/temporal_policy.py +58 -0
  884. siphrix-1.0.0/siphrix/resilience/temporal_state.py +33 -0
  885. siphrix-1.0.0/siphrix/resilience/tenant_isolation.py +79 -0
  886. siphrix-1.0.0/siphrix/risk/__init__.py +149 -0
  887. siphrix-1.0.0/siphrix/risk/risk_execution.py +277 -0
  888. siphrix-1.0.0/siphrix/risk/risk_explainer.py +496 -0
  889. siphrix-1.0.0/siphrix/risk/risk_factor_engine.py +578 -0
  890. siphrix-1.0.0/siphrix/risk/risk_orchestration.py +424 -0
  891. siphrix-1.0.0/siphrix/risk/risk_policy_mapping.py +174 -0
  892. siphrix-1.0.0/siphrix/risk/risk_score.py +562 -0
  893. siphrix-1.0.0/siphrix/risk/risk_thresholds.py +160 -0
  894. siphrix-1.0.0/siphrix/runtime/__init__.py +192 -0
  895. siphrix-1.0.0/siphrix/runtime/audit_hardening.py +33 -0
  896. siphrix-1.0.0/siphrix/runtime/bridge_analyzer.py +41 -0
  897. siphrix-1.0.0/siphrix/runtime/broker_plane.py +146 -0
  898. siphrix-1.0.0/siphrix/runtime/broker_protocol.py +40 -0
  899. siphrix-1.0.0/siphrix/runtime/broker_socket.py +74 -0
  900. siphrix-1.0.0/siphrix/runtime/capabilities.py +30 -0
  901. siphrix-1.0.0/siphrix/runtime/capability_coupling.py +48 -0
  902. siphrix-1.0.0/siphrix/runtime/contracts.py +93 -0
  903. siphrix-1.0.0/siphrix/runtime/decision_snapshot.py +15 -0
  904. siphrix-1.0.0/siphrix/runtime/enforcement.py +136 -0
  905. siphrix-1.0.0/siphrix/runtime/enforcement_points.py +46 -0
  906. siphrix-1.0.0/siphrix/runtime/evidence_ledger.py +148 -0
  907. siphrix-1.0.0/siphrix/runtime/exec_intercept.py +6 -0
  908. siphrix-1.0.0/siphrix/runtime/execution_guard.py +26 -0
  909. siphrix-1.0.0/siphrix/runtime/failure_semantics.py +43 -0
  910. siphrix-1.0.0/siphrix/runtime/hooks.py +99 -0
  911. siphrix-1.0.0/siphrix/runtime/intervention.py +106 -0
  912. siphrix-1.0.0/siphrix/runtime/kernel_syscall_interception.py +351 -0
  913. siphrix-1.0.0/siphrix/runtime/linux_kernel_backend.py +131 -0
  914. siphrix-1.0.0/siphrix/runtime/mediation.py +155 -0
  915. siphrix-1.0.0/siphrix/runtime/policy_remote.py +21 -0
  916. siphrix-1.0.0/siphrix/runtime/policy_runtime.py +17 -0
  917. siphrix-1.0.0/siphrix/runtime/session_wrappers.py +35 -0
  918. siphrix-1.0.0/siphrix/runtime/sessions.py +92 -0
  919. siphrix-1.0.0/siphrix/runtime/syscall_intents.py +54 -0
  920. siphrix-1.0.0/siphrix/runtime_paths.py +225 -0
  921. siphrix-1.0.0/siphrix/simulation/__init__.py +27 -0
  922. siphrix-1.0.0/siphrix/simulation/audit.py +397 -0
  923. siphrix-1.0.0/siphrix/simulation/engine.py +945 -0
  924. siphrix-1.0.0/siphrix/state/__init__.py +3 -0
  925. siphrix-1.0.0/siphrix/state/state_manager.py +83 -0
  926. siphrix-1.0.0/siphrix/tests_all_global.py +1089 -0
  927. siphrix-1.0.0/siphrix/trust/__init__.py +146 -0
  928. siphrix-1.0.0/siphrix/trust/attestation.py +105 -0
  929. siphrix-1.0.0/siphrix/trust/broker_attestation.py +29 -0
  930. siphrix-1.0.0/siphrix/trust/distributed_attestation.py +93 -0
  931. siphrix-1.0.0/siphrix/trust/identity.py +13 -0
  932. siphrix-1.0.0/siphrix/trust/integrity_chain.py +101 -0
  933. siphrix-1.0.0/siphrix/trust/policy_anchor.py +42 -0
  934. siphrix-1.0.0/siphrix/trust/policy_remote_guard.py +757 -0
  935. siphrix-1.0.0/siphrix/trust/policy_store.py +45 -0
  936. siphrix-1.0.0/siphrix/trust/push_updates.py +55 -0
  937. siphrix-1.0.0/siphrix/trust/recheck.py +34 -0
  938. siphrix-1.0.0/siphrix/trust/remote_policy_server.py +198 -0
  939. siphrix-1.0.0/siphrix/trust/remote_sync.py +307 -0
  940. siphrix-1.0.0/siphrix/trust/signed_heartbeat.py +145 -0
  941. siphrix-1.0.0/siphrix/trust/trust_cascade.py +89 -0
  942. siphrix-1.0.0/siphrix/trust/trust_epoch.py +115 -0
  943. siphrix-1.0.0/siphrix/trust/trust_mode.py +366 -0
  944. siphrix-1.0.0/siphrix/trust/trust_seal.py +190 -0
  945. siphrix-1.0.0/siphrix/utils/__init__.py +5 -0
  946. siphrix-1.0.0/siphrix/utils/io.py +16 -0
  947. siphrix-1.0.0/siphrix/web_console/__init__.py +73 -0
  948. siphrix-1.0.0/siphrix/web_console/static/console.css +606 -0
  949. siphrix-1.0.0/siphrix/web_console/static/console.js +886 -0
  950. siphrix-1.0.0/siphrix/web_console/static/index.html +344 -0
  951. siphrix-1.0.0/siphrix.egg-info/PKG-INFO +1543 -0
  952. siphrix-1.0.0/siphrix.egg-info/SOURCES.txt +1352 -0
  953. siphrix-1.0.0/siphrix.egg-info/dependency_links.txt +1 -0
  954. siphrix-1.0.0/siphrix.egg-info/entry_points.txt +2 -0
  955. siphrix-1.0.0/siphrix.egg-info/requires.txt +11 -0
  956. siphrix-1.0.0/siphrix.egg-info/top_level.txt +1 -0
  957. siphrix-1.0.0/tests/__init__.py +22 -0
  958. siphrix-1.0.0/tests/_shared/__init__.py +11 -0
  959. siphrix-1.0.0/tests/_shared/workspace_fixtures.py +602 -0
  960. siphrix-1.0.0/tests/conftest.py +27 -0
  961. siphrix-1.0.0/tests/constitution/__init__.py +0 -0
  962. siphrix-1.0.0/tests/constitution/execution/__init__.py +0 -0
  963. siphrix-1.0.0/tests/constitution/execution/test_decision_executor_bindings.py +648 -0
  964. siphrix-1.0.0/tests/constitution/execution/test_execution_attestation.py +673 -0
  965. siphrix-1.0.0/tests/constitution/execution/test_execution_boundaries.py +832 -0
  966. siphrix-1.0.0/tests/constitution/execution/test_execution_conformance.py +765 -0
  967. siphrix-1.0.0/tests/constitution/execution/test_execution_handoff.py +723 -0
  968. siphrix-1.0.0/tests/constitution/execution/test_execution_refusal.py +666 -0
  969. siphrix-1.0.0/tests/constitution/execution/test_executor_capabilities.py +1074 -0
  970. siphrix-1.0.0/tests/constitution/execution/test_executor_contract.py +1207 -0
  971. siphrix-1.0.0/tests/fixtures/keys/README.md +11 -0
  972. siphrix-1.0.0/tests/fixtures/keys/dev_policy_private_example.pem +3 -0
  973. siphrix-1.0.0/tests/fixtures/keys/dev_policy_public_example.pem +3 -0
  974. siphrix-1.0.0/tests/fixtures/local_repo_showcase/src/app.py +3 -0
  975. siphrix-1.0.0/tests/fixtures/policies/compat/policy_v3_boundary.yaml +11 -0
  976. siphrix-1.0.0/tests/fixtures/policies/compat/policy_v3_compose.yaml +8 -0
  977. siphrix-1.0.0/tests/fixtures/policies/compat/policy_v3_risk.yaml +12 -0
  978. siphrix-1.0.0/tests/fixtures/policies/compat/policy_v4_allow.yaml +15 -0
  979. siphrix-1.0.0/tests/fixtures/policies/compat/policy_v4_block.yaml +19 -0
  980. siphrix-1.0.0/tests/fixtures/policies/compat/policy_v4_child.yaml +16 -0
  981. siphrix-1.0.0/tests/fixtures/policies/compat/policy_v4_expired.yaml +22 -0
  982. siphrix-1.0.0/tests/fixtures/policies/compat/policy_v4_fallback.yaml +15 -0
  983. siphrix-1.0.0/tests/fixtures/policies/compat/policy_v4_parent.yaml +19 -0
  984. siphrix-1.0.0/tests/test_action_evaluator_audit_fail_closed.py +392 -0
  985. siphrix-1.0.0/tests/test_agent_adapter.py +291 -0
  986. siphrix-1.0.0/tests/test_agent_exchange_record_closure.py +99 -0
  987. siphrix-1.0.0/tests/test_agent_exchange_record_foundation.py +72 -0
  988. siphrix-1.0.0/tests/test_agent_exchange_record_hardening.py +714 -0
  989. siphrix-1.0.0/tests/test_agent_handshake_record_closure.py +101 -0
  990. siphrix-1.0.0/tests/test_agent_handshake_record_foundation.py +72 -0
  991. siphrix-1.0.0/tests/test_agent_handshake_record_hardening.py +657 -0
  992. siphrix-1.0.0/tests/test_agent_identity.py +372 -0
  993. siphrix-1.0.0/tests/test_agent_identity_record_closure.py +239 -0
  994. siphrix-1.0.0/tests/test_agent_identity_record_foundation.py +285 -0
  995. siphrix-1.0.0/tests/test_agent_identity_record_hardening.py +661 -0
  996. siphrix-1.0.0/tests/test_ai_tool_bridge_contracts.py +1197 -0
  997. siphrix-1.0.0/tests/test_ai_tool_bridge_error_hygiene.py +966 -0
  998. siphrix-1.0.0/tests/test_analytics_risk_intelligence_contracts.py +831 -0
  999. siphrix-1.0.0/tests/test_analytics_risk_intelligence_error_hygiene.py +722 -0
  1000. siphrix-1.0.0/tests/test_approval_envelope_record_closure.py +124 -0
  1001. siphrix-1.0.0/tests/test_approval_envelope_record_foundation.py +107 -0
  1002. siphrix-1.0.0/tests/test_approval_envelope_record_hardening.py +454 -0
  1003. siphrix-1.0.0/tests/test_approval_runtime.py +605 -0
  1004. siphrix-1.0.0/tests/test_approval_workflow_contracts.py +1402 -0
  1005. siphrix-1.0.0/tests/test_approval_workflow_error_hygiene.py +725 -0
  1006. siphrix-1.0.0/tests/test_audit.py +302 -0
  1007. siphrix-1.0.0/tests/test_audit_explorer_contracts.py +1016 -0
  1008. siphrix-1.0.0/tests/test_audit_explorer_error_hygiene.py +835 -0
  1009. siphrix-1.0.0/tests/test_audit_preview_redaction.py +318 -0
  1010. siphrix-1.0.0/tests/test_audit_trace_record.py +387 -0
  1011. siphrix-1.0.0/tests/test_audit_trace_record_closure.py +330 -0
  1012. siphrix-1.0.0/tests/test_audit_trace_record_hardening.py +713 -0
  1013. siphrix-1.0.0/tests/test_audit_trace_validation_pack.py +232 -0
  1014. siphrix-1.0.0/tests/test_audit_trace_validation_pack_closure.py +305 -0
  1015. siphrix-1.0.0/tests/test_audit_trace_validation_pack_hardening.py +672 -0
  1016. siphrix-1.0.0/tests/test_audit_workspace.py +191 -0
  1017. siphrix-1.0.0/tests/test_browser_ai_monitor_contracts.py +1053 -0
  1018. siphrix-1.0.0/tests/test_browser_ai_monitor_error_hygiene.py +1077 -0
  1019. siphrix-1.0.0/tests/test_canon_runtime_hardening.py +169 -0
  1020. siphrix-1.0.0/tests/test_canonical_contracts_foundation.py +340 -0
  1021. siphrix-1.0.0/tests/test_cli.py +2626 -0
  1022. siphrix-1.0.0/tests/test_cli_alias_surface.py +522 -0
  1023. siphrix-1.0.0/tests/test_cli_diagnostics.py +458 -0
  1024. siphrix-1.0.0/tests/test_cli_error_hygiene.py +278 -0
  1025. siphrix-1.0.0/tests/test_cli_hosted_import.py +298 -0
  1026. siphrix-1.0.0/tests/test_cli_profile_binds_pack.py +202 -0
  1027. siphrix-1.0.0/tests/test_cli_quickstart.py +310 -0
  1028. siphrix-1.0.0/tests/test_cli_show_internal_help.py +211 -0
  1029. siphrix-1.0.0/tests/test_console_contracts.py +278 -0
  1030. siphrix-1.0.0/tests/test_console_ui_foundation.py +804 -0
  1031. siphrix-1.0.0/tests/test_console_ui_shell.py +232 -0
  1032. siphrix-1.0.0/tests/test_constitution_record_inventory.py +113 -0
  1033. siphrix-1.0.0/tests/test_constitutional_audit.py +485 -0
  1034. siphrix-1.0.0/tests/test_constitutional_diff.py +563 -0
  1035. siphrix-1.0.0/tests/test_constitutional_projection.py +657 -0
  1036. siphrix-1.0.0/tests/test_context_adapters.py +304 -0
  1037. siphrix-1.0.0/tests/test_context_window_record.py +507 -0
  1038. siphrix-1.0.0/tests/test_context_window_record_closure.py +375 -0
  1039. siphrix-1.0.0/tests/test_context_window_record_hardening.py +751 -0
  1040. siphrix-1.0.0/tests/test_context_window_validation_pack.py +268 -0
  1041. siphrix-1.0.0/tests/test_context_window_validation_pack_closure.py +302 -0
  1042. siphrix-1.0.0/tests/test_context_window_validation_pack_hardening.py +680 -0
  1043. siphrix-1.0.0/tests/test_dashboard_error_hygiene.py +303 -0
  1044. siphrix-1.0.0/tests/test_dashboard_shell.py +7442 -0
  1045. siphrix-1.0.0/tests/test_dashboard_workspace_contracts.py +931 -0
  1046. siphrix-1.0.0/tests/test_decision_diff.py +2757 -0
  1047. siphrix-1.0.0/tests/test_decision_path_e2e_audit.py +352 -0
  1048. siphrix-1.0.0/tests/test_decision_snapshot_store.py +1301 -0
  1049. siphrix-1.0.0/tests/test_decision_workspace.py +366 -0
  1050. siphrix-1.0.0/tests/test_delegation_authority_record_closure.py +170 -0
  1051. siphrix-1.0.0/tests/test_delegation_authority_record_foundation.py +175 -0
  1052. siphrix-1.0.0/tests/test_delegation_authority_record_hardening.py +566 -0
  1053. siphrix-1.0.0/tests/test_delegation_graph.py +559 -0
  1054. siphrix-1.0.0/tests/test_demo_decision_coverage.py +163 -0
  1055. siphrix-1.0.0/tests/test_demo_no_network_required.py +181 -0
  1056. siphrix-1.0.0/tests/test_demo_no_secret_leak.py +195 -0
  1057. siphrix-1.0.0/tests/test_demo_scenarios.py +340 -0
  1058. siphrix-1.0.0/tests/test_developer_quickstart_polish.py +287 -0
  1059. siphrix-1.0.0/tests/test_distributed_infrastructure_contracts.py +1704 -0
  1060. siphrix-1.0.0/tests/test_distributed_infrastructure_error_hygiene.py +674 -0
  1061. siphrix-1.0.0/tests/test_distribution_channel_record_closure.py +136 -0
  1062. siphrix-1.0.0/tests/test_distribution_channel_record_foundation.py +107 -0
  1063. siphrix-1.0.0/tests/test_distribution_channel_record_hardening.py +744 -0
  1064. siphrix-1.0.0/tests/test_distribution_lineage_record_closure.py +117 -0
  1065. siphrix-1.0.0/tests/test_distribution_lineage_record_foundation.py +68 -0
  1066. siphrix-1.0.0/tests/test_distribution_lineage_record_hardening.py +822 -0
  1067. siphrix-1.0.0/tests/test_distribution_manifest_record_closure.py +141 -0
  1068. siphrix-1.0.0/tests/test_distribution_manifest_record_foundation.py +107 -0
  1069. siphrix-1.0.0/tests/test_distribution_manifest_record_hardening.py +797 -0
  1070. siphrix-1.0.0/tests/test_distribution_receipt_record_closure.py +120 -0
  1071. siphrix-1.0.0/tests/test_distribution_receipt_record_foundation.py +68 -0
  1072. siphrix-1.0.0/tests/test_distribution_receipt_record_hardening.py +895 -0
  1073. siphrix-1.0.0/tests/test_distribution_trust_layer_closure.py +908 -0
  1074. siphrix-1.0.0/tests/test_docs_path_hygiene.py +141 -0
  1075. siphrix-1.0.0/tests/test_doctor.py +182 -0
  1076. siphrix-1.0.0/tests/test_email_executor_smtp_backend.py +329 -0
  1077. siphrix-1.0.0/tests/test_enclave_attestation_record_closure.py +127 -0
  1078. siphrix-1.0.0/tests/test_enclave_attestation_record_foundation.py +68 -0
  1079. siphrix-1.0.0/tests/test_enclave_attestation_record_hardening.py +1010 -0
  1080. siphrix-1.0.0/tests/test_enclave_boundary_record_closure.py +127 -0
  1081. siphrix-1.0.0/tests/test_enclave_boundary_record_foundation.py +68 -0
  1082. siphrix-1.0.0/tests/test_enclave_boundary_record_hardening.py +973 -0
  1083. siphrix-1.0.0/tests/test_enterprise_features_contracts.py +989 -0
  1084. siphrix-1.0.0/tests/test_enterprise_features_error_hygiene.py +721 -0
  1085. siphrix-1.0.0/tests/test_escalation_paths.py +612 -0
  1086. siphrix-1.0.0/tests/test_execution_intercept_v1.py +86 -0
  1087. siphrix-1.0.0/tests/test_executor_adapters.py +552 -0
  1088. siphrix-1.0.0/tests/test_explanation.py +149 -0
  1089. siphrix-1.0.0/tests/test_filesystem_default_root.py +153 -0
  1090. siphrix-1.0.0/tests/test_filesystem_escape_hardening.py +328 -0
  1091. siphrix-1.0.0/tests/test_flow_contracts.py +272 -0
  1092. siphrix-1.0.0/tests/test_framework_adapters.py +211 -0
  1093. siphrix-1.0.0/tests/test_frontier_layer_closure.py +931 -0
  1094. siphrix-1.0.0/tests/test_gemini_planner.py +169 -0
  1095. siphrix-1.0.0/tests/test_governance_quorum_store.py +276 -0
  1096. siphrix-1.0.0/tests/test_high_assurance_enforcement_contracts.py +1619 -0
  1097. siphrix-1.0.0/tests/test_high_assurance_enforcement_error_hygiene.py +647 -0
  1098. siphrix-1.0.0/tests/test_high_assurance_pre_execution_gate.py +1448 -0
  1099. siphrix-1.0.0/tests/test_hosted_admin_dashboard_mvp.py +551 -0
  1100. siphrix-1.0.0/tests/test_hosted_control_plane_boundary_docs.py +428 -0
  1101. siphrix-1.0.0/tests/test_hosted_control_plane_skeleton_contracts.py +704 -0
  1102. siphrix-1.0.0/tests/test_hosted_foundation_contracts.py +1033 -0
  1103. siphrix-1.0.0/tests/test_hosted_foundation_error_hygiene.py +702 -0
  1104. siphrix-1.0.0/tests/test_hosted_foundation_runtime.py +961 -0
  1105. siphrix-1.0.0/tests/test_hosted_health_skeleton.py +633 -0
  1106. siphrix-1.0.0/tests/test_hosted_policy_bundle_runtime.py +1102 -0
  1107. siphrix-1.0.0/tests/test_hosted_policy_control_plane_contracts.py +1189 -0
  1108. siphrix-1.0.0/tests/test_hosted_policy_control_plane_error_hygiene.py +985 -0
  1109. siphrix-1.0.0/tests/test_hosted_server_scaffold_boundary_docs.py +535 -0
  1110. siphrix-1.0.0/tests/test_integration_examples_safety.py +566 -0
  1111. siphrix-1.0.0/tests/test_integration_layer.py +133 -0
  1112. siphrix-1.0.0/tests/test_integration_registry.py +299 -0
  1113. siphrix-1.0.0/tests/test_integration_snapshot_flow.py +747 -0
  1114. siphrix-1.0.0/tests/test_inter_agent_policy.py +541 -0
  1115. siphrix-1.0.0/tests/test_inter_agent_policy_record_closure.py +122 -0
  1116. siphrix-1.0.0/tests/test_inter_agent_policy_record_foundation.py +117 -0
  1117. siphrix-1.0.0/tests/test_inter_agent_policy_record_hardening.py +427 -0
  1118. siphrix-1.0.0/tests/test_intercept_http_hardening.py +63 -0
  1119. siphrix-1.0.0/tests/test_investigation.py +1420 -0
  1120. siphrix-1.0.0/tests/test_investigation_hardening.py +1731 -0
  1121. siphrix-1.0.0/tests/test_kernel_syscall_interception.py +127 -0
  1122. siphrix-1.0.0/tests/test_launch_pack.py +480 -0
  1123. siphrix-1.0.0/tests/test_lineage_integrity.py +934 -0
  1124. siphrix-1.0.0/tests/test_linux_kernel_backend.py +57 -0
  1125. siphrix-1.0.0/tests/test_local_agent_contracts.py +889 -0
  1126. siphrix-1.0.0/tests/test_local_agent_daemon_contract.py +474 -0
  1127. siphrix-1.0.0/tests/test_local_agent_error_hygiene.py +778 -0
  1128. siphrix-1.0.0/tests/test_local_approvals_store.py +404 -0
  1129. siphrix-1.0.0/tests/test_local_daemon_approvals_api.py +479 -0
  1130. siphrix-1.0.0/tests/test_local_daemon_contract.py +896 -0
  1131. siphrix-1.0.0/tests/test_local_daemon_hosted_import_api.py +438 -0
  1132. siphrix-1.0.0/tests/test_local_daemon_hosted_policy_import_boundary_docs.py +733 -0
  1133. siphrix-1.0.0/tests/test_local_daemon_rules_api.py +448 -0
  1134. siphrix-1.0.0/tests/test_local_diagnostics_bundle.py +605 -0
  1135. siphrix-1.0.0/tests/test_local_firewall_onboarding_docs.py +1094 -0
  1136. siphrix-1.0.0/tests/test_local_hosted_policy_import_stage_activation.py +494 -0
  1137. siphrix-1.0.0/tests/test_local_hosted_policy_import_verifier.py +1004 -0
  1138. siphrix-1.0.0/tests/test_local_repo_showcase.py +324 -0
  1139. siphrix-1.0.0/tests/test_local_rules_enforcement.py +506 -0
  1140. siphrix-1.0.0/tests/test_local_state_rules_store.py +375 -0
  1141. siphrix-1.0.0/tests/test_memory_runtime_paths.py +374 -0
  1142. siphrix-1.0.0/tests/test_mesh_route_record_closure.py +134 -0
  1143. siphrix-1.0.0/tests/test_mesh_route_record_foundation.py +68 -0
  1144. siphrix-1.0.0/tests/test_mesh_route_record_hardening.py +1019 -0
  1145. siphrix-1.0.0/tests/test_mesh_topology_record_closure.py +126 -0
  1146. siphrix-1.0.0/tests/test_mesh_topology_record_foundation.py +68 -0
  1147. siphrix-1.0.0/tests/test_mesh_topology_record_hardening.py +1045 -0
  1148. siphrix-1.0.0/tests/test_multi_agent_governance_contracts.py +1176 -0
  1149. siphrix-1.0.0/tests/test_multi_agent_governance_error_hygiene.py +552 -0
  1150. siphrix-1.0.0/tests/test_multi_agent_governance_layer_closure.py +445 -0
  1151. siphrix-1.0.0/tests/test_network_executor_real_transport.py +258 -0
  1152. siphrix-1.0.0/tests/test_next_phase_decision_docs.py +189 -0
  1153. siphrix-1.0.0/tests/test_notifications_alerting_contracts.py +1112 -0
  1154. siphrix-1.0.0/tests/test_notifications_alerting_error_hygiene.py +830 -0
  1155. siphrix-1.0.0/tests/test_official_demo_smoke.py +882 -0
  1156. siphrix-1.0.0/tests/test_operational_execution_layer_closure.py +819 -0
  1157. siphrix-1.0.0/tests/test_operator_actions.py +382 -0
  1158. siphrix-1.0.0/tests/test_operator_api.py +1078 -0
  1159. siphrix-1.0.0/tests/test_operator_api_intake_endpoints.py +444 -0
  1160. siphrix-1.0.0/tests/test_operator_api_mutation_endpoints.py +494 -0
  1161. siphrix-1.0.0/tests/test_operator_api_quorum_endpoints.py +461 -0
  1162. siphrix-1.0.0/tests/test_operator_api_quorum_integration.py +704 -0
  1163. siphrix-1.0.0/tests/test_operator_api_registry_endpoints.py +443 -0
  1164. siphrix-1.0.0/tests/test_operator_api_security_hardening.py +525 -0
  1165. siphrix-1.0.0/tests/test_operator_api_versioned_policy_intake_endpoint.py +381 -0
  1166. siphrix-1.0.0/tests/test_operator_command_execution.py +348 -0
  1167. siphrix-1.0.0/tests/test_operator_commands.py +842 -0
  1168. siphrix-1.0.0/tests/test_operator_control.py +444 -0
  1169. siphrix-1.0.0/tests/test_operator_e2e_smoke.py +476 -0
  1170. siphrix-1.0.0/tests/test_operator_hardening.py +1742 -0
  1171. siphrix-1.0.0/tests/test_operator_views.py +1384 -0
  1172. siphrix-1.0.0/tests/test_orchestrator_flow.py +681 -0
  1173. siphrix-1.0.0/tests/test_org_rbac_contracts.py +1270 -0
  1174. siphrix-1.0.0/tests/test_org_rbac_error_hygiene.py +815 -0
  1175. siphrix-1.0.0/tests/test_os_enforcement_bridge_contracts.py +2012 -0
  1176. siphrix-1.0.0/tests/test_os_enforcement_bridge_error_hygiene.py +1456 -0
  1177. siphrix-1.0.0/tests/test_os_enforcement_linux_attach_acceptance_gate.py +1439 -0
  1178. siphrix-1.0.0/tests/test_os_enforcement_linux_attach_probe.py +1338 -0
  1179. siphrix-1.0.0/tests/test_os_enforcement_linux_real_attach_pilot.py +1771 -0
  1180. siphrix-1.0.0/tests/test_os_enforcement_linux_real_attach_preflight_attestation.py +1265 -0
  1181. siphrix-1.0.0/tests/test_os_enforcement_linux_real_attach_validation.py +1310 -0
  1182. siphrix-1.0.0/tests/test_os_enforcement_linux_runtime_preflight_harness.py +1386 -0
  1183. siphrix-1.0.0/tests/test_os_enforcement_linux_seccomp_strict_child_pilot.py +1982 -0
  1184. siphrix-1.0.0/tests/test_os_enforcement_rollback_audit_safety.py +1306 -0
  1185. siphrix-1.0.0/tests/test_os_enforcement_runtime_attach_boundary.py +1299 -0
  1186. siphrix-1.0.0/tests/test_os_enforcement_runtime_attachment.py +1562 -0
  1187. siphrix-1.0.0/tests/test_os_enforcement_runtime_attachment_lab.py +1471 -0
  1188. siphrix-1.0.0/tests/test_packaging_surface.py +246 -0
  1189. siphrix-1.0.0/tests/test_planner_adapter_ecosystem.py +159 -0
  1190. siphrix-1.0.0/tests/test_planner_adapters.py +27 -0
  1191. siphrix-1.0.0/tests/test_point11_readiness.py +278 -0
  1192. siphrix-1.0.0/tests/test_point1_completion.py +1196 -0
  1193. siphrix-1.0.0/tests/test_point1_ultra_hardening.py +2437 -0
  1194. siphrix-1.0.0/tests/test_point2_stage1_foundation.py +1418 -0
  1195. siphrix-1.0.0/tests/test_point2_stage1_hardening.py +1509 -0
  1196. siphrix-1.0.0/tests/test_point2_stage21_hardening.py +2159 -0
  1197. siphrix-1.0.0/tests/test_point2_stage2_resolver.py +1400 -0
  1198. siphrix-1.0.0/tests/test_point2_stage311_hardening.py +1377 -0
  1199. siphrix-1.0.0/tests/test_point2_stage31_overlay.py +1594 -0
  1200. siphrix-1.0.0/tests/test_point2_stage321_hardening.py +1687 -0
  1201. siphrix-1.0.0/tests/test_point2_stage322_cross_run_intelligence.py +397 -0
  1202. siphrix-1.0.0/tests/test_point2_stage32_compiler.py +1686 -0
  1203. siphrix-1.0.0/tests/test_point2_stage331_hardening.py +288 -0
  1204. siphrix-1.0.0/tests/test_point2_stage33_decision_ready_policy.py +317 -0
  1205. siphrix-1.0.0/tests/test_point2_stage341_certification_closure.py +332 -0
  1206. siphrix-1.0.0/tests/test_point2_stage34_final_hardening.py +302 -0
  1207. siphrix-1.0.0/tests/test_point2_stage411_runtime_hardening.py +609 -0
  1208. siphrix-1.0.0/tests/test_point2_stage41_runtime_evaluation.py +722 -0
  1209. siphrix-1.0.0/tests/test_point2_stage421_runtime_explanation_hardening.py +557 -0
  1210. siphrix-1.0.0/tests/test_point2_stage422_runtime_explanation_intelligence.py +579 -0
  1211. siphrix-1.0.0/tests/test_point2_stage42_runtime_trace_justification.py +569 -0
  1212. siphrix-1.0.0/tests/test_point2_stage431_runtime_integration_hardening.py +710 -0
  1213. siphrix-1.0.0/tests/test_point2_stage43_runtime_integration.py +543 -0
  1214. siphrix-1.0.0/tests/test_point2_stage441_postclosure_assurance.py +427 -0
  1215. siphrix-1.0.0/tests/test_point2_stage44_final_closure.py +481 -0
  1216. siphrix-1.0.0/tests/test_point3_stage311_manifest_trust_hardening.py +515 -0
  1217. siphrix-1.0.0/tests/test_point3_stage312_trust_governance.py +411 -0
  1218. siphrix-1.0.0/tests/test_point3_stage31_policy_manifest_trust_foundation.py +501 -0
  1219. siphrix-1.0.0/tests/test_point3_stage321_distribution_hardening.py +423 -0
  1220. siphrix-1.0.0/tests/test_point3_stage32_distribution_foundation.py +410 -0
  1221. siphrix-1.0.0/tests/test_point3_stage331_activation_hardening.py +424 -0
  1222. siphrix-1.0.0/tests/test_point3_stage33_activation_safety.py +676 -0
  1223. siphrix-1.0.0/tests/test_point3_stage341_orchestration_hardening.py +416 -0
  1224. siphrix-1.0.0/tests/test_point3_stage34_orchestration.py +494 -0
  1225. siphrix-1.0.0/tests/test_point3_stage351_postclosure_governance.py +319 -0
  1226. siphrix-1.0.0/tests/test_point3_stage35_closure.py +450 -0
  1227. siphrix-1.0.0/tests/test_point4_stage411_audit_hardening.py +699 -0
  1228. siphrix-1.0.0/tests/test_point4_stage412_forensic_readiness.py +532 -0
  1229. siphrix-1.0.0/tests/test_point4_stage421_query_hardening.py +763 -0
  1230. siphrix-1.0.0/tests/test_point4_stage42_audit_query_engine.py +551 -0
  1231. siphrix-1.0.0/tests/test_point4_stage431_incident_hardening.py +672 -0
  1232. siphrix-1.0.0/tests/test_point4_stage43_incident_reconstruction.py +754 -0
  1233. siphrix-1.0.0/tests/test_point4_stage441_final_closure.py +350 -0
  1234. siphrix-1.0.0/tests/test_point4_stage44_packaging_surfaces.py +422 -0
  1235. siphrix-1.0.0/tests/test_policy_attestation_view.py +591 -0
  1236. siphrix-1.0.0/tests/test_policy_builder_contracts.py +998 -0
  1237. siphrix-1.0.0/tests/test_policy_builder_error_hygiene.py +1067 -0
  1238. siphrix-1.0.0/tests/test_policy_environment_view.py +631 -0
  1239. siphrix-1.0.0/tests/test_policy_input_contract.py +119 -0
  1240. siphrix-1.0.0/tests/test_policy_intake_governance.py +530 -0
  1241. siphrix-1.0.0/tests/test_policy_lineage_engine.py +172 -0
  1242. siphrix-1.0.0/tests/test_policy_lineage_graph.py +589 -0
  1243. siphrix-1.0.0/tests/test_policy_loader_hardening.py +500 -0
  1244. siphrix-1.0.0/tests/test_policy_model_hardening.py +760 -0
  1245. siphrix-1.0.0/tests/test_policy_operator_api_auth.py +204 -0
  1246. siphrix-1.0.0/tests/test_policy_pack_bridge.py +190 -0
  1247. siphrix-1.0.0/tests/test_policy_pack_signing.py +712 -0
  1248. siphrix-1.0.0/tests/test_policy_packs.py +84 -0
  1249. siphrix-1.0.0/tests/test_policy_promotion_execution.py +539 -0
  1250. siphrix-1.0.0/tests/test_policy_registry_config.py +212 -0
  1251. siphrix-1.0.0/tests/test_policy_registry_intake.py +492 -0
  1252. siphrix-1.0.0/tests/test_policy_registry_view.py +363 -0
  1253. siphrix-1.0.0/tests/test_policy_remote.py +225 -0
  1254. siphrix-1.0.0/tests/test_policy_remote_cache_path.py +144 -0
  1255. siphrix-1.0.0/tests/test_policy_rollback_execution.py +896 -0
  1256. siphrix-1.0.0/tests/test_policy_runtime_rule_eval_hardening.py +260 -0
  1257. siphrix-1.0.0/tests/test_policy_runtime_sensitive_intent.py +268 -0
  1258. siphrix-1.0.0/tests/test_policy_runtime_v2.py +141 -0
  1259. siphrix-1.0.0/tests/test_policy_runtime_v3.py +151 -0
  1260. siphrix-1.0.0/tests/test_policy_runtime_v4.py +243 -0
  1261. siphrix-1.0.0/tests/test_policy_runtime_v4_complete.py +168 -0
  1262. siphrix-1.0.0/tests/test_policy_schema_version_lock.py +473 -0
  1263. siphrix-1.0.0/tests/test_policy_shadowing_detection.py +457 -0
  1264. siphrix-1.0.0/tests/test_policy_tenant_view.py +381 -0
  1265. siphrix-1.0.0/tests/test_policy_transition_governance.py +790 -0
  1266. siphrix-1.0.0/tests/test_policy_versioned_policy_codec.py +432 -0
  1267. siphrix-1.0.0/tests/test_policy_versioning_e2e_lifecycle.py +378 -0
  1268. siphrix-1.0.0/tests/test_policy_versioning_foundation.py +191 -0
  1269. siphrix-1.0.0/tests/test_policy_versioning_public_api_pin.py +138 -0
  1270. siphrix-1.0.0/tests/test_policy_workspace.py +262 -0
  1271. siphrix-1.0.0/tests/test_private_beta_acceptance_docs.py +304 -0
  1272. siphrix-1.0.0/tests/test_private_beta_release_readiness.py +280 -0
  1273. siphrix-1.0.0/tests/test_product_positioning.py +333 -0
  1274. siphrix-1.0.0/tests/test_public_api_surface.py +118 -0
  1275. siphrix-1.0.0/tests/test_quorum_requirement_record_closure.py +123 -0
  1276. siphrix-1.0.0/tests/test_quorum_requirement_record_foundation.py +107 -0
  1277. siphrix-1.0.0/tests/test_quorum_requirement_record_hardening.py +436 -0
  1278. siphrix-1.0.0/tests/test_quorum_resolver.py +704 -0
  1279. siphrix-1.0.0/tests/test_r11_acceptance_docs.py +449 -0
  1280. siphrix-1.0.0/tests/test_readiness_audit_chain.py +348 -0
  1281. siphrix-1.0.0/tests/test_readiness_audit_posture.py +243 -0
  1282. siphrix-1.0.0/tests/test_readiness_executor_wiring.py +165 -0
  1283. siphrix-1.0.0/tests/test_readiness_launch_gate.py +322 -0
  1284. siphrix-1.0.0/tests/test_readiness_policy_shadowing.py +394 -0
  1285. siphrix-1.0.0/tests/test_readiness_remote_policy_cache.py +368 -0
  1286. siphrix-1.0.0/tests/test_release_artifact_hygiene.py +602 -0
  1287. siphrix-1.0.0/tests/test_release_gate_model.py +404 -0
  1288. siphrix-1.0.0/tests/test_release_gate_workflow.py +371 -0
  1289. siphrix-1.0.0/tests/test_release_hardening.py +278 -0
  1290. siphrix-1.0.0/tests/test_release_install_smoke.py +350 -0
  1291. siphrix-1.0.0/tests/test_release_signing.py +443 -0
  1292. siphrix-1.0.0/tests/test_replay_context_audit_layer_closure.py +591 -0
  1293. siphrix-1.0.0/tests/test_replay_engine.py +2999 -0
  1294. siphrix-1.0.0/tests/test_replay_lab_contracts.py +1357 -0
  1295. siphrix-1.0.0/tests/test_replay_lab_error_hygiene.py +844 -0
  1296. siphrix-1.0.0/tests/test_replay_record.py +491 -0
  1297. siphrix-1.0.0/tests/test_replay_record_closure.py +374 -0
  1298. siphrix-1.0.0/tests/test_replay_record_hardening.py +841 -0
  1299. siphrix-1.0.0/tests/test_replay_validation_pack.py +263 -0
  1300. siphrix-1.0.0/tests/test_replay_validation_pack_closure.py +315 -0
  1301. siphrix-1.0.0/tests/test_replay_validation_pack_hardening.py +633 -0
  1302. siphrix-1.0.0/tests/test_replay_workspace.py +169 -0
  1303. siphrix-1.0.0/tests/test_repo_hygiene.py +386 -0
  1304. siphrix-1.0.0/tests/test_repo_structure_invariants.py +329 -0
  1305. siphrix-1.0.0/tests/test_resilience_distributed_orchestrator_closure.py +668 -0
  1306. siphrix-1.0.0/tests/test_resilience_operational_closure.py +477 -0
  1307. siphrix-1.0.0/tests/test_resilience_surface.py +135 -0
  1308. siphrix-1.0.0/tests/test_risk_action_decision.py +248 -0
  1309. siphrix-1.0.0/tests/test_risk_contracts.py +641 -0
  1310. siphrix-1.0.0/tests/test_risk_execution.py +222 -0
  1311. siphrix-1.0.0/tests/test_risk_explainer.py +204 -0
  1312. siphrix-1.0.0/tests/test_risk_factor_engine.py +388 -0
  1313. siphrix-1.0.0/tests/test_risk_feed_workspace.py +210 -0
  1314. siphrix-1.0.0/tests/test_risk_live_policy_runtime_integration.py +564 -0
  1315. siphrix-1.0.0/tests/test_risk_orchestration.py +152 -0
  1316. siphrix-1.0.0/tests/test_risk_score_aggregation.py +352 -0
  1317. siphrix-1.0.0/tests/test_risk_score_response_integration.py +295 -0
  1318. siphrix-1.0.0/tests/test_role_policy_resolver.py +38 -0
  1319. siphrix-1.0.0/tests/test_rule_eval_property.py +340 -0
  1320. siphrix-1.0.0/tests/test_runtime_config.py +218 -0
  1321. siphrix-1.0.0/tests/test_runtime_paths_consolidation.py +410 -0
  1322. siphrix-1.0.0/tests/test_runtime_workspace.py +294 -0
  1323. siphrix-1.0.0/tests/test_safe_defaults_posture.py +283 -0
  1324. siphrix-1.0.0/tests/test_sandbox_executor_docker_runner.py +247 -0
  1325. siphrix-1.0.0/tests/test_sdk_cli_polish.py +243 -0
  1326. siphrix-1.0.0/tests/test_sensitive_detector_protocol.py +264 -0
  1327. siphrix-1.0.0/tests/test_serialization_compat.py +958 -0
  1328. siphrix-1.0.0/tests/test_shell_executor_hardening.py +143 -0
  1329. siphrix-1.0.0/tests/test_simulation_audit.py +1134 -0
  1330. siphrix-1.0.0/tests/test_simulation_console_projection.py +772 -0
  1331. siphrix-1.0.0/tests/test_simulation_contracts.py +776 -0
  1332. siphrix-1.0.0/tests/test_simulation_engine.py +1073 -0
  1333. siphrix-1.0.0/tests/test_simulation_executor_parity.py +262 -0
  1334. siphrix-1.0.0/tests/test_simulation_side_effects.py +1115 -0
  1335. siphrix-1.0.0/tests/test_snapshot_integrity.py +1129 -0
  1336. siphrix-1.0.0/tests/test_test_layout_invariants.py +126 -0
  1337. siphrix-1.0.0/tests/test_trust_attestation_record_closure.py +143 -0
  1338. siphrix-1.0.0/tests/test_trust_attestation_record_foundation.py +107 -0
  1339. siphrix-1.0.0/tests/test_trust_attestation_record_hardening.py +772 -0
  1340. siphrix-1.0.0/tests/test_trust_boundary_record_closure.py +144 -0
  1341. siphrix-1.0.0/tests/test_trust_boundary_record_foundation.py +107 -0
  1342. siphrix-1.0.0/tests/test_trust_boundary_record_hardening.py +814 -0
  1343. siphrix-1.0.0/tests/test_trust_hardening.py +1171 -0
  1344. siphrix-1.0.0/tests/test_trust_posture.py +410 -0
  1345. siphrix-1.0.0/tests/test_trust_relation_record_closure.py +123 -0
  1346. siphrix-1.0.0/tests/test_trust_relation_record_foundation.py +107 -0
  1347. siphrix-1.0.0/tests/test_trust_relation_record_hardening.py +427 -0
  1348. siphrix-1.0.0/tests/test_trust_relations.py +567 -0
  1349. siphrix-1.0.0/tests/test_trust_secret_rotation_runtime.py +279 -0
  1350. siphrix-1.0.0/tests/test_ui_dashboard_spec.py +512 -0
  1351. siphrix-1.0.0/tests/test_universal_ai_firewall_demo.py +163 -0
  1352. siphrix-1.0.0/tests/test_web_console_mvp.py +818 -0
  1353. siphrix-1.0.0/tests/test_windows_installer_contract.py +780 -0
  1354. siphrix-1.0.0/tests/test_workspace_links.py +315 -0
@@ -0,0 +1,433 @@
1
+ # Changelog
2
+
3
+ ## Unreleased — rebrand to Siphrix
4
+
5
+ ### Product rename: AlterSpec → Siphrix
6
+ - renamed the Python package, console script, and PyPI distribution
7
+ from `alterspec` to `siphrix` (`import siphrix`, `siphrix ...`)
8
+ - renamed the operator environment-variable contract from
9
+ `ALTERSPEC_*` to `SIPHRIX_*` and the default runtime home from
10
+ `~/.alterspec` to `~/.siphrix` (clean break — pre-beta, no migration
11
+ shim; existing `~/.alterspec` state is not auto-migrated)
12
+ - renamed all brand strings in CLI/console output, docs, and fixtures
13
+ (21,238 occurrences across 1,331 files); `git mv alterspec siphrix`
14
+ for the package tree plus the dashboard/docs/installer/research paths
15
+ - no behaviour change: the policy engine, runtime, contracts, schema
16
+ identifiers, and reason codes are unchanged; the full suite
17
+ (29,864 passed, 16 skipped) and `release_check.py` (PUBLISH OK) are
18
+ green on the renamed package
19
+ - external follow-up (not an in-repo change): the GitHub repository
20
+ must be renamed to `siphrix` for the rewritten project URLs to
21
+ resolve
22
+
23
+ ## v1.0.0 — final release structure
24
+
25
+ ### Release-grade reorganization
26
+ - consolidated the canonical integration library into `siphrix.integrations`
27
+ (`audit`, `layer_utils`, `snapshot`); the former `siphrix.examples.*`
28
+ modules remain as backward-compatibility re-export shims
29
+ - moved `role_policy_resolver` into the package at
30
+ `siphrix.policy_packs.resolver`; policy pack YAMLs (`safe_defaults`,
31
+ `enterprise_defaults`, `dev_agent_defaults`) and role overlays
32
+ (`admin`, `developer`, `finance`, `support`) are now shipped as package data
33
+ - relocated demo agents (`app.py`, `demo_scenarios.py`, `example_agent.py`,
34
+ `example_agent_openai.py`) to `examples/` at the repo root (not packaged)
35
+ - relocated the operator control panel to `tools/integration_control_panel.py`
36
+ and dev scripts to `scripts/` (not packaged)
37
+ - moved `POLICY_VERSIONING_ARCHITECTURE.md` to `docs/architecture/`
38
+ - moved v3/v4 compatibility policy fixtures to `tests/fixtures/policies/compat/`
39
+
40
+ ### Runtime side-effect isolation
41
+ - `siphrix.logs.logger` and `siphrix.state.state_manager` now write to
42
+ `~/.siphrix/` by default; `SIPHRIX_HOME`, `SIPHRIX_LOG_PATH`, and
43
+ `SIPHRIX_STATE_PATH` override the paths
44
+ - `siphrix.policy_remote`, `siphrix.trust.policy_remote_guard`,
45
+ `siphrix.policy_sources.source`, and `siphrix.engine.runner_profiles`
46
+ no longer write into the package source tree; all defaults resolve under
47
+ `~/.siphrix/` with matching env-var overrides
48
+ - `siphrix.memory.api` no longer defaults to the package-local path
49
+ `siphrix/memory/memory_store.json`; the canonical default is now
50
+ `$SIPHRIX_HOME/memory/memory_store.json` (defaulting to
51
+ `~/.siphrix/memory/memory_store.json`), resolved via the new
52
+ `siphrix.runtime_paths` helper. The parent directory is created on
53
+ first use; a legacy repo-local seed is migrated verbatim only when the
54
+ canonical runtime file does not yet exist
55
+
56
+ ### Trust posture
57
+ - introduced `siphrix.trust.trust_mode` with two explicit postures:
58
+ `development` (default) and `hardened` (requires
59
+ `$SIPHRIX_TRUST_SEAL_SECRET` ≥ 32 bytes or an explicit caller
60
+ argument; fails closed with stable `trust_seal_secret_missing` /
61
+ `trust_seal_secret_too_short` codes)
62
+ - `siphrix.trust.trust_seal` now routes secret resolution through the
63
+ posture resolver; hardened-mode sign / verify never falls back to the
64
+ development default. The historical `DEFAULT_TRUST_SEAL_SECRET`
65
+ constant is preserved as a development-only alias of the built-in
66
+ development secret for backwards compatibility
67
+ - added `siphrix.readiness.checks.check_trust_posture`; wired into
68
+ `siphrix.doctor.run_doctor` (canonical check count 4 → 5) and into
69
+ the `ALL_CHECKS` tuple in readiness (8 → 9)
70
+ - documented the reference remote-policy server as a development /
71
+ reference surface only, with an explicit tie-in to the trust-mode
72
+ concept
73
+
74
+ ### Readiness / doctor launch gate
75
+ - added `siphrix.readiness.checks.check_runtime_paths` — verifies
76
+ canonical runtime path resolution and guards against regressions
77
+ where a resolved path would fall inside the installed package tree
78
+ - added `siphrix.readiness.checks.check_runtime_home_writable` — real
79
+ write-probe against `ensure_siphrix_home()` (creates + writes +
80
+ reads + removes a short marker file); `UNHEALTHY` if the runtime
81
+ home cannot be created or written
82
+ - `ALL_CHECKS` tuple grew from 9 → 11 entries; `test_point11_readiness`
83
+ count assertion updated
84
+ - `check_core_package` in `siphrix.doctor` now also reports a
85
+ `DEGRADED` posture when `siphrix.__version__` diverges from
86
+ `pyproject.toml`'s `[project].version` (repo / editable installs only)
87
+ - `assess_system_readiness` now injects a structured
88
+ `metadata["launch_readiness"]` with two booleans
89
+ (`development_ready` / `production_ready`) plus per-gate `blocking`
90
+ subsystem lists. `production_ready` requires every check HEALTHY
91
+ *and* `trust_posture.production_ready=True`
92
+ - new `siphrix.readiness.format_report` — compact operator-grade
93
+ text renderer for human / CI logs. JSON consumers continue to use
94
+ `SystemHealthReport.to_dict()`
95
+ - the doctor surface (`siphrix doctor` / `run_doctor`) inherits the
96
+ launch-readiness metadata automatically; 3 live postures verified
97
+ (dev default, hardened-missing-secret, hardened-configured)
98
+
99
+ ### CLI polish
100
+ - top-level description updated to
101
+ "Siphrix — AI Action Firewall & Policy Runtime."
102
+ - `--help` now includes a stable `examples:` epilog, a brief
103
+ launch-gate note, and a trust-posture note — every subcommand stays
104
+ visible under `positional arguments`
105
+ - **new `siphrix doctor --json`** — emits the full
106
+ `SystemHealthReport.to_dict()` as JSON (indent=2, sort_keys=True)
107
+ with no text preamble, so `siphrix doctor --json | jq
108
+ .metadata.launch_readiness.production_ready` works as a CI gate
109
+ - `siphrix doctor` text mode now uses the shared
110
+ `siphrix.readiness.format_report`, which renders the
111
+ launch-readiness block alongside the per-subsystem status lines.
112
+ The legacy `siphrix doctor: <summary>` first line is preserved
113
+ so existing scripts that grep for it keep working
114
+ - `format_report` status glyphs realigned to the full-word format
115
+ already pinned by the CLI test surface
116
+ (`[HEALTHY]`/`[DEGRADED]`/`[UNHEALTHY]`/`[SKIPPED]`)
117
+ - exit code contract for `siphrix doctor` unchanged: `0` on `READY`
118
+ or `DEGRADED`, `1` on `NOT_READY`; JSON mode propagates the same
119
+ exit code so CI jobs gate correctly regardless of output format
120
+
121
+ ### Examples: official golden-path demo
122
+ - **new `examples/official_demo.py`** — the official Siphrix product
123
+ demo. A single provider-neutral script with three tightly curated
124
+ flows in one run:
125
+ 1. **Demo 1 — Blocked unsafe action**: a destructive `file_delete`
126
+ is blocked under the shipped `safe_defaults` pack
127
+ (`blocked_by_global:file_delete_blocked_by_pack`, matched rule
128
+ `block_file_delete`).
129
+ 2. **Demo 2 — Allowed safe action**: a read-only `file_read` is
130
+ explicitly allowed (`allow_all_layers`, matched rule
131
+ `allow_file_read`).
132
+ 3. **Demo 3 — Auditable decisions + launch-readiness posture**:
133
+ prints the decision trail (with `decision_id` and reason codes)
134
+ and the `siphrix doctor` launch-readiness block.
135
+ No third-party SDK, no network, no API keys. Runs entirely against
136
+ the shipped policy pack translated on the fly via
137
+ `siphrix.policy_packs.export_policy_pack`.
138
+ - `examples/example_agent_openai.py` now carries a prominent
139
+ module docstring marking it as optional / provider-specific (requires
140
+ `pip install openai` and a valid `OPENAI_API_KEY`). The golden path
141
+ is provider-neutral.
142
+ - README Quickstart updated to introduce `python examples/official_demo.py`
143
+ as the official one-command demo; existing references to
144
+ `basic_agent`, `tool_calling`, `universal_pattern` are preserved as
145
+ the three focused single-shape walkthroughs.
146
+ - new `tests/test_official_demo_smoke.py` — 7 tests pinning the
147
+ golden-path contract: exit code, three-banner layout, BLOCK/ALLOW
148
+ verdicts with their decision_ids and matched-rule ids, doctor
149
+ launch-readiness block, no `SIPHRIX_POLICY_FILE` leak into the
150
+ parent process, no `openai` SDK import.
151
+
152
+ ### Packaging / install surface
153
+ - **new `siphrix demo` CLI subcommand** — the official golden-path
154
+ product demo is now reachable from any `pip install siphrix` as
155
+ `siphrix demo`. The demo core moved into the installable package
156
+ at `siphrix/cli/demo.py`; `examples/official_demo.py` is now a
157
+ thin wrapper over `siphrix.cli.demo.main` so both invocation
158
+ styles run byte-identical code.
159
+ - `pyproject.toml` metadata tightened:
160
+ - `description` now reads
161
+ "Siphrix — AI Action Firewall & Policy Runtime. Evaluates
162
+ every agent action against a policy before execution, emits an
163
+ auditable decision trail, and fails closed when in doubt."
164
+ - 10-entry `keywords` list (`ai`, `ai-agents`, `ai-safety`,
165
+ `action-firewall`, `policy-engine`, `policy-runtime`,
166
+ `governance`, `audit`, `enforcement`, `fail-closed`).
167
+ - Full `classifiers` block: MIT License, Python 3.11–3.14,
168
+ Production/Stable, Typed, Security + Monitoring topics.
169
+ - `project.urls` now includes `Homepage` and `Issues` alongside
170
+ the existing `Repository` / `Documentation` / `Changelog`.
171
+ - New `[project.optional-dependencies].build = ["build>=1.0",
172
+ "twine>=5.0"]` so operators can `pip install siphrix[build]`
173
+ for release tooling.
174
+ - `siphrix.cli.demo` ships as part of the wheel (confirmed 778
175
+ entries, `siphrix/cli/demo.py` present). Entry point remains
176
+ `siphrix = siphrix.cli.app:main`.
177
+ - `siphrix.cli.demo.main` now scopes both `SIPHRIX_POLICY_FILE`
178
+ and `SIPHRIX_NO_SIDE_EFFECTS` so the demo narrative is stable
179
+ regardless of the caller's ambient environment. Variables are
180
+ restored to their original values in `finally`.
181
+ - Fixed a pre-existing test-isolation leak in
182
+ `ConfigIntegrationTests` (`test_cli.py`): a tearDown now clears
183
+ `SIPHRIX_NO_SIDE_EFFECTS` after tests that invoke
184
+ `--profile safe_defaults`.
185
+ - **new `tests/test_packaging_surface.py`** — 15 tests pinning the
186
+ shipped contract without requiring a full `python -m build`:
187
+ pyproject metadata truthfulness (description / keywords / MIT
188
+ classifier / Python version classifiers / Homepage + Issues URLs /
189
+ `siphrix = siphrix.cli.app:main` entry point), public API
190
+ shape (`siphrix.__all__` vs expected 9-name set), shipped policy
191
+ pack + role overlay + canon YAMLs physically on disk next to the
192
+ installed package, `siphrix.cli.demo.main` importable, repo-only
193
+ subtrees (`siphrix.tests`, `siphrix.research`,
194
+ `siphrix.devtools.pytest_fallback`) excluded from the wheel by
195
+ the `[tool.setuptools.packages.find] exclude` list.
196
+ - README Quickstart reorganised: step 2 is now the official
197
+ `siphrix demo` golden path (replaces the raw `python
198
+ examples/official_demo.py` form while still documenting the repo
199
+ entry point as an equivalent). New "What ships vs. what's
200
+ repo-only" table clarifies the installed surface.
201
+ - Verified end-to-end by building the wheel, installing into a
202
+ clean venv, and exercising `siphrix --help`, `version`, `packs`,
203
+ `doctor`, `demo` — all succeed from the wheel install.
204
+
205
+ ### Product narrative & positioning consistency
206
+ - Established **one canonical product tagline** used verbatim on
207
+ every first-impression surface:
208
+ "Siphrix — AI Action Firewall & Policy Runtime."
209
+ - Aligned the five identity surfaces:
210
+ - `README.md` opening line (was: "A runtime enforcement engine
211
+ for AI agents.") + second identity restatement further down
212
+ (was: "canonical enforcement engine for AI systems").
213
+ - `siphrix/__init__.py` module docstring first line (was:
214
+ "deterministic runtime control layer for AI systems.").
215
+ - `SECURITY.md` opening paragraph — new "**Siphrix — AI Action
216
+ Firewall & Policy Runtime.**" lead preserves the existing
217
+ threat-model content verbatim.
218
+ - `pyproject.toml` `description` — unchanged (already aligned in
219
+ the packaging round).
220
+ - `siphrix` CLI top-level `--help` — unchanged (already aligned
221
+ in the CLI round).
222
+ - Introduced explicit **supporting-layer vocabulary** so the one
223
+ external identity does not erase internal architecture detail:
224
+ *policy decision layer*, *runtime enforcement layer*,
225
+ *trust / audit / governance support layer*, *operator readiness
226
+ surface*. The README's "What Siphrix v1.0.0 Includes" section
227
+ now groups every existing feature bullet under one of the four
228
+ layers — no feature removed, no capability renamed, just a
229
+ reading-aid regrouping.
230
+ - **new `tests/test_product_positioning.py`** — 8 narrow, robust
231
+ invariants: canonical tagline present at the head of README,
232
+ SECURITY, package docstring, pyproject description; CLI module
233
+ carries the product-positioning phrase; three historic identity
234
+ phrases ("runtime enforcement engine for AI", "deterministic
235
+ runtime control layer for AI", "canonical enforcement engine for
236
+ AI") are banned from the head of each identity surface; the four
237
+ supporting-layer labels remain legible somewhere in README; and
238
+ the three real installed commands (`siphrix doctor`,
239
+ `siphrix doctor --json`, `siphrix demo`) are documented in
240
+ README. The tests are **head-scoped** on each file: supporting-layer
241
+ vocabulary deeper in the docs remains legitimate architecture
242
+ language and is explicitly not policed.
243
+
244
+ ### Release workflow & three-gate release model
245
+ - Introduced the canonical **three-gate release model** inside
246
+ `tools/release_check.py`, with named constants:
247
+ - `repo_ready` — repo healthy for development (members:
248
+ `doctor`, `version_consistency`).
249
+ - `package_ready` — package safe to publish (members:
250
+ `build_artifacts`, `wheel_contents`, `sdist_contents`,
251
+ `twine_check`, `install_smoke`).
252
+ - `production_posture_ready` — **informational** gate derived
253
+ from `siphrix doctor`'s `launch_readiness.production_ready`
254
+ bit. Not a publication blocker in the default exit-code
255
+ contract.
256
+ - New PASS / WARN / FAIL banner (`_format_gate_banner`): lists each
257
+ gate with its verdict and per-gate blockers, ends with one
258
+ decision line (`OVERALL: PUBLISH OK` / `OVERALL: DO NOT PUBLISH`
259
+ / `OVERALL: BLOCKED (--strict-production)`) that operators and CI
260
+ can grep.
261
+ - New `--strict-production` CLI flag — exit code `2` when repo and
262
+ package gates both PASS but production posture is not PASS. Useful
263
+ for release cuts that must land on a hardened install.
264
+ - Legacy `--strict` flag preserved: promotes DEGRADED/SKIPPED in
265
+ the two publication gates to FAIL.
266
+ - Exit-code contract documented: `0` = publish OK, `1` = repo or
267
+ package gate failed, `2` = `--strict-production` caught a
268
+ development-posture install.
269
+ - JSON output (`--json`) carries a new `release_gates` section with
270
+ per-gate `verdict` + `blockers` + the final `exit_code`, so CI
271
+ jobs gate directly on a stable machine-readable shape.
272
+ - **new `docs/release/RELEASE_RUNBOOK.md`** — the canonical live
273
+ release runbook. One page. Three-gate model explained. Preflight
274
+ checklist. One canonical release-gate command. Manual smoke
275
+ against the exact installed CLI surface (`siphrix version`,
276
+ `siphrix --help`, `siphrix doctor`, `siphrix doctor --json`,
277
+ `siphrix demo`). Publish + rollback steps.
278
+ - `CONTRIBUTING.md` grows a short "Release flow" section pointing
279
+ at the runbook and naming the canonical gate command.
280
+ - `docs/release/README.md` promotes the runbook to the canonical
281
+ (live) section.
282
+ - README "Release Documents" list leads with the runbook.
283
+ - **new `tests/test_release_gate_model.py`** — 22 invariants across
284
+ 5 test classes: three gate constants exist; gate membership is a
285
+ partition of `SUBSYSTEM_IDS`; `production_posture_ready` is not a
286
+ subsystem id; gate verdict logic (PASS / WARN / FAIL + `--strict`
287
+ promotion); exit-code contract for all three documented cases
288
+ (publish OK, publish OK with production WARN, publish blocked,
289
+ `--strict-production` exit 2); banner shape; runbook + CONTRIBUTING
290
+ consistency (names the gates, references the canonical command,
291
+ lists every installed smoke command). Together these prove the
292
+ release model is machine-pinned and cannot silently drift.
293
+ - Live end-to-end demonstrated against the current working tree
294
+ (repo_ready=PASS, package_ready=FAIL, production_posture_ready=WARN,
295
+ OVERALL=DO NOT PUBLISH, exit 1) — a pre-existing Windows
296
+ `install_smoke` path race, independent of this round's changes.
297
+ - every repo-level test that previously wrote into `tests/.tmp/` now writes
298
+ under `tempfile.gettempdir()/siphrix/`; the executor-adapter tests use
299
+ the same tempfile root instead of a repo-local `tests_runtime/` directory
300
+
301
+ ### Packaging discipline
302
+ - `pyproject.toml` explicitly excludes `siphrix.tests`, `siphrix.research`,
303
+ and `siphrix.devtools.pytest_fallback` from the installable wheel while
304
+ keeping them in the repository for CI
305
+ - `MANIFEST.in` prunes the same subtrees from the sdist; wheel + sdist contents
306
+ audited post-build (748 / 1 129 entries, zero leakage of forbidden subtrees)
307
+ - removed the repo-root `pytest/` shadow module that was shadowing the real
308
+ `pytest` package; the offline fallback remains only at
309
+ `siphrix/devtools/pytest_fallback/`
310
+
311
+ ### CI release gate
312
+ - **new `.github/workflows/release-gate.yml`** — CI workflow that runs
313
+ `tools/release_check.py` on push/PR across Python 3.11 and 3.12, uses
314
+ `--strict` on `v*` tag pushes, uploads the built `dist/` only on tag
315
+ builds, and (when configured with a GitHub Environment) chains a
316
+ manually-approved `publish-pypi` job that uses PyPI Trusted Publishing
317
+ (OIDC) — no long-lived API tokens stored in the repository
318
+ - `make release-check` — local equivalent of the CI job
319
+
320
+ ### Release artifact signing
321
+ - **new `siphrix.release`** module with the canonical release-manifest
322
+ helpers (`build_release_manifest`, `sign_release_manifest`,
323
+ `write_release_manifest`, `load_release_manifest`,
324
+ `verify_release_manifest`). The signed manifest is canonical JSON over
325
+ every declared artifact's name, size, and SHA-256, signed once with
326
+ Ed25519 via `siphrix.foundation.proof_bundle` (no new crypto
327
+ primitive)
328
+ - **new `tools/release_sign.py`** — operator script. Runs after
329
+ `python -m build` over a populated `dist/` directory and writes
330
+ `dist/release_manifest.json`. Private keys stay outside the repo via
331
+ the on-disk convention already owned by
332
+ `foundation.proof_bundle.ensure_keypair`
333
+ - **new `tools/release_verify.py`** — consumer-side verifier. Re-hashes
334
+ every declared artifact and verifies the Ed25519 signature; exits
335
+ non-zero on any tamper
336
+ - **new `tests/test_release_signing.py`** — 28 offline tests covering
337
+ digest correctness, manifest round-trip, tamper detection (wheel
338
+ bytes, sdist bytes, missing artifact, forged signature, edited
339
+ manifest field), deterministic verification, and end-to-end operator
340
+ flow
341
+
342
+ ### Operator dashboard (all 8 pages shipped, framework-free)
343
+ - **new `docs/ui/DASHBOARD.md`** — canonical dashboard spec: page map,
344
+ component list, data contracts, UI states, explicit out-of-scope
345
+ list. The dashboard is a **read-only-or-ephemeral projection** of
346
+ existing product surfaces — no new backend, no framework, no npm
347
+ - **new `tools/siphrix_dashboard/`** — the implementation. Stdlib-only
348
+ Python dev server + plain HTML + vanilla JS. Every `/api/*` endpoint
349
+ is a thin adapter over an already-shipped command or Python helper
350
+ - **v1 pages** (read-only projections): **Overview**, **Readiness**,
351
+ **Policy Packs**, **Release State** — each binds to
352
+ `siphrix doctor --json`, `siphrix.policy_packs.list_policy_packs()`,
353
+ and `python tools/release_check.py --json`
354
+ - **v2 pages** (ephemeral endpoints with bounded input contracts):
355
+ **Audit** (read-only view of the canonical events log, pinned to
356
+ `runtime_paths.events_log_path()`; closed-vocabulary chip filter,
357
+ not a filesystem browser); **Policy Check** (one textarea → one
358
+ `PolicyManager.decide()` call gated by `PolicyInput.from_dict()`;
359
+ 64 KB body cap, never writes); **Demo** (one button shelling out to
360
+ the canonical `siphrix demo` CLI with a 30 s timeout and a 256 KB
361
+ per-stream cap; not a terminal emulator); **Runtime** (one textarea →
362
+ one `run_pipeline()` call in-process; 16 KB input cap; does **not**
363
+ call `RuntimeConfig.apply()`, so no env vars leak into the dev
364
+ server process)
365
+ - Six read-only GET endpoints (`/api/doctor`, `/api/packs`,
366
+ `/api/release`, `/api/runtime-paths`, `/api/version`, `/api/audit`) +
367
+ three ephemeral POST endpoints (`/api/policy-check`, `/api/demo`,
368
+ `/api/runtime-run`), all documented at `docs/ui/DASHBOARD.md` §5.
369
+ Every POST envelope carries a uniform `{status, error, …}` shape so
370
+ UI code can assume the key set
371
+ - **new `tests/test_dashboard_shell.py`** — ~115 tests across 13
372
+ classes pinning file layout, nav wiring, shared-asset references,
373
+ endpoint shapes + live smoke, no-write-path invariants, scope
374
+ guarantees (no arbitrary command / file-path / profile knobs on any
375
+ POST endpoint), and cross-page consistency invariants
376
+ - **new `tests/test_ui_dashboard_spec.py`** — 29 tests pinning the
377
+ spec structure, data-contract grounding, framework-free stance, and
378
+ showcase-readiness pointers
379
+
380
+ ### Showcase + public handoff
381
+ - **new `docs/ui/SHOWCASE.md`** — 5-minute operator tour covering
382
+ version / doctor → demo → dashboard → release gate. Every command,
383
+ file path, and return shape is the one shipping today
384
+ - README Quickstart grows a dashboard-launch step and a direct
385
+ pointer to `docs/ui/SHOWCASE.md`
386
+ - `docs/ui/README.md` rewritten to reflect the shipped 8-page reality;
387
+ historical "v1 shell" / "reserved stubs" framing removed
388
+ - `tools/siphrix_dashboard/README.md` drops per-page "Xth
389
+ implemented v2 page" narrative; all pages read as one grouped set
390
+ - `docs/release/README.md` + `docs/README.md` indexes updated to
391
+ reference the Showcase doc and the CI release-gate workflow
392
+
393
+ ## v1.0.0
394
+
395
+ ### Core product
396
+ - established the canonical non-versioned `siphrix` product surface
397
+ - absorbed historical feature tracks into the active package tree
398
+ - hardened runtime, trust, governance, resilience, analysis, and testing paths
399
+ - added the canonical kernel syscall interception layer
400
+ - added distribution channel foundation and policy versioning architecture
401
+ - completed Stage 2.1 ultra hardening across all modules
402
+
403
+ ### Packaging and release metadata
404
+ - added `MANIFEST.in` and `[project.urls]` for release-grade packaging
405
+ - aligned version string across `README`, `CHANGELOG`, `pyproject.toml`, and `__init__.py`
406
+ - added root-level `.gitignore` protecting `.venv/`, `.claude/`, cache / build artefacts
407
+ - added `SECURITY.md` and `CONTRIBUTING.md`
408
+ - added GitHub Actions CI with smoke (3.11 / 3.12), structural invariants, and coverage jobs
409
+
410
+ ### Structural cleanup
411
+ - removed three empty / dead directories (`state/`, `tests_runtime/` scaffold, `siphrix/framework/`)
412
+ - removed root-level `integration_snapshot.py` and `planner_contract.py` compatibility shims
413
+ - removed duplicate root-level `planners/` directory; the canonical location is `siphrix.adapters.planners`
414
+ - merged canonical builder functions from `siphrix/examples/` into the root-level integration scripts
415
+ - migrated 23 imports to canonical paths (`siphrix.contracts.planner`, `siphrix.adapters.planners.*`)
416
+
417
+ ### API surface
418
+ - replaced wildcard `__init__.py` re-exports in `siphrix.governance` and
419
+ `siphrix.policy_versioning` with 454 and 1137 explicitly enumerated public symbols
420
+ - added `test_public_api_surface` and `test_repo_structure_invariants` to lock in the
421
+ explicit export contract
422
+
423
+ ### Internal hardening
424
+ - replaced the Canon DSL `eval()` call with an AST-whitelisted evaluator that
425
+ rejects function calls, subscripts, arithmetic, lambdas, and comprehensions
426
+ before any value is read
427
+ - added defence-in-depth limits to the shell executor: 512-character command
428
+ length cap, 16-argument cap, 10-second subprocess timeout, null byte and
429
+ newline rejection
430
+ - added a transport scheme allowlist (`http` / `https`) and a 16 MiB response
431
+ body cap to the `http_get` choke point, both enforced before policy
432
+ evaluation runs
433
+ - added hardening test suites for the three boundaries above
@@ -0,0 +1,191 @@
1
+ # Contributing to Siphrix
2
+
3
+ Thank you for taking the time to contribute. Siphrix is a small,
4
+ focused codebase; keeping it that way is the point. This document
5
+ describes how to set up your environment, run the tests, and make
6
+ changes that do not regress the guarantees the project already provides.
7
+
8
+ ## Development environment
9
+
10
+ Requirements:
11
+ - Python 3.11 or newer (CI covers 3.11 and 3.12)
12
+ - `git`
13
+
14
+ Set up:
15
+
16
+ ```bash
17
+ git clone <repo-url>
18
+ cd siphrix # the product root (contains pyproject.toml)
19
+ python -m venv .venv
20
+ # macOS / Linux
21
+ source .venv/bin/activate
22
+ # Windows PowerShell
23
+ .\.venv\Scripts\Activate.ps1
24
+ python -m pip install --upgrade pip
25
+ python -m pip install -e ".[dev]"
26
+ ```
27
+
28
+ ## Running the tests
29
+
30
+ From the `siphrix/` product root:
31
+
32
+ ```bash
33
+ # Fast path — compile + focused hardening tests (~2 seconds)
34
+ python -m compileall -q siphrix
35
+ python -m unittest tests.test_public_api_surface
36
+ python -m unittest tests.test_canon_runtime_hardening
37
+ python -m unittest tests.test_shell_executor_hardening
38
+ python -m unittest tests.test_intercept_http_hardening
39
+ python -m unittest tests.test_repo_structure_invariants
40
+
41
+ # Full repo-level unit suite
42
+ python -m unittest discover -s tests -q
43
+
44
+ # Package-internal public-API suite (2353 tests, repo-only — not shipped in the wheel)
45
+ python -m unittest discover -s siphrix/tests -t .
46
+
47
+ # Canonical smoke runner
48
+ python -m siphrix.tests_all_global
49
+
50
+ # Interactive demo
51
+ python examples/app.py
52
+
53
+ # Practical integration examples
54
+ python examples/example_agent.py --list-scenarios
55
+ python examples/example_agent.py --scenario blocked_delete
56
+ ```
57
+
58
+ Coverage (optional):
59
+
60
+ ```bash
61
+ pip install coverage
62
+ coverage run -m unittest discover -s tests -q
63
+ coverage report --skip-covered --precision=1
64
+ ```
65
+
66
+ ## Adding a new Canon law
67
+
68
+ Canon laws live in `siphrix/canon/canon_v1_laws.yaml`. Each law has a
69
+ trigger expression written in the Canon DSL.
70
+
71
+ Rules:
72
+
73
+ 1. Keep the DSL grammar: boolean operators (`AND`, `OR`), comparison
74
+ operators (`==`, `!=`, `<`, `>`, `<=`, `>=`), membership (`IN`,
75
+ `NOT_IN`), literals (`true`, `false`, `null`, numbers, quoted
76
+ strings, list literals), bare names, dotted references,
77
+ parentheses. **No** function calls, subscripts, arithmetic.
78
+ 2. Avoid attribute names that are Python reserved words
79
+ (`class`, `def`, `import`, ...). The AST parser will silently
80
+ treat the law as never triggered — there is no way around that
81
+ without changing the DSL grammar.
82
+ 3. Validate the law before committing:
83
+
84
+ ```python
85
+ from siphrix.canon.canon_runtime import CanonRuleEngine
86
+ CanonRuleEngine.validate_law_expression(my_expression)
87
+ ```
88
+
89
+ 4. Every new law should get at least one corresponding test in
90
+ `tests/` (or an entry in `siphrix/canon/conformance_tests.yaml`).
91
+
92
+ ## Changing the public API
93
+
94
+ Every canonical package (`siphrix.governance`, `siphrix.policy_versioning`,
95
+ etc.) publishes an explicit `__all__`. The public surface is covered by
96
+ `tests/test_public_api_surface.py`.
97
+
98
+ Rules:
99
+
100
+ 1. **Do not** remove or rename a symbol without a deprecation path.
101
+ 2. **Do not** re-introduce wildcard imports in `__init__.py` files;
102
+ the explicit list is auditable and IDE-friendly.
103
+ 3. When adding a new public symbol:
104
+ - add it to the right `_public_api.py` (for `contracts`,
105
+ `console`, `constitution`, `constitution/execution`,
106
+ `constitution/execution/operational`, `governance`,
107
+ `policy_versioning`) or the relevant `__init__.py`
108
+ for packages whose root is the authoritative surface;
109
+ - include it in `__all__`;
110
+ - document any non-obvious contract.
111
+ 4. When removing internal helpers, confirm that no other module or
112
+ test imports them: `grep -r "from siphrix.x import y"`.
113
+
114
+ ## Adding or modifying an executor / adapter
115
+
116
+ Adapters live under `siphrix/adapters/`. The shell executor, HTTP
117
+ interception choke point, and URL scheme allowlist have dedicated
118
+ hardening suites — any change there must keep those tests green.
119
+
120
+ Hard rules:
121
+
122
+ - `subprocess.run` is called with `shell=False`. Never change that.
123
+ - The shell command allowlist is *intentionally* tiny. Widening it
124
+ needs explicit justification in the PR description.
125
+ - `http_get` enforces the transport allowlist **before** policy
126
+ evaluation. Do not swap the order.
127
+
128
+ ## Style and consistency
129
+
130
+ - Python module and directory names use `lowercase_with_underscores`.
131
+ - Test files follow `test_<feature>[_foundation|closure|hardening].py`.
132
+ - Examples / integration scripts at the project root use absolute
133
+ package paths (`from siphrix.X import Y`) unless they are importing
134
+ a local sibling module.
135
+ - Keep functions small, docstrings short, and comments focused on *why*
136
+ (not *what*).
137
+
138
+ ## Commit and PR discipline
139
+
140
+ 1. One logical change per PR.
141
+ 2. Run the fast-path tests before pushing.
142
+ 3. Update `CHANGELOG.md` only when you add, remove, or change behaviour
143
+ that matters to downstream users.
144
+ 4. If your change touches the security posture (canon DSL, shell
145
+ executor, HTTP interception, crypto, trust), update `SECURITY.md`
146
+ in the same PR and add or update a hardening test.
147
+
148
+ ## Filing issues
149
+
150
+ - **Bugs**: include a minimal reproduction and the full traceback.
151
+ - **Feature requests**: explain the use case and the alternative
152
+ workflows you considered.
153
+ - **Security**: follow `SECURITY.md` — do not open public issues.
154
+
155
+ ## Release flow
156
+
157
+ When it is time to cut a release, follow
158
+ [`docs/release/RELEASE_RUNBOOK.md`](docs/release/RELEASE_RUNBOOK.md).
159
+ The release model is three named gates — `repo_ready`,
160
+ `package_ready`, `production_posture_ready` — evaluated by the one
161
+ canonical gate:
162
+
163
+ ```bash
164
+ python tools/release_check.py
165
+ ```
166
+
167
+ Do not invent a parallel release path. If a step you need is missing
168
+ from the runbook, add it to the runbook.
169
+
170
+ ## Automated release gate (CI)
171
+
172
+ CI runs the same command as local release validation:
173
+
174
+ python tools/release_check.py
175
+
176
+ Behavior:
177
+ - push / PR → default gate
178
+ - tag (v*) → strict gate (--strict) → publish to TestPyPI → publish to PyPI
179
+
180
+ On a `v*` tag push the workflow runs three jobs in order:
181
+ `release-readiness` → `publish-testpypi` → `publish-pypi`. PyPI is
182
+ gated on the `pypi` GitHub Environment, which requires reviewer
183
+ approval (configured in repo Settings → Environments). Publish uses
184
+ **PyPI Trusted Publishing (OIDC)** via `pypa/gh-action-pypi-publish`
185
+ — no long-lived tokens in repository secrets.
186
+
187
+ CI does NOT use `--strict-production`.
188
+ Production posture is a deployment decision.
189
+
190
+ See [`docs/release/RELEASE_RUNBOOK.md`](docs/release/RELEASE_RUNBOOK.md)
191
+ for the first-time publish setup and the end-to-end tag-push flow.
siphrix-1.0.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Denis Ghengeaua
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.