arbora 0.1.8.dev4__tar.gz → 0.1.8.dev6__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 (794) hide show
  1. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/PKG-INFO +23 -16
  2. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/README.md +8 -8
  3. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/__init__.py +1 -1
  4. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/_version.py +1 -1
  5. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/a2a/authority.py +83 -11
  6. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/access/action_policy.py +114 -14
  7. arbora-0.1.8.dev6/arbora/access/action_policy_source.py +215 -0
  8. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/acp/__init__.py +11 -0
  9. arbora-0.1.8.dev6/arbora/acp/adapter.py +462 -0
  10. arbora-0.1.8.dev6/arbora/acp/central_runtime.py +283 -0
  11. arbora-0.1.8.dev6/arbora/acp/http_transport.py +485 -0
  12. arbora-0.1.8.dev6/arbora/acp/local_history.py +159 -0
  13. arbora-0.1.8.dev6/arbora/acp/local_runtime.py +144 -0
  14. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/acp/session_policy.py +25 -0
  15. arbora-0.1.8.dev6/arbora/acp/stdio_transport.py +55 -0
  16. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/agent_host/log_access.py +50 -1
  17. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/agent_host/log_routes.py +82 -1
  18. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/agent_runs.py +161 -3
  19. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/generated/descriptors.json +266 -2
  20. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/generated/engine_errors.py +56 -2
  21. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/generated/registry.json +2268 -832
  22. arbora-0.1.8.dev6/arbora/api/generated/schemas/method.request.json +1 -0
  23. arbora-0.1.8.dev6/arbora/api/generated/schemas/result.compute.json +1 -0
  24. arbora-0.1.8.dev6/arbora/api/generated/schemas/result.coordination.json +1 -0
  25. arbora-0.1.8.dev6/arbora/api/generated/schemas/result.query.json +1 -0
  26. arbora-0.1.8.dev6/arbora/api/generated/schemas/result.storage.json +1 -0
  27. arbora-0.1.8.dev6/arbora/api/generated/task_plan_schema.json +44 -0
  28. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/http/browser_app.py +9 -3
  29. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/invoke/bootstrap.py +52 -1
  30. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/invoke/executor.py +5 -0
  31. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/invoke/pipeline.py +57 -1
  32. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/invoke/steps.py +24 -3
  33. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/ops/browser.py +13 -0
  34. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/ops/plans.py +539 -22
  35. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/ops/query.py +6 -3
  36. arbora-0.1.8.dev6/arbora/api/ops/query_federation.py +630 -0
  37. arbora-0.1.8.dev6/arbora/api/ops/run_graph.py +238 -0
  38. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/ops/runs.py +27 -0
  39. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/ops/source.py +63 -4
  40. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/task_plan_schema.py +40 -6
  41. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/browser_control/browser_control_api.py +13 -0
  42. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/browser_control/browser_control_binding.py +7 -4
  43. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/browser_control/browser_control_channel.py +8 -0
  44. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/browser_control/browser_control_client.py +9 -0
  45. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/browser_control/browser_control_dispatch.py +9 -0
  46. arbora-0.1.8.dev6/arbora/browser_control/browser_control_proposals.py +314 -0
  47. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/browser_control/browser_control_provenance.py +1 -0
  48. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/browser_control/browser_control_runtime.py +3 -0
  49. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/browser_control/browser_control_server.py +34 -1
  50. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/browser_control/browser_control_service.py +6 -0
  51. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/browser_control/browser_control_state.py +21 -0
  52. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/browser_control/trace_bundle.py +33 -0
  53. arbora-0.1.8.dev6/arbora/certification/__init__.py +5 -0
  54. arbora-0.1.8.dev6/arbora/certification/oidc.py +988 -0
  55. arbora-0.1.8.dev6/arbora/client/__init__.py +5 -0
  56. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/client/_generated_models.py +23 -1
  57. arbora-0.1.8.dev6/arbora/client/browser_boundary.py +26 -0
  58. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/console.py +19 -0
  59. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/core/settings.py +16 -0
  60. arbora-0.1.8.dev6/arbora/current_plan_publication.py +292 -0
  61. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/deployment/doctor_certification.py +1 -2
  62. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/deployment/genesis_environments.py +2 -1
  63. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/deployment/production_ops.py +23 -17
  64. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/deployment/release_canary.py +1 -1
  65. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/deployment/semantic_provisioning.py +14 -4
  66. arbora-0.1.8.dev6/arbora/fleet/access_contracts.py +667 -0
  67. arbora-0.1.8.dev6/arbora/fleet/catalog_graph.py +241 -0
  68. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/onboarding.py +343 -22
  69. arbora-0.1.8.dev6/arbora/fleet/source_executor.py +715 -0
  70. arbora-0.1.8.dev6/arbora/fleet/virtual_catalog.py +276 -0
  71. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/config.py +5 -6
  72. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/graph_api.py +4 -0
  73. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/host_bindings.py +29 -1
  74. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/identity/admission.py +2 -2
  75. arbora-0.1.8.dev6/arbora/identity/browser_broker.py +70 -0
  76. arbora-0.1.8.dev6/arbora/identity/browser_composition.py +169 -0
  77. arbora-0.1.8.dev6/arbora/identity/browser_runtime.py +382 -0
  78. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/identity/composition.py +4 -2
  79. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/identity/engine_ports.py +23 -14
  80. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/identity/issuer.py +5 -1
  81. arbora-0.1.8.dev6/arbora/identity/local_browser.py +99 -0
  82. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/identity/ports.py +17 -2
  83. arbora-0.1.8.dev6/arbora/local_browser_boundary.py +98 -0
  84. arbora-0.1.8.dev6/arbora/local_browser_channel.py +403 -0
  85. arbora-0.1.8.dev6/arbora/mcp_server/browser_dispatch.py +150 -0
  86. arbora-0.1.8.dev6/arbora/mcp_server/browser_state.py +122 -0
  87. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/catalog_composition.py +19 -12
  88. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/composition.py +9 -1
  89. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/current_plan_reader.py +78 -9
  90. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/hosted_invocation.py +12 -0
  91. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/run_reader.py +59 -3
  92. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/runtime.py +29 -18
  93. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/served_engine.py +37 -2
  94. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/served_invocation.py +327 -8
  95. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/server.py +28 -3
  96. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/source_reader.py +4 -0
  97. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/task_plan.py +65 -11
  98. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/task_plan_runtime.py +16 -2
  99. arbora-0.1.8.dev6/arbora/run_origin.py +192 -0
  100. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/security/request_identity.py +13 -2
  101. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/security/scope_registry.py +4 -1
  102. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/arbora-repository-development/SKILL.md +5 -3
  103. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/webui_host/session_boundary.py +15 -3
  104. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/webui_host/webui_co_service.py +6 -1
  105. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora.egg-info/PKG-INFO +23 -16
  106. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora.egg-info/SOURCES.txt +32 -0
  107. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora.egg-info/entry_points.txt +2 -1
  108. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora.egg-info/requires.txt +17 -7
  109. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/pyproject.toml +21 -14
  110. arbora-0.1.8.dev6/tests/test_a2a_extension_lifespan.py +158 -0
  111. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/tests/test_agents_run_end_to_end.py +8 -4
  112. arbora-0.1.8.dev6/tests/test_boot_diagnostics.py +147 -0
  113. arbora-0.1.8.dev6/tests/test_current_plan_publication.py +645 -0
  114. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/tests/test_dependency_manifest.py +3 -3
  115. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/tests/test_docs_surface.py +5 -3
  116. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/tests/test_host_bindings.py +1 -0
  117. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/tests/test_native_run_scope.py +16 -1
  118. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/tests/test_real_anonymous_boot.py +1 -1
  119. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/tests/test_real_boot.py +427 -36
  120. arbora-0.1.8.dev6/tests/test_real_boot_ports.py +87 -0
  121. arbora-0.1.8.dev6/tests/test_real_boot_read_assertions.py +139 -0
  122. arbora-0.1.8.dev6/tests/test_run_origin.py +259 -0
  123. arbora-0.1.8.dev6/tests/test_served_engine_native_labels.py +108 -0
  124. arbora-0.1.8.dev4/arbora/api/generated/schemas/method.request.json +0 -1
  125. arbora-0.1.8.dev4/arbora/api/generated/schemas/result.compute.json +0 -1
  126. arbora-0.1.8.dev4/arbora/api/generated/schemas/result.coordination.json +0 -1
  127. arbora-0.1.8.dev4/arbora/api/generated/schemas/result.query.json +0 -1
  128. arbora-0.1.8.dev4/arbora/api/generated/schemas/result.storage.json +0 -1
  129. arbora-0.1.8.dev4/arbora/api/generated/task_plan_schema.json +0 -24
  130. arbora-0.1.8.dev4/arbora/client/__init__.py +0 -1
  131. arbora-0.1.8.dev4/arbora/fleet/access_contracts.py +0 -157
  132. arbora-0.1.8.dev4/arbora/fleet/source_executor.py +0 -193
  133. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/LICENSE +0 -0
  134. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/a2a/__init__.py +0 -0
  135. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/a2a/admission.py +0 -0
  136. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/a2a/anonymous.py +0 -0
  137. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/a2a/anonymous_native.py +0 -0
  138. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/a2a/application.py +0 -0
  139. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/a2a/approval.py +0 -0
  140. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/a2a/composition.py +0 -0
  141. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/a2a/mcp.py +0 -0
  142. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/a2a/models.py +0 -0
  143. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/a2a/routing.py +0 -0
  144. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/a2a/run_usage.py +0 -0
  145. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/a2a/sdk_app.py +0 -0
  146. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/a2a/service.py +0 -0
  147. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/a2a/terminal_event.py +0 -0
  148. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/a2a/tool_task.py +0 -0
  149. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/a2a/tool_task_dispatch.py +0 -0
  150. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/a2a/tool_task_requests.py +0 -0
  151. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/a2a/work_items.py +0 -0
  152. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/access/__init__.py +0 -0
  153. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/access/approval.py +0 -0
  154. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/access/assurance.py +0 -0
  155. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/access/external_policy_sync.py +0 -0
  156. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/access/host_start.py +0 -0
  157. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/access/priority.py +0 -0
  158. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/access/service.py +0 -0
  159. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/access/task_guard.py +0 -0
  160. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/acp/coding_session.py +0 -0
  161. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/agent_host/__init__.py +0 -0
  162. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/agent_host/log_replay.py +0 -0
  163. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/agent_host/log_runtime.py +0 -0
  164. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/agent_host/log_sink.py +0 -0
  165. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/agent_host/managed_web.py +0 -0
  166. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/agent_host/start_admission.py +0 -0
  167. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/agent_host/start_configuration.py +0 -0
  168. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/__init__.py +0 -0
  169. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/contracts/__init__.py +0 -0
  170. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/contracts/agent_control_contracts.py +0 -0
  171. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/contracts/agent_control_plane.py +0 -0
  172. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/contracts/catalog.py +0 -0
  173. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/contracts/messaging.py +0 -0
  174. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/contracts/provisioning.py +0 -0
  175. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/contracts/session.py +0 -0
  176. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/errors.py +0 -0
  177. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/evidence/__init__.py +0 -0
  178. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/evidence/bundle.py +0 -0
  179. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/evidence/contradiction.py +0 -0
  180. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/generated/__init__.py +0 -0
  181. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/generated/schemas/result.cluster.json +0 -0
  182. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/generated/schemas/result.graph.json +0 -0
  183. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/generated/schemas/result.ingestion.json +0 -0
  184. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/generated/schemas/result.messaging.json +0 -0
  185. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/generated/schemas/result.reasoning.json +0 -0
  186. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/generated/schemas/result.security.json +0 -0
  187. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/generated/schemas/result.transactions.json +0 -0
  188. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/http/__init__.py +0 -0
  189. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/http/app.py +0 -0
  190. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/http/auth.py +0 -0
  191. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/http/browser_auth.py +0 -0
  192. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/http/checkout.py +0 -0
  193. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/http/openapi.py +0 -0
  194. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/http/protocol_routes.py +0 -0
  195. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/http/routes.py +0 -0
  196. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/invoke/__init__.py +0 -0
  197. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/invoke/audit.py +0 -0
  198. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/invoke/eg_audit.py +0 -0
  199. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/invoke/plan.py +0 -0
  200. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/mcp/__init__.py +0 -0
  201. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/mcp/caller.py +0 -0
  202. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/mcp/discovery.py +0 -0
  203. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/mcp/registration.py +0 -0
  204. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/mcp/resolve.py +0 -0
  205. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/mcp/resources.py +0 -0
  206. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/mcp/serving.py +0 -0
  207. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/mcp/verbs.py +0 -0
  208. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/ops/__init__.py +0 -0
  209. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/ops/_common.py +0 -0
  210. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/ops/access.py +0 -0
  211. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/ops/agents.py +0 -0
  212. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/ops/capacity.py +0 -0
  213. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/ops/decide.py +0 -0
  214. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/ops/fleet.py +0 -0
  215. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/ops/fleet_deploy_watch.py +0 -0
  216. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/ops/ingest.py +0 -0
  217. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/ops/memory.py +0 -0
  218. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/ops/messaging.py +0 -0
  219. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/ops/ops.py +0 -0
  220. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/ops/policy.py +0 -0
  221. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/ops/registry_factory.py +0 -0
  222. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/ops/research.py +0 -0
  223. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/ops/retrieval.py +0 -0
  224. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/ops/run_replay.py +0 -0
  225. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/ops/security.py +0 -0
  226. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/ops/swarm.py +0 -0
  227. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/ops/telemetry.py +0 -0
  228. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/ops/usage.py +0 -0
  229. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/ops/work.py +0 -0
  230. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/ops/write_back.py +0 -0
  231. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/ops/write_back_models.py +0 -0
  232. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/policy/__init__.py +0 -0
  233. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/policy/cache.py +0 -0
  234. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/policy/default_policy.json +0 -0
  235. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/policy/defaults.py +0 -0
  236. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/policy/domain_scopes.py +0 -0
  237. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/policy/eunomia.py +0 -0
  238. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/policy/pdp_remote.py +0 -0
  239. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/registry/__init__.py +0 -0
  240. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/registry/contract_admission.py +0 -0
  241. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/registry/digest.py +0 -0
  242. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/registry/eg_binding.py +0 -0
  243. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/registry/eg_exclusions.yaml +0 -0
  244. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/registry/registry.py +0 -0
  245. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/registry/scopes.py +0 -0
  246. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/registry/spec.py +0 -0
  247. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/api/registry/surface_gate.py +0 -0
  248. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/architecture/__init__.py +0 -0
  249. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/architecture/boundary_census.py +0 -0
  250. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/architecture/capability_layers.py +0 -0
  251. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/browser_control/__init__.py +0 -0
  252. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/browser_control/browser_control_attendance.py +0 -0
  253. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/browser_control/browser_control_attendance_api.py +0 -0
  254. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/browser_control/browser_control_attended.py +0 -0
  255. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/browser_control/browser_control_cancellation.py +0 -0
  256. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/browser_control/browser_control_common.py +0 -0
  257. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/browser_control/browser_control_descriptor.py +0 -0
  258. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/browser_control/browser_control_durability.py +0 -0
  259. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/browser_control/browser_control_lease.py +0 -0
  260. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/browser_control/browser_control_outcome.py +0 -0
  261. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/browser_control/browser_control_policy.py +0 -0
  262. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/browser_control/browser_control_port.py +0 -0
  263. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/browser_control/browser_control_registration.py +0 -0
  264. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/browser_control/browser_control_validation.py +0 -0
  265. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/browser_control/mcp.py +0 -0
  266. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/client/_schema.py +0 -0
  267. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/client/http.py +0 -0
  268. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/client/invoke.py +0 -0
  269. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/connector_runner.py +0 -0
  270. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/content.py +0 -0
  271. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/__init__.py +0 -0
  272. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/_model.py +0 -0
  273. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/admission/__init__.py +0 -0
  274. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/admission/models.py +0 -0
  275. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/admission/service.py +0 -0
  276. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/agents/__init__.py +0 -0
  277. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/agents/models.py +0 -0
  278. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/agents/repository.py +0 -0
  279. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/agents/service.py +0 -0
  280. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/connectors/__init__.py +0 -0
  281. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/connectors/models.py +0 -0
  282. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/connectors/repository.py +0 -0
  283. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/connectors/service.py +0 -0
  284. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/economics/__init__.py +0 -0
  285. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/economics/models.py +0 -0
  286. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/economics/repository.py +0 -0
  287. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/economics/service.py +0 -0
  288. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/fleet_watch/__init__.py +0 -0
  289. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/fleet_watch/service.py +0 -0
  290. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/foundation/__init__.py +0 -0
  291. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/foundation/models.py +0 -0
  292. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/foundation/repository.py +0 -0
  293. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/foundation/service.py +0 -0
  294. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/migrations/__init__.py +0 -0
  295. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/migrations/authority.py +0 -0
  296. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/migrations/errors.py +0 -0
  297. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/migrations/models.py +0 -0
  298. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/policy/__init__.py +0 -0
  299. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/policy/models.py +0 -0
  300. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/policy/repository.py +0 -0
  301. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/projection/__init__.py +0 -0
  302. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/projection/authority.py +0 -0
  303. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/projection/models.py +0 -0
  304. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/projection/observability.py +0 -0
  305. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/projection/projector.py +0 -0
  306. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/projection/protocols.py +0 -0
  307. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/projection/repository.py +0 -0
  308. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/retrieval/__init__.py +0 -0
  309. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/retrieval/errors.py +0 -0
  310. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/retrieval/models.py +0 -0
  311. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/retrieval/protocols.py +0 -0
  312. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/retrieval/repository.py +0 -0
  313. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/retrieval/service.py +0 -0
  314. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/runs/__init__.py +0 -0
  315. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/runs/admission.py +0 -0
  316. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/runs/audit.py +0 -0
  317. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/runs/capacity.py +0 -0
  318. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/runs/models.py +0 -0
  319. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/runs/observations.py +0 -0
  320. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/sources/__init__.py +0 -0
  321. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/sources/models.py +0 -0
  322. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/sources/repository.py +0 -0
  323. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/sources/service.py +0 -0
  324. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/webui/__init__.py +0 -0
  325. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/webui/errors.py +0 -0
  326. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/webui/models.py +0 -0
  327. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/webui/protocols.py +0 -0
  328. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/webui/repository.py +0 -0
  329. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/webui/service.py +0 -0
  330. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/workflows/__init__.py +0 -0
  331. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/workflows/domain.py +0 -0
  332. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/control_plane/workflows/repository.py +0 -0
  333. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/core/__init__.py +0 -0
  334. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/core/agent_config_admin.py +0 -0
  335. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/core/capability_contract.py +0 -0
  336. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/core/config_admin.py +0 -0
  337. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/core/event_loop.py +0 -0
  338. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/core/provider_materialization.py +0 -0
  339. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/core/providers.py +0 -0
  340. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/core/transport.py +0 -0
  341. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/deployment/__init__.py +0 -0
  342. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/deployment/certification_assets.py +0 -0
  343. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/deployment/cli.py +0 -0
  344. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/deployment/codex_registration.py +0 -0
  345. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/deployment/config_generator.py +0 -0
  346. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/deployment/doctor.py +0 -0
  347. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/deployment/doctor_coverage.py +0 -0
  348. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/deployment/doctor_graph.py +0 -0
  349. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/deployment/doctor_lakehouse.py +0 -0
  350. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/deployment/doctor_observability.py +0 -0
  351. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/deployment/doctor_support.py +0 -0
  352. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/deployment/engine_lock.py +0 -0
  353. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/deployment/exit_criteria.py +0 -0
  354. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/deployment/file_lock.py +0 -0
  355. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/deployment/host_config.py +0 -0
  356. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/deployment/host_lock.py +0 -0
  357. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/deployment/kubernetes_first_boot.py +0 -0
  358. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/deployment/live_mount_guard.py +0 -0
  359. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/deployment/local_gates.py +0 -0
  360. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/deployment/preflight.py +0 -0
  361. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/deployment/profile_guard.py +0 -0
  362. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/deployment/public_ingress_identity.py +0 -0
  363. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/deployment/release_candidate.py +0 -0
  364. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/deployment/repo_templates.py +0 -0
  365. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/deployment/self_deploy.py +0 -0
  366. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/deployment/venv_autosync.py +0 -0
  367. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/deployment/venv_sync.py +0 -0
  368. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/deployment/venv_sync_types.py +0 -0
  369. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/deployment/webui_reference_model.py +0 -0
  370. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/ecosystem/__init__.py +0 -0
  371. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/ecosystem/agent_manager_dashboard.py +0 -0
  372. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/ecosystem/ard_federation.py +0 -0
  373. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/ecosystem/ard_registry.py +0 -0
  374. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/ecosystem/ard_signing.py +0 -0
  375. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/ecosystem/hook_installer.py +0 -0
  376. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/epistemic.py +0 -0
  377. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/evolution/__init__.py +0 -0
  378. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/evolution/wiring_sweep.py +0 -0
  379. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/finance/__init__.py +0 -0
  380. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/finance/alerts.py +0 -0
  381. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/finance/dca.py +0 -0
  382. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/finance/markets.py +0 -0
  383. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/finance/schedule.py +0 -0
  384. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/__init__.py +0 -0
  385. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/catalog_composition.py +0 -0
  386. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/catalog_items.py +0 -0
  387. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/catalog_reader.py +0 -0
  388. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/catalog_sources.py +0 -0
  389. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/child_resilience.py +0 -0
  390. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/client_toolsets.py +0 -0
  391. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/connector_count_pins.py +0 -0
  392. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/declarations.py +0 -0
  393. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/discovery_authority.py +0 -0
  394. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/epistemic_adapter.py +0 -0
  395. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/error_budget.py +0 -0
  396. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/feeds.py +0 -0
  397. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/gateway_ops.py +0 -0
  398. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/health.py +0 -0
  399. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/local_skill_catalog.py +0 -0
  400. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/mcp_resource_reconciliation.py +0 -0
  401. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/multiplexer.py +0 -0
  402. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/multiplexer_ops.py +0 -0
  403. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/plan_confirmation.py +0 -0
  404. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/protocol_compat.py +0 -0
  405. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/scaling/__init__.py +0 -0
  406. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/scaling/_model.py +0 -0
  407. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/scaling/development_lane.py +0 -0
  408. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/scaling/resource_pool_authority.py +0 -0
  409. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/scaling/resource_reservation.py +0 -0
  410. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/scaling/scaling_authority.py +0 -0
  411. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/scaling/scaling_intent_reconciler.py +0 -0
  412. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/scaling/scaling_signal_authority.py +0 -0
  413. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/scaling/service_scale_units.py +0 -0
  414. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/service_child.py +0 -0
  415. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/session_loads.py +0 -0
  416. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/session_notifications.py +0 -0
  417. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/shared_multiplexer.py +0 -0
  418. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/surfaces.py +0 -0
  419. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet/throttle_service.py +0 -0
  420. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/fleet_tool_call.py +0 -0
  421. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/__init__.py +0 -0
  422. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/aggregator.py +0 -0
  423. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/daemon.py +0 -0
  424. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/dashboard_api.py +0 -0
  425. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/enhanced_catalog_api.py +0 -0
  426. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/fleet.py +0 -0
  427. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/fleet_events.py +0 -0
  428. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/models.py +0 -0
  429. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/ontology_api.py +0 -0
  430. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/ports.py +0 -0
  431. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/rate_limit.py +0 -0
  432. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/registry.py +0 -0
  433. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/registry_api.py +0 -0
  434. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/remote_oauth_api.py +0 -0
  435. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/schema_context_api.py +0 -0
  436. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/schema_context_service.py +0 -0
  437. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/schemas/__init__.py +0 -0
  438. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/schemas/connector.py +0 -0
  439. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/schemas/graph_core.py +0 -0
  440. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/schemas/schema_context.py +0 -0
  441. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/__init__.py +0 -0
  442. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/ansible_tower.py +0 -0
  443. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/archivebox.py +0 -0
  444. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/aris.py +0 -0
  445. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/arr.py +0 -0
  446. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/atlassian.py +0 -0
  447. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/audio_transcriber.py +0 -0
  448. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/audiobookshelf.py +0 -0
  449. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/base.py +0 -0
  450. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/caddy.py +0 -0
  451. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/camunda.py +0 -0
  452. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/ciso_assistant.py +0 -0
  453. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/clarity.py +0 -0
  454. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/container_manager.py +0 -0
  455. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/data_science.py +0 -0
  456. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/dockerhub.py +0 -0
  457. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/documentdb.py +0 -0
  458. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/ear.py +0 -0
  459. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/egeria.py +0 -0
  460. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/emerald_exchange.py +0 -0
  461. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/erpnext.py +0 -0
  462. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/fan_manager.py +0 -0
  463. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/firefly_iii.py +0 -0
  464. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/fleet_client.py +0 -0
  465. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/freshrss.py +0 -0
  466. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/github.py +0 -0
  467. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/gitlab.py +0 -0
  468. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/google_workspace.py +0 -0
  469. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/gramps.py +0 -0
  470. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/hdhomerun.py +0 -0
  471. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/home_assistant.py +0 -0
  472. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/jellyfin.py +0 -0
  473. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/jena.py +0 -0
  474. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/kafka.py +0 -0
  475. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/keycloak.py +0 -0
  476. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/langfuse.py +0 -0
  477. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/leanix.py +0 -0
  478. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/legal_peripherals.py +0 -0
  479. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/lgtm.py +0 -0
  480. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/listmonk.py +0 -0
  481. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/mattermost.py +0 -0
  482. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/mealie.py +0 -0
  483. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/media_downloader.py +0 -0
  484. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/microsoft.py +0 -0
  485. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/nextcloud.py +0 -0
  486. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/okta.py +0 -0
  487. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/ollama.py +0 -0
  488. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/onetrust.py +0 -0
  489. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/openbao.py +0 -0
  490. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/orchestrator.py +0 -0
  491. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/owncast.py +0 -0
  492. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/paperless_ngx.py +0 -0
  493. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/plane.py +0 -0
  494. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/portainer.py +0 -0
  495. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/postiz.py +0 -0
  496. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/pulselink.py +0 -0
  497. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/qbittorrent.py +0 -0
  498. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/repository_manager.py +0 -0
  499. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/rom_manager.py +0 -0
  500. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/scholarx.py +0 -0
  501. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/searxng.py +0 -0
  502. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/sentry.py +0 -0
  503. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/servicenow.py +0 -0
  504. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/stirlingpdf.py +0 -0
  505. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/systems_manager.py +0 -0
  506. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/technitium.py +0 -0
  507. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/teleport.py +0 -0
  508. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/tunnel_manager.py +0 -0
  509. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/twenty.py +0 -0
  510. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/uptime_kuma.py +0 -0
  511. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/vector_db.py +0 -0
  512. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/wger.py +0 -0
  513. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/gateway/widgets/zulip.py +0 -0
  514. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/identity/__init__.py +0 -0
  515. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/identity/admin_console.py +0 -0
  516. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/identity/api_keys.py +0 -0
  517. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/identity/approval.py +0 -0
  518. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/identity/approval_engine.py +0 -0
  519. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/identity/approval_registration.py +0 -0
  520. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/identity/bootstrap.py +0 -0
  521. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/identity/broker.py +0 -0
  522. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/identity/browser.py +0 -0
  523. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/identity/client_entry_points.py +0 -0
  524. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/identity/engine.py +0 -0
  525. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/identity/ldap.py +0 -0
  526. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/identity/mail_capability.py +0 -0
  527. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/identity/mfa.py +0 -0
  528. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/identity/oidc.py +0 -0
  529. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/identity/saml.py +0 -0
  530. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/identity/scim.py +0 -0
  531. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/ingest/__init__.py +0 -0
  532. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/ingest/connector_sources.py +0 -0
  533. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/ingest/service.py +0 -0
  534. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/ingest/source_catalog.py +0 -0
  535. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/__init__.py +0 -0
  536. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/agent_control.py +0 -0
  537. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/arbora_operations.json +0 -0
  538. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/__init__.py +0 -0
  539. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/_arbora_action_manifest.py +0 -0
  540. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/action_dispatch.py +0 -0
  541. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/arbora_capabilities.json +0 -0
  542. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/arbora_surface.py +0 -0
  543. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/client_credentials.py +0 -0
  544. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/concurrency.py +0 -0
  545. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/connector_surface.py +0 -0
  546. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/context_helpers.py +0 -0
  547. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/delegated_auth.py +0 -0
  548. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/engine_routing.py +0 -0
  549. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/engine_surface_types.py +0 -0
  550. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/eunomia_principal.py +0 -0
  551. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/httpx_boundary.py +0 -0
  552. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/intent_contract.py +0 -0
  553. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/middlewares.py +0 -0
  554. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/oauth_log_hygiene.py +0 -0
  555. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/ontology_types.py +0 -0
  556. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/optional_tool_features.py +0 -0
  557. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/remote_oauth_broker.py +0 -0
  558. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/server_factory.py +0 -0
  559. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/skill_coverage.py +0 -0
  560. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/tasks_extension.py +0 -0
  561. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/tool_specs.py +0 -0
  562. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/tools/__init__.py +0 -0
  563. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/tools/_surface_selection.py +0 -0
  564. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/tools/analysis_tools.py +0 -0
  565. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/tools/analyze_suite.py +0 -0
  566. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/tools/audit_tools.py +0 -0
  567. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/tools/candidate_claim_tools.py +0 -0
  568. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/tools/compliance_tools.py +0 -0
  569. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/tools/config_tools.py +0 -0
  570. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/tools/domain_ops_tools.py +0 -0
  571. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/tools/engine_surface_tools.py +0 -0
  572. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/tools/engine_tools.py +0 -0
  573. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/tools/epistemic_tools.py +0 -0
  574. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/tools/governance_tools.py +0 -0
  575. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/tools/graph_tools.py +0 -0
  576. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/tools/intent_tools.py +0 -0
  577. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/tools/mcp_apps.py +0 -0
  578. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/tools/ontology_tools.py +0 -0
  579. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/tools/query_tools.py +0 -0
  580. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/tools/reach_tools.py +0 -0
  581. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/tools/secret_tools.py +0 -0
  582. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/tools/state_tools.py +0 -0
  583. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/tools/write_ingest_tools.py +0 -0
  584. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/verbose_tools.py +0 -0
  585. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/backing/write_ingest_types.py +0 -0
  586. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/bootstrap.py +0 -0
  587. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/decide_wiring.py +0 -0
  588. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/effect_journal.py +0 -0
  589. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/fleet_composition.py +0 -0
  590. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/harness_host.py +0 -0
  591. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/legacy_action_mapping.py +0 -0
  592. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/operation_registry.py +0 -0
  593. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/mcp_server/routes.py +0 -0
  594. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/__init__.py +0 -0
  595. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/action_dispatch.py +0 -0
  596. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/alert_intake.py +0 -0
  597. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/backends/__init__.py +0 -0
  598. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/backends/discord.py +0 -0
  599. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/backends/googlechat.py +0 -0
  600. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/backends/googlemeet.py +0 -0
  601. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/backends/imessage.py +0 -0
  602. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/backends/irc.py +0 -0
  603. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/backends/line.py +0 -0
  604. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/backends/matrix.py +0 -0
  605. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/backends/mattermost.py +0 -0
  606. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/backends/nextcloud.py +0 -0
  607. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/backends/signal.py +0 -0
  608. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/backends/slack.py +0 -0
  609. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/backends/synology.py +0 -0
  610. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/backends/teams.py +0 -0
  611. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/backends/telegram.py +0 -0
  612. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/backends/twitch.py +0 -0
  613. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/backends/voicecall.py +0 -0
  614. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/backends/whatsapp.py +0 -0
  615. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/base.py +0 -0
  616. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/capabilities.py +0 -0
  617. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/coalescer.py +0 -0
  618. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/commands.py +0 -0
  619. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/governed_send.py +0 -0
  620. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/host_ports.py +0 -0
  621. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/inbox.py +0 -0
  622. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/intake.py +0 -0
  623. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/lease.py +0 -0
  624. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/models.py +0 -0
  625. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/planner_handler.py +0 -0
  626. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/polling.py +0 -0
  627. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/reach.py +0 -0
  628. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/registry.py +0 -0
  629. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/render.py +0 -0
  630. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/router.py +0 -0
  631. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/service.py +0 -0
  632. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/supervision.py +0 -0
  633. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/messaging/transport.py +0 -0
  634. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/native_run_admission.py +0 -0
  635. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/observability/__init__.py +0 -0
  636. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/observability/correlation.py +0 -0
  637. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/observability/custom_observability.py +0 -0
  638. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/observability/error_detail_sink.py +0 -0
  639. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/observability/gateway_health.py +0 -0
  640. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/observability/gateway_metrics.py +0 -0
  641. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/observability/health.py +0 -0
  642. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/observability/langfuse_exporter.py +0 -0
  643. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/observability/langfuse_trust.py +0 -0
  644. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/observability/readiness.py +0 -0
  645. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/observability/runtime_health.py +0 -0
  646. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/observability/runtime_signals.py +0 -0
  647. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/observability/telemetry.py +0 -0
  648. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/observability/trace_ontology.py +0 -0
  649. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/ontology/shapes/runtime.shapes.ttl +0 -0
  650. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/prompts/cmdb-trm-01.json +0 -0
  651. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/prompts/cmdb-trm-02.json +0 -0
  652. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/prompts/cmdb-trm-03.json +0 -0
  653. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/prompts/cmdb-trm-04.json +0 -0
  654. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/prompts/cmdb-trm-05.json +0 -0
  655. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/prompts/cmdb-trm-06.json +0 -0
  656. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/prompts/cmdb-trm-07.json +0 -0
  657. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/prompts/cmdb-trm-08.json +0 -0
  658. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/prompts/cmdb-trm-09.json +0 -0
  659. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/prompts/cmdb-trm-10.json +0 -0
  660. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/prompts/cq-a.json +0 -0
  661. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/prompts/cq-b.json +0 -0
  662. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/prompts/cq-c.json +0 -0
  663. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/prompts/cq-d1.json +0 -0
  664. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/prompts/cq-d10.json +0 -0
  665. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/prompts/cq-d2.json +0 -0
  666. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/prompts/cq-d3.json +0 -0
  667. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/prompts/cq-d4.json +0 -0
  668. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/prompts/cq-d5.json +0 -0
  669. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/prompts/cq-d6.json +0 -0
  670. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/prompts/cq-d7.json +0 -0
  671. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/prompts/cq-d8.json +0 -0
  672. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/prompts/cq-d9.json +0 -0
  673. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/prompts/delegation-cycle-refused.json +0 -0
  674. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/prompts/delegation-fan-out.json +0 -0
  675. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/prompts/delegation-gitlab-servicenow-plane.json +0 -0
  676. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/prompts/delegation-ordered-dag.json +0 -0
  677. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/prompts/delegation-plan-persisted.json +0 -0
  678. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/prompts/incident-triage-system.json +0 -0
  679. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/security/__init__.py +0 -0
  680. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/security/actor_context.py +0 -0
  681. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/security/anonymous.py +0 -0
  682. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/security/auth.py +0 -0
  683. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/security/config_sensitivity.py +0 -0
  684. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/security/conformance/__init__.py +0 -0
  685. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/security/conformance/surface_inventory.py +0 -0
  686. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/security/conformance/surface_manifest.py +0 -0
  687. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/security/delegation.py +0 -0
  688. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/security/elevation.py +0 -0
  689. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/security/error_surface.py +0 -0
  690. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/security/http_boundary.py +0 -0
  691. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/security/identifiers.py +0 -0
  692. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/security/identity.py +0 -0
  693. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/security/log_redaction.py +0 -0
  694. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/security/oidc_discovery.py +0 -0
  695. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/security/operation_result.py +0 -0
  696. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/security/prompt_injection.py +0 -0
  697. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/security/run_authority.py +0 -0
  698. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/security/run_token.py +0 -0
  699. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/security/secrets.py +0 -0
  700. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/security/security_policy_middleware.py +0 -0
  701. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/security/settings.py +0 -0
  702. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/semantic_content.py +0 -0
  703. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/__init__.py +0 -0
  704. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/agent-utilities-source-integration/SKILL.md +0 -0
  705. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/agent-utilities-source-integration/agents/arbora.yaml +0 -0
  706. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/agent-utilities-source-integration/agents/openai.yaml +0 -0
  707. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/arbora-deployment/SKILL.md +0 -0
  708. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/arbora-deployment/agents/arbora.yaml +0 -0
  709. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/arbora-deployment/agents/openai.yaml +0 -0
  710. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/arbora-deployment/references/first-boot-verification.md +0 -0
  711. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/arbora-deployment/references/fleet-and-control-plane.md +0 -0
  712. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/arbora-deployment/references/identity-and-access.md +0 -0
  713. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/arbora-deployment/references/secrets-and-federation.md +0 -0
  714. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/arbora-deployment/references/telemetry.md +0 -0
  715. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/arbora-development/SKILL.md +0 -0
  716. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/arbora-development/references/bootstrap.md +0 -0
  717. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/arbora-evolution/SKILL.md +0 -0
  718. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/arbora-evolution/agents/arbora.yaml +0 -0
  719. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/arbora-evolution/agents/openai.yaml +0 -0
  720. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/arbora-genesis/SKILL.md +0 -0
  721. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/arbora-genesis/agents/arbora.yaml +0 -0
  722. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/arbora-genesis/agents/openai.yaml +0 -0
  723. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/arbora-genesis/references/TROUBLESHOOTING.md +0 -0
  724. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/arbora-genesis/references/bare-metal.md +0 -0
  725. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/arbora-genesis/references/compose-and-podman.md +0 -0
  726. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/arbora-genesis/references/data-plane-substrate.md +0 -0
  727. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/arbora-genesis/references/deployment-contract.md +0 -0
  728. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/arbora-genesis/references/development-workspace.md +0 -0
  729. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/arbora-genesis/references/docker-swarm.md +0 -0
  730. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/arbora-genesis/references/engine-identity-admission.md +0 -0
  731. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/arbora-genesis/references/kubernetes-and-helm.md +0 -0
  732. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/arbora-genesis/references/orchestrator-migration-cutover.md +0 -0
  733. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/arbora-genesis/references/runtime-topology.md +0 -0
  734. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/arbora-genesis/references/security-and-operations.md +0 -0
  735. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/autonomous-contribution/SKILL.md +0 -0
  736. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/autonomous-contribution/agents/arbora.yaml +0 -0
  737. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/autonomous-contribution/agents/openai.yaml +0 -0
  738. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/core-pack.txt +0 -0
  739. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/graph-engine-and-modalities/SKILL.md +0 -0
  740. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/graph-engine-and-modalities/agents/arbora.yaml +0 -0
  741. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/graph-engine-and-modalities/agents/openai.yaml +0 -0
  742. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/graph-ingestion-and-integration/SKILL.md +0 -0
  743. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/graph-ingestion-and-integration/agents/arbora.yaml +0 -0
  744. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/graph-ingestion-and-integration/agents/openai.yaml +0 -0
  745. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/graph-ingestion-and-integration/references/ingest-connector-reference.md +0 -0
  746. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/graph-ingestion-and-integration/references/ingest_manifest.yaml +0 -0
  747. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/graph-modeling-and-mutation/SKILL.md +0 -0
  748. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/graph-modeling-and-mutation/agents/arbora.yaml +0 -0
  749. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/graph-modeling-and-mutation/agents/openai.yaml +0 -0
  750. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/graph-orchestration-and-automation/SKILL.md +0 -0
  751. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/graph-orchestration-and-automation/agents/arbora.yaml +0 -0
  752. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/graph-orchestration-and-automation/agents/openai.yaml +0 -0
  753. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/graph-query-and-explanation/SKILL.md +0 -0
  754. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/graph-query-and-explanation/agents/arbora.yaml +0 -0
  755. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/graph-query-and-explanation/agents/openai.yaml +0 -0
  756. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/graph-query-and-explanation/references/uql-reference.md +0 -0
  757. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/graph-research-and-analysis/SKILL.md +0 -0
  758. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/graph-research-and-analysis/agents/arbora.yaml +0 -0
  759. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/graph-research-and-analysis/agents/openai.yaml +0 -0
  760. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/graph-runtime-and-governance/SKILL.md +0 -0
  761. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/graph-runtime-and-governance/agents/arbora.yaml +0 -0
  762. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/graph-runtime-and-governance/agents/openai.yaml +0 -0
  763. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/skills/using-arbora/SKILL.md +0 -0
  764. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/unique_records.py +0 -0
  765. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/webui_host/__init__.py +0 -0
  766. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/webui_host/contact_delivery.py +0 -0
  767. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/webui_host/contact_governance.py +0 -0
  768. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/webui_host/mcp_delegation.py +0 -0
  769. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/webui_host/package_layout_expectation.py +0 -0
  770. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/webui_host/voice_delegation.py +0 -0
  771. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora/work_items.py +0 -0
  772. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora.egg-info/dependency_links.txt +0 -0
  773. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/arbora.egg-info/top_level.txt +0 -0
  774. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/setup.cfg +0 -0
  775. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/tests/test_agent_runs.py +0 -0
  776. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/tests/test_check_acceptance_evidence.py +0 -0
  777. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/tests/test_check_connector_count_pins.py +0 -0
  778. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/tests/test_check_core_skills.py +0 -0
  779. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/tests/test_check_wiring.py +0 -0
  780. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/tests/test_component_registry_boundary_seeds.py +0 -0
  781. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/tests/test_connector_pack_typed_publisher.py +0 -0
  782. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/tests/test_connector_runner_composition.py +0 -0
  783. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/tests/test_epistemic_adapter.py +0 -0
  784. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/tests/test_epistemic_loop_lifecycle.py +0 -0
  785. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/tests/test_fleet_catalog_reader.py +0 -0
  786. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/tests/test_installed_content.py +0 -0
  787. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/tests/test_native_run_admission.py +0 -0
  788. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/tests/test_package_layout.py +0 -0
  789. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/tests/test_real_boot_messaging.py +0 -0
  790. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/tests/test_run_event_payloads.py +0 -0
  791. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/tests/test_semantic_content.py +0 -0
  792. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/tests/test_served_operation_api.py +0 -0
  793. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/tests/test_unique_records.py +0 -0
  794. {arbora-0.1.8.dev4 → arbora-0.1.8.dev6}/tests/test_work_items.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: arbora
3
- Version: 0.1.8.dev4
3
+ Version: 0.1.8.dev6
4
4
  Summary: The deployable MCP, REST, control-plane, fleet, WebUI, and operations composition for the Knuckles agent platform.
5
5
  Author-email: Repository Maintainers <maintainers@knuckles.team>
6
6
  License-Expression: MIT
@@ -14,16 +14,17 @@ Classifier: Programming Language :: Python :: 3.14
14
14
  Requires-Python: >=3.12
15
15
  Description-Content-Type: text/markdown
16
16
  License-File: LICENSE
17
- Requires-Dist: agent-utilities<4.0.0,>=3.1.0
17
+ Requires-Dist: meristem<5.0.0,>=4.0.1
18
18
  Requires-Dist: eunomia-core>=0.3.10
19
19
  Requires-Dist: httpx>=0.28.1
20
20
  Requires-Dist: pyjwt>=2.15.1
21
21
  Requires-Dist: joserfc>=1.7.5
22
22
  Requires-Dist: python-multipart>=0.0.32
23
- Requires-Dist: agent-connector-sdk[a2a,mcp]<0.6.0,>=0.5.5
23
+ Requires-Dist: scion-sdk[a2a,mcp]<0.6.0,>=0.5.9
24
24
  Requires-Dist: aiohttp>=3.14.5
25
25
  Requires-Dist: anyio>=4.15.1
26
- Requires-Dist: epistemic-graph[server]<3.0.0,>=2.27.6
26
+ Requires-Dist: medulla<3.0.0,>=2.27.10
27
+ Requires-Dist: medulla-stem<3.0.0,>=2.27.10
27
28
  Requires-Dist: fastapi>=0.143.3
28
29
  Requires-Dist: filelock>=4.2.0
29
30
  Requires-Dist: msgpack>=1.2.1
@@ -34,10 +35,16 @@ Requires-Dist: starlette>=1.8.0
34
35
  Requires-Dist: fastmcp>=4.1.0
35
36
  Requires-Dist: mcp<3.0.0,>=2.3.0
36
37
  Requires-Dist: opentelemetry-api>=1.45.1
37
- Requires-Dist: pydantic-ai-slim[openai]==2.57.0
38
+ Requires-Dist: pydantic-ai-slim[openai]==2.63.0
38
39
  Requires-Dist: universal-skills<2.0.0,>=1.3.11
40
+ Requires-Dist: cryptography>=50.0.2
41
+ Provides-Extra: acp
42
+ Requires-Dist: agent-client-protocol==0.11.0; extra == "acp"
43
+ Requires-Dist: pydantic-ai-harness[acp]==0.63.0; extra == "acp"
39
44
  Provides-Extra: test
40
- Requires-Dist: agent-terminal-ui>=2.3.1; extra == "test"
45
+ Requires-Dist: agent-client-protocol==0.11.0; extra == "test"
46
+ Requires-Dist: tuig==2.3.6; (sys_platform == "linux" and (platform_machine == "x86_64" or platform_machine == "aarch64")) and extra == "test"
47
+ Requires-Dist: pyte==0.8.2; extra == "test"
41
48
  Requires-Dist: pytest>=9.1.1; extra == "test"
42
49
  Requires-Dist: pytest-asyncio>=1.4.0; extra == "test"
43
50
  Requires-Dist: pytest-cov>=7.1.0; extra == "test"
@@ -49,10 +56,10 @@ Requires-Dist: types-PyYAML>=6.0.12.20260906; extra == "test"
49
56
  Requires-Dist: python-telegram-bot>=22.8; extra == "test"
50
57
  Requires-Dist: setuptools>=84.0.0; extra == "test"
51
58
  Provides-Extra: webui
52
- Requires-Dist: agent-webui<3.0.0,>=2.8.2; extra == "webui"
59
+ Requires-Dist: agent-webui<3.0.0,>=2.8.3; extra == "webui"
53
60
  Requires-Dist: uvicorn>=0.54.0; extra == "webui"
54
61
  Provides-Extra: gateway-widgets
55
- Requires-Dist: agent-connector-sdk[a2a,mcp]<0.6.0,>=0.5.5; extra == "gateway-widgets"
62
+ Requires-Dist: scion-sdk[a2a,mcp]<0.6.0,>=0.5.9; extra == "gateway-widgets"
56
63
  Provides-Extra: vault
57
64
  Requires-Dist: hvac>=2.4.0; extra == "vault"
58
65
  Provides-Extra: messaging-telegram
@@ -153,7 +160,7 @@ the durable database, a connector implementation, or the browser UI.
153
160
  - Project the same governed operations through REST and unary A2A.
154
161
  - Discover, admit, supervise, and route the MCP connector fleet.
155
162
  - Apply identity, tenant, action-policy, idempotency, and provenance controls.
156
- - Host Agent Web UI and coordinate terminal, desktop, messaging, and attended
163
+ - Host Overstory and coordinate terminal, desktop, messaging, and attended
157
164
  browser capabilities.
158
165
  - Generate deployment configuration and report live readiness through `/health`.
159
166
 
@@ -173,20 +180,20 @@ then use the task-oriented references:
173
180
 
174
181
  | Layer | Authority | Relationship to Arbora |
175
182
  |---|---|---|
176
- | [Agent Web UI](https://knuckles-team.github.io/agent-webui/) | Browser experience and local interaction state | Arbora hosts it and supplies governed application routes. |
177
- | Agent Terminal UI | Terminal and headless interaction | Uses the governed Arbora REST interface. |
178
- | Geniusbot | Desktop cockpit | Uses the governed Arbora gateway for its primary panels. |
183
+ | [Overstory](https://knuckles-team.github.io/overstory/) | Browser experience and local interaction state | Arbora hosts it and supplies governed application routes. |
184
+ | Tuig | Terminal and headless interaction | Uses the governed Arbora REST interface. |
185
+ | Axil | Desktop GUI | Uses the governed Arbora gateway for its primary panels. |
179
186
  | Messaging channels | Chat and voice entrypoints | Arbora hosts and supervises them; agent-utilities owns adapters and routing. |
180
187
  | **Arbora** | MCP, REST, A2A, identity policy, fleet supervision | The running process and public door. |
181
- | [agent-utilities](https://knuckles-team.github.io/agent-utilities/) | Agents, workflows, evaluation, and skills | Arbora invokes its typed control-plane services. |
182
- | [epistemic-graph](https://knuckles-team.github.io/epistemic-graph/) | Durable graph, SQL, RDF, vector, time, reasoning, and provenance | Arbora uses its generated client contracts. |
183
- | [agent-connector-sdk](https://knuckles-team.github.io/agent-connector-sdk/) | Connector servers, source synchronization, and governed effects | Arbora discovers and routes SDK-based connector services. |
188
+ | [Meristem](https://knuckles-team.github.io/meristem/) | In-run execution harness | Arbora supplies run plans through typed harness contracts. |
189
+ | [Medulla](https://knuckles-team.github.io/medulla/) | Durable graph, SQL, RDF, vector, time, reasoning, and provenance | Arbora uses its generated client contracts. |
190
+ | [Scion SDK](https://knuckles-team.github.io/scion-sdk/) | Connector servers, source synchronization, and governed effects | Arbora discovers and routes SDK-based connector services. |
184
191
 
185
192
  The boundary is deliberate: Arbora authenticates, composes, routes,
186
193
  supervises, and projects. Each sibling remains the source of truth for its own
187
194
  domain.
188
195
 
189
- [![Knuckles platform runtime architecture](https://raw.githubusercontent.com/Knuckles-Team/epistemic-graph/main/docs/assets/runtime-architecture.svg)](https://knuckles-team.github.io/.github/architecture/#arbora)
196
+ [![Knuckles platform runtime architecture](https://raw.githubusercontent.com/Knuckles-Team/medulla/main/docs/assets/runtime-architecture.svg)](https://knuckles-team.github.io/.github/architecture/#arbora)
190
197
 
191
198
  [Explore the live architecture](https://knuckles-team.github.io/.github/architecture/#arbora)
192
199
 
@@ -57,7 +57,7 @@ the durable database, a connector implementation, or the browser UI.
57
57
  - Project the same governed operations through REST and unary A2A.
58
58
  - Discover, admit, supervise, and route the MCP connector fleet.
59
59
  - Apply identity, tenant, action-policy, idempotency, and provenance controls.
60
- - Host Agent Web UI and coordinate terminal, desktop, messaging, and attended
60
+ - Host Overstory and coordinate terminal, desktop, messaging, and attended
61
61
  browser capabilities.
62
62
  - Generate deployment configuration and report live readiness through `/health`.
63
63
 
@@ -77,20 +77,20 @@ then use the task-oriented references:
77
77
 
78
78
  | Layer | Authority | Relationship to Arbora |
79
79
  |---|---|---|
80
- | [Agent Web UI](https://knuckles-team.github.io/agent-webui/) | Browser experience and local interaction state | Arbora hosts it and supplies governed application routes. |
81
- | Agent Terminal UI | Terminal and headless interaction | Uses the governed Arbora REST interface. |
82
- | Geniusbot | Desktop cockpit | Uses the governed Arbora gateway for its primary panels. |
80
+ | [Overstory](https://knuckles-team.github.io/overstory/) | Browser experience and local interaction state | Arbora hosts it and supplies governed application routes. |
81
+ | Tuig | Terminal and headless interaction | Uses the governed Arbora REST interface. |
82
+ | Axil | Desktop GUI | Uses the governed Arbora gateway for its primary panels. |
83
83
  | Messaging channels | Chat and voice entrypoints | Arbora hosts and supervises them; agent-utilities owns adapters and routing. |
84
84
  | **Arbora** | MCP, REST, A2A, identity policy, fleet supervision | The running process and public door. |
85
- | [agent-utilities](https://knuckles-team.github.io/agent-utilities/) | Agents, workflows, evaluation, and skills | Arbora invokes its typed control-plane services. |
86
- | [epistemic-graph](https://knuckles-team.github.io/epistemic-graph/) | Durable graph, SQL, RDF, vector, time, reasoning, and provenance | Arbora uses its generated client contracts. |
87
- | [agent-connector-sdk](https://knuckles-team.github.io/agent-connector-sdk/) | Connector servers, source synchronization, and governed effects | Arbora discovers and routes SDK-based connector services. |
85
+ | [Meristem](https://knuckles-team.github.io/meristem/) | In-run execution harness | Arbora supplies run plans through typed harness contracts. |
86
+ | [Medulla](https://knuckles-team.github.io/medulla/) | Durable graph, SQL, RDF, vector, time, reasoning, and provenance | Arbora uses its generated client contracts. |
87
+ | [Scion SDK](https://knuckles-team.github.io/scion-sdk/) | Connector servers, source synchronization, and governed effects | Arbora discovers and routes SDK-based connector services. |
88
88
 
89
89
  The boundary is deliberate: Arbora authenticates, composes, routes,
90
90
  supervises, and projects. Each sibling remains the source of truth for its own
91
91
  domain.
92
92
 
93
- [![Knuckles platform runtime architecture](https://raw.githubusercontent.com/Knuckles-Team/epistemic-graph/main/docs/assets/runtime-architecture.svg)](https://knuckles-team.github.io/.github/architecture/#arbora)
93
+ [![Knuckles platform runtime architecture](https://raw.githubusercontent.com/Knuckles-Team/medulla/main/docs/assets/runtime-architecture.svg)](https://knuckles-team.github.io/.github/architecture/#arbora)
94
94
 
95
95
  [Explore the live architecture](https://knuckles-team.github.io/.github/architecture/#arbora)
96
96
 
@@ -16,7 +16,7 @@ The live package layout is:
16
16
  - `arbora.deployment` — configuration, diagnostics, canaries, and operations.
17
17
 
18
18
  The ``arbora`` console command serves
19
- ``arbora.mcp_server.server:mcp_server`` over stdio or authenticated
19
+ ``arbora.console:main`` over stdio or authenticated
20
20
  streamable HTTP. Capability limits that depend on unfinished upstream
21
21
  contracts are documented in ``docs/status.md`` and fail closed; no legacy
22
22
  fallback is implied by this package description.
@@ -3,4 +3,4 @@
3
3
  Updated only by `bump-my-version` (see `.bumpversion.toml`) — never hand-edited.
4
4
  """
5
5
 
6
- __version__ = "0.1.8.dev4"
6
+ __version__ = "0.1.8.dev6"
@@ -300,8 +300,12 @@ class WorkItemA2AAuthority:
300
300
  def _request_digest(
301
301
  message: A2AMessage, context_id: str, decision: A2ARouteDecision
302
302
  ) -> str:
303
+ from arbora.agent_runs import native_stream_protocol
304
+
305
+ protocol = native_stream_protocol()
303
306
  return _digest(
304
307
  {
308
+ **({"host_transport_protocol": protocol} if protocol else {}),
305
309
  "context_id": context_id,
306
310
  "decision": decision.model_dump(mode="json"),
307
311
  "message": message.model_dump(mode="json", by_alias=True),
@@ -317,7 +321,11 @@ class WorkItemA2AAuthority:
317
321
  request_digest: str,
318
322
  decision: A2ARouteDecision,
319
323
  ) -> dict[str, Any]:
324
+ from arbora.agent_runs import native_stream_protocol
325
+
326
+ protocol = native_stream_protocol()
320
327
  return {
328
+ **({"host_transport_protocol": protocol} if protocol else {}),
321
329
  "a2a_schema": _A2A_METADATA_SCHEMA,
322
330
  "a2a_context_id": context_id,
323
331
  "a2a_message_ref": persistence_reference(
@@ -421,22 +429,40 @@ class WorkItemA2AAuthority:
421
429
 
422
430
  if self.task_plan_config is not None and self.hosted_invocation is None:
423
431
  raise RuntimeError("UPGRADE_REQUIRED: hosted task-plan invocation")
432
+ from contextlib import nullcontext
433
+
424
434
  from arbora.agent_runs import native_run_scope
435
+ from arbora.current_plan_publication import bind_admitted_claim
425
436
  from arbora.host_bindings import preloaded_agent_tools
426
437
 
427
- with native_run_scope(
428
- run_id=run_id or task_id,
429
- task_id=task_id,
430
- context_id=context_id,
431
- work_item_id=item_id,
432
- session=session,
433
- claim=claim,
434
- owner_graph=(
435
- work_items.native_owner_graph(work_engine)
438
+ with (
439
+ native_run_scope(
440
+ run_id=run_id or task_id,
441
+ task_id=task_id,
442
+ context_id=context_id,
443
+ work_item_id=item_id,
444
+ session=session,
445
+ claim=claim,
446
+ owner_graph=(
447
+ work_items.native_owner_graph(work_engine)
448
+ if self.task_plan_config is not None
449
+ else None
450
+ ),
451
+ hosted_invocation=self.hosted_invocation,
452
+ ),
453
+ (
454
+ bind_admitted_claim(
455
+ work_engine,
456
+ session=session,
457
+ run_id=run_id or task_id,
458
+ work_item_id=item_id,
459
+ claim=claim,
460
+ hosted_invocation=self.hosted_invocation,
461
+ owner_graph=work_items.native_owner_graph(work_engine),
462
+ )
436
463
  if self.task_plan_config is not None
437
- else None
464
+ else nullcontext()
438
465
  ),
439
- hosted_invocation=self.hosted_invocation,
440
466
  ):
441
467
  return await self._agent_executor().execute_agent(
442
468
  AgentExecutionRequest(
@@ -555,6 +581,39 @@ class WorkItemA2AAuthority:
555
581
  raise A2AIdempotencyConflict("A2A native run identity conflicts")
556
582
  return item
557
583
 
584
+ async def _notify_admission_or_settle(
585
+ self, session: Any, *, task_id: str, run_id: str, context_id: str, item_id: str
586
+ ) -> None:
587
+ """Settle only notification failures, never rerun or undo admission."""
588
+ from arbora.agent_runs import NativeRunAdmission, notify_native_admission
589
+
590
+ try:
591
+ notify_native_admission(
592
+ session, NativeRunAdmission(task_id, run_id, context_id, item_id)
593
+ )
594
+ except (Exception, asyncio.CancelledError) as failure:
595
+ try:
596
+ async with asyncio.timeout(5):
597
+ cancelled = await self.cancel(task_id)
598
+ readback = await asyncio.to_thread(
599
+ self._authorized_item, task_id, "kg:write"
600
+ )
601
+ if (
602
+ cancelled.status.state != "canceled"
603
+ or not isinstance(readback, dict)
604
+ or readback.get("status") != "cancelled"
605
+ ):
606
+ raise RuntimeError("cancellation not confirmed")
607
+ except (Exception, asyncio.CancelledError):
608
+ raise RuntimeError(
609
+ "native admission notification failed: settlement unavailable"
610
+ ) from None
611
+ if isinstance(failure, asyncio.CancelledError):
612
+ raise
613
+ raise RuntimeError(
614
+ "native admission notification failed: admitted task canceled"
615
+ ) from None
616
+
558
617
  async def dispatch(
559
618
  self,
560
619
  *,
@@ -612,6 +671,13 @@ class WorkItemA2AAuthority:
612
671
  request_digest=request_digest,
613
672
  run_id=run_id,
614
673
  )
674
+ await self._notify_admission_or_settle(
675
+ session,
676
+ task_id=task_id,
677
+ run_id=run_id,
678
+ context_id=context_id,
679
+ item_id=item_id,
680
+ )
615
681
  if not created and item.get("status") in _TERMINAL:
616
682
  recovered = await self.get(task_id)
617
683
  if recovered is None:
@@ -1072,10 +1138,15 @@ class WorkItemA2AAuthority:
1072
1138
  return tasks, next_cursor
1073
1139
 
1074
1140
  async def cancel(self, task_id: str) -> A2ATask:
1141
+ from arbora.run_origin import revoke_run_origins
1142
+
1143
+ cancellation_session = self._session("kg:write")
1075
1144
  item = await asyncio.to_thread(self._authorized_item, task_id, "kg:write")
1076
1145
  if item is None:
1077
1146
  raise A2ATaskNotCancelable("A2A task is not cancelable")
1147
+ run_id = str(item["metadata"].get("a2a_run_id") or task_id)
1078
1148
  if item.get("status") == "cancelled":
1149
+ revoke_run_origins(cancellation_session, run_id)
1079
1150
  return self._project(item, task_id=task_id)
1080
1151
  if item.get("status") in _TERMINAL:
1081
1152
  raise A2ATaskNotCancelable("A2A task is not cancelable")
@@ -1087,6 +1158,7 @@ class WorkItemA2AAuthority:
1087
1158
  work_items.cancel_work_item, work_engine, item_id
1088
1159
  ):
1089
1160
  raise A2ATaskNotCancelable("A2A task is not cancelable")
1161
+ revoke_run_origins(cancellation_session, run_id)
1090
1162
  current = await asyncio.to_thread(
1091
1163
  work_items.get_work_item, work_engine, item_id
1092
1164
  )
@@ -52,7 +52,7 @@ import threading
52
52
  import time
53
53
  import uuid
54
54
  from collections.abc import Callable, Mapping
55
- from dataclasses import dataclass, field
55
+ from dataclasses import dataclass, field, replace
56
56
  from enum import StrEnum
57
57
  from pathlib import Path
58
58
  from typing import Any, ClassVar
@@ -612,6 +612,18 @@ class ActionPolicy:
612
612
  setting("ACTION_IRREVERSIBILITY_AVERSION", False, cast=bool)
613
613
  )
614
614
 
615
+ def qualified_source_revision(self) -> str:
616
+ """Read explicit source evidence; this revision grants no action."""
617
+ from arbora.access.action_policy_source import qualified_policy_source
618
+
619
+ return qualified_policy_source(self).revision
620
+
621
+ async def qualified_source_revision_async(self) -> str:
622
+ """Capture source evidence without switching the native client loop."""
623
+ from arbora.access.action_policy_source import qualified_policy_source_async
624
+
625
+ return (await qualified_policy_source_async(self)).revision
626
+
615
627
  # ── policy loading ──────────────────────────────────────────────
616
628
 
617
629
  def _load_file_policy(self) -> dict[str, Any]:
@@ -686,14 +698,22 @@ class ActionPolicy:
686
698
  rules.sort(key=lambda r: -r.priority)
687
699
  return rules
688
700
 
689
- def _match(self, request: ActionRequest) -> tuple[ActionRule, dict[str, Any]]:
701
+ def _rule_inputs(self, source: Any) -> tuple[dict[str, Any], list[ActionRule]]:
702
+ """Select live policy inputs or the already captured qualified snapshot."""
703
+ if source is None:
704
+ return self._load_file_policy(), self._kg_rules()
705
+ return source.inputs()
706
+
707
+ def _match(
708
+ self, request: ActionRequest, *, source: Any = None
709
+ ) -> tuple[ActionRule, dict[str, Any]]:
690
710
  """First matching rule — KG overrides first, then file order — plus defaults."""
691
- data = self._load_file_policy()
711
+ data, graph_rules = self._rule_inputs(source)
692
712
  raw_defaults = data.get("defaults")
693
713
  defaults: dict[str, Any] = (
694
714
  raw_defaults if isinstance(raw_defaults, dict) else {}
695
715
  )
696
- for rule in self._kg_rules():
716
+ for rule in graph_rules:
697
717
  if rule.matches(request):
698
718
  return rule, defaults
699
719
  for raw in data.get("rules") or []:
@@ -721,6 +741,13 @@ class ActionPolicy:
721
741
  if self.engine is None:
722
742
  return []
723
743
  try:
744
+ legacy = self.engine.query_cypher(
745
+ "MATCH (d {type: 'ActionDecision', kind: $kind}) "
746
+ "WHERE d.node_type IS NULL RETURN d.id AS id LIMIT 1",
747
+ {"kind": kind},
748
+ )
749
+ if legacy:
750
+ return None
724
751
  rows = self.engine.query_cypher(
725
752
  "MATCH (d:ActionDecision {kind: $kind}) "
726
753
  "RETURN d.id AS id, d.target AS target, d.decision AS decision, "
@@ -777,7 +804,7 @@ class ActionPolicy:
777
804
 
778
805
  # ── assurance verifier (CONCEPT:AU-OS.governance.assurance-state-machine-verifier) ──
779
806
 
780
- def _verify(self, request: ActionRequest):
807
+ def _verify(self, request: ActionRequest, *, source: Any = None):
781
808
  """Run the deterministic invariant verifier for ``request``.
782
809
 
783
810
  The reference-existence check (invariant 4) is best-effort: it only
@@ -785,8 +812,14 @@ class ActionPolicy:
785
812
  ``known_tools``/``known_targets`` registries (empty/absent ⇒ skipped,
786
813
  never a false deny — CONCEPT:AU-OS.governance.fail-closed-claim-check).
787
814
  """
788
- known_tools = self.option("known_tools")
789
- known_targets = self.option("known_targets")
815
+ if source is None:
816
+ known_tools = self.option("known_tools")
817
+ known_targets = self.option("known_targets")
818
+ else:
819
+ document, _rules = source.inputs()
820
+ options = document.get("options") or {}
821
+ known_tools = options.get("known_tools")
822
+ known_targets = options.get("known_targets")
790
823
  return verify_action(
791
824
  request,
792
825
  known_tools=frozenset(known_tools) if known_tools else None,
@@ -930,6 +963,58 @@ class ActionPolicy:
930
963
  reason=f"policy unavailable (fail closed): {e}",
931
964
  rule_origin="unavailable",
932
965
  )
966
+ return self._finish_decision(decision)
967
+
968
+ def decide_qualified(
969
+ self, request: ActionRequest, *, expected_revision: str
970
+ ) -> ActionDecision:
971
+ """Evaluate one explicit source snapshot through the shared evaluator.
972
+
973
+ The exact request must bind its source revision. Source evidence is
974
+ rechecked after evaluation and audit, never inferred from shipped
975
+ defaults. The browser owner must still recheck after its own awaits.
976
+ """
977
+ from arbora.access.action_policy_source import qualified_policy_source
978
+
979
+ try:
980
+ digest = request.digest()
981
+ captured = replace(request, params=_canonical_policy_value(request.params))
982
+ source = qualified_policy_source(self)
983
+ if (
984
+ source.revision != expected_revision
985
+ or request.params.get("policy_source_revision") != expected_revision
986
+ ):
987
+ raise RuntimeError("Policy source revision changed")
988
+ self._check_qualified_request(request, captured, digest)
989
+ decision = self._decide_inner(captured, source=source)
990
+ self._check_qualified_request(request, captured, digest)
991
+ if self.qualified_source_revision() != expected_revision:
992
+ raise RuntimeError("Policy source changed during evaluation")
993
+ decision = self._finish_decision(decision)
994
+ if self.qualified_source_revision() != expected_revision:
995
+ raise RuntimeError("Policy source changed during audit")
996
+ self._check_qualified_request(request, captured, digest)
997
+ return decision
998
+ except Exception: # noqa: BLE001 - qualified source absence never widens authority
999
+ return self._bind_decision_receipt(
1000
+ ActionDecision(
1001
+ decision=DECISION_UNAVAILABLE,
1002
+ tier=TIER_FORBIDDEN,
1003
+ request=request,
1004
+ reason="qualified policy source unavailable or changed",
1005
+ rule_origin="unavailable",
1006
+ )
1007
+ )
1008
+
1009
+ @staticmethod
1010
+ def _check_qualified_request(
1011
+ request: ActionRequest, captured: ActionRequest, digest: str
1012
+ ) -> None:
1013
+ if request.digest() != digest or captured.digest() != digest:
1014
+ raise RuntimeError("Qualified action request changed")
1015
+
1016
+ def _finish_decision(self, decision: ActionDecision) -> ActionDecision:
1017
+ request = decision.request
933
1018
  decision = self._bind_decision_receipt(decision)
934
1019
  if decision.decision == DECISION_ALLOW_NOTIFY:
935
1020
  self._notify(
@@ -981,13 +1066,27 @@ class ActionPolicy:
981
1066
  return self._hold(base, "tier requires human approval")
982
1067
  return None
983
1068
 
984
- def _decide_inner(self, request: ActionRequest) -> ActionDecision:
1069
+ def _verify_selected_source(self, request: ActionRequest, source: Any):
1070
+ """Preserve the legacy verifier call unless a snapshot was selected."""
1071
+ if source is None:
1072
+ return self._verify(request)
1073
+ return self._verify(request, source=source)
1074
+
1075
+ def _selected_irreversibility_aversion(self, source: Any) -> bool:
1076
+ """Read the selected setting only when evaluation reaches this guard."""
1077
+ if source is None:
1078
+ return self._irreversibility_aversion
1079
+ return source.irreversibility_aversion
1080
+
1081
+ def _decide_inner(
1082
+ self, request: ActionRequest, *, source: Any = None
1083
+ ) -> ActionDecision:
985
1084
  # CONCEPT:AU-OS.governance.assurance-state-machine-verifier — the deterministic
986
1085
  # invariant verifier runs BEFORE the rule/tier pipeline: a payload that fails
987
1086
  # role/schema/precondition/reference checks is denied outright (fail-closed),
988
1087
  # regardless of what tier its kind/target would otherwise match. This is the
989
1088
  # enforced half of the gate — the caller's action genuinely does not execute.
990
- verify = self._verify(request)
1089
+ verify = self._verify_selected_source(request, source)
991
1090
  if not verify.ok:
992
1091
  return ActionDecision(
993
1092
  decision=DECISION_DENY,
@@ -999,7 +1098,7 @@ class ActionPolicy:
999
1098
  verify_ms=verify.latency_ms,
1000
1099
  )
1001
1100
 
1002
- rule, defaults = self._match(request)
1101
+ rule, defaults = self._match(request, source=source)
1003
1102
  base = ActionDecision(
1004
1103
  decision=DECISION_DENY,
1005
1104
  tier=rule.tier,
@@ -1033,7 +1132,8 @@ class ActionPolicy:
1033
1132
  # CONCEPT:AU-OS.safety.irreversibility-aversion — irreversibility aversion (opt-in). An irreversible
1034
1133
  # action that would otherwise auto-execute is routed to a human, since
1035
1134
  # policy-gating alone is brittle as autonomy rises.
1036
- if self._irreversibility_aversion:
1135
+ aversion = self._selected_irreversibility_aversion(source)
1136
+ if aversion:
1037
1137
  if is_irreversible(request.kind):
1038
1138
  return self._hold(
1039
1139
  base, "irreversible action — queued for approval (SAFE-1.5)"
@@ -1144,7 +1244,7 @@ class ActionPolicy:
1144
1244
  audit_id = f"action_decision:{uuid.uuid4().hex}"
1145
1245
  req = decision.request
1146
1246
  try:
1147
- create_record(
1247
+ created = create_record(
1148
1248
  self.engine,
1149
1249
  audit_id,
1150
1250
  "ActionDecision",
@@ -1164,10 +1264,10 @@ class ActionPolicy:
1164
1264
  "decided_unix": _now(),
1165
1265
  },
1166
1266
  )
1167
- except Exception as e: # noqa: BLE001 — audit is best-effort, decision stands
1267
+ except Exception as e: # noqa: BLE001 — missing audit evidence cannot authorize
1168
1268
  logger.debug("action_policy: audit write failed: %s", e)
1169
1269
  return None
1170
- return audit_id
1270
+ return audit_id if created else None
1171
1271
 
1172
1272
  def _notify(self, message: str) -> None:
1173
1273
  """Send ``message`` to the bound operator notifier, else log it."""