siphrix 1.0.0__py3-none-any.whl

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 (816) hide show
  1. siphrix/__init__.py +94 -0
  2. siphrix/__main__.py +13 -0
  3. siphrix/adapters/__init__.py +98 -0
  4. siphrix/adapters/context/__init__.py +15 -0
  5. siphrix/adapters/context/base.py +81 -0
  6. siphrix/adapters/context/composite_context.py +80 -0
  7. siphrix/adapters/context/environment_context.py +37 -0
  8. siphrix/adapters/context/normalizer.py +339 -0
  9. siphrix/adapters/context/role_context.py +37 -0
  10. siphrix/adapters/context/session_context.py +37 -0
  11. siphrix/adapters/context/tenant_context.py +37 -0
  12. siphrix/adapters/executors/__init__.py +10 -0
  13. siphrix/adapters/executors/base.py +241 -0
  14. siphrix/adapters/executors/email_executor.py +384 -0
  15. siphrix/adapters/executors/filesystem_executor.py +271 -0
  16. siphrix/adapters/executors/network_executor.py +309 -0
  17. siphrix/adapters/executors/os_enforcement_bridge.py +32716 -0
  18. siphrix/adapters/executors/pre_execution_gate.py +934 -0
  19. siphrix/adapters/executors/sandbox_executor.py +351 -0
  20. siphrix/adapters/executors/shell_executor.py +240 -0
  21. siphrix/adapters/executors/stub_executor.py +47 -0
  22. siphrix/adapters/frameworks/__init__.py +7 -0
  23. siphrix/adapters/frameworks/agent_runtime_adapter.py +85 -0
  24. siphrix/adapters/frameworks/base.py +158 -0
  25. siphrix/adapters/frameworks/orchestration_adapter.py +65 -0
  26. siphrix/adapters/frameworks/workflow_adapter.py +57 -0
  27. siphrix/adapters/planners/__init__.py +19 -0
  28. siphrix/adapters/planners/anthropic_planner.py +57 -0
  29. siphrix/adapters/planners/base.py +93 -0
  30. siphrix/adapters/planners/custom_planner.py +24 -0
  31. siphrix/adapters/planners/gemini_planner.py +173 -0
  32. siphrix/adapters/planners/local_planner.py +29 -0
  33. siphrix/adapters/planners/mock_planner.py +84 -0
  34. siphrix/adapters/planners/normalizer.py +408 -0
  35. siphrix/adapters/planners/ollama_planner.py +46 -0
  36. siphrix/adapters/planners/openai_planner.py +58 -0
  37. siphrix/adapters/registry.py +1004 -0
  38. siphrix/agent.py +556 -0
  39. siphrix/analysis/__init__.py +144 -0
  40. siphrix/analysis/bounded_explorer.py +53 -0
  41. siphrix/analysis/collusion.py +41 -0
  42. siphrix/analysis/containment_plan.py +121 -0
  43. siphrix/analysis/cross_agent_correlation.py +159 -0
  44. siphrix/analysis/cross_analyzer.py +21 -0
  45. siphrix/analysis/cross_coverage.py +29 -0
  46. siphrix/analysis/cross_diff.py +15 -0
  47. siphrix/analysis/cross_engine.py +15 -0
  48. siphrix/analysis/cross_policy.py +23 -0
  49. siphrix/analysis/cross_rules.py +27 -0
  50. siphrix/analysis/cross_state.py +46 -0
  51. siphrix/analysis/decomposition.py +178 -0
  52. siphrix/analysis/determinism.py +77 -0
  53. siphrix/analysis/escalation.py +151 -0
  54. siphrix/analysis/exfiltration.py +56 -0
  55. siphrix/analysis/formal.py +14 -0
  56. siphrix/analysis/formal_properties.py +38 -0
  57. siphrix/analysis/observation_bus.py +41 -0
  58. siphrix/analysis/policies.py +24 -0
  59. siphrix/analysis/proof_artifacts.py +18 -0
  60. siphrix/analysis/simulation.py +153 -0
  61. siphrix/analysis/state_machine.py +218 -0
  62. siphrix/analysis/temporal_risk.py +155 -0
  63. siphrix/analysis/threat_graph.py +120 -0
  64. siphrix/analysis/trajectory.py +102 -0
  65. siphrix/analysis/zero_trust.py +120 -0
  66. siphrix/audit.py +564 -0
  67. siphrix/canon/canon_runtime.py +401 -0
  68. siphrix/canon/canon_v1.md +118 -0
  69. siphrix/canon/canon_v1_laws.yaml +419 -0
  70. siphrix/canon/conformance_tests.yaml +107 -0
  71. siphrix/cli/__init__.py +60 -0
  72. siphrix/cli/app.py +19328 -0
  73. siphrix/cli/demo.py +845 -0
  74. siphrix/cli/enterprise.py +28 -0
  75. siphrix/cli/governance.py +26 -0
  76. siphrix/cli/predictive.py +28 -0
  77. siphrix/cli/style.py +325 -0
  78. siphrix/coherence/__init__.py +3 -0
  79. siphrix/coherence/enforcer.py +87 -0
  80. siphrix/config.py +265 -0
  81. siphrix/console/__init__.py +54 -0
  82. siphrix/console/_public_api.py +1561 -0
  83. siphrix/console/ai_tool_bridge.py +1896 -0
  84. siphrix/console/analytics_risk_intelligence.py +8394 -0
  85. siphrix/console/app.py +26 -0
  86. siphrix/console/approval_workflow.py +4556 -0
  87. siphrix/console/audit_explorer.py +2079 -0
  88. siphrix/console/audit_workspace.py +493 -0
  89. siphrix/console/browser_ai_monitor.py +9242 -0
  90. siphrix/console/constitutional_projection.py +1743 -0
  91. siphrix/console/contracts.py +2096 -0
  92. siphrix/console/dashboard_overview.py +2577 -0
  93. siphrix/console/decision_workspace.py +250 -0
  94. siphrix/console/distributed_infrastructure.py +7744 -0
  95. siphrix/console/enterprise_features.py +7970 -0
  96. siphrix/console/high_assurance_enforcement.py +5910 -0
  97. siphrix/console/hosted_foundation.py +4561 -0
  98. siphrix/console/hosted_policy_control_plane.py +8316 -0
  99. siphrix/console/local_agent.py +991 -0
  100. siphrix/console/multi_agent_governance.py +9179 -0
  101. siphrix/console/notifications_alerting.py +9051 -0
  102. siphrix/console/operator_actions.py +475 -0
  103. siphrix/console/operator_api.py +2658 -0
  104. siphrix/console/operator_api_auth.py +206 -0
  105. siphrix/console/operator_command_execution.py +519 -0
  106. siphrix/console/operator_commands.py +1143 -0
  107. siphrix/console/operator_control.py +582 -0
  108. siphrix/console/org_rbac.py +7651 -0
  109. siphrix/console/policy_builder.py +1538 -0
  110. siphrix/console/policy_workspace.py +395 -0
  111. siphrix/console/replay_lab.py +3370 -0
  112. siphrix/console/replay_workspace.py +356 -0
  113. siphrix/console/risk_feed_workspace.py +462 -0
  114. siphrix/console/routes/__init__.py +5 -0
  115. siphrix/console/routes/console_routes.py +46 -0
  116. siphrix/console/runtime_workspace.py +592 -0
  117. siphrix/console/simulation_projection.py +237 -0
  118. siphrix/console/ui/__init__.py +93 -0
  119. siphrix/console/ui/console_app.py +584 -0
  120. siphrix/console/ui/console_rendering.py +103 -0
  121. siphrix/console/ui/console_ui_models.py +383 -0
  122. siphrix/console/ui/workspace_viewers.py +394 -0
  123. siphrix/console/workspace_links.py +333 -0
  124. siphrix/constitution/__init__.py +43 -0
  125. siphrix/constitution/_public_api.py +652 -0
  126. siphrix/constitution/agent_exchange_record.py +306 -0
  127. siphrix/constitution/agent_exchange_record_validation.py +46 -0
  128. siphrix/constitution/agent_handshake_record.py +295 -0
  129. siphrix/constitution/agent_handshake_record_validation.py +46 -0
  130. siphrix/constitution/agent_identity_record.py +442 -0
  131. siphrix/constitution/agent_identity_record_validation.py +127 -0
  132. siphrix/constitution/approval_envelope_record.py +222 -0
  133. siphrix/constitution/approval_envelope_record_validation.py +46 -0
  134. siphrix/constitution/audit_trace_record.py +459 -0
  135. siphrix/constitution/audit_trace_record_validation.py +128 -0
  136. siphrix/constitution/audit_trace_validation_pack.py +51 -0
  137. siphrix/constitution/audit_trace_validation_pack_validation.py +91 -0
  138. siphrix/constitution/context_window_record.py +466 -0
  139. siphrix/constitution/context_window_record_validation.py +128 -0
  140. siphrix/constitution/context_window_validation_pack.py +51 -0
  141. siphrix/constitution/context_window_validation_pack_validation.py +91 -0
  142. siphrix/constitution/delegation_authority_record.py +420 -0
  143. siphrix/constitution/delegation_authority_record_validation.py +77 -0
  144. siphrix/constitution/distribution_channel_record.py +238 -0
  145. siphrix/constitution/distribution_channel_record_validation.py +46 -0
  146. siphrix/constitution/distribution_lineage_record.py +249 -0
  147. siphrix/constitution/distribution_lineage_record_validation.py +45 -0
  148. siphrix/constitution/distribution_manifest_record.py +240 -0
  149. siphrix/constitution/distribution_manifest_record_validation.py +46 -0
  150. siphrix/constitution/distribution_receipt_record.py +261 -0
  151. siphrix/constitution/distribution_receipt_record_validation.py +45 -0
  152. siphrix/constitution/enclave_attestation_record.py +285 -0
  153. siphrix/constitution/enclave_attestation_record_validation.py +46 -0
  154. siphrix/constitution/enclave_boundary_record.py +275 -0
  155. siphrix/constitution/enclave_boundary_record_validation.py +46 -0
  156. siphrix/constitution/execution/__init__.py +44 -0
  157. siphrix/constitution/execution/_public_api.py +213 -0
  158. siphrix/constitution/execution/decision_executor_binding_validation.py +194 -0
  159. siphrix/constitution/execution/decision_executor_bindings.py +490 -0
  160. siphrix/constitution/execution/execution_attestation.py +587 -0
  161. siphrix/constitution/execution/execution_attestation_validation.py +230 -0
  162. siphrix/constitution/execution/execution_boundaries.py +490 -0
  163. siphrix/constitution/execution/execution_boundary_validation.py +252 -0
  164. siphrix/constitution/execution/execution_bridge.py +348 -0
  165. siphrix/constitution/execution/execution_bridge_resolution.py +104 -0
  166. siphrix/constitution/execution/execution_bridge_validation.py +114 -0
  167. siphrix/constitution/execution/execution_conformance.py +562 -0
  168. siphrix/constitution/execution/execution_conformance_validation.py +230 -0
  169. siphrix/constitution/execution/execution_handoff.py +603 -0
  170. siphrix/constitution/execution/execution_handoff_validation.py +227 -0
  171. siphrix/constitution/execution/execution_refusal.py +541 -0
  172. siphrix/constitution/execution/execution_refusal_validation.py +208 -0
  173. siphrix/constitution/execution/executor_capabilities.py +593 -0
  174. siphrix/constitution/execution/executor_capability_validation.py +299 -0
  175. siphrix/constitution/execution/executor_contract.py +669 -0
  176. siphrix/constitution/execution/executor_validation.py +282 -0
  177. siphrix/constitution/execution/operational/__init__.py +49 -0
  178. siphrix/constitution/execution/operational/_public_api.py +239 -0
  179. siphrix/constitution/execution/operational/boundary.py +406 -0
  180. siphrix/constitution/execution/operational/capability.py +291 -0
  181. siphrix/constitution/execution/operational/completion.py +340 -0
  182. siphrix/constitution/execution/operational/completion_validation.py +142 -0
  183. siphrix/constitution/execution/operational/dispatch_binding.py +319 -0
  184. siphrix/constitution/execution/operational/dispatch_binding_resolution.py +133 -0
  185. siphrix/constitution/execution/operational/dispatch_binding_validation.py +123 -0
  186. siphrix/constitution/execution/operational/handoff.py +335 -0
  187. siphrix/constitution/execution/operational/handoff_consumption.py +121 -0
  188. siphrix/constitution/execution/operational/handoff_validation.py +107 -0
  189. siphrix/constitution/execution/operational/identity.py +322 -0
  190. siphrix/constitution/execution/operational/outcome_production.py +287 -0
  191. siphrix/constitution/execution/operational/outcome_production_resolution.py +128 -0
  192. siphrix/constitution/execution/operational/outcome_production_validation.py +88 -0
  193. siphrix/constitution/execution/operational/production_completion.py +279 -0
  194. siphrix/constitution/execution/operational/production_completion_resolution.py +121 -0
  195. siphrix/constitution/execution/operational/production_completion_validation.py +89 -0
  196. siphrix/constitution/execution/operational/record.py +258 -0
  197. siphrix/constitution/execution/operational/refusal.py +306 -0
  198. siphrix/constitution/execution/operational/refusal_validation.py +126 -0
  199. siphrix/constitution/execution/operational/registry.py +318 -0
  200. siphrix/constitution/execution/operational/registry_validation.py +222 -0
  201. siphrix/constitution/execution/operational/request.py +287 -0
  202. siphrix/constitution/execution/operational/request_validation.py +126 -0
  203. siphrix/constitution/execution/operational/result.py +302 -0
  204. siphrix/constitution/execution/operational/result_validation.py +126 -0
  205. siphrix/constitution/execution/operational/validation.py +349 -0
  206. siphrix/constitution/inter_agent_policy_record.py +315 -0
  207. siphrix/constitution/inter_agent_policy_record_validation.py +66 -0
  208. siphrix/constitution/mesh_route_record.py +288 -0
  209. siphrix/constitution/mesh_route_record_validation.py +46 -0
  210. siphrix/constitution/mesh_topology_record.py +285 -0
  211. siphrix/constitution/mesh_topology_record_validation.py +46 -0
  212. siphrix/constitution/organization_entry_gate.py +367 -0
  213. siphrix/constitution/organization_entry_gate_validation.py +112 -0
  214. siphrix/constitution/organization_execution_scope_binding.py +360 -0
  215. siphrix/constitution/organization_execution_scope_binding_validation.py +112 -0
  216. siphrix/constitution/organization_identity.py +310 -0
  217. siphrix/constitution/organization_identity_validation.py +100 -0
  218. siphrix/constitution/organization_membership.py +345 -0
  219. siphrix/constitution/organization_membership_validation.py +111 -0
  220. siphrix/constitution/organization_policy_attachment.py +381 -0
  221. siphrix/constitution/organization_policy_attachment_validation.py +114 -0
  222. siphrix/constitution/organization_role.py +352 -0
  223. siphrix/constitution/organization_role_assignment.py +368 -0
  224. siphrix/constitution/organization_role_assignment_validation.py +113 -0
  225. siphrix/constitution/organization_role_validation.py +110 -0
  226. siphrix/constitution/organization_scope.py +333 -0
  227. siphrix/constitution/organization_scope_bridge.py +365 -0
  228. siphrix/constitution/organization_scope_bridge_validation.py +112 -0
  229. siphrix/constitution/organization_scope_validation.py +108 -0
  230. siphrix/constitution/organization_validation_pack.py +128 -0
  231. siphrix/constitution/organization_validation_pack_validation.py +133 -0
  232. siphrix/constitution/quorum_requirement_record.py +220 -0
  233. siphrix/constitution/quorum_requirement_record_validation.py +46 -0
  234. siphrix/constitution/replay_record.py +431 -0
  235. siphrix/constitution/replay_record_validation.py +128 -0
  236. siphrix/constitution/replay_validation_pack.py +51 -0
  237. siphrix/constitution/replay_validation_pack_validation.py +90 -0
  238. siphrix/constitution/trust_attestation_record.py +244 -0
  239. siphrix/constitution/trust_attestation_record_validation.py +46 -0
  240. siphrix/constitution/trust_boundary_record.py +253 -0
  241. siphrix/constitution/trust_boundary_record_validation.py +46 -0
  242. siphrix/constitution/trust_relation_record.py +228 -0
  243. siphrix/constitution/trust_relation_record_validation.py +46 -0
  244. siphrix/contracts/__init__.py +52 -0
  245. siphrix/contracts/_public_api.py +672 -0
  246. siphrix/contracts/_validation_base.py +116 -0
  247. siphrix/contracts/_validation_constitutional.py +2074 -0
  248. siphrix/contracts/_validation_core.py +2273 -0
  249. siphrix/contracts/_validation_integration.py +292 -0
  250. siphrix/contracts/_validation_projected.py +1216 -0
  251. siphrix/contracts/_validation_risk.py +1772 -0
  252. siphrix/contracts/_validation_simulation.py +1406 -0
  253. siphrix/contracts/_validation_workspace.py +4702 -0
  254. siphrix/contracts/action.py +218 -0
  255. siphrix/contracts/adapter_capability.py +107 -0
  256. siphrix/contracts/agent_identity.py +221 -0
  257. siphrix/contracts/approval_runtime.py +803 -0
  258. siphrix/contracts/audit.py +18 -0
  259. siphrix/contracts/audit_event.py +132 -0
  260. siphrix/contracts/constitutional_audit.py +661 -0
  261. siphrix/contracts/constitutional_diff.py +1100 -0
  262. siphrix/contracts/context.py +101 -0
  263. siphrix/contracts/decision.py +116 -0
  264. siphrix/contracts/delegation_graph.py +571 -0
  265. siphrix/contracts/escalation_paths.py +760 -0
  266. siphrix/contracts/execution.py +183 -0
  267. siphrix/contracts/flow.py +253 -0
  268. siphrix/contracts/inter_agent_policy.py +581 -0
  269. siphrix/contracts/multi_agent.py +12 -0
  270. siphrix/contracts/planner.py +251 -0
  271. siphrix/contracts/quorum_resolver.py +753 -0
  272. siphrix/contracts/risk.py +11 -0
  273. siphrix/contracts/simulation.py +861 -0
  274. siphrix/contracts/trust_relations.py +726 -0
  275. siphrix/contracts/validation.py +229 -0
  276. siphrix/devtools/__init__.py +1 -0
  277. siphrix/doctor.py +302 -0
  278. siphrix/engine/__init__.py +65 -0
  279. siphrix/engine/canonical_manifest.py +18 -0
  280. siphrix/engine/gap_audit.py +38 -0
  281. siphrix/engine/runner_profiles.py +259 -0
  282. siphrix/engine/stack_declaration.py +30 -0
  283. siphrix/engine/unified_runner.py +420 -0
  284. siphrix/examples/__init__.py +47 -0
  285. siphrix/examples/integration_audit.py +7 -0
  286. siphrix/examples/integration_layer_utils.py +38 -0
  287. siphrix/examples/integration_snapshot.py +7 -0
  288. siphrix/examples/role_policy_resolver.py +18 -0
  289. siphrix/exec_intercept/__init__.py +4 -0
  290. siphrix/exec_intercept/evaluator.py +188 -0
  291. siphrix/exec_intercept/intercept.py +83 -0
  292. siphrix/exec_intercept/policy.py +25 -0
  293. siphrix/exec_intercept/types.py +48 -0
  294. siphrix/explanation.py +114 -0
  295. siphrix/foundation/__init__.py +111 -0
  296. siphrix/foundation/analyzer.py +37 -0
  297. siphrix/foundation/aspl.py +68 -0
  298. siphrix/foundation/aspl_lexer.py +97 -0
  299. siphrix/foundation/aspl_types.py +64 -0
  300. siphrix/foundation/audit_chain.py +99 -0
  301. siphrix/foundation/canon.py +30 -0
  302. siphrix/foundation/poe.py +44 -0
  303. siphrix/foundation/policy_signing.py +139 -0
  304. siphrix/foundation/policy_sources.py +30 -0
  305. siphrix/foundation/preflight.py +20 -0
  306. siphrix/foundation/proof_bundle.py +95 -0
  307. siphrix/foundation/state.py +30 -0
  308. siphrix/governance/__init__.py +39 -0
  309. siphrix/governance/_public_api.py +1012 -0
  310. siphrix/governance/audit/__init__.py +1 -0
  311. siphrix/governance/audit/certification.py +114 -0
  312. siphrix/governance/audit/chain_integrity.py +186 -0
  313. siphrix/governance/audit/chain_retrieval_truth.py +144 -0
  314. siphrix/governance/audit/chain_truth.py +175 -0
  315. siphrix/governance/audit/closure_manifest.py +103 -0
  316. siphrix/governance/audit/correlation_readiness.py +155 -0
  317. siphrix/governance/audit/cross_layer_consistency.py +97 -0
  318. siphrix/governance/audit/evidence_assurance.py +207 -0
  319. siphrix/governance/audit/export.py +98 -0
  320. siphrix/governance/audit/exporter.py +173 -0
  321. siphrix/governance/audit/forensic_readiness.py +245 -0
  322. siphrix/governance/audit/global_determinism.py +81 -0
  323. siphrix/governance/audit/global_truth.py +86 -0
  324. siphrix/governance/audit/handoff.py +84 -0
  325. siphrix/governance/audit/incident_readiness.py +148 -0
  326. siphrix/governance/audit/incident_reconstruction.py +137 -0
  327. siphrix/governance/audit/incident_reproducibility.py +75 -0
  328. siphrix/governance/audit/index.py +175 -0
  329. siphrix/governance/audit/index_query_consistency.py +142 -0
  330. siphrix/governance/audit/integrity.py +166 -0
  331. siphrix/governance/audit/lineage_confidence.py +201 -0
  332. siphrix/governance/audit/match_safety.py +114 -0
  333. siphrix/governance/audit/no_overclaim.py +88 -0
  334. siphrix/governance/audit/package_safety.py +100 -0
  335. siphrix/governance/audit/packaging_readiness.py +130 -0
  336. siphrix/governance/audit/packaging_truth.py +107 -0
  337. siphrix/governance/audit/query_engine.py +461 -0
  338. siphrix/governance/audit/query_honesty.py +188 -0
  339. siphrix/governance/audit/query_integrity.py +346 -0
  340. siphrix/governance/audit/query_projection.py +90 -0
  341. siphrix/governance/audit/query_projection_faithfulness.py +154 -0
  342. siphrix/governance/audit/query_readiness.py +173 -0
  343. siphrix/governance/audit/query_reproducibility.py +138 -0
  344. siphrix/governance/audit/query_truth.py +164 -0
  345. siphrix/governance/audit/reconstruction_chain_truth.py +137 -0
  346. siphrix/governance/audit/record.py +127 -0
  347. siphrix/governance/audit/record_admissibility.py +254 -0
  348. siphrix/governance/audit/reproducibility.py +141 -0
  349. siphrix/governance/audit/retention_redaction_foundation.py +266 -0
  350. siphrix/governance/audit/retrieval_readiness.py +156 -0
  351. siphrix/governance/audit/schema.py +226 -0
  352. siphrix/governance/audit/tamper_detection.py +136 -0
  353. siphrix/governance/audit/timeline.py +161 -0
  354. siphrix/governance/audit/timeline_hardening.py +209 -0
  355. siphrix/governance/audit/workspace_projection.py +111 -0
  356. siphrix/governance/compliance/__init__.py +1 -0
  357. siphrix/governance/compliance/export.py +58 -0
  358. siphrix/governance/compliance/mapping.py +115 -0
  359. siphrix/governance/compliance/replay.py +45 -0
  360. siphrix/governance/correlation_graph.py +391 -0
  361. siphrix/governance/correlation_graph_integrity.py +120 -0
  362. siphrix/governance/decision_ledger.py +79 -0
  363. siphrix/governance/delegated_authority.py +109 -0
  364. siphrix/governance/evidence/__init__.py +1 -0
  365. siphrix/governance/evidence/bundle.py +127 -0
  366. siphrix/governance/evidence/bundle_faithfulness.py +170 -0
  367. siphrix/governance/evidence/export.py +99 -0
  368. siphrix/governance/evidence/provenance.py +137 -0
  369. siphrix/governance/evidence/retention.py +54 -0
  370. siphrix/governance/exception_governance.py +112 -0
  371. siphrix/governance/explainability.py +31 -0
  372. siphrix/governance/governance_record.py +55 -0
  373. siphrix/governance/incident/__init__.py +1 -0
  374. siphrix/governance/incident/grouping_honesty.py +105 -0
  375. siphrix/governance/incident/reconstruction.py +176 -0
  376. siphrix/governance/incident/review_package.py +156 -0
  377. siphrix/governance/incident/truth.py +122 -0
  378. siphrix/governance/operator_investigation_view.py +113 -0
  379. siphrix/governance/policy_framework.py +45 -0
  380. siphrix/governance/quorum_approval.py +147 -0
  381. siphrix/governance/quorum_store.py +348 -0
  382. siphrix/governance/regulatory_profiles.py +83 -0
  383. siphrix/governance/retention_workflow.py +41 -0
  384. siphrix/hosted/__init__.py +36 -0
  385. siphrix/hosted/admin_dashboard.py +930 -0
  386. siphrix/hosted/scaffold.py +958 -0
  387. siphrix/hosted/store.py +1031 -0
  388. siphrix/identity/__init__.py +3 -0
  389. siphrix/identity/loader.py +14 -0
  390. siphrix/identity/schema.py +64 -0
  391. siphrix/identity/temp_builder.py +29 -0
  392. siphrix/identity/validator.py +17 -0
  393. siphrix/integration_flow/__init__.py +5 -0
  394. siphrix/integration_flow/orchestrator.py +423 -0
  395. siphrix/integrations/__init__.py +70 -0
  396. siphrix/integrations/audit.py +100 -0
  397. siphrix/integrations/layer_utils.py +419 -0
  398. siphrix/integrations/snapshot.py +245 -0
  399. siphrix/intention/__init__.py +3 -0
  400. siphrix/intention/interpreter.py +116 -0
  401. siphrix/intention/types.py +18 -0
  402. siphrix/local_agent.py +375 -0
  403. siphrix/local_daemon.py +1365 -0
  404. siphrix/local_diagnostics.py +273 -0
  405. siphrix/local_hosted_import/__init__.py +32 -0
  406. siphrix/local_hosted_import/cli.py +276 -0
  407. siphrix/local_hosted_import/daemon_api.py +234 -0
  408. siphrix/local_hosted_import/store.py +430 -0
  409. siphrix/local_hosted_import/verifier.py +560 -0
  410. siphrix/local_state.py +1081 -0
  411. siphrix/logs/__init__.py +3 -0
  412. siphrix/logs/logger.py +43 -0
  413. siphrix/memory/__init__.py +3 -0
  414. siphrix/memory/api.py +207 -0
  415. siphrix/memory/schema.py +33 -0
  416. siphrix/memory/store.py +32 -0
  417. siphrix/orchestrator/__init__.py +14 -0
  418. siphrix/orchestrator/llm_stub.py +43 -0
  419. siphrix/orchestrator/pipeline.py +251 -0
  420. siphrix/policies/agent_default_v1.yaml +22 -0
  421. siphrix/policies/global_baseline_v1.yaml +40 -0
  422. siphrix/policies/index.yaml +5 -0
  423. siphrix/policies/org_default_v1.yaml +17 -0
  424. siphrix/policies/team_default_v1.yaml +22 -0
  425. siphrix/policy_packs/__init__.py +153 -0
  426. siphrix/policy_packs/bridge.py +223 -0
  427. siphrix/policy_packs/dev_agent_defaults.yaml +53 -0
  428. siphrix/policy_packs/enterprise_defaults.yaml +57 -0
  429. siphrix/policy_packs/resolver.py +83 -0
  430. siphrix/policy_packs/roles/admin.yaml +33 -0
  431. siphrix/policy_packs/roles/developer.yaml +36 -0
  432. siphrix/policy_packs/roles/finance.yaml +26 -0
  433. siphrix/policy_packs/roles/support.yaml +24 -0
  434. siphrix/policy_packs/safe_defaults.yaml +279 -0
  435. siphrix/policy_packs/signing.py +279 -0
  436. siphrix/policy_remote.py +136 -0
  437. siphrix/policy_runtime/__init__.py +20 -0
  438. siphrix/policy_runtime/input.py +178 -0
  439. siphrix/policy_runtime/loader.py +569 -0
  440. siphrix/policy_runtime/manager.py +1066 -0
  441. siphrix/policy_runtime/registry.py +73 -0
  442. siphrix/policy_runtime/rule_eval.py +91 -0
  443. siphrix/policy_runtime/types.py +87 -0
  444. siphrix/policy_sources/source.py +129 -0
  445. siphrix/policy_versioning/__init__.py +39 -0
  446. siphrix/policy_versioning/_public_api.py +3994 -0
  447. siphrix/policy_versioning/activation/__init__.py +1 -0
  448. siphrix/policy_versioning/activation/activation.py +100 -0
  449. siphrix/policy_versioning/activation/atomicity.py +96 -0
  450. siphrix/policy_versioning/activation/atomicity_truth.py +98 -0
  451. siphrix/policy_versioning/activation/chain_truth.py +113 -0
  452. siphrix/policy_versioning/activation/eligibility.py +117 -0
  453. siphrix/policy_versioning/activation/emergency_control.py +125 -0
  454. siphrix/policy_versioning/activation/emergency_safety.py +94 -0
  455. siphrix/policy_versioning/activation/foundation_readiness.py +160 -0
  456. siphrix/policy_versioning/activation/honesty.py +124 -0
  457. siphrix/policy_versioning/activation/integrity.py +205 -0
  458. siphrix/policy_versioning/activation/projection.py +121 -0
  459. siphrix/policy_versioning/activation/projection_faithfulness.py +109 -0
  460. siphrix/policy_versioning/activation/readiness.py +184 -0
  461. siphrix/policy_versioning/activation/reproducibility.py +64 -0
  462. siphrix/policy_versioning/activation/rollback_orchestration.py +190 -0
  463. siphrix/policy_versioning/activation/rollback_preparation.py +156 -0
  464. siphrix/policy_versioning/activation/rollback_safety.py +75 -0
  465. siphrix/policy_versioning/activation/rollback_truth.py +105 -0
  466. siphrix/policy_versioning/activation/rollout.py +174 -0
  467. siphrix/policy_versioning/activation/rollout_eligibility.py +169 -0
  468. siphrix/policy_versioning/activation/staging.py +115 -0
  469. siphrix/policy_versioning/attestation_view.py +491 -0
  470. siphrix/policy_versioning/batch_replay_reports.py +626 -0
  471. siphrix/policy_versioning/compilation/__init__.py +1 -0
  472. siphrix/policy_versioning/compilation/compiler.py +816 -0
  473. siphrix/policy_versioning/compilation/compiler_coverage.py +521 -0
  474. siphrix/policy_versioning/compilation/compiler_diff.py +441 -0
  475. siphrix/policy_versioning/compilation/compiler_export.py +2350 -0
  476. siphrix/policy_versioning/compilation/compiler_honesty.py +783 -0
  477. siphrix/policy_versioning/compilation/compiler_integrity.py +1071 -0
  478. siphrix/policy_versioning/compilation/compiler_readiness.py +819 -0
  479. siphrix/policy_versioning/compilation/compiler_reproducibility.py +452 -0
  480. siphrix/policy_versioning/compilation/compiler_safety.py +636 -0
  481. siphrix/policy_versioning/compilation/compiler_summary.py +325 -0
  482. siphrix/policy_versioning/compilation/compiler_trace.py +275 -0
  483. siphrix/policy_versioning/compilation/consistency.py +117 -0
  484. siphrix/policy_versioning/compilation/cross_run_analysis.py +154 -0
  485. siphrix/policy_versioning/compilation/derivation.py +110 -0
  486. siphrix/policy_versioning/compilation/expected_overlays.py +135 -0
  487. siphrix/policy_versioning/compilation/fingerprint_registry.py +167 -0
  488. siphrix/policy_versioning/compilation/gap_enforcement.py +59 -0
  489. siphrix/policy_versioning/compilation/graph.py +201 -0
  490. siphrix/policy_versioning/compilation/graph_integrity.py +187 -0
  491. siphrix/policy_versioning/compilation/graph_projection.py +68 -0
  492. siphrix/policy_versioning/compilation/lineage.py +73 -0
  493. siphrix/policy_versioning/compilation/lineage_honesty.py +92 -0
  494. siphrix/policy_versioning/compilation/models.py +991 -0
  495. siphrix/policy_versioning/compilation/regression.py +108 -0
  496. siphrix/policy_versioning/compilation/resolution.py +453 -0
  497. siphrix/policy_versioning/compilation/semantic_dependency.py +104 -0
  498. siphrix/policy_versioning/compilation/stage33_export.py +161 -0
  499. siphrix/policy_versioning/compilation/stage33_reproducibility.py +68 -0
  500. siphrix/policy_versioning/compilation/stage34_readiness.py +96 -0
  501. siphrix/policy_versioning/compilation/trace.py +70 -0
  502. siphrix/policy_versioning/compilation/trace_integrity.py +106 -0
  503. siphrix/policy_versioning/context/__init__.py +1 -0
  504. siphrix/policy_versioning/context/compat.py +611 -0
  505. siphrix/policy_versioning/context/consistency.py +725 -0
  506. siphrix/policy_versioning/context/fingerprint.py +272 -0
  507. siphrix/policy_versioning/context/foundation_readiness.py +668 -0
  508. siphrix/policy_versioning/context/invariants.py +940 -0
  509. siphrix/policy_versioning/context/migration.py +477 -0
  510. siphrix/policy_versioning/context/models.py +1908 -0
  511. siphrix/policy_versioning/context/normalization_hardening.py +444 -0
  512. siphrix/policy_versioning/context/provenance.py +502 -0
  513. siphrix/policy_versioning/context/resolver.py +2397 -0
  514. siphrix/policy_versioning/context/resolver_arbitration.py +783 -0
  515. siphrix/policy_versioning/context/resolver_export.py +552 -0
  516. siphrix/policy_versioning/context/resolver_honesty.py +509 -0
  517. siphrix/policy_versioning/context/resolver_integrity.py +741 -0
  518. siphrix/policy_versioning/context/resolver_readiness.py +591 -0
  519. siphrix/policy_versioning/context/resolver_reproducibility.py +347 -0
  520. siphrix/policy_versioning/counterfactual_models.py +417 -0
  521. siphrix/policy_versioning/distribution/__init__.py +1 -0
  522. siphrix/policy_versioning/distribution/foundation_readiness.py +193 -0
  523. siphrix/policy_versioning/distribution/honesty.py +107 -0
  524. siphrix/policy_versioning/distribution/integrity.py +182 -0
  525. siphrix/policy_versioning/distribution/protocol.py +197 -0
  526. siphrix/policy_versioning/distribution/protocol_readiness.py +173 -0
  527. siphrix/policy_versioning/distribution/readiness.py +105 -0
  528. siphrix/policy_versioning/distribution/reproducibility.py +114 -0
  529. siphrix/policy_versioning/environment_view.py +392 -0
  530. siphrix/policy_versioning/evaluation/__init__.py +1 -0
  531. siphrix/policy_versioning/evaluation/contradictions.py +135 -0
  532. siphrix/policy_versioning/evaluation/engine.py +353 -0
  533. siphrix/policy_versioning/evaluation/honesty.py +145 -0
  534. siphrix/policy_versioning/evaluation/integrity.py +226 -0
  535. siphrix/policy_versioning/evaluation/matching.py +520 -0
  536. siphrix/policy_versioning/evaluation/models.py +344 -0
  537. siphrix/policy_versioning/evaluation/projection.py +133 -0
  538. siphrix/policy_versioning/evaluation/readiness.py +164 -0
  539. siphrix/policy_versioning/evaluation/reproducibility.py +104 -0
  540. siphrix/policy_versioning/evaluation/result.py +359 -0
  541. siphrix/policy_versioning/evaluation/safety.py +103 -0
  542. siphrix/policy_versioning/explanation/__init__.py +1 -0
  543. siphrix/policy_versioning/explanation/closure.py +71 -0
  544. siphrix/policy_versioning/explanation/consistency.py +101 -0
  545. siphrix/policy_versioning/explanation/contracts.py +120 -0
  546. siphrix/policy_versioning/explanation/diff.py +231 -0
  547. siphrix/policy_versioning/explanation/drift.py +73 -0
  548. siphrix/policy_versioning/explanation/projection.py +143 -0
  549. siphrix/policy_versioning/explanation/readiness.py +164 -0
  550. siphrix/policy_versioning/explanation/registry.py +176 -0
  551. siphrix/policy_versioning/explanation/reproducibility.py +117 -0
  552. siphrix/policy_versioning/explanation/safety.py +109 -0
  553. siphrix/policy_versioning/explanation/stability.py +49 -0
  554. siphrix/policy_versioning/intake_governance.py +378 -0
  555. siphrix/policy_versioning/integration.py +424 -0
  556. siphrix/policy_versioning/investigation.py +2222 -0
  557. siphrix/policy_versioning/investigation_hardening.py +2307 -0
  558. siphrix/policy_versioning/lifecycle/__init__.py +1 -0
  559. siphrix/policy_versioning/lifecycle/final_stage3_honesty.py +116 -0
  560. siphrix/policy_versioning/lifecycle/final_stage3_integrity.py +173 -0
  561. siphrix/policy_versioning/lifecycle/final_stage3_readiness.py +98 -0
  562. siphrix/policy_versioning/lifecycle/point2_certification.py +135 -0
  563. siphrix/policy_versioning/lifecycle/point2_closure_assurance.py +182 -0
  564. siphrix/policy_versioning/lifecycle/point2_closure_manifest.py +107 -0
  565. siphrix/policy_versioning/lifecycle/point2_closure_readiness.py +96 -0
  566. siphrix/policy_versioning/lifecycle/point2_contracts.py +153 -0
  567. siphrix/policy_versioning/lifecycle/point2_handoff.py +98 -0
  568. siphrix/policy_versioning/lifecycle/point2_honesty.py +120 -0
  569. siphrix/policy_versioning/lifecycle/point2_integrity.py +166 -0
  570. siphrix/policy_versioning/lifecycle/point2_operational_profile.py +97 -0
  571. siphrix/policy_versioning/lifecycle/point2_postclosure_drift.py +94 -0
  572. siphrix/policy_versioning/lifecycle/point2_seal_enforcement.py +197 -0
  573. siphrix/policy_versioning/lifecycle/point2_transition_governance.py +187 -0
  574. siphrix/policy_versioning/lifecycle/point3_certification.py +194 -0
  575. siphrix/policy_versioning/lifecycle/point3_certification_stability.py +89 -0
  576. siphrix/policy_versioning/lifecycle/point3_closure_manifest.py +170 -0
  577. siphrix/policy_versioning/lifecycle/point3_closure_readiness.py +128 -0
  578. siphrix/policy_versioning/lifecycle/point3_contract_postclosure.py +85 -0
  579. siphrix/policy_versioning/lifecycle/point3_contracts.py +139 -0
  580. siphrix/policy_versioning/lifecycle/point3_drift_detection.py +139 -0
  581. siphrix/policy_versioning/lifecycle/point3_drift_impact.py +82 -0
  582. siphrix/policy_versioning/lifecycle/point3_handoff.py +154 -0
  583. siphrix/policy_versioning/lifecycle/point3_honesty.py +120 -0
  584. siphrix/policy_versioning/lifecycle/point3_integrity.py +170 -0
  585. siphrix/policy_versioning/lifecycle/point3_operational_profile.py +158 -0
  586. siphrix/policy_versioning/lifecycle/point3_postclosure_assurance.py +80 -0
  587. siphrix/policy_versioning/lifecycle/point3_postclosure_audit.py +78 -0
  588. siphrix/policy_versioning/lifecycle/point3_recertification.py +98 -0
  589. siphrix/policy_versioning/lifecycle/point3_seal_enforcement.py +167 -0
  590. siphrix/policy_versioning/lifecycle/policy_final_point3_readiness.py +135 -0
  591. siphrix/policy_versioning/lifecycle/stage3_certification.py +114 -0
  592. siphrix/policy_versioning/lifecycle/stage3_chain_truth.py +94 -0
  593. siphrix/policy_versioning/lifecycle/stage3_closure_manifest.py +113 -0
  594. siphrix/policy_versioning/lifecycle/stage3_contracts.py +132 -0
  595. siphrix/policy_versioning/lifecycle/stage3_drift_preparation.py +97 -0
  596. siphrix/policy_versioning/lifecycle/stage3_export_integration.py +124 -0
  597. siphrix/policy_versioning/lifecycle/stage3_handoff.py +92 -0
  598. siphrix/policy_versioning/lifecycle/stage3_operational_profile.py +83 -0
  599. siphrix/policy_versioning/lifecycle/stage3_operator_investigation_views.py +95 -0
  600. siphrix/policy_versioning/lifecycle/stage3_replay_integration.py +150 -0
  601. siphrix/policy_versioning/lifecycle/stage3_scope_assurance.py +104 -0
  602. siphrix/policy_versioning/local_policy_intake.py +161 -0
  603. siphrix/policy_versioning/local_policy_intake_hardening.py +100 -0
  604. siphrix/policy_versioning/local_policy_trust.py +142 -0
  605. siphrix/policy_versioning/local_policy_trust_safety.py +66 -0
  606. siphrix/policy_versioning/manifest/__init__.py +1 -0
  607. siphrix/policy_versioning/manifest/authority_contracts.py +169 -0
  608. siphrix/policy_versioning/manifest/authority_lineage.py +215 -0
  609. siphrix/policy_versioning/manifest/authority_overlap.py +250 -0
  610. siphrix/policy_versioning/manifest/channel_resolver.py +151 -0
  611. siphrix/policy_versioning/manifest/compatibility.py +144 -0
  612. siphrix/policy_versioning/manifest/compatibility_hardening.py +154 -0
  613. siphrix/policy_versioning/manifest/integrity.py +137 -0
  614. siphrix/policy_versioning/manifest/manifest.py +310 -0
  615. siphrix/policy_versioning/manifest/projection.py +143 -0
  616. siphrix/policy_versioning/manifest/projection_faithfulness.py +108 -0
  617. siphrix/policy_versioning/manifest/registry.py +156 -0
  618. siphrix/policy_versioning/manifest/registry_provenance.py +98 -0
  619. siphrix/policy_versioning/manifest/registry_provenance_truth.py +105 -0
  620. siphrix/policy_versioning/manifest/remote_channel_resolution.py +104 -0
  621. siphrix/policy_versioning/manifest/remote_channel_truth.py +100 -0
  622. siphrix/policy_versioning/manifest/remote_local_consistency.py +106 -0
  623. siphrix/policy_versioning/manifest/reproducibility.py +103 -0
  624. siphrix/policy_versioning/operator_hardening.py +2384 -0
  625. siphrix/policy_versioning/operator_views.py +1762 -0
  626. siphrix/policy_versioning/orchestration/__init__.py +1 -0
  627. siphrix/policy_versioning/orchestration/audit.py +60 -0
  628. siphrix/policy_versioning/orchestration/chain_truth.py +135 -0
  629. siphrix/policy_versioning/orchestration/fetch.py +158 -0
  630. siphrix/policy_versioning/orchestration/fetch_selection_safety.py +76 -0
  631. siphrix/policy_versioning/orchestration/honesty.py +132 -0
  632. siphrix/policy_versioning/orchestration/integrity.py +235 -0
  633. siphrix/policy_versioning/orchestration/projection.py +132 -0
  634. siphrix/policy_versioning/orchestration/projection_faithfulness.py +125 -0
  635. siphrix/policy_versioning/orchestration/readiness.py +112 -0
  636. siphrix/policy_versioning/orchestration/reproducibility.py +63 -0
  637. siphrix/policy_versioning/orchestration/resolution_trace.py +420 -0
  638. siphrix/policy_versioning/orchestration/revocation.py +160 -0
  639. siphrix/policy_versioning/orchestration/revocation_truth.py +95 -0
  640. siphrix/policy_versioning/orchestration/semantic_diff.py +920 -0
  641. siphrix/policy_versioning/orchestration/state.py +89 -0
  642. siphrix/policy_versioning/orchestration/target_truth.py +100 -0
  643. siphrix/policy_versioning/overlays/__init__.py +1 -0
  644. siphrix/policy_versioning/overlays/applicability.py +482 -0
  645. siphrix/policy_versioning/overlays/conflicts.py +435 -0
  646. siphrix/policy_versioning/overlays/explanations.py +519 -0
  647. siphrix/policy_versioning/overlays/field_merge.py +740 -0
  648. siphrix/policy_versioning/overlays/merge.py +622 -0
  649. siphrix/policy_versioning/overlays/models.py +811 -0
  650. siphrix/policy_versioning/overlays/readiness.py +639 -0
  651. siphrix/policy_versioning/overlays/scope.py +471 -0
  652. siphrix/policy_versioning/overlays/selector.py +888 -0
  653. siphrix/policy_versioning/overlays/semantics.py +353 -0
  654. siphrix/policy_versioning/overlays/soundness.py +345 -0
  655. siphrix/policy_versioning/policy_lineage.py +295 -0
  656. siphrix/policy_versioning/promotion_execution.py +355 -0
  657. siphrix/policy_versioning/registry_config.py +165 -0
  658. siphrix/policy_versioning/registry_intake.py +388 -0
  659. siphrix/policy_versioning/registry_view.py +397 -0
  660. siphrix/policy_versioning/replay/__init__.py +1 -0
  661. siphrix/policy_versioning/replay/compat.py +539 -0
  662. siphrix/policy_versioning/replay/engine.py +1657 -0
  663. siphrix/policy_versioning/replay/export_integration.py +602 -0
  664. siphrix/policy_versioning/replay/models.py +1528 -0
  665. siphrix/policy_versioning/replay/queries.py +549 -0
  666. siphrix/policy_versioning/replay/view_models.py +708 -0
  667. siphrix/policy_versioning/replay/workspace.py +366 -0
  668. siphrix/policy_versioning/resource_classifier.py +270 -0
  669. siphrix/policy_versioning/rollback_execution.py +471 -0
  670. siphrix/policy_versioning/runtime_integration/__init__.py +1 -0
  671. siphrix/policy_versioning/runtime_integration/bundle_assessment.py +85 -0
  672. siphrix/policy_versioning/runtime_integration/causal_attribution.py +122 -0
  673. siphrix/policy_versioning/runtime_integration/export_integration.py +162 -0
  674. siphrix/policy_versioning/runtime_integration/integration_chain_truth.py +113 -0
  675. siphrix/policy_versioning/runtime_integration/integration_closure_readiness.py +340 -0
  676. siphrix/policy_versioning/runtime_integration/integration_honesty.py +151 -0
  677. siphrix/policy_versioning/runtime_integration/integration_integrity.py +257 -0
  678. siphrix/policy_versioning/runtime_integration/integration_readiness.py +102 -0
  679. siphrix/policy_versioning/runtime_integration/integration_reproducibility.py +161 -0
  680. siphrix/policy_versioning/runtime_integration/investigation_views.py +89 -0
  681. siphrix/policy_versioning/runtime_integration/justification.py +140 -0
  682. siphrix/policy_versioning/runtime_integration/justification_honesty.py +130 -0
  683. siphrix/policy_versioning/runtime_integration/operator_views.py +97 -0
  684. siphrix/policy_versioning/runtime_integration/projection_contracts.py +95 -0
  685. siphrix/policy_versioning/runtime_integration/projection_faithfulness.py +120 -0
  686. siphrix/policy_versioning/runtime_integration/provenance_integrity.py +135 -0
  687. siphrix/policy_versioning/runtime_integration/replay_integration.py +202 -0
  688. siphrix/policy_versioning/runtime_integration/timeline_truth.py +334 -0
  689. siphrix/policy_versioning/runtime_integration/timeline_workspace.py +104 -0
  690. siphrix/policy_versioning/runtime_integration/trace_builder.py +152 -0
  691. siphrix/policy_versioning/runtime_integration/trace_integrity.py +193 -0
  692. siphrix/policy_versioning/runtime_integration/trace_linkage.py +58 -0
  693. siphrix/policy_versioning/runtime_integration/trace_models.py +490 -0
  694. siphrix/policy_versioning/runtime_integration/view_safety.py +197 -0
  695. siphrix/policy_versioning/session_resolver.py +303 -0
  696. siphrix/policy_versioning/snapshots/__init__.py +1 -0
  697. siphrix/policy_versioning/snapshots/approval_state_resolver.py +229 -0
  698. siphrix/policy_versioning/snapshots/decision_diff.py +2124 -0
  699. siphrix/policy_versioning/snapshots/decision_ready_policy.py +215 -0
  700. siphrix/policy_versioning/snapshots/decision_ready_policy_safety.py +95 -0
  701. siphrix/policy_versioning/snapshots/decision_snapshot_store.py +861 -0
  702. siphrix/policy_versioning/snapshots/lineage_engine.py +447 -0
  703. siphrix/policy_versioning/snapshots/lineage_integrity.py +383 -0
  704. siphrix/policy_versioning/snapshots/lineage_store.py +145 -0
  705. siphrix/policy_versioning/snapshots/snapshot_integrity.py +872 -0
  706. siphrix/policy_versioning/temporal_policy_resolver.py +326 -0
  707. siphrix/policy_versioning/tenant_view.py +262 -0
  708. siphrix/policy_versioning/transition_governance.py +356 -0
  709. siphrix/policy_versioning/transition_ledger.py +278 -0
  710. siphrix/policy_versioning/trust/__init__.py +1 -0
  711. siphrix/policy_versioning/trust/chain_consistency.py +173 -0
  712. siphrix/policy_versioning/trust/chain_risk.py +124 -0
  713. siphrix/policy_versioning/trust/epoch_drift.py +214 -0
  714. siphrix/policy_versioning/trust/foundation_readiness.py +127 -0
  715. siphrix/policy_versioning/trust/governance_readiness.py +154 -0
  716. siphrix/policy_versioning/trust/history.py +131 -0
  717. siphrix/policy_versioning/trust/honesty.py +96 -0
  718. siphrix/policy_versioning/trust/trust.py +373 -0
  719. siphrix/policy_versioning/versioned_policy_codec.py +312 -0
  720. siphrix/readiness/__init__.py +32 -0
  721. siphrix/readiness/assessor.py +260 -0
  722. siphrix/readiness/checks.py +1325 -0
  723. siphrix/readiness/models.py +102 -0
  724. siphrix/release.py +288 -0
  725. siphrix/resilience/__init__.py +123 -0
  726. siphrix/resilience/adaptive_guardrail.py +169 -0
  727. siphrix/resilience/audit_log_model.py +42 -0
  728. siphrix/resilience/blast_radius_control.py +115 -0
  729. siphrix/resilience/damage_containment.py +31 -0
  730. siphrix/resilience/distributed_control.py +150 -0
  731. siphrix/resilience/distributed_lock.py +34 -0
  732. siphrix/resilience/enforcement_cluster.py +66 -0
  733. siphrix/resilience/evidence_adaptation.py +85 -0
  734. siphrix/resilience/fragmented_kill_switch.py +98 -0
  735. siphrix/resilience/healing.py +69 -0
  736. siphrix/resilience/health_monitor.py +71 -0
  737. siphrix/resilience/human_recovery.py +79 -0
  738. siphrix/resilience/org_control_plane.py +109 -0
  739. siphrix/resilience/regional_control.py +122 -0
  740. siphrix/resilience/split_brain.py +40 -0
  741. siphrix/resilience/state_engine.py +55 -0
  742. siphrix/resilience/temporal_dsl.py +104 -0
  743. siphrix/resilience/temporal_policy.py +58 -0
  744. siphrix/resilience/temporal_state.py +33 -0
  745. siphrix/resilience/tenant_isolation.py +79 -0
  746. siphrix/risk/__init__.py +149 -0
  747. siphrix/risk/risk_execution.py +277 -0
  748. siphrix/risk/risk_explainer.py +496 -0
  749. siphrix/risk/risk_factor_engine.py +578 -0
  750. siphrix/risk/risk_orchestration.py +424 -0
  751. siphrix/risk/risk_policy_mapping.py +174 -0
  752. siphrix/risk/risk_score.py +562 -0
  753. siphrix/risk/risk_thresholds.py +160 -0
  754. siphrix/runtime/__init__.py +192 -0
  755. siphrix/runtime/audit_hardening.py +33 -0
  756. siphrix/runtime/bridge_analyzer.py +41 -0
  757. siphrix/runtime/broker_plane.py +146 -0
  758. siphrix/runtime/broker_protocol.py +40 -0
  759. siphrix/runtime/broker_socket.py +74 -0
  760. siphrix/runtime/capabilities.py +30 -0
  761. siphrix/runtime/capability_coupling.py +48 -0
  762. siphrix/runtime/contracts.py +93 -0
  763. siphrix/runtime/decision_snapshot.py +15 -0
  764. siphrix/runtime/enforcement.py +136 -0
  765. siphrix/runtime/enforcement_points.py +46 -0
  766. siphrix/runtime/evidence_ledger.py +148 -0
  767. siphrix/runtime/exec_intercept.py +6 -0
  768. siphrix/runtime/execution_guard.py +26 -0
  769. siphrix/runtime/failure_semantics.py +43 -0
  770. siphrix/runtime/hooks.py +99 -0
  771. siphrix/runtime/intervention.py +106 -0
  772. siphrix/runtime/kernel_syscall_interception.py +351 -0
  773. siphrix/runtime/linux_kernel_backend.py +131 -0
  774. siphrix/runtime/mediation.py +155 -0
  775. siphrix/runtime/policy_remote.py +21 -0
  776. siphrix/runtime/policy_runtime.py +17 -0
  777. siphrix/runtime/session_wrappers.py +35 -0
  778. siphrix/runtime/sessions.py +92 -0
  779. siphrix/runtime/syscall_intents.py +54 -0
  780. siphrix/runtime_paths.py +225 -0
  781. siphrix/simulation/__init__.py +27 -0
  782. siphrix/simulation/audit.py +397 -0
  783. siphrix/simulation/engine.py +945 -0
  784. siphrix/state/__init__.py +3 -0
  785. siphrix/state/state_manager.py +83 -0
  786. siphrix/tests_all_global.py +1089 -0
  787. siphrix/trust/__init__.py +146 -0
  788. siphrix/trust/attestation.py +105 -0
  789. siphrix/trust/broker_attestation.py +29 -0
  790. siphrix/trust/distributed_attestation.py +93 -0
  791. siphrix/trust/identity.py +13 -0
  792. siphrix/trust/integrity_chain.py +101 -0
  793. siphrix/trust/policy_anchor.py +42 -0
  794. siphrix/trust/policy_remote_guard.py +757 -0
  795. siphrix/trust/policy_store.py +45 -0
  796. siphrix/trust/push_updates.py +55 -0
  797. siphrix/trust/recheck.py +34 -0
  798. siphrix/trust/remote_policy_server.py +198 -0
  799. siphrix/trust/remote_sync.py +307 -0
  800. siphrix/trust/signed_heartbeat.py +145 -0
  801. siphrix/trust/trust_cascade.py +89 -0
  802. siphrix/trust/trust_epoch.py +115 -0
  803. siphrix/trust/trust_mode.py +366 -0
  804. siphrix/trust/trust_seal.py +190 -0
  805. siphrix/utils/__init__.py +5 -0
  806. siphrix/utils/io.py +16 -0
  807. siphrix/web_console/__init__.py +73 -0
  808. siphrix/web_console/static/console.css +606 -0
  809. siphrix/web_console/static/console.js +886 -0
  810. siphrix/web_console/static/index.html +344 -0
  811. siphrix-1.0.0.dist-info/METADATA +1543 -0
  812. siphrix-1.0.0.dist-info/RECORD +816 -0
  813. siphrix-1.0.0.dist-info/WHEEL +5 -0
  814. siphrix-1.0.0.dist-info/entry_points.txt +2 -0
  815. siphrix-1.0.0.dist-info/licenses/LICENSE +21 -0
  816. siphrix-1.0.0.dist-info/top_level.txt +1 -0
siphrix/__init__.py ADDED
@@ -0,0 +1,94 @@
1
+ """Siphrix — AI Action Firewall & Policy Runtime.
2
+
3
+ Siphrix sits between what an AI agent wants to do and what it is
4
+ allowed to do: it evaluates every agent action against a policy
5
+ before execution, emits an auditable decision trail, and fails closed
6
+ when in doubt.
7
+
8
+ CLI first-run path:
9
+
10
+ siphrix demo # the official three-flow demo
11
+ python -m siphrix --help # discover every subcommand
12
+
13
+ Internally Siphrix is built from four coordinated layers — a policy
14
+ decision layer (``siphrix.policy_runtime``), a runtime enforcement
15
+ layer (``siphrix.runtime``, ``siphrix.exec_intercept``), a
16
+ trust / audit / governance support layer (``siphrix.trust``,
17
+ ``siphrix.audit``, ``siphrix.governance``), and an operator
18
+ readiness surface (``siphrix.doctor``, ``siphrix.readiness``,
19
+ the ``siphrix`` CLI). Externally it is one product: the firewall
20
+ at the boundary between agent intent and real-world action.
21
+
22
+ This module defines the official, product-facing public API. A small
23
+ set of names is promoted here; everything else lives under the
24
+ corresponding subpackage (``siphrix.orchestrator``,
25
+ ``siphrix.policy_runtime``, ``siphrix.governance``,
26
+ ``siphrix.contracts``, …) and must be imported explicitly.
27
+
28
+ Official public API
29
+ -------------------
30
+
31
+ Runtime execution:
32
+
33
+ from siphrix import run_pipeline, PipelineResult
34
+
35
+ result = run_pipeline("your input")
36
+ result.outcome # "proceed" | "block" | "ask_confirm" | "clarify"
37
+ result.final_text # generated text when outcome == "proceed"
38
+
39
+ Policy evaluation:
40
+
41
+ from siphrix import PolicyInput, PolicyManager, PolicyDecision
42
+
43
+ policy_input = PolicyInput.from_dict({"action_name": "http_get"})
44
+ decision: PolicyDecision = PolicyManager().decide(policy_input.to_action_context())
45
+ decision.verdict # "ALLOW" | "BLOCK" | "ABORT"
46
+ decision.reason # stable reason code
47
+
48
+ Invalid input is surfaced through ``PolicyInputValidationError``.
49
+
50
+ Agent / tool-calling integration:
51
+
52
+ from siphrix import ActionEvaluator
53
+
54
+ evaluator = ActionEvaluator()
55
+ response = evaluator.evaluate({
56
+ "action_name": "http_get",
57
+ "resource.domain": "example.com",
58
+ "effect_type": "READ_ONLY",
59
+ "risk_level": "LOW",
60
+ })
61
+ if response.allowed:
62
+ perform_action()
63
+
64
+ Version:
65
+
66
+ from siphrix import __version__
67
+
68
+ Stability
69
+ ---------
70
+ The names re-exported here are the stable product surface. Names
71
+ reachable only through deeper module paths (``siphrix.<subpackage>.*``)
72
+ are documented per-subpackage but are not part of this top-level
73
+ contract.
74
+ """
75
+
76
+ from siphrix.agent import ActionEvaluationResponse, ActionEvaluator
77
+ from siphrix.orchestrator import PipelineResult, run_pipeline
78
+ from siphrix.policy_runtime.input import PolicyInput, PolicyInputValidationError
79
+ from siphrix.policy_runtime.manager import PolicyManager
80
+ from siphrix.policy_runtime.types import PolicyDecision
81
+
82
+ __version__ = "1.0.0"
83
+
84
+ __all__ = [
85
+ "ActionEvaluationResponse",
86
+ "ActionEvaluator",
87
+ "PipelineResult",
88
+ "PolicyDecision",
89
+ "PolicyInput",
90
+ "PolicyInputValidationError",
91
+ "PolicyManager",
92
+ "__version__",
93
+ "run_pipeline",
94
+ ]
siphrix/__main__.py ADDED
@@ -0,0 +1,13 @@
1
+ """Package entry point for ``python -m siphrix``.
2
+
3
+ Delegates to the canonical CLI in :mod:`siphrix.cli.app` so that
4
+ ``python -m siphrix <cmd>`` and the installed ``siphrix`` console
5
+ script run byte-identical code.
6
+ """
7
+
8
+ from __future__ import annotations
9
+
10
+ from siphrix.cli.app import main
11
+
12
+ if __name__ == "__main__":
13
+ raise SystemExit(main())
@@ -0,0 +1,98 @@
1
+ """Adapter domain surfaces for planners, context ingestion, and future frameworks.
2
+
3
+ This package root is a thin PEP 562 lazy facade. Public names are
4
+ owned by the sibling submodules listed in ``_ROUTES`` below; they are
5
+ resolved on first attribute access and cached into ``globals()`` for
6
+ subsequent O(1) dict hits. Behaviour is identical to the previous
7
+ eager re-export module: ``from siphrix.adapters import <name>`` still
8
+ works for every historical public name.
9
+ """
10
+ from __future__ import annotations
11
+
12
+ import importlib
13
+ from typing import Any
14
+
15
+ _ROUTES: dict[str, str] = {
16
+ # from .registry
17
+ 'AdapterLookupError': 'registry',
18
+ 'AdapterRegistrationError': 'registry',
19
+ 'AdapterSelectionError': 'registry',
20
+ 'ContextAdapterRequirements': 'registry',
21
+ 'ExecutorAdapterRequirements': 'registry',
22
+ 'FrameworkAdapterRequirements': 'registry',
23
+ 'IntegrationRegistry': 'registry',
24
+ 'PlannerAdapterRequirements': 'registry',
25
+ 'build_default_integration_registry': 'registry',
26
+ # from .frameworks
27
+ 'AgentRuntimeAdapter': 'frameworks',
28
+ 'OrchestrationAdapter': 'frameworks',
29
+ 'WorkflowAdapter': 'frameworks',
30
+ # from .planners
31
+ 'AnthropicPlanner': 'planners',
32
+ 'CustomPlanner': 'planners',
33
+ 'GeminiPlanner': 'planners',
34
+ 'LocalPlanner': 'planners',
35
+ 'MockPlanner': 'planners',
36
+ 'OllamaPlanner': 'planners',
37
+ 'OpenAIPlanner': 'planners',
38
+ # from .context
39
+ 'CompositeContextAdapter': 'context',
40
+ 'EnvironmentContextAdapter': 'context',
41
+ 'RoleContextAdapter': 'context',
42
+ 'SessionContextAdapter': 'context',
43
+ 'TenantContextAdapter': 'context',
44
+ # from .executors
45
+ 'EmailExecutor': 'executors',
46
+ 'FilesystemExecutor': 'executors',
47
+ 'NetworkExecutor': 'executors',
48
+ 'SandboxExecutor': 'executors',
49
+ 'ShellExecutor': 'executors',
50
+ 'StubExecutor': 'executors',
51
+ }
52
+
53
+ __all__ = [
54
+ 'AdapterLookupError',
55
+ 'AdapterRegistrationError',
56
+ 'AdapterSelectionError',
57
+ 'AgentRuntimeAdapter',
58
+ 'AnthropicPlanner',
59
+ 'CompositeContextAdapter',
60
+ 'ContextAdapterRequirements',
61
+ 'CustomPlanner',
62
+ 'EmailExecutor',
63
+ 'EnvironmentContextAdapter',
64
+ 'ExecutorAdapterRequirements',
65
+ 'FilesystemExecutor',
66
+ 'FrameworkAdapterRequirements',
67
+ 'GeminiPlanner',
68
+ 'IntegrationRegistry',
69
+ 'LocalPlanner',
70
+ 'MockPlanner',
71
+ 'NetworkExecutor',
72
+ 'OllamaPlanner',
73
+ 'OpenAIPlanner',
74
+ 'OrchestrationAdapter',
75
+ 'PlannerAdapterRequirements',
76
+ 'RoleContextAdapter',
77
+ 'SandboxExecutor',
78
+ 'SessionContextAdapter',
79
+ 'ShellExecutor',
80
+ 'StubExecutor',
81
+ 'TenantContextAdapter',
82
+ 'WorkflowAdapter',
83
+ 'build_default_integration_registry',
84
+ ]
85
+
86
+
87
+ def __getattr__(name: str) -> Any:
88
+ sub = _ROUTES.get(name)
89
+ if sub is None:
90
+ raise AttributeError(f"module 'siphrix.adapters' has no attribute {name!r}")
91
+ module = importlib.import_module(f".{sub}", 'siphrix.adapters')
92
+ value = getattr(module, name)
93
+ globals()[name] = value
94
+ return value
95
+
96
+
97
+ def __dir__() -> list[str]:
98
+ return sorted(set(globals()) | set(_ROUTES))
@@ -0,0 +1,15 @@
1
+ """Canonical context adapters for Siphrix integration boundaries."""
2
+
3
+ from siphrix.adapters.context.composite_context import CompositeContextAdapter
4
+ from siphrix.adapters.context.environment_context import EnvironmentContextAdapter
5
+ from siphrix.adapters.context.role_context import RoleContextAdapter
6
+ from siphrix.adapters.context.session_context import SessionContextAdapter
7
+ from siphrix.adapters.context.tenant_context import TenantContextAdapter
8
+
9
+ __all__ = [
10
+ "CompositeContextAdapter",
11
+ "EnvironmentContextAdapter",
12
+ "RoleContextAdapter",
13
+ "SessionContextAdapter",
14
+ "TenantContextAdapter",
15
+ ]
@@ -0,0 +1,81 @@
1
+ from __future__ import annotations
2
+
3
+ """Shared base helpers for canonical context adapters."""
4
+
5
+ from typing import Iterable, Mapping, Optional
6
+
7
+ from siphrix.adapters.context.normalizer import merge_context_fragments, normalize_context_mapping
8
+ from siphrix.contracts.adapter_capability import (
9
+ AdapterCapability,
10
+ AdapterDescriptor,
11
+ AdapterExecutionSemantics,
12
+ )
13
+ from siphrix.contracts.context import IntegrationContext
14
+
15
+
16
+ class ContextAdapterBase:
17
+ provider_name = "context"
18
+ adapter_kind = "context"
19
+ supported_context_fields: tuple[str, ...] = ()
20
+ supports_merge = False
21
+ supports_partial_context = True
22
+ preserves_provenance = True
23
+
24
+ def describe_capabilities(self) -> AdapterDescriptor:
25
+ return AdapterDescriptor(
26
+ adapter_id=f"context:{self.provider_name}",
27
+ domain="context",
28
+ provider_name=self.provider_name,
29
+ adapter_kind=self.adapter_kind,
30
+ metadata={
31
+ "supports_merge": str(self.supports_merge).lower(),
32
+ "supports_partial_context": str(self.supports_partial_context).lower(),
33
+ "supports_field_provenance": str(self.preserves_provenance).lower(),
34
+ "supports_override_trail": str(self.preserves_provenance).lower(),
35
+ "primary_output": "IntegrationContext",
36
+ },
37
+ capabilities=(
38
+ AdapterCapability(
39
+ name=f"{self.provider_name}-context",
40
+ supported_context_fields=self.supported_context_fields,
41
+ execution_semantics=AdapterExecutionSemantics.SYNC,
42
+ preserves_raw_output=False,
43
+ produces_structured_actions=False,
44
+ validates_payloads=True,
45
+ supports_provenance=self.preserves_provenance,
46
+ metadata={
47
+ "kind": self.adapter_kind,
48
+ "supports_merge": str(self.supports_merge).lower(),
49
+ "supports_partial_context": str(self.supports_partial_context).lower(),
50
+ "supports_field_provenance": str(self.preserves_provenance).lower(),
51
+ "supports_override_trail": str(self.preserves_provenance).lower(),
52
+ "primary_output": "IntegrationContext",
53
+ },
54
+ ),
55
+ ),
56
+ )
57
+
58
+ def build_context_from_mapping(
59
+ self,
60
+ payload: Mapping[str, object],
61
+ *,
62
+ source_name: str,
63
+ defaults: Optional[Mapping[str, object]] = None,
64
+ source_system: Optional[str] = None,
65
+ ) -> IntegrationContext:
66
+ fragment = normalize_context_mapping(
67
+ payload,
68
+ source_name=source_name,
69
+ supported_fields=self.supported_context_fields,
70
+ defaults=defaults,
71
+ source_adapter=self.provider_name,
72
+ source_system=source_system,
73
+ )
74
+ return merge_context_fragments((fragment,), source_adapter=self.provider_name, source_system=source_system)
75
+
76
+ def compose_context(self, fragments: Iterable, *, source_system: Optional[str] = None) -> IntegrationContext:
77
+ return merge_context_fragments(
78
+ fragments,
79
+ source_adapter=self.provider_name,
80
+ source_system=source_system,
81
+ )
@@ -0,0 +1,80 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import Mapping, Optional
4
+
5
+ from siphrix.adapters.context.base import ContextAdapterBase
6
+ from siphrix.adapters.context.environment_context import EnvironmentContextAdapter
7
+ from siphrix.adapters.context.normalizer import normalize_context_mapping
8
+ from siphrix.adapters.context.role_context import RoleContextAdapter
9
+ from siphrix.adapters.context.session_context import SessionContextAdapter
10
+ from siphrix.adapters.context.tenant_context import TenantContextAdapter
11
+ from siphrix.contracts.context import IntegrationContext
12
+
13
+
14
+ class CompositeContextAdapter(ContextAdapterBase):
15
+ provider_name = "composite_context"
16
+ supported_context_fields = (
17
+ "role",
18
+ "tenant",
19
+ "environment",
20
+ "session",
21
+ "actor_id",
22
+ "actor_display_name",
23
+ "runtime_channel",
24
+ "source_system",
25
+ "source_adapter",
26
+ )
27
+ supports_merge = True
28
+
29
+ def __init__(self) -> None:
30
+ self.role_adapter = RoleContextAdapter()
31
+ self.tenant_adapter = TenantContextAdapter()
32
+ self.environment_adapter = EnvironmentContextAdapter()
33
+ self.session_adapter = SessionContextAdapter()
34
+
35
+ def normalize(
36
+ self,
37
+ *,
38
+ role_context: Optional[Mapping[str, object]] = None,
39
+ tenant_context: Optional[Mapping[str, object]] = None,
40
+ environment_context: Optional[Mapping[str, object]] = None,
41
+ session_context: Optional[Mapping[str, object]] = None,
42
+ defaults: Optional[Mapping[str, object]] = None,
43
+ source_system: Optional[str] = None,
44
+ ) -> IntegrationContext:
45
+ fragments = []
46
+ if defaults:
47
+ fragments.append(
48
+ normalize_context_mapping(
49
+ {},
50
+ source_name="defaults",
51
+ supported_fields=self.supported_context_fields,
52
+ defaults=defaults,
53
+ source_system=source_system,
54
+ )
55
+ )
56
+ if tenant_context is not None:
57
+ fragments.append(self.tenant_adapter.normalize_fragment(tenant_context, source_system=source_system))
58
+ if environment_context is not None:
59
+ fragments.append(self.environment_adapter.normalize_fragment(environment_context, source_system=source_system))
60
+ if session_context is not None:
61
+ fragments.append(self.session_adapter.normalize_fragment(session_context, source_system=source_system))
62
+ if role_context is not None:
63
+ fragments.append(self.role_adapter.normalize_fragment(role_context, source_system=source_system))
64
+ return self.compose_context(fragments, source_system=source_system)
65
+
66
+ def normalize_mapping(
67
+ self,
68
+ payload: Mapping[str, object],
69
+ *,
70
+ defaults: Optional[Mapping[str, object]] = None,
71
+ source_system: Optional[str] = None,
72
+ ) -> IntegrationContext:
73
+ return self.normalize(
74
+ role_context=payload,
75
+ tenant_context=payload,
76
+ environment_context=payload,
77
+ session_context=payload,
78
+ defaults=defaults,
79
+ source_system=source_system,
80
+ )
@@ -0,0 +1,37 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import Mapping, Optional
4
+
5
+ from siphrix.adapters.context.base import ContextAdapterBase
6
+ from siphrix.adapters.context.normalizer import NormalizedContextFragment, normalize_context_mapping
7
+ from siphrix.contracts.context import IntegrationContext
8
+
9
+
10
+ class EnvironmentContextAdapter(ContextAdapterBase):
11
+ provider_name = "environment_context"
12
+ supported_context_fields = ("environment", "runtime_channel", "source_system", "source_adapter")
13
+
14
+ def normalize(
15
+ self,
16
+ payload: Mapping[str, object],
17
+ *,
18
+ defaults: Optional[Mapping[str, object]] = None,
19
+ source_system: Optional[str] = None,
20
+ ) -> IntegrationContext:
21
+ return self.build_context_from_mapping(payload, source_name="environment_context", defaults=defaults, source_system=source_system)
22
+
23
+ def normalize_fragment(
24
+ self,
25
+ payload: Mapping[str, object],
26
+ *,
27
+ defaults: Optional[Mapping[str, object]] = None,
28
+ source_system: Optional[str] = None,
29
+ ) -> NormalizedContextFragment:
30
+ return normalize_context_mapping(
31
+ payload,
32
+ source_name="environment_context",
33
+ supported_fields=self.supported_context_fields,
34
+ defaults=defaults,
35
+ source_adapter=self.provider_name,
36
+ source_system=source_system,
37
+ )