loopx 1.0.4__tar.gz → 1.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1942) hide show
  1. loopx-1.1.0/PKG-INFO +811 -0
  2. loopx-1.1.0/README.md +780 -0
  3. loopx-1.1.0/loopx/__init__.py +5 -0
  4. loopx-1.1.0/loopx/activation_qualification.py +138 -0
  5. loopx-1.1.0/loopx/bootstrap.py +680 -0
  6. loopx-1.1.0/loopx/bootstrap_command_pack.py +2227 -0
  7. loopx-1.1.0/loopx/canary/maintainability_ratchet.py +888 -0
  8. loopx-1.1.0/loopx/canary/planner.py +1987 -0
  9. loopx-1.1.0/loopx/canary/premerge.py +1195 -0
  10. loopx-1.1.0/loopx/canary/quality_surface_catalog.py +842 -0
  11. loopx-1.1.0/loopx/canary/runner.py +1096 -0
  12. loopx-1.1.0/loopx/capabilities/benchmark_toolkit/README.md +1368 -0
  13. loopx-1.1.0/loopx/capabilities/benchmark_toolkit/container_binding.py +124 -0
  14. loopx-1.1.0/loopx/capabilities/benchmark_toolkit/native_codex_goal.py +749 -0
  15. loopx-1.1.0/loopx/capabilities/benchmark_toolkit/native_codex_profile.py +658 -0
  16. loopx-1.1.0/loopx/capabilities/benchmark_toolkit/source_revision_fence.py +154 -0
  17. loopx-1.1.0/loopx/capabilities/change_quality/scope.py +177 -0
  18. loopx-1.1.0/loopx/capabilities/configuration_ui.py +547 -0
  19. loopx-1.1.0/loopx/capabilities/connector_registry/tests/test_connector_registry.py +137 -0
  20. loopx-1.1.0/loopx/capabilities/decision_context/extension_provider.py +360 -0
  21. loopx-1.1.0/loopx/capabilities/decision_context/packets.py +659 -0
  22. loopx-1.1.0/loopx/capabilities/integration_branch/core.py +916 -0
  23. loopx-1.1.0/loopx/capabilities/issue_fix/outcome_projection.py +1235 -0
  24. loopx-1.1.0/loopx/capabilities/issue_fix/pr_gate_reconcile.py +498 -0
  25. loopx-1.1.0/loopx/capabilities/issue_fix/repository_context.py +456 -0
  26. loopx-1.1.0/loopx/capabilities/machine_configuration/builtins.py +93 -0
  27. loopx-1.1.0/loopx/capabilities/machine_configuration/cli.py +339 -0
  28. loopx-1.1.0/loopx/capabilities/manager_context/README.md +388 -0
  29. loopx-1.1.0/loopx/capabilities/manager_context/__init__.py +287 -0
  30. loopx-1.1.0/loopx/capabilities/manager_context/inspection.py +287 -0
  31. loopx-1.1.0/loopx/capabilities/manager_context/presentation.py +76 -0
  32. loopx-1.1.0/loopx/capabilities/manager_context/roundtrip.py +578 -0
  33. loopx-1.1.0/loopx/capabilities/manager_context/skills/loopx-manager/SKILL.md +199 -0
  34. loopx-1.1.0/loopx/capabilities/manager_context/ssh_evidence.py +692 -0
  35. loopx-1.1.0/loopx/capabilities/manager_context/team_plan.py +235 -0
  36. loopx-1.1.0/loopx/capabilities/manager_context/tracking.py +210 -0
  37. loopx-1.1.0/loopx/capabilities/manager_runtime/machine_profile.py +228 -0
  38. loopx-1.1.0/loopx/capabilities/multi_subagent/__init__.py +13 -0
  39. loopx-1.1.0/loopx/capabilities/multi_subagent/codex_host_capacity.py +361 -0
  40. loopx-1.1.0/loopx/capabilities/periodic_report/incremental.py +569 -0
  41. loopx-1.1.0/loopx/capabilities/periodic_report/post_writeback_hook.py +594 -0
  42. loopx-1.1.0/loopx/capabilities/periodic_report/project_progress_snapshot.py +244 -0
  43. loopx-1.1.0/loopx/capabilities/pr_review_queue/README.md +918 -0
  44. loopx-1.1.0/loopx/capabilities/pr_review_queue/catalog_entry.py +163 -0
  45. loopx-1.1.0/loopx/capabilities/pr_review_queue/github_source.py +171 -0
  46. loopx-1.1.0/loopx/capabilities/pr_review_queue/goal_configuration.py +91 -0
  47. loopx-1.1.0/loopx/capabilities/pr_review_queue/machine_defaults.py +97 -0
  48. loopx-1.1.0/loopx/capabilities/pr_review_queue/merge_readiness.py +120 -0
  49. loopx-1.1.0/loopx/capabilities/pr_review_queue/result_check.py +262 -0
  50. loopx-1.1.0/loopx/capabilities/pr_review_queue/review_contract.py +1198 -0
  51. loopx-1.1.0/loopx/capabilities/pr_review_queue/selection_execution.py +106 -0
  52. loopx-1.1.0/loopx/capabilities/project_skill_delivery/__init__.py +33 -0
  53. loopx-1.1.0/loopx/capabilities/project_skill_delivery/core.py +522 -0
  54. loopx-1.1.0/loopx/capabilities/reliability_diagnostics/README.md +218 -0
  55. loopx-1.1.0/loopx/capabilities/reliability_diagnostics/README.zh-CN.md +186 -0
  56. loopx-1.1.0/loopx/capabilities/repository_change_window/README.md +253 -0
  57. loopx-1.1.0/loopx/capabilities/repository_change_window/git_hook.py +1168 -0
  58. loopx-1.1.0/loopx/capabilities/repository_change_window/repository.py +342 -0
  59. loopx-1.1.0/loopx/capabilities/reward_memory/codex_app_outcome.py +508 -0
  60. loopx-1.1.0/loopx/capabilities/semantic_preference/contract.py +592 -0
  61. loopx-1.1.0/loopx/capabilities/steward_executor/__init__.py +25 -0
  62. loopx-1.1.0/loopx/capabilities/steward_executor/machine_defaults.py +259 -0
  63. loopx-1.1.0/loopx/chat.py +607 -0
  64. loopx-1.1.0/loopx/chat_acp.py +482 -0
  65. loopx-1.1.0/loopx/chat_action_normalization.py +661 -0
  66. loopx-1.1.0/loopx/chat_action_store.py +1041 -0
  67. loopx-1.1.0/loopx/chat_actions.py +1589 -0
  68. loopx-1.1.0/loopx/chat_agent.py +1058 -0
  69. loopx-1.1.0/loopx/chat_codex_goal.py +345 -0
  70. loopx-1.1.0/loopx/chat_configuration_api.py +43 -0
  71. loopx-1.1.0/loopx/chat_coordination.py +129 -0
  72. loopx-1.1.0/loopx/chat_dsh.py +309 -0
  73. loopx-1.1.0/loopx/chat_endpoint_catalog.py +150 -0
  74. loopx-1.1.0/loopx/chat_event_cache.py +52 -0
  75. loopx-1.1.0/loopx/chat_goal_configuration_api.py +750 -0
  76. loopx-1.1.0/loopx/chat_goal_subagent_api.py +290 -0
  77. loopx-1.1.0/loopx/chat_ingress.py +91 -0
  78. loopx-1.1.0/loopx/chat_lark_api.py +662 -0
  79. loopx-1.1.0/loopx/chat_loopx_mode.py +719 -0
  80. loopx-1.1.0/loopx/chat_manager.py +676 -0
  81. loopx-1.1.0/loopx/chat_manager_context.py +538 -0
  82. loopx-1.1.0/loopx/chat_manager_history.py +203 -0
  83. loopx-1.1.0/loopx/chat_monitor_actions.py +233 -0
  84. loopx-1.1.0/loopx/chat_operator_provider_api.py +110 -0
  85. loopx-1.1.0/loopx/chat_providers.py +428 -0
  86. loopx-1.1.0/loopx/chat_runtime.py +1559 -0
  87. loopx-1.1.0/loopx/chat_server.py +1518 -0
  88. loopx-1.1.0/loopx/chat_session_open.py +58 -0
  89. loopx-1.1.0/loopx/chat_status_api.py +183 -0
  90. loopx-1.1.0/loopx/chat_store.py +1428 -0
  91. loopx-1.1.0/loopx/chat_todo_actions.py +209 -0
  92. loopx-1.1.0/loopx/claude_goal_mode/hooks/goal_policy.py +212 -0
  93. loopx-1.1.0/loopx/claude_goal_mode/hooks/goal_state.py +107 -0
  94. loopx-1.1.0/loopx/claude_goal_mode/scripts/goalmode_cmd.py +276 -0
  95. loopx-1.1.0/loopx/claude_goal_mode/scripts/install.py +328 -0
  96. loopx-1.1.0/loopx/claude_goal_mode/statusline/goal_status.py +97 -0
  97. loopx-1.1.0/loopx/cli.py +985 -0
  98. loopx-1.1.0/loopx/cli_commands/agent_context.py +68 -0
  99. loopx-1.1.0/loopx/cli_commands/agent_directory.py +119 -0
  100. loopx-1.1.0/loopx/cli_commands/bootstrap_connect.py +199 -0
  101. loopx-1.1.0/loopx/cli_commands/canary.py +707 -0
  102. loopx-1.1.0/loopx/cli_commands/dash.py +283 -0
  103. loopx-1.1.0/loopx/cli_commands/delegation.py +83 -0
  104. loopx-1.1.0/loopx/cli_commands/doctor.py +73 -0
  105. loopx-1.1.0/loopx/cli_commands/goal_acceptance.py +134 -0
  106. loopx-1.1.0/loopx/cli_commands/goal_channel.py +896 -0
  107. loopx-1.1.0/loopx/cli_commands/manager_inbox.py +150 -0
  108. loopx-1.1.0/loopx/cli_commands/opencode2_goal_worker.py +217 -0
  109. loopx-1.1.0/loopx/cli_commands/pr_review.py +482 -0
  110. loopx-1.1.0/loopx/cli_commands/project_lifecycle.py +314 -0
  111. loopx-1.1.0/loopx/cli_commands/project_lifecycle_refresh_state.py +715 -0
  112. loopx-1.1.0/loopx/cli_commands/quota.py +975 -0
  113. loopx-1.1.0/loopx/cli_commands/quota_context.py +364 -0
  114. loopx-1.1.0/loopx/cli_commands/quota_failure_report.py +251 -0
  115. loopx-1.1.0/loopx/cli_commands/quota_monitor_poll.py +98 -0
  116. loopx-1.1.0/loopx/cli_commands/quota_request.py +171 -0
  117. loopx-1.1.0/loopx/cli_commands/quota_scheduler_followup.py +242 -0
  118. loopx-1.1.0/loopx/cli_commands/registry_admin.py +739 -0
  119. loopx-1.1.0/loopx/cli_commands/registry_admin_configure.py +429 -0
  120. loopx-1.1.0/loopx/cli_commands/status.py +895 -0
  121. loopx-1.1.0/loopx/cli_commands/support_control.py +632 -0
  122. loopx-1.1.0/loopx/cli_commands/support_control_promotion.py +201 -0
  123. loopx-1.1.0/loopx/cli_commands/support_control_update.py +188 -0
  124. loopx-1.1.0/loopx/cli_commands/task_lease.py +251 -0
  125. loopx-1.1.0/loopx/cli_commands/todo.py +654 -0
  126. loopx-1.1.0/loopx/cli_commands/todo_argument_validation.py +604 -0
  127. loopx-1.1.0/loopx/cli_commands/todo_event.py +179 -0
  128. loopx-1.1.0/loopx/cli_commands/todo_registration.py +467 -0
  129. loopx-1.1.0/loopx/cli_commands/turn.py +1071 -0
  130. loopx-1.1.0/loopx/cli_commands/turn_decision.py +272 -0
  131. loopx-1.1.0/loopx/cli_commands/turn_dsh_host.py +42 -0
  132. loopx-1.1.0/loopx/cli_commands/turn_managed_step.py +103 -0
  133. loopx-1.1.0/loopx/cli_commands/turn_registration.py +365 -0
  134. loopx-1.1.0/loopx/cli_commands/turn_rendering.py +241 -0
  135. loopx-1.1.0/loopx/cli_commands/turn_selection.py +81 -0
  136. loopx-1.1.0/loopx/cli_runtime.py +386 -0
  137. loopx-1.1.0/loopx/codex_cli_runtime_probe.py +733 -0
  138. loopx-1.1.0/loopx/codex_cli_scheduler.py +566 -0
  139. loopx-1.1.0/loopx/collaboration_mcp.py +534 -0
  140. loopx-1.1.0/loopx/configuration_catalog.py +814 -0
  141. loopx-1.1.0/loopx/configuration_transaction.py +147 -0
  142. loopx-1.1.0/loopx/configure_goal.py +1494 -0
  143. loopx-1.1.0/loopx/contract.py +1112 -0
  144. loopx-1.1.0/loopx/control_plane/agent_context.py +117 -0
  145. loopx-1.1.0/loopx/control_plane/agents/agent_scope_frontier.generated.ts +17 -0
  146. loopx-1.1.0/loopx/control_plane/agents/agent_scope_frontier.py +73 -0
  147. loopx-1.1.0/loopx/control_plane/agents/directory.py +277 -0
  148. loopx-1.1.0/loopx/control_plane/agents/management_projection.py +747 -0
  149. loopx-1.1.0/loopx/control_plane/agents/workspace_guard.py +407 -0
  150. loopx-1.1.0/loopx/control_plane/capability_hooks.ts +856 -0
  151. loopx-1.1.0/loopx/control_plane/collaboration/README.md +38 -0
  152. loopx-1.1.0/loopx/control_plane/collaboration/__init__.py +14 -0
  153. loopx-1.1.0/loopx/control_plane/collaboration/chat_mode.ts +50 -0
  154. loopx-1.1.0/loopx/control_plane/collaboration/conversation_scope.ts +28 -0
  155. loopx-1.1.0/loopx/control_plane/collaboration/delegation.ts +131 -0
  156. loopx-1.1.0/loopx/control_plane/collaboration/delegation_context.py +173 -0
  157. loopx-1.1.0/loopx/control_plane/collaboration/delegation_inventory.py +67 -0
  158. loopx-1.1.0/loopx/control_plane/collaboration/inbox.py +258 -0
  159. loopx-1.1.0/loopx/control_plane/collaboration/peers.py +388 -0
  160. loopx-1.1.0/loopx/control_plane/collaboration/return_delivery.ts +103 -0
  161. loopx-1.1.0/loopx/control_plane/collaboration/semantic_request.ts +84 -0
  162. loopx-1.1.0/loopx/control_plane/coordination/authority_source.ts +42 -0
  163. loopx-1.1.0/loopx/control_plane/coordination/authority_source_capture.py +21 -0
  164. loopx-1.1.0/loopx/control_plane/coordination/authority_state_log.ts +291 -0
  165. loopx-1.1.0/loopx/control_plane/coordination/coordination_projection.ts +393 -0
  166. loopx-1.1.0/loopx/control_plane/coordination/coordination_state_contract.generated.ts +337 -0
  167. loopx-1.1.0/loopx/control_plane/coordination/coordination_state_contract_generated.py +293 -0
  168. loopx-1.1.0/loopx/control_plane/coordination/coordination_state_contract_v0.json +216 -0
  169. loopx-1.1.0/loopx/control_plane/coordination/lease_claim_transfer.ts +36 -0
  170. loopx-1.1.0/loopx/control_plane/coordination/local_authority.py +354 -0
  171. loopx-1.1.0/loopx/control_plane/coordination/local_authority_runtime.ts +1173 -0
  172. loopx-1.1.0/loopx/control_plane/coordination/nokv_jsonl_helper.py +656 -0
  173. loopx-1.1.0/loopx/control_plane/coordination/sqlite_authority_migration.ts +362 -0
  174. loopx-1.1.0/loopx/control_plane/coordination/sqlite_authority_store.ts +661 -0
  175. loopx-1.1.0/loopx/control_plane/coordination/sqlite_runtime.ts +115 -0
  176. loopx-1.1.0/loopx/control_plane/coordination/task_lease_acquire.ts +139 -0
  177. loopx-1.1.0/loopx/control_plane/coordination/task_lease_lifecycle.ts +167 -0
  178. loopx-1.1.0/loopx/control_plane/coordination/task_lease_proof.ts +60 -0
  179. loopx-1.1.0/loopx/control_plane/coordination/task_lease_state.ts +58 -0
  180. loopx-1.1.0/loopx/control_plane/coordination/todo_claim.ts +656 -0
  181. loopx-1.1.0/loopx/control_plane/coordination/todo_create.ts +249 -0
  182. loopx-1.1.0/loopx/control_plane/coordination/todo_monitor_poll.ts +207 -0
  183. loopx-1.1.0/loopx/control_plane/coordination/todo_terminal_lifecycle.ts +1205 -0
  184. loopx-1.1.0/loopx/control_plane/coordination/todo_update.ts +199 -0
  185. loopx-1.1.0/loopx/control_plane/coordination/todo_update_admission.ts +126 -0
  186. loopx-1.1.0/loopx/control_plane/coordination/todo_update_intent.ts +160 -0
  187. loopx-1.1.0/loopx/control_plane/effect_program.py +817 -0
  188. loopx-1.1.0/loopx/control_plane/effect_program.ts +905 -0
  189. loopx-1.1.0/loopx/control_plane/effect_runtime.py +977 -0
  190. loopx-1.1.0/loopx/control_plane/effect_runtime_handlers.ts +762 -0
  191. loopx-1.1.0/loopx/control_plane/effect_runtime_server.ts +206 -0
  192. loopx-1.1.0/loopx/control_plane/goals/acceptance.py +350 -0
  193. loopx-1.1.0/loopx/control_plane/goals/acceptance_authority.ts +193 -0
  194. loopx-1.1.0/loopx/control_plane/goals/acceptance_contract.ts +331 -0
  195. loopx-1.1.0/loopx/control_plane/goals/acceptance_observation.py +248 -0
  196. loopx-1.1.0/loopx/control_plane/goals/active_state_metadata.py +97 -0
  197. loopx-1.1.0/loopx/control_plane/goals/artifact_lifecycle.py +414 -0
  198. loopx-1.1.0/loopx/control_plane/goals/configure_goal_service.py +632 -0
  199. loopx-1.1.0/loopx/control_plane/goals/goal_frontier/__init__.py +1850 -0
  200. loopx-1.1.0/loopx/control_plane/goals/goal_frontier/ack_policy.py +184 -0
  201. loopx-1.1.0/loopx/control_plane/goals/goal_frontier/long_todo_chain.py +88 -0
  202. loopx-1.1.0/loopx/control_plane/goals/goal_frontier/outcome_continuity.py +477 -0
  203. loopx-1.1.0/loopx/control_plane/goals/ssh_lifecycle_transport.py +117 -0
  204. loopx-1.1.0/loopx/control_plane/goals/start_contract.py +216 -0
  205. loopx-1.1.0/loopx/control_plane/goals/start_goal_todo_delta.py +230 -0
  206. loopx-1.1.0/loopx/control_plane/goals/task_planning.py +151 -0
  207. loopx-1.1.0/loopx/control_plane/goals/vision_checkpoint.ts +840 -0
  208. loopx-1.1.0/loopx/control_plane/heartbeat/installed_prompt_update.py +211 -0
  209. loopx-1.1.0/loopx/control_plane/heartbeat/prompt_upgrade_hook.py +129 -0
  210. loopx-1.1.0/loopx/control_plane/heartbeat/rules.py +98 -0
  211. loopx-1.1.0/loopx/control_plane/operator_credential.py +52 -0
  212. loopx-1.1.0/loopx/control_plane/operator_provider.py +475 -0
  213. loopx-1.1.0/loopx/control_plane/presentation/action_review_plan.ts +376 -0
  214. loopx-1.1.0/loopx/control_plane/projects/registry.py +676 -0
  215. loopx-1.1.0/loopx/control_plane/quota/blocked_transition_notice.py +322 -0
  216. loopx-1.1.0/loopx/control_plane/quota/cli_projection.py +760 -0
  217. loopx-1.1.0/loopx/control_plane/quota/decision_summary.py +444 -0
  218. loopx-1.1.0/loopx/control_plane/quota/effective_action.generated.ts +76 -0
  219. loopx-1.1.0/loopx/control_plane/quota/effective_action.py +45 -0
  220. loopx-1.1.0/loopx/control_plane/quota/error_codes.py +133 -0
  221. loopx-1.1.0/loopx/control_plane/quota/heartbeat_receipt.py +443 -0
  222. loopx-1.1.0/loopx/control_plane/quota/heartbeat_receipt_identity.ts +182 -0
  223. loopx-1.1.0/loopx/control_plane/quota/host_poll_receipts.py +163 -0
  224. loopx-1.1.0/loopx/control_plane/quota/live_decision.py +567 -0
  225. loopx-1.1.0/loopx/control_plane/quota/monitor_poll.py +904 -0
  226. loopx-1.1.0/loopx/control_plane/quota/monitor_poll_commit.ts +2187 -0
  227. loopx-1.1.0/loopx/control_plane/quota/projection_repair.py +265 -0
  228. loopx-1.1.0/loopx/control_plane/quota/settlement_cli.py +397 -0
  229. loopx-1.1.0/loopx/control_plane/quota/settlement_phase.ts +88 -0
  230. loopx-1.1.0/loopx/control_plane/quota/settlement_precedence.py +180 -0
  231. loopx-1.1.0/loopx/control_plane/quota/settlement_readback.ts +803 -0
  232. loopx-1.1.0/loopx/control_plane/quota/should_run.py +397 -0
  233. loopx-1.1.0/loopx/control_plane/quota/should_run_packet.py +1499 -0
  234. loopx-1.1.0/loopx/control_plane/quota/should_run_prepare.py +896 -0
  235. loopx-1.1.0/loopx/control_plane/quota/slot_accounting.py +1025 -0
  236. loopx-1.1.0/loopx/control_plane/quota/spend_commit.ts +886 -0
  237. loopx-1.1.0/loopx/control_plane/quota/stall_repair.py +398 -0
  238. loopx-1.1.0/loopx/control_plane/quota/task_orchestration.py +453 -0
  239. loopx-1.1.0/loopx/control_plane/quota/turn_envelope.ts +850 -0
  240. loopx-1.1.0/loopx/control_plane/quota/turn_envelope_budget.ts +90 -0
  241. loopx-1.1.0/loopx/control_plane/quota/unsettled_host_turn.py +347 -0
  242. loopx-1.1.0/loopx/control_plane/quota/unsettled_host_turn_recovery.ts +500 -0
  243. loopx-1.1.0/loopx/control_plane/quota/usage_summary.py +265 -0
  244. loopx-1.1.0/loopx/control_plane/rollout_receipt_log.ts +99 -0
  245. loopx-1.1.0/loopx/control_plane/runtime/public_safety.py +213 -0
  246. loopx-1.1.0/loopx/control_plane/runtime/run_context_retention.py +307 -0
  247. loopx-1.1.0/loopx/control_plane/runtime/runtime_projection_route.py +718 -0
  248. loopx-1.1.0/loopx/control_plane/runtime/session_runtime.py +366 -0
  249. loopx-1.1.0/loopx/control_plane/runtime/status_projection_cache.py +244 -0
  250. loopx-1.1.0/loopx/control_plane/runtime/validation_command.py +69 -0
  251. loopx-1.1.0/loopx/control_plane/scheduler/automation_liveness.py +209 -0
  252. loopx-1.1.0/loopx/control_plane/scheduler/external_evidence_observation.py +429 -0
  253. loopx-1.1.0/loopx/control_plane/scheduler/heartbeat_followup.ts +430 -0
  254. loopx-1.1.0/loopx/control_plane/scheduler/monitor_poll_writeback.py +278 -0
  255. loopx-1.1.0/loopx/control_plane/scheduler/provider_monitor_poll.py +63 -0
  256. loopx-1.1.0/loopx/control_plane/status/agent_lane_projection.py +379 -0
  257. loopx-1.1.0/loopx/control_plane/status/collection.py +266 -0
  258. loopx-1.1.0/loopx/control_plane/status/runtime_summaries.py +156 -0
  259. loopx-1.1.0/loopx/control_plane/status/ssh_tunnel.py +140 -0
  260. loopx-1.1.0/loopx/control_plane/subagent_context.ts +139 -0
  261. loopx-1.1.0/loopx/control_plane/testing/action_portfolio_scenarios.py +381 -0
  262. loopx-1.1.0/loopx/control_plane/testing/actual_default_model_behavior_portfolio.py +1463 -0
  263. loopx-1.1.0/loopx/control_plane/testing/authority_e2e_fixtures.py +635 -0
  264. loopx-1.1.0/loopx/control_plane/testing/authority_e2e_ladder.py +1254 -0
  265. loopx-1.1.0/loopx/control_plane/testing/authority_e2e_rows_stage2c.py +492 -0
  266. loopx-1.1.0/loopx/control_plane/testing/authority_e2e_rows_stage2c2.py +1238 -0
  267. loopx-1.1.0/loopx/control_plane/testing/canary_harness.py +182 -0
  268. loopx-1.1.0/loopx/control_plane/testing/capability_monitor_repair_tool_behavior.py +674 -0
  269. loopx-1.1.0/loopx/control_plane/testing/cli_output_differential.py +837 -0
  270. loopx-1.1.0/loopx/control_plane/testing/cli_output_semantics.py +191 -0
  271. loopx-1.1.0/loopx/control_plane/testing/host_prompt_behavior.py +109 -0
  272. loopx-1.1.0/loopx/control_plane/testing/model_tool_behavior.py +559 -0
  273. loopx-1.1.0/loopx/control_plane/testing/quota_fixtures.py +219 -0
  274. loopx-1.1.0/loopx/control_plane/testing/release_commit_qualification.py +592 -0
  275. loopx-1.1.0/loopx/control_plane/testing/replan_semantic_action_behavior.py +1413 -0
  276. loopx-1.1.0/loopx/control_plane/testing/replan_vision_closeout_behavior.py +176 -0
  277. loopx-1.1.0/loopx/control_plane/testing/scoped_gate_successor_tool_behavior.py +532 -0
  278. loopx-1.1.0/loopx/control_plane/testing/selected_todo_tool_behavior.py +1178 -0
  279. loopx-1.1.0/loopx/control_plane/testing/terminal_settlement_tool_behavior.py +1182 -0
  280. loopx-1.1.0/loopx/control_plane/testing/turn_journal_characterization.py +283 -0
  281. loopx-1.1.0/loopx/control_plane/testing/vision_shell_host.py +149 -0
  282. loopx-1.1.0/loopx/control_plane/todos/active_state_todos.py +209 -0
  283. loopx-1.1.0/loopx/control_plane/todos/completion_validation.py +795 -0
  284. loopx-1.1.0/loopx/control_plane/todos/decision_scope.py +378 -0
  285. loopx-1.1.0/loopx/control_plane/todos/frontier_revision.py +135 -0
  286. loopx-1.1.0/loopx/control_plane/todos/frontier_revision.ts +254 -0
  287. loopx-1.1.0/loopx/control_plane/todos/list_projection.py +539 -0
  288. loopx-1.1.0/loopx/control_plane/todos/mutation_authority.py +430 -0
  289. loopx-1.1.0/loopx/control_plane/todos/native_update_plan.ts +87 -0
  290. loopx-1.1.0/loopx/control_plane/todos/provider_create.py +168 -0
  291. loopx-1.1.0/loopx/control_plane/todos/provider_terminal_lifecycle.py +572 -0
  292. loopx-1.1.0/loopx/control_plane/todos/provider_update.py +154 -0
  293. loopx-1.1.0/loopx/control_plane/todos/quota_selection.py +83 -0
  294. loopx-1.1.0/loopx/control_plane/todos/quota_selection.ts +192 -0
  295. loopx-1.1.0/loopx/control_plane/todos/quota_summary.py +1026 -0
  296. loopx-1.1.0/loopx/control_plane/todos/summary_item.py +283 -0
  297. loopx-1.1.0/loopx/control_plane/todos/summary_lanes.ts +127 -0
  298. loopx-1.1.0/loopx/control_plane/todos/todo_index.py +243 -0
  299. loopx-1.1.0/loopx/control_plane/todos/todo_semantics.py +873 -0
  300. loopx-1.1.0/loopx/control_plane/todos/todo_summary.py +1289 -0
  301. loopx-1.1.0/loopx/control_plane/todos/update_intent.py +109 -0
  302. loopx-1.1.0/loopx/control_plane/todos/user_gate.py +266 -0
  303. loopx-1.1.0/loopx/control_plane/todos/work_requirements.ts +106 -0
  304. loopx-1.1.0/loopx/control_plane/turn_driver/__init__.py +105 -0
  305. loopx-1.1.0/loopx/control_plane/turn_driver/codex_cli.py +873 -0
  306. loopx-1.1.0/loopx/control_plane/turn_driver/command_validation.py +168 -0
  307. loopx-1.1.0/loopx/control_plane/turn_driver/driver.py +507 -0
  308. loopx-1.1.0/loopx/control_plane/turn_driver/execution_profile.py +214 -0
  309. loopx-1.1.0/loopx/control_plane/turn_driver/execution_readback.py +84 -0
  310. loopx-1.1.0/loopx/control_plane/turn_driver/executor.py +1431 -0
  311. loopx-1.1.0/loopx/control_plane/turn_driver/host_binding.py +393 -0
  312. loopx-1.1.0/loopx/control_plane/turn_driver/host_candidate.py +273 -0
  313. loopx-1.1.0/loopx/control_plane/turn_driver/host_failure.py +147 -0
  314. loopx-1.1.0/loopx/control_plane/turn_driver/host_todo_completion.ts +983 -0
  315. loopx-1.1.0/loopx/control_plane/turn_driver/lane_fence.py +203 -0
  316. loopx-1.1.0/loopx/control_plane/turn_driver/loop_controller.py +688 -0
  317. loopx-1.1.0/loopx/control_plane/turn_driver/managed_step.py +329 -0
  318. loopx-1.1.0/loopx/control_plane/turn_driver/settlement.ts +904 -0
  319. loopx-1.1.0/loopx/control_plane/turn_driver/transaction.py +364 -0
  320. loopx-1.1.0/loopx/control_plane/turn_driver/turn_contract_generated.py +283 -0
  321. loopx-1.1.0/loopx/control_plane/turn_driver/turn_contract_generated.ts +524 -0
  322. loopx-1.1.0/loopx/control_plane/turn_driver/turn_journal.ts +720 -0
  323. loopx-1.1.0/loopx/control_plane/turn_loop_controller_contract_v0.json +478 -0
  324. loopx-1.1.0/loopx/control_plane/work_items/action_portfolio.ts +413 -0
  325. loopx-1.1.0/loopx/control_plane/work_items/action_selection_contract.py +198 -0
  326. loopx-1.1.0/loopx/control_plane/work_items/autonomous_replan_ack.py +342 -0
  327. loopx-1.1.0/loopx/control_plane/work_items/autonomous_replan_obligation.py +940 -0
  328. loopx-1.1.0/loopx/control_plane/work_items/canonical_task_lease_lifecycle.ts +89 -0
  329. loopx-1.1.0/loopx/control_plane/work_items/goal_route_hint.py +317 -0
  330. loopx-1.1.0/loopx/control_plane/work_items/governed_transition_proposal.py +657 -0
  331. loopx-1.1.0/loopx/control_plane/work_items/interaction_contract.py +1548 -0
  332. loopx-1.1.0/loopx/control_plane/work_items/progress_observation.py +625 -0
  333. loopx-1.1.0/loopx/control_plane/work_items/replan_semantics.ts +102 -0
  334. loopx-1.1.0/loopx/control_plane/work_items/semantic_replan_writeback.py +504 -0
  335. loopx-1.1.0/loopx/control_plane/work_items/task_lease.py +987 -0
  336. loopx-1.1.0/loopx/control_plane/work_items/task_lease_acquire.ts +1078 -0
  337. loopx-1.1.0/loopx/control_plane/work_items/task_lease_acquire_adapter.py +829 -0
  338. loopx-1.1.0/loopx/control_plane/work_items/task_lease_acquire_decision.ts +407 -0
  339. loopx-1.1.0/loopx/control_plane/work_items/task_lease_lifecycle.ts +2378 -0
  340. loopx-1.1.0/loopx/control_plane/work_items/task_lease_lifecycle_decision.ts +324 -0
  341. loopx-1.1.0/loopx/control_plane/work_items/task_lease_lifecycle_request.ts +457 -0
  342. loopx-1.1.0/loopx/control_plane/work_items/task_lease_operation_identity.ts +48 -0
  343. loopx-1.1.0/loopx/control_plane/work_items/team_plan.ts +185 -0
  344. loopx-1.1.0/loopx/control_plane/work_items/team_plan_adapter.py +153 -0
  345. loopx-1.1.0/loopx/control_plane/work_items/team_plan_authority.ts +61 -0
  346. loopx-1.1.0/loopx/control_plane/work_items/unsettled_host_turn_contract.py +69 -0
  347. loopx-1.1.0/loopx/control_plane/work_items/work_lane.py +789 -0
  348. loopx-1.1.0/loopx/dashboard_launcher.py +293 -0
  349. loopx-1.1.0/loopx/demo.py +246 -0
  350. loopx-1.1.0/loopx/desktop_installation.py +86 -0
  351. loopx-1.1.0/loopx/doctor.py +1346 -0
  352. loopx-1.1.0/loopx/dsh_goal_mode/README.md +159 -0
  353. loopx-1.1.0/loopx/dsh_goal_mode/__init__.py +57 -0
  354. loopx-1.1.0/loopx/dsh_goal_mode/turn_host_adapter.py +680 -0
  355. loopx-1.1.0/loopx/event_sourced_state.py +1049 -0
  356. loopx-1.1.0/loopx/experiments/planner_worker/traex.py +461 -0
  357. loopx-1.1.0/loopx/extensions/entrypoint_surface.py +348 -0
  358. loopx-1.1.0/loopx/extensions/lark/README.md +481 -0
  359. loopx-1.1.0/loopx/extensions/lark/app_setup.py +185 -0
  360. loopx-1.1.0/loopx/extensions/lark/document_comment_provider.py +1193 -0
  361. loopx-1.1.0/loopx/extensions/lark/event_collector_runtime.py +1147 -0
  362. loopx-1.1.0/loopx/extensions/lark/event_inbox.py +957 -0
  363. loopx-1.1.0/loopx/extensions/lark/goal_channel_message_delivery.py +633 -0
  364. loopx-1.1.0/loopx/extensions/lark/goal_channel_operation.py +1469 -0
  365. loopx-1.1.0/loopx/extensions/lark/goal_channel_transport.py +525 -0
  366. loopx-1.1.0/loopx/extensions/lark/goal_topic_batch.py +259 -0
  367. loopx-1.1.0/loopx/extensions/lark/goal_topic_connections.py +1471 -0
  368. loopx-1.1.0/loopx/extensions/lark/goal_topic_edit.py +308 -0
  369. loopx-1.1.0/loopx/extensions/lark/goal_topic_runtime.py +1509 -0
  370. loopx-1.1.0/loopx/extensions/lark/inbox_reactions.py +1030 -0
  371. loopx-1.1.0/loopx/extensions/lark/inbox_reply.py +915 -0
  372. loopx-1.1.0/loopx/extensions/lark/manager_context.py +433 -0
  373. loopx-1.1.0/loopx/extensions/lark/manager_returns.py +218 -0
  374. loopx-1.1.0/loopx/extensions/lark/manager_routing.py +272 -0
  375. loopx-1.1.0/loopx/extensions/lark/miaoda_report.py +534 -0
  376. loopx-1.1.0/loopx/extensions/lark/presentation/kanban.py +2791 -0
  377. loopx-1.1.0/loopx/extensions/lark/presentation/projection_rows.py +627 -0
  378. loopx-1.1.0/loopx/extensions/openviking_semantic_preference/provider.py +312 -0
  379. loopx-1.1.0/loopx/extensions/process_runtime.py +216 -0
  380. loopx-1.1.0/loopx/goal_mode_mcp.py +368 -0
  381. loopx-1.1.0/loopx/help_surface.py +604 -0
  382. loopx-1.1.0/loopx/history.py +968 -0
  383. loopx-1.1.0/loopx/host_mode_planner.py +1034 -0
  384. loopx-1.1.0/loopx/install_contract.py +14 -0
  385. loopx-1.1.0/loopx/kunluncode_goal_mode/app_server.py +484 -0
  386. loopx-1.1.0/loopx/kunluncode_goal_mode/cli.py +751 -0
  387. loopx-1.1.0/loopx/kunluncode_goal_mode/control_plane.py +231 -0
  388. loopx-1.1.0/loopx/orchestration.py +287 -0
  389. loopx-1.1.0/loopx/pr_review.py +1481 -0
  390. loopx-1.1.0/loopx/pr_review_merge_readiness.py +156 -0
  391. loopx-1.1.0/loopx/presentation/renderers/goal_acceptance_observation_markdown.py +110 -0
  392. loopx-1.1.0/loopx/presentation/renderers/goal_artifact_lifecycle_markdown.py +47 -0
  393. loopx-1.1.0/loopx/presentation/renderers/quota_markdown.py +1125 -0
  394. loopx-1.1.0/loopx/presentation/renderers/status_markdown.py +1556 -0
  395. loopx-1.1.0/loopx/project_alias.py +217 -0
  396. loopx-1.1.0/loopx/project_prompt.py +1256 -0
  397. loopx-1.1.0/loopx/promotion_gate.py +199 -0
  398. loopx-1.1.0/loopx/quota.py +1497 -0
  399. loopx-1.1.0/loopx/ready_score.py +416 -0
  400. loopx-1.1.0/loopx/release_candidate.py +319 -0
  401. loopx-1.1.0/loopx/release_manifest.py +360 -0
  402. loopx-1.1.0/loopx/repository_identity.py +98 -0
  403. loopx-1.1.0/loopx/rollout_event_log.py +560 -0
  404. loopx-1.1.0/loopx/runtime_activation.py +74 -0
  405. loopx-1.1.0/loopx/self_update.py +1399 -0
  406. loopx-1.1.0/loopx/self_update_download.py +108 -0
  407. loopx-1.1.0/loopx/semantics/__init__.py +7 -0
  408. loopx-1.1.0/loopx/semantics/consumer_report.py +673 -0
  409. loopx-1.1.0/loopx/semantics/field_use.py +418 -0
  410. loopx-1.1.0/loopx/semantics/incident_v0.json +166 -0
  411. loopx-1.1.0/loopx/semantics/inventory.py +584 -0
  412. loopx-1.1.0/loopx/semantics/production.py +247 -0
  413. loopx-1.1.0/loopx/semantics/python_production.py +856 -0
  414. loopx-1.1.0/loopx/semantics/turn_contract_witness.py +296 -0
  415. loopx-1.1.0/loopx/semantics/vocabulary_v0.json +1159 -0
  416. loopx-1.1.0/loopx/skill_install_readback.py +753 -0
  417. loopx-1.1.0/loopx/slash_command_install.py +1505 -0
  418. loopx-1.1.0/loopx/state_migration.py +524 -0
  419. loopx-1.1.0/loopx/state_projection.py +820 -0
  420. loopx-1.1.0/loopx/status.py +1305 -0
  421. loopx-1.1.0/loopx/status_server.py +1223 -0
  422. loopx-1.1.0/loopx/todos.py +2040 -0
  423. loopx-1.1.0/loopx/upgrade.py +1175 -0
  424. loopx-1.1.0/loopx/web/chat/assets/index-C6Jsf2dJ.js +137 -0
  425. loopx-1.1.0/loopx/web/chat/assets/index-DqTQqqop.css +1 -0
  426. loopx-1.1.0/loopx/web/chat/assets/index-Dw5XdTH0.js +137 -0
  427. loopx-1.1.0/loopx/web/chat/index.html +39 -0
  428. loopx-1.1.0/loopx/windows_install.py +383 -0
  429. loopx-1.1.0/loopx/workflow_skill_install.py +467 -0
  430. loopx-1.1.0/loopx.egg-info/PKG-INFO +811 -0
  431. loopx-1.1.0/loopx.egg-info/SOURCES.txt +1558 -0
  432. loopx-1.1.0/loopx.egg-info/requires.txt +15 -0
  433. loopx-1.1.0/pyproject.toml +164 -0
  434. loopx-1.1.0/skills/loopx-pr-review/SKILL.md +180 -0
  435. loopx-1.1.0/skills/loopx-project/SKILL.md +1083 -0
  436. loopx-1.1.0/skills/loopx-self-repair/references/repair-patterns.md +273 -0
  437. loopx-1.1.0/tests/test_archive_installer_commit_response.py +132 -0
  438. loopx-1.1.0/tests/test_ark_managed_agent_host.py +508 -0
  439. loopx-1.1.0/tests/test_chat_codex_goal.py +481 -0
  440. loopx-1.1.0/tests/test_chat_dsh_adapter.py +343 -0
  441. loopx-1.1.0/tests/test_chat_event_cursor.py +30 -0
  442. loopx-1.1.0/tests/test_chat_event_retention.py +206 -0
  443. loopx-1.1.0/tests/test_chat_executor_profile.py +74 -0
  444. loopx-1.1.0/tests/test_chat_loopx_mode.py +494 -0
  445. loopx-1.1.0/tests/test_chat_machine_configuration_api.py +849 -0
  446. loopx-1.1.0/tests/test_chat_manager_context.py +956 -0
  447. loopx-1.1.0/tests/test_chat_manager_inspection.py +321 -0
  448. loopx-1.1.0/tests/test_chat_project_coordination.py +213 -0
  449. loopx-1.1.0/tests/test_chat_server_cors.py +423 -0
  450. loopx-1.1.0/tests/test_chat_session_active_turn.py +1327 -0
  451. loopx-1.1.0/tests/test_chat_team_plan_action.py +396 -0
  452. loopx-1.1.0/tests/test_chat_turn_wait.py +37 -0
  453. loopx-1.1.0/tests/test_cli_argument_diagnostics.py +1039 -0
  454. loopx-1.1.0/tests/test_collaboration_demo.py +165 -0
  455. loopx-1.1.0/tests/test_collaboration_mcp.py +116 -0
  456. loopx-1.1.0/tests/test_contract_scan_unreadable_files.py +111 -0
  457. loopx-1.1.0/tests/test_dco_workflow.py +163 -0
  458. loopx-1.1.0/tests/test_delegation_cli.py +147 -0
  459. loopx-1.1.0/tests/test_delegation_inventory.py +77 -0
  460. loopx-1.1.0/tests/test_delegation_preflight.py +212 -0
  461. loopx-1.1.0/tests/test_delivery_review.py +153 -0
  462. loopx-1.1.0/tests/test_desktop_installation.py +50 -0
  463. loopx-1.1.0/tests/test_doctor_install_freshness.py +526 -0
  464. loopx-1.1.0/tests/test_dsh_goal_mode.py +936 -0
  465. loopx-1.1.0/tests/test_external_scheduler_worker.py +295 -0
  466. loopx-1.1.0/tests/test_goal_acceptance_contract_rendering.py +96 -0
  467. loopx-1.1.0/tests/test_history_index_write_serialization.py +129 -0
  468. loopx-1.1.0/tests/test_kunluncode_goal_mode.py +1618 -0
  469. loopx-1.1.0/tests/test_local_delegation.py +226 -0
  470. loopx-1.1.0/tests/test_loop_turn_controller_contract.py +424 -0
  471. loopx-1.1.0/tests/test_loop_turn_loop_controller.py +1314 -0
  472. loopx-1.1.0/tests/test_loopx_turn_codex_cli.py +842 -0
  473. loopx-1.1.0/tests/test_loopx_turn_driver.py +3359 -0
  474. loopx-1.1.0/tests/test_loopx_turn_executor.py +2660 -0
  475. loopx-1.1.0/tests/test_loopx_turn_host_failure.py +80 -0
  476. loopx-1.1.0/tests/test_loopx_turn_journal_inspection.py +618 -0
  477. loopx-1.1.0/tests/test_loopx_turn_managed_step.py +493 -0
  478. loopx-1.1.0/tests/test_managed_research_scenario.py +86 -0
  479. loopx-1.1.0/tests/test_managed_research_team.py +155 -0
  480. loopx-1.1.0/tests/test_manager_channel_binding.py +872 -0
  481. loopx-1.1.0/tests/test_manager_context_handoff.py +447 -0
  482. loopx-1.1.0/tests/test_manager_context_roundtrip.py +797 -0
  483. loopx-1.1.0/tests/test_manager_ssh_evidence.py +704 -0
  484. loopx-1.1.0/tests/test_manager_team_plan_guidance.py +138 -0
  485. loopx-1.1.0/tests/test_nokv_jsonl_helper.py +766 -0
  486. loopx-1.1.0/tests/test_operator_provider.py +212 -0
  487. loopx-1.1.0/tests/test_peer_collaboration.py +541 -0
  488. loopx-1.1.0/tests/test_pr_review_github_scan.py +1630 -0
  489. loopx-1.1.0/tests/test_project_lifecycle_refresh_state_ownership.py +62 -0
  490. loopx-1.1.0/tests/test_project_organization_identity.py +28 -0
  491. loopx-1.1.0/tests/test_project_skill_cli.py +117 -0
  492. loopx-1.1.0/tests/test_python_discovery.py +97 -0
  493. loopx-1.1.0/tests/test_repository_identity.py +50 -0
  494. loopx-1.1.0/tests/test_runtime_subprocess_utf8.py +143 -0
  495. loopx-1.1.0/tests/test_self_update_runtime_activation.py +684 -0
  496. loopx-1.1.0/tests/test_skill_discovery_reconciliation.py +176 -0
  497. loopx-1.1.0/tests/test_slash_command_install.py +1028 -0
  498. loopx-1.1.0/tests/test_state_migration.py +78 -0
  499. loopx-1.1.0/tests/test_steward_team_plan_apply.py +503 -0
  500. loopx-1.1.0/tests/test_steward_team_plan_preview.py +567 -0
  501. loopx-1.1.0/tests/test_support_control_promotion_ownership.py +70 -0
  502. loopx-1.1.0/tests/test_support_control_update_ownership.py +70 -0
  503. loopx-1.1.0/tests/test_turn_default_host_binding.py +148 -0
  504. loopx-1.1.0/tests/test_turn_lane_fence.py +125 -0
  505. loopx-1.1.0/tests/test_turn_managed_executor_binding.py +494 -0
  506. loopx-1.1.0/tests/test_turn_route_action_classification.py +109 -0
  507. loopx-1.1.0/tests/test_windows_install.py +350 -0
  508. loopx-1.1.0/tests/test_workflow_skill_install.py +477 -0
  509. loopx-1.0.4/PKG-INFO +0 -807
  510. loopx-1.0.4/README.md +0 -776
  511. loopx-1.0.4/loopx/__init__.py +0 -5
  512. loopx-1.0.4/loopx/bootstrap.py +0 -1253
  513. loopx-1.0.4/loopx/bootstrap_command_pack.py +0 -2228
  514. loopx-1.0.4/loopx/canary/maintainability_ratchet.py +0 -791
  515. loopx-1.0.4/loopx/canary/planner.py +0 -1980
  516. loopx-1.0.4/loopx/canary/premerge.py +0 -1135
  517. loopx-1.0.4/loopx/canary/quality_surface_catalog.py +0 -842
  518. loopx-1.0.4/loopx/canary/runner.py +0 -1096
  519. loopx-1.0.4/loopx/capabilities/benchmark_toolkit/README.md +0 -1365
  520. loopx-1.0.4/loopx/capabilities/benchmark_toolkit/container_binding.py +0 -124
  521. loopx-1.0.4/loopx/capabilities/benchmark_toolkit/native_codex_goal.py +0 -746
  522. loopx-1.0.4/loopx/capabilities/benchmark_toolkit/native_codex_profile.py +0 -658
  523. loopx-1.0.4/loopx/capabilities/benchmark_toolkit/source_revision_fence.py +0 -154
  524. loopx-1.0.4/loopx/capabilities/change_quality/scope.py +0 -171
  525. loopx-1.0.4/loopx/capabilities/configuration_ui.py +0 -481
  526. loopx-1.0.4/loopx/capabilities/connector_registry/tests/test_connector_registry.py +0 -137
  527. loopx-1.0.4/loopx/capabilities/decision_context/extension_provider.py +0 -354
  528. loopx-1.0.4/loopx/capabilities/decision_context/packets.py +0 -654
  529. loopx-1.0.4/loopx/capabilities/integration_branch/core.py +0 -916
  530. loopx-1.0.4/loopx/capabilities/issue_fix/outcome_projection.py +0 -1235
  531. loopx-1.0.4/loopx/capabilities/issue_fix/pr_gate_reconcile.py +0 -496
  532. loopx-1.0.4/loopx/capabilities/issue_fix/repository_context.py +0 -460
  533. loopx-1.0.4/loopx/capabilities/machine_configuration/builtins.py +0 -86
  534. loopx-1.0.4/loopx/capabilities/machine_configuration/cli.py +0 -239
  535. loopx-1.0.4/loopx/capabilities/manager_context/README.md +0 -176
  536. loopx-1.0.4/loopx/capabilities/manager_context/__init__.py +0 -393
  537. loopx-1.0.4/loopx/capabilities/manager_context/inspection.py +0 -274
  538. loopx-1.0.4/loopx/capabilities/manager_context/roundtrip.py +0 -303
  539. loopx-1.0.4/loopx/capabilities/manager_context/skills/loopx-manager/SKILL.md +0 -99
  540. loopx-1.0.4/loopx/capabilities/manager_context/ssh_evidence.py +0 -172
  541. loopx-1.0.4/loopx/capabilities/manager_context/tracking.py +0 -278
  542. loopx-1.0.4/loopx/capabilities/manager_runtime/machine_profile.py +0 -213
  543. loopx-1.0.4/loopx/capabilities/periodic_report/incremental.py +0 -522
  544. loopx-1.0.4/loopx/capabilities/periodic_report/post_writeback_hook.py +0 -591
  545. loopx-1.0.4/loopx/capabilities/periodic_report/project_progress_snapshot.py +0 -223
  546. loopx-1.0.4/loopx/capabilities/pr_review_queue/README.md +0 -784
  547. loopx-1.0.4/loopx/capabilities/pr_review_queue/catalog_entry.py +0 -163
  548. loopx-1.0.4/loopx/capabilities/pr_review_queue/github_source.py +0 -168
  549. loopx-1.0.4/loopx/capabilities/pr_review_queue/machine_defaults.py +0 -91
  550. loopx-1.0.4/loopx/capabilities/pr_review_queue/merge_readiness.py +0 -116
  551. loopx-1.0.4/loopx/capabilities/pr_review_queue/result_check.py +0 -230
  552. loopx-1.0.4/loopx/capabilities/pr_review_queue/review_contract.py +0 -1057
  553. loopx-1.0.4/loopx/capabilities/pr_review_queue/selection_execution.py +0 -106
  554. loopx-1.0.4/loopx/capabilities/project_skill_delivery/__init__.py +0 -31
  555. loopx-1.0.4/loopx/capabilities/project_skill_delivery/core.py +0 -481
  556. loopx-1.0.4/loopx/capabilities/reliability_diagnostics/README.md +0 -217
  557. loopx-1.0.4/loopx/capabilities/reliability_diagnostics/README.zh-CN.md +0 -185
  558. loopx-1.0.4/loopx/capabilities/repository_change_window/README.md +0 -250
  559. loopx-1.0.4/loopx/capabilities/repository_change_window/git_hook.py +0 -1168
  560. loopx-1.0.4/loopx/capabilities/repository_change_window/repository.py +0 -268
  561. loopx-1.0.4/loopx/capabilities/reward_memory/codex_app_outcome.py +0 -508
  562. loopx-1.0.4/loopx/capabilities/semantic_preference/contract.py +0 -592
  563. loopx-1.0.4/loopx/chat.py +0 -531
  564. loopx-1.0.4/loopx/chat_acp.py +0 -481
  565. loopx-1.0.4/loopx/chat_action_normalization.py +0 -626
  566. loopx-1.0.4/loopx/chat_action_store.py +0 -1033
  567. loopx-1.0.4/loopx/chat_actions.py +0 -1375
  568. loopx-1.0.4/loopx/chat_agent.py +0 -1005
  569. loopx-1.0.4/loopx/chat_configuration_api.py +0 -39
  570. loopx-1.0.4/loopx/chat_goal_configuration_api.py +0 -687
  571. loopx-1.0.4/loopx/chat_goal_subagent_api.py +0 -236
  572. loopx-1.0.4/loopx/chat_lark_api.py +0 -639
  573. loopx-1.0.4/loopx/chat_manager.py +0 -164
  574. loopx-1.0.4/loopx/chat_manager_context.py +0 -173
  575. loopx-1.0.4/loopx/chat_manager_history.py +0 -193
  576. loopx-1.0.4/loopx/chat_monitor_actions.py +0 -220
  577. loopx-1.0.4/loopx/chat_providers.py +0 -420
  578. loopx-1.0.4/loopx/chat_runtime.py +0 -1498
  579. loopx-1.0.4/loopx/chat_server.py +0 -1513
  580. loopx-1.0.4/loopx/chat_status_api.py +0 -157
  581. loopx-1.0.4/loopx/chat_store.py +0 -1496
  582. loopx-1.0.4/loopx/chat_todo_actions.py +0 -82
  583. loopx-1.0.4/loopx/claude_goal_mode/hooks/goal_policy.py +0 -212
  584. loopx-1.0.4/loopx/claude_goal_mode/hooks/goal_state.py +0 -109
  585. loopx-1.0.4/loopx/claude_goal_mode/scripts/goalmode_cmd.py +0 -276
  586. loopx-1.0.4/loopx/claude_goal_mode/scripts/install.py +0 -328
  587. loopx-1.0.4/loopx/claude_goal_mode/statusline/goal_status.py +0 -97
  588. loopx-1.0.4/loopx/cli.py +0 -954
  589. loopx-1.0.4/loopx/cli_commands/agent_context.py +0 -66
  590. loopx-1.0.4/loopx/cli_commands/bootstrap_connect.py +0 -263
  591. loopx-1.0.4/loopx/cli_commands/canary.py +0 -707
  592. loopx-1.0.4/loopx/cli_commands/dash.py +0 -282
  593. loopx-1.0.4/loopx/cli_commands/doctor.py +0 -56
  594. loopx-1.0.4/loopx/cli_commands/goal_channel.py +0 -841
  595. loopx-1.0.4/loopx/cli_commands/manager_inbox.py +0 -133
  596. loopx-1.0.4/loopx/cli_commands/opencode2_goal_worker.py +0 -217
  597. loopx-1.0.4/loopx/cli_commands/pr_review.py +0 -470
  598. loopx-1.0.4/loopx/cli_commands/project_lifecycle.py +0 -972
  599. loopx-1.0.4/loopx/cli_commands/quota.py +0 -923
  600. loopx-1.0.4/loopx/cli_commands/quota_context.py +0 -361
  601. loopx-1.0.4/loopx/cli_commands/quota_failure_report.py +0 -233
  602. loopx-1.0.4/loopx/cli_commands/quota_monitor_poll.py +0 -96
  603. loopx-1.0.4/loopx/cli_commands/quota_request.py +0 -158
  604. loopx-1.0.4/loopx/cli_commands/quota_scheduler_followup.py +0 -241
  605. loopx-1.0.4/loopx/cli_commands/registry_admin.py +0 -724
  606. loopx-1.0.4/loopx/cli_commands/registry_admin_configure.py +0 -407
  607. loopx-1.0.4/loopx/cli_commands/status.py +0 -891
  608. loopx-1.0.4/loopx/cli_commands/support_control.py +0 -898
  609. loopx-1.0.4/loopx/cli_commands/task_lease.py +0 -242
  610. loopx-1.0.4/loopx/cli_commands/todo.py +0 -679
  611. loopx-1.0.4/loopx/cli_commands/todo_argument_validation.py +0 -640
  612. loopx-1.0.4/loopx/cli_commands/todo_event.py +0 -182
  613. loopx-1.0.4/loopx/cli_commands/todo_registration.py +0 -489
  614. loopx-1.0.4/loopx/cli_commands/turn.py +0 -1114
  615. loopx-1.0.4/loopx/cli_commands/turn_dsh_host.py +0 -41
  616. loopx-1.0.4/loopx/cli_commands/turn_registration.py +0 -254
  617. loopx-1.0.4/loopx/cli_commands/turn_rendering.py +0 -162
  618. loopx-1.0.4/loopx/cli_commands/turn_selection.py +0 -42
  619. loopx-1.0.4/loopx/cli_runtime.py +0 -372
  620. loopx-1.0.4/loopx/codex_cli_runtime_probe.py +0 -733
  621. loopx-1.0.4/loopx/codex_cli_scheduler.py +0 -566
  622. loopx-1.0.4/loopx/configuration_catalog.py +0 -801
  623. loopx-1.0.4/loopx/configuration_transaction.py +0 -146
  624. loopx-1.0.4/loopx/configure_goal.py +0 -1461
  625. loopx-1.0.4/loopx/contract.py +0 -1062
  626. loopx-1.0.4/loopx/control_plane/agent_context.py +0 -47
  627. loopx-1.0.4/loopx/control_plane/agents/agent_scope_frontier.py +0 -60
  628. loopx-1.0.4/loopx/control_plane/agents/management_projection.py +0 -658
  629. loopx-1.0.4/loopx/control_plane/agents/workspace_guard.py +0 -407
  630. loopx-1.0.4/loopx/control_plane/capability_hooks.ts +0 -842
  631. loopx-1.0.4/loopx/control_plane/coordination/authority_state_log.ts +0 -248
  632. loopx-1.0.4/loopx/control_plane/coordination/coordination_projection.ts +0 -550
  633. loopx-1.0.4/loopx/control_plane/coordination/coordination_state_contract.generated.ts +0 -335
  634. loopx-1.0.4/loopx/control_plane/coordination/coordination_state_contract_generated.py +0 -291
  635. loopx-1.0.4/loopx/control_plane/coordination/coordination_state_contract_v0.json +0 -215
  636. loopx-1.0.4/loopx/control_plane/coordination/local_authority.py +0 -340
  637. loopx-1.0.4/loopx/control_plane/coordination/local_authority_runtime.ts +0 -1225
  638. loopx-1.0.4/loopx/control_plane/coordination/nokv_jsonl_helper.py +0 -610
  639. loopx-1.0.4/loopx/control_plane/coordination/sqlite_authority_migration.ts +0 -277
  640. loopx-1.0.4/loopx/control_plane/coordination/sqlite_authority_store.ts +0 -661
  641. loopx-1.0.4/loopx/control_plane/coordination/sqlite_runtime.ts +0 -49
  642. loopx-1.0.4/loopx/control_plane/coordination/task_lease_renew.ts +0 -123
  643. loopx-1.0.4/loopx/control_plane/coordination/todo_claim.ts +0 -705
  644. loopx-1.0.4/loopx/control_plane/coordination/todo_compatibility_edit.ts +0 -142
  645. loopx-1.0.4/loopx/control_plane/coordination/todo_create.ts +0 -244
  646. loopx-1.0.4/loopx/control_plane/coordination/todo_monitor_poll.ts +0 -174
  647. loopx-1.0.4/loopx/control_plane/coordination/todo_terminal_lifecycle.ts +0 -1001
  648. loopx-1.0.4/loopx/control_plane/coordination/todo_update.ts +0 -374
  649. loopx-1.0.4/loopx/control_plane/effect_program.py +0 -813
  650. loopx-1.0.4/loopx/control_plane/effect_program.ts +0 -896
  651. loopx-1.0.4/loopx/control_plane/effect_runtime.py +0 -751
  652. loopx-1.0.4/loopx/control_plane/effect_runtime_handlers.ts +0 -710
  653. loopx-1.0.4/loopx/control_plane/effect_runtime_server.ts +0 -202
  654. loopx-1.0.4/loopx/control_plane/goals/acceptance_observation.py +0 -227
  655. loopx-1.0.4/loopx/control_plane/goals/active_state_metadata.py +0 -47
  656. loopx-1.0.4/loopx/control_plane/goals/configure_goal_service.py +0 -465
  657. loopx-1.0.4/loopx/control_plane/goals/goal_frontier/__init__.py +0 -1829
  658. loopx-1.0.4/loopx/control_plane/goals/goal_frontier/ack_policy.py +0 -194
  659. loopx-1.0.4/loopx/control_plane/goals/goal_frontier/long_todo_chain.py +0 -129
  660. loopx-1.0.4/loopx/control_plane/goals/goal_frontier/outcome_continuity.py +0 -448
  661. loopx-1.0.4/loopx/control_plane/goals/ssh_lifecycle_transport.py +0 -117
  662. loopx-1.0.4/loopx/control_plane/goals/start_contract.py +0 -211
  663. loopx-1.0.4/loopx/control_plane/goals/start_goal_todo_delta.py +0 -226
  664. loopx-1.0.4/loopx/control_plane/goals/vision_checkpoint.ts +0 -819
  665. loopx-1.0.4/loopx/control_plane/heartbeat/installed_prompt_update.py +0 -208
  666. loopx-1.0.4/loopx/control_plane/heartbeat/rules.py +0 -97
  667. loopx-1.0.4/loopx/control_plane/presentation/action_review_plan.ts +0 -237
  668. loopx-1.0.4/loopx/control_plane/projects/registry.py +0 -656
  669. loopx-1.0.4/loopx/control_plane/quota/cli_projection.py +0 -759
  670. loopx-1.0.4/loopx/control_plane/quota/decision_summary.py +0 -444
  671. loopx-1.0.4/loopx/control_plane/quota/error_codes.py +0 -79
  672. loopx-1.0.4/loopx/control_plane/quota/heartbeat_receipt.py +0 -480
  673. loopx-1.0.4/loopx/control_plane/quota/host_poll_receipts.py +0 -162
  674. loopx-1.0.4/loopx/control_plane/quota/live_decision.py +0 -547
  675. loopx-1.0.4/loopx/control_plane/quota/monitor_poll.py +0 -888
  676. loopx-1.0.4/loopx/control_plane/quota/monitor_poll_commit.ts +0 -2108
  677. loopx-1.0.4/loopx/control_plane/quota/projection_repair.py +0 -264
  678. loopx-1.0.4/loopx/control_plane/quota/settlement_cli.py +0 -396
  679. loopx-1.0.4/loopx/control_plane/quota/settlement_phase.ts +0 -73
  680. loopx-1.0.4/loopx/control_plane/quota/settlement_precedence.py +0 -179
  681. loopx-1.0.4/loopx/control_plane/quota/settlement_readback.ts +0 -813
  682. loopx-1.0.4/loopx/control_plane/quota/should_run.py +0 -372
  683. loopx-1.0.4/loopx/control_plane/quota/should_run_packet.py +0 -1500
  684. loopx-1.0.4/loopx/control_plane/quota/should_run_prepare.py +0 -857
  685. loopx-1.0.4/loopx/control_plane/quota/slot_accounting.py +0 -912
  686. loopx-1.0.4/loopx/control_plane/quota/spend_commit.ts +0 -885
  687. loopx-1.0.4/loopx/control_plane/quota/stall_repair.py +0 -397
  688. loopx-1.0.4/loopx/control_plane/quota/task_orchestration.py +0 -448
  689. loopx-1.0.4/loopx/control_plane/quota/turn_envelope.ts +0 -808
  690. loopx-1.0.4/loopx/control_plane/quota/turn_envelope_budget.ts +0 -76
  691. loopx-1.0.4/loopx/control_plane/quota/unsettled_host_turn.py +0 -295
  692. loopx-1.0.4/loopx/control_plane/quota/usage_summary.py +0 -249
  693. loopx-1.0.4/loopx/control_plane/runtime/public_safety.py +0 -212
  694. loopx-1.0.4/loopx/control_plane/runtime/run_context_retention.py +0 -272
  695. loopx-1.0.4/loopx/control_plane/runtime/runtime_projection_route.py +0 -706
  696. loopx-1.0.4/loopx/control_plane/runtime/session_runtime.py +0 -344
  697. loopx-1.0.4/loopx/control_plane/runtime/status_projection_cache.py +0 -235
  698. loopx-1.0.4/loopx/control_plane/runtime/validation_command.py +0 -69
  699. loopx-1.0.4/loopx/control_plane/scheduler/automation_liveness.py +0 -208
  700. loopx-1.0.4/loopx/control_plane/scheduler/external_evidence_observation.py +0 -428
  701. loopx-1.0.4/loopx/control_plane/scheduler/heartbeat_followup.ts +0 -474
  702. loopx-1.0.4/loopx/control_plane/scheduler/monitor_poll_writeback.py +0 -268
  703. loopx-1.0.4/loopx/control_plane/scheduler/provider_monitor_poll.py +0 -57
  704. loopx-1.0.4/loopx/control_plane/status/agent_lane_projection.py +0 -375
  705. loopx-1.0.4/loopx/control_plane/status/collection.py +0 -246
  706. loopx-1.0.4/loopx/control_plane/status/runtime_summaries.py +0 -154
  707. loopx-1.0.4/loopx/control_plane/status/ssh_tunnel.py +0 -140
  708. loopx-1.0.4/loopx/control_plane/subagent_context.ts +0 -60
  709. loopx-1.0.4/loopx/control_plane/testing/action_portfolio_scenarios.py +0 -380
  710. loopx-1.0.4/loopx/control_plane/testing/actual_default_model_behavior_portfolio.py +0 -1498
  711. loopx-1.0.4/loopx/control_plane/testing/authority_e2e_fixtures.py +0 -634
  712. loopx-1.0.4/loopx/control_plane/testing/authority_e2e_ladder.py +0 -1254
  713. loopx-1.0.4/loopx/control_plane/testing/authority_e2e_rows_stage2c.py +0 -500
  714. loopx-1.0.4/loopx/control_plane/testing/authority_e2e_rows_stage2c2.py +0 -1243
  715. loopx-1.0.4/loopx/control_plane/testing/canary_harness.py +0 -182
  716. loopx-1.0.4/loopx/control_plane/testing/capability_monitor_repair_tool_behavior.py +0 -674
  717. loopx-1.0.4/loopx/control_plane/testing/cli_output_differential.py +0 -732
  718. loopx-1.0.4/loopx/control_plane/testing/cli_output_semantics.py +0 -165
  719. loopx-1.0.4/loopx/control_plane/testing/host_prompt_behavior.py +0 -105
  720. loopx-1.0.4/loopx/control_plane/testing/model_tool_behavior.py +0 -547
  721. loopx-1.0.4/loopx/control_plane/testing/quota_fixtures.py +0 -208
  722. loopx-1.0.4/loopx/control_plane/testing/release_commit_qualification.py +0 -592
  723. loopx-1.0.4/loopx/control_plane/testing/replan_semantic_action_behavior.py +0 -1302
  724. loopx-1.0.4/loopx/control_plane/testing/scoped_gate_successor_tool_behavior.py +0 -532
  725. loopx-1.0.4/loopx/control_plane/testing/selected_todo_tool_behavior.py +0 -1178
  726. loopx-1.0.4/loopx/control_plane/testing/terminal_settlement_tool_behavior.py +0 -1182
  727. loopx-1.0.4/loopx/control_plane/testing/turn_journal_characterization.py +0 -283
  728. loopx-1.0.4/loopx/control_plane/todos/active_state_todos.py +0 -196
  729. loopx-1.0.4/loopx/control_plane/todos/completion_validation.py +0 -729
  730. loopx-1.0.4/loopx/control_plane/todos/decision_scope.py +0 -377
  731. loopx-1.0.4/loopx/control_plane/todos/frontier_revision.py +0 -130
  732. loopx-1.0.4/loopx/control_plane/todos/frontier_revision.ts +0 -169
  733. loopx-1.0.4/loopx/control_plane/todos/list_projection.py +0 -536
  734. loopx-1.0.4/loopx/control_plane/todos/mutation_authority.py +0 -415
  735. loopx-1.0.4/loopx/control_plane/todos/native_update_plan.ts +0 -83
  736. loopx-1.0.4/loopx/control_plane/todos/provider_create.py +0 -166
  737. loopx-1.0.4/loopx/control_plane/todos/provider_terminal_lifecycle.py +0 -610
  738. loopx-1.0.4/loopx/control_plane/todos/provider_update.py +0 -102
  739. loopx-1.0.4/loopx/control_plane/todos/quota_selection.py +0 -82
  740. loopx-1.0.4/loopx/control_plane/todos/quota_selection.ts +0 -186
  741. loopx-1.0.4/loopx/control_plane/todos/quota_summary.py +0 -1021
  742. loopx-1.0.4/loopx/control_plane/todos/summary_item.py +0 -280
  743. loopx-1.0.4/loopx/control_plane/todos/todo_index.py +0 -226
  744. loopx-1.0.4/loopx/control_plane/todos/todo_semantics.py +0 -906
  745. loopx-1.0.4/loopx/control_plane/todos/todo_summary.py +0 -1360
  746. loopx-1.0.4/loopx/control_plane/todos/update_intent.py +0 -112
  747. loopx-1.0.4/loopx/control_plane/todos/user_gate.py +0 -265
  748. loopx-1.0.4/loopx/control_plane/todos/work_requirements.ts +0 -106
  749. loopx-1.0.4/loopx/control_plane/turn_driver/__init__.py +0 -91
  750. loopx-1.0.4/loopx/control_plane/turn_driver/codex_cli.py +0 -863
  751. loopx-1.0.4/loopx/control_plane/turn_driver/command_validation.py +0 -168
  752. loopx-1.0.4/loopx/control_plane/turn_driver/driver.py +0 -507
  753. loopx-1.0.4/loopx/control_plane/turn_driver/executor.py +0 -1482
  754. loopx-1.0.4/loopx/control_plane/turn_driver/host_failure.py +0 -146
  755. loopx-1.0.4/loopx/control_plane/turn_driver/host_todo_completion.ts +0 -982
  756. loopx-1.0.4/loopx/control_plane/turn_driver/loop_controller.py +0 -765
  757. loopx-1.0.4/loopx/control_plane/turn_driver/settlement.ts +0 -917
  758. loopx-1.0.4/loopx/control_plane/turn_driver/transaction.py +0 -378
  759. loopx-1.0.4/loopx/control_plane/turn_driver/turn_journal.ts +0 -705
  760. loopx-1.0.4/loopx/control_plane/work_items/action_portfolio.ts +0 -406
  761. loopx-1.0.4/loopx/control_plane/work_items/action_selection_contract.py +0 -155
  762. loopx-1.0.4/loopx/control_plane/work_items/autonomous_replan_ack.py +0 -297
  763. loopx-1.0.4/loopx/control_plane/work_items/autonomous_replan_obligation.py +0 -957
  764. loopx-1.0.4/loopx/control_plane/work_items/canonical_task_lease_renew.ts +0 -60
  765. loopx-1.0.4/loopx/control_plane/work_items/goal_route_hint.py +0 -320
  766. loopx-1.0.4/loopx/control_plane/work_items/governed_transition_proposal.py +0 -330
  767. loopx-1.0.4/loopx/control_plane/work_items/interaction_contract.py +0 -1543
  768. loopx-1.0.4/loopx/control_plane/work_items/progress_observation.py +0 -717
  769. loopx-1.0.4/loopx/control_plane/work_items/semantic_replan_writeback.py +0 -501
  770. loopx-1.0.4/loopx/control_plane/work_items/task_lease.py +0 -982
  771. loopx-1.0.4/loopx/control_plane/work_items/task_lease_acquire.ts +0 -1424
  772. loopx-1.0.4/loopx/control_plane/work_items/task_lease_acquire_adapter.py +0 -784
  773. loopx-1.0.4/loopx/control_plane/work_items/task_lease_lifecycle.ts +0 -2775
  774. loopx-1.0.4/loopx/control_plane/work_items/task_lease_lifecycle_decision.ts +0 -295
  775. loopx-1.0.4/loopx/control_plane/work_items/task_lease_operation_identity.ts +0 -44
  776. loopx-1.0.4/loopx/control_plane/work_items/unsettled_host_turn_contract.py +0 -67
  777. loopx-1.0.4/loopx/control_plane/work_items/work_lane.py +0 -762
  778. loopx-1.0.4/loopx/dashboard_launcher.py +0 -293
  779. loopx-1.0.4/loopx/demo.py +0 -247
  780. loopx-1.0.4/loopx/desktop_installation.py +0 -86
  781. loopx-1.0.4/loopx/doctor.py +0 -1311
  782. loopx-1.0.4/loopx/dsh_goal_mode/README.md +0 -116
  783. loopx-1.0.4/loopx/dsh_goal_mode/__init__.py +0 -55
  784. loopx-1.0.4/loopx/dsh_goal_mode/turn_host_adapter.py +0 -748
  785. loopx-1.0.4/loopx/event_sourced_state.py +0 -1048
  786. loopx-1.0.4/loopx/experiments/planner_worker/traex.py +0 -461
  787. loopx-1.0.4/loopx/extensions/lark/README.md +0 -469
  788. loopx-1.0.4/loopx/extensions/lark/app_setup.py +0 -185
  789. loopx-1.0.4/loopx/extensions/lark/document_comment_provider.py +0 -1193
  790. loopx-1.0.4/loopx/extensions/lark/event_collector_runtime.py +0 -1147
  791. loopx-1.0.4/loopx/extensions/lark/event_inbox.py +0 -957
  792. loopx-1.0.4/loopx/extensions/lark/goal_channel_message_delivery.py +0 -548
  793. loopx-1.0.4/loopx/extensions/lark/goal_channel_operation.py +0 -1384
  794. loopx-1.0.4/loopx/extensions/lark/goal_channel_transport.py +0 -519
  795. loopx-1.0.4/loopx/extensions/lark/goal_topic_batch.py +0 -257
  796. loopx-1.0.4/loopx/extensions/lark/goal_topic_connections.py +0 -1457
  797. loopx-1.0.4/loopx/extensions/lark/goal_topic_edit.py +0 -289
  798. loopx-1.0.4/loopx/extensions/lark/goal_topic_runtime.py +0 -1500
  799. loopx-1.0.4/loopx/extensions/lark/inbox_reactions.py +0 -1030
  800. loopx-1.0.4/loopx/extensions/lark/inbox_reply.py +0 -704
  801. loopx-1.0.4/loopx/extensions/lark/manager_context.py +0 -426
  802. loopx-1.0.4/loopx/extensions/lark/manager_returns.py +0 -115
  803. loopx-1.0.4/loopx/extensions/lark/manager_routing.py +0 -231
  804. loopx-1.0.4/loopx/extensions/lark/miaoda_report.py +0 -534
  805. loopx-1.0.4/loopx/extensions/lark/presentation/kanban.py +0 -2791
  806. loopx-1.0.4/loopx/extensions/lark/presentation/projection_rows.py +0 -600
  807. loopx-1.0.4/loopx/extensions/openviking_semantic_preference/provider.py +0 -312
  808. loopx-1.0.4/loopx/extensions/process_runtime.py +0 -204
  809. loopx-1.0.4/loopx/goal_mode_mcp.py +0 -368
  810. loopx-1.0.4/loopx/help_surface.py +0 -594
  811. loopx-1.0.4/loopx/history.py +0 -787
  812. loopx-1.0.4/loopx/host_mode_planner.py +0 -992
  813. loopx-1.0.4/loopx/install_contract.py +0 -14
  814. loopx-1.0.4/loopx/kunluncode_goal_mode/app_server.py +0 -484
  815. loopx-1.0.4/loopx/kunluncode_goal_mode/cli.py +0 -741
  816. loopx-1.0.4/loopx/kunluncode_goal_mode/control_plane.py +0 -231
  817. loopx-1.0.4/loopx/onboarding.py +0 -214
  818. loopx-1.0.4/loopx/orchestration.py +0 -249
  819. loopx-1.0.4/loopx/pr_review.py +0 -1473
  820. loopx-1.0.4/loopx/pr_review_merge_readiness.py +0 -150
  821. loopx-1.0.4/loopx/presentation/renderers/goal_acceptance_observation_markdown.py +0 -29
  822. loopx-1.0.4/loopx/presentation/renderers/quota_markdown.py +0 -1116
  823. loopx-1.0.4/loopx/presentation/renderers/status_markdown.py +0 -1548
  824. loopx-1.0.4/loopx/project_alias.py +0 -217
  825. loopx-1.0.4/loopx/project_prompt.py +0 -1263
  826. loopx-1.0.4/loopx/promotion_gate.py +0 -197
  827. loopx-1.0.4/loopx/quota.py +0 -1512
  828. loopx-1.0.4/loopx/ready_score.py +0 -415
  829. loopx-1.0.4/loopx/release_candidate.py +0 -319
  830. loopx-1.0.4/loopx/release_manifest.py +0 -360
  831. loopx-1.0.4/loopx/repository_identity.py +0 -100
  832. loopx-1.0.4/loopx/rollout_event_log.py +0 -531
  833. loopx-1.0.4/loopx/self_update.py +0 -1480
  834. loopx-1.0.4/loopx/self_update_download.py +0 -108
  835. loopx-1.0.4/loopx/skill_install_readback.py +0 -753
  836. loopx-1.0.4/loopx/slash_command_install.py +0 -1492
  837. loopx-1.0.4/loopx/state_migration.py +0 -512
  838. loopx-1.0.4/loopx/state_projection.py +0 -830
  839. loopx-1.0.4/loopx/status.py +0 -1257
  840. loopx-1.0.4/loopx/status_server.py +0 -1199
  841. loopx-1.0.4/loopx/todo_followups.py +0 -203
  842. loopx-1.0.4/loopx/todo_suggestion_prompt.py +0 -204
  843. loopx-1.0.4/loopx/todos.py +0 -2029
  844. loopx-1.0.4/loopx/upgrade.py +0 -1147
  845. loopx-1.0.4/loopx/web/chat/assets/index-B7B_kVDP.css +0 -1
  846. loopx-1.0.4/loopx/web/chat/assets/index-Dh_dACKT.css +0 -1
  847. loopx-1.0.4/loopx/web/chat/assets/index-DscLlBrK.js +0 -129
  848. loopx-1.0.4/loopx/web/chat/assets/index-Mlk4kS9d.js +0 -129
  849. loopx-1.0.4/loopx/web/chat/index.html +0 -39
  850. loopx-1.0.4/loopx/windows_install.py +0 -383
  851. loopx-1.0.4/loopx/workflow_skill_install.py +0 -464
  852. loopx-1.0.4/loopx.egg-info/PKG-INFO +0 -807
  853. loopx-1.0.4/loopx.egg-info/SOURCES.txt +0 -1432
  854. loopx-1.0.4/loopx.egg-info/requires.txt +0 -15
  855. loopx-1.0.4/pyproject.toml +0 -161
  856. loopx-1.0.4/skills/loopx-pr-review/SKILL.md +0 -180
  857. loopx-1.0.4/skills/loopx-project/SKILL.md +0 -1081
  858. loopx-1.0.4/skills/loopx-self-repair/references/repair-patterns.md +0 -262
  859. loopx-1.0.4/tests/test_archive_installer_commit_response.py +0 -132
  860. loopx-1.0.4/tests/test_ark_managed_agent_host.py +0 -508
  861. loopx-1.0.4/tests/test_chat_event_cursor.py +0 -31
  862. loopx-1.0.4/tests/test_chat_machine_configuration_api.py +0 -757
  863. loopx-1.0.4/tests/test_chat_manager_context.py +0 -572
  864. loopx-1.0.4/tests/test_chat_manager_inspection.py +0 -320
  865. loopx-1.0.4/tests/test_chat_server_cors.py +0 -418
  866. loopx-1.0.4/tests/test_chat_session_active_turn.py +0 -1325
  867. loopx-1.0.4/tests/test_cli_argument_diagnostics.py +0 -1159
  868. loopx-1.0.4/tests/test_contract_scan_unreadable_files.py +0 -82
  869. loopx-1.0.4/tests/test_desktop_installation.py +0 -47
  870. loopx-1.0.4/tests/test_doctor_install_freshness.py +0 -526
  871. loopx-1.0.4/tests/test_dsh_goal_mode.py +0 -732
  872. loopx-1.0.4/tests/test_external_scheduler_worker.py +0 -241
  873. loopx-1.0.4/tests/test_kunluncode_goal_mode.py +0 -1599
  874. loopx-1.0.4/tests/test_loop_turn_loop_controller.py +0 -1066
  875. loopx-1.0.4/tests/test_loopx_turn_codex_cli.py +0 -824
  876. loopx-1.0.4/tests/test_loopx_turn_driver.py +0 -3237
  877. loopx-1.0.4/tests/test_loopx_turn_executor.py +0 -2503
  878. loopx-1.0.4/tests/test_loopx_turn_host_failure.py +0 -72
  879. loopx-1.0.4/tests/test_loopx_turn_journal_inspection.py +0 -575
  880. loopx-1.0.4/tests/test_manager_context_handoff.py +0 -350
  881. loopx-1.0.4/tests/test_manager_context_roundtrip.py +0 -357
  882. loopx-1.0.4/tests/test_manager_ssh_evidence.py +0 -280
  883. loopx-1.0.4/tests/test_nokv_jsonl_helper.py +0 -590
  884. loopx-1.0.4/tests/test_pr_review_github_scan.py +0 -1570
  885. loopx-1.0.4/tests/test_project_skill_cli.py +0 -97
  886. loopx-1.0.4/tests/test_self_update_runtime_activation.py +0 -571
  887. loopx-1.0.4/tests/test_skill_discovery_reconciliation.py +0 -173
  888. loopx-1.0.4/tests/test_slash_command_install.py +0 -1002
  889. loopx-1.0.4/tests/test_windows_install.py +0 -353
  890. loopx-1.0.4/tests/test_workflow_skill_install.py +0 -450
  891. {loopx-1.0.4 → loopx-1.1.0}/LICENSE +0 -0
  892. {loopx-1.0.4 → loopx-1.1.0}/LICENSE-MIT +0 -0
  893. {loopx-1.0.4 → loopx-1.1.0}/NOTICE +0 -0
  894. {loopx-1.0.4 → loopx-1.1.0}/loopx/agent_onboarding.py +0 -0
  895. {loopx-1.0.4 → loopx-1.1.0}/loopx/agent_registry.py +0 -0
  896. {loopx-1.0.4 → loopx-1.1.0}/loopx/agy_goal_mode/README.md +0 -0
  897. {loopx-1.0.4 → loopx-1.1.0}/loopx/agy_goal_mode/__init__.py +0 -0
  898. {loopx-1.0.4 → loopx-1.1.0}/loopx/ark_managed_agent_host.py +0 -0
  899. {loopx-1.0.4 → loopx-1.1.0}/loopx/attached_session.py +0 -0
  900. {loopx-1.0.4 → loopx-1.1.0}/loopx/attached_session_api.py +0 -0
  901. {loopx-1.0.4 → loopx-1.1.0}/loopx/authority.py +0 -0
  902. {loopx-1.0.4 → loopx-1.1.0}/loopx/boundary_authority.py +0 -0
  903. {loopx-1.0.4 → loopx-1.1.0}/loopx/canary/__init__.py +0 -0
  904. {loopx-1.0.4 → loopx-1.1.0}/loopx/canary/package_profiles.py +0 -0
  905. {loopx-1.0.4 → loopx-1.1.0}/loopx/canary/qualification_profiles.py +0 -0
  906. {loopx-1.0.4 → loopx-1.1.0}/loopx/canary/release_profiles.py +0 -0
  907. {loopx-1.0.4 → loopx-1.1.0}/loopx/canary/smoke_health.py +0 -0
  908. {loopx-1.0.4 → loopx-1.1.0}/loopx/canary/smoke_profiles.py +0 -0
  909. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/README.md +0 -0
  910. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/__init__.py +0 -0
  911. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/agent_turn_recall/README.md +0 -0
  912. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/agent_turn_recall/__init__.py +0 -0
  913. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/agent_turn_recall/catalog_entry.py +0 -0
  914. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/agent_turn_recall/cli.py +0 -0
  915. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/agent_turn_recall/core.py +0 -0
  916. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/agent_turn_recall/runtime.py +0 -0
  917. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/benchmark_toolkit/__init__.py +0 -0
  918. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/benchmark_toolkit/adaptive_concurrency.py +0 -0
  919. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/benchmark_toolkit/artifacts.py +0 -0
  920. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/benchmark_toolkit/behavior_finding.py +0 -0
  921. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/benchmark_toolkit/catalog_entry.py +0 -0
  922. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/benchmark_toolkit/concurrency_envelope.py +0 -0
  923. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/benchmark_toolkit/continuation.py +0 -0
  924. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/benchmark_toolkit/environment_access.py +0 -0
  925. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/benchmark_toolkit/experiment_board.py +0 -0
  926. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/benchmark_toolkit/factorial_contrast.py +0 -0
  927. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/benchmark_toolkit/four_arm_contract.py +0 -0
  928. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/benchmark_toolkit/integrity.py +0 -0
  929. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/benchmark_toolkit/native_codex_isolation.py +0 -0
  930. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/benchmark_toolkit/provider_gateway.py +0 -0
  931. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/benchmark_toolkit/public_trajectory.py +0 -0
  932. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/benchmark_toolkit/reward_contract.py +0 -0
  933. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/benchmark_toolkit/run_permissions.py +0 -0
  934. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/benchmark_toolkit/runtime_continuity.py +0 -0
  935. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/benchmark_toolkit/runtime_observation.py +0 -0
  936. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/benchmark_toolkit/study_projection.py +0 -0
  937. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/benchmark_toolkit/traex_evidence.py +0 -0
  938. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/benchmark_toolkit/treatment_continuation.py +0 -0
  939. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/catalog.py +0 -0
  940. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/change_quality/README.md +0 -0
  941. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/change_quality/__init__.py +0 -0
  942. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/change_quality/catalog_entry.py +0 -0
  943. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/change_quality/cli.py +0 -0
  944. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/change_quality/context.py +0 -0
  945. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/change_quality/goal_configuration.py +0 -0
  946. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/change_quality/machine_defaults.py +0 -0
  947. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/change_quality/oracles.py +0 -0
  948. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/change_quality/policy.py +0 -0
  949. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/change_quality/receipt.py +0 -0
  950. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/change_quality/result.py +0 -0
  951. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/change_quality/shadow.py +0 -0
  952. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/connector_registry/README.md +0 -0
  953. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/connector_registry/__init__.py +0 -0
  954. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/connector_registry/catalog_entry.py +0 -0
  955. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/connector_registry/cli.py +0 -0
  956. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/connector_registry/core.py +0 -0
  957. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/content_ops/README.md +0 -0
  958. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/content_ops/__init__.py +0 -0
  959. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/content_ops/catalog_entry.py +0 -0
  960. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/content_ops/cli.py +0 -0
  961. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/content_ops/connector_packets.py +0 -0
  962. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/content_ops/experiences/x-composer-preflight-v1.json +0 -0
  963. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/content_ops/item_lifecycle.py +0 -0
  964. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/content_ops/layout.py +0 -0
  965. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/content_ops/markdown.py +0 -0
  966. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/content_ops/schemas.py +0 -0
  967. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/content_ops/social_browser_x.py +0 -0
  968. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/content_ops/surface.py +0 -0
  969. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/content_ops/templates/layout-catalog-v0.json +0 -0
  970. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/context_providers/__init__.py +0 -0
  971. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/context_providers/base.py +0 -0
  972. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/context_providers/factory.py +0 -0
  973. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/context_providers/openviking.py +0 -0
  974. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/context_providers/service_ownership.py +0 -0
  975. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/decision_context/README.md +0 -0
  976. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/decision_context/README.zh-CN.md +0 -0
  977. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/decision_context/__init__.py +0 -0
  978. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/decision_context/architecture.py +0 -0
  979. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/decision_context/assembler.py +0 -0
  980. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/decision_context/capture.py +0 -0
  981. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/decision_context/catalog_entry.py +0 -0
  982. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/decision_context/cli.py +0 -0
  983. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/decision_context/cursor_commit.py +0 -0
  984. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/decision_context/outcome_feedback.py +0 -0
  985. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/decision_context/private_state.py +0 -0
  986. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/decision_context/profile.py +0 -0
  987. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/decision_context/providers.py +0 -0
  988. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/decision_context/review_settlement.py +0 -0
  989. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/decision_context/runtime.py +0 -0
  990. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/decision_context/sources.py +0 -0
  991. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/deep_research/README.md +0 -0
  992. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/deep_research/__init__.py +0 -0
  993. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/deep_research/catalog_entry.py +0 -0
  994. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/deep_research/runtime.py +0 -0
  995. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/documentation.py +0 -0
  996. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/explore/README.md +0 -0
  997. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/explore/README.zh-CN.md +0 -0
  998. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/explore/__init__.py +0 -0
  999. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/explore/activation.py +0 -0
  1000. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/explore/adaptive_replay_planner.py +0 -0
  1001. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/explore/catalog_entry.py +0 -0
  1002. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/explore/child_replay_runtime.py +0 -0
  1003. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/explore/composition_frontier.py +0 -0
  1004. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/explore/counterfactual_runtime.py +0 -0
  1005. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/explore/episode_runtime.py +0 -0
  1006. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/explore/harness_checkpoint.py +0 -0
  1007. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/explore/harness_gate.py +0 -0
  1008. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/explore/harness_runtime.py +0 -0
  1009. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/explore/replay_metrics.py +0 -0
  1010. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/explore/replay_runtime.py +0 -0
  1011. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/explore/resource_portfolio.py +0 -0
  1012. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/explore/result_log.py +0 -0
  1013. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/explore/router_state.py +0 -0
  1014. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/explore/source_history_reconcile.py +0 -0
  1015. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/explore/speculative_scheduler.py +0 -0
  1016. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/explore/todo_branch_plan.py +0 -0
  1017. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/explore/todo_evidence.py +0 -0
  1018. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/explore/trace_runtime.py +0 -0
  1019. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/explore/worker_branch_plan.py +0 -0
  1020. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/integration_branch/README.md +0 -0
  1021. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/integration_branch/__init__.py +0 -0
  1022. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/integration_branch/catalog_entry.py +0 -0
  1023. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/integration_branch/cli.py +0 -0
  1024. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/README.md +0 -0
  1025. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/README.zh-CN.md +0 -0
  1026. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/__init__.py +0 -0
  1027. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/acceptance_loop.py +0 -0
  1028. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/candidate_evidence.py +0 -0
  1029. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/candidate_preflight.py +0 -0
  1030. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/catalog_entry.py +0 -0
  1031. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/cli.py +0 -0
  1032. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/cli_input.py +0 -0
  1033. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/content_ops_cli.py +0 -0
  1034. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/discovered_issue_promotion.py +0 -0
  1035. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/docs/openviking-pilot-handoff.md +0 -0
  1036. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/docs/protocols/issue-fix-acceptance-loop-v0.md +0 -0
  1037. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/docs/protocols/issue-fix-discovered-issue-promotion-v0.md +0 -0
  1038. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/docs/protocols/issue-fix-metrics-projection-v0.md +0 -0
  1039. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/docs/protocols/issue-fix-reviewer-notification-sinks-v0.md +0 -0
  1040. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/docs/protocols/issue-fix-reviewer-recommendation-v0.md +0 -0
  1041. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/docs/protocols/issue-fix-reviewer-request-v0.md +0 -0
  1042. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/docs/protocols/issue-fix-workflow-contract-v0.md +0 -0
  1043. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/docs/state-kernel-domain-state-case-study.zh-CN.md +0 -0
  1044. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/explore_projection.py +0 -0
  1045. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/feasibility.py +0 -0
  1046. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/github_public.py +0 -0
  1047. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/intake_surface.py +0 -0
  1048. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/metadata_preview.py +0 -0
  1049. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/metrics_projection.py +0 -0
  1050. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/metrics_supplement.py +0 -0
  1051. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/metrics_supplement_cli.py +0 -0
  1052. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/periodic_report.py +0 -0
  1053. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/pr_description.py +0 -0
  1054. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/pr_gate_reconcile_cli.py +0 -0
  1055. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/pr_lifecycle.py +0 -0
  1056. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/pr_lifecycle_rollout.py +0 -0
  1057. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/pr_monitor_materialization.py +0 -0
  1058. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/pr_review_ack.py +0 -0
  1059. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/provider_hooks.py +0 -0
  1060. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/repository_commit_evidence.py +0 -0
  1061. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/repository_memory.py +0 -0
  1062. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/repository_memory_provider.py +0 -0
  1063. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/repository_snapshot.py +0 -0
  1064. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/reviewer_cli.py +0 -0
  1065. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/reviewer_notification.py +0 -0
  1066. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/reviewer_notification_drain.py +0 -0
  1067. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/reviewer_recommendation.py +0 -0
  1068. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/reviewer_request.py +0 -0
  1069. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/reward_memory.py +0 -0
  1070. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/issue_fix/workflow_plan.py +0 -0
  1071. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/machine_configuration/__init__.py +0 -0
  1072. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/machine_configuration/contract.py +0 -0
  1073. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/machine_configuration/store.py +0 -0
  1074. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/manager_context/evidence_export.py +0 -0
  1075. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/manager_runtime/__init__.py +0 -0
  1076. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/material_lifecycle/README.md +0 -0
  1077. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/material_lifecycle/README.zh-CN.md +0 -0
  1078. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/material_lifecycle/__init__.py +0 -0
  1079. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/material_lifecycle/_validation.py +0 -0
  1080. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/material_lifecycle/apply.py +0 -0
  1081. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/material_lifecycle/architecture.py +0 -0
  1082. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/material_lifecycle/catalog_entry.py +0 -0
  1083. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/material_lifecycle/cli.py +0 -0
  1084. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/material_lifecycle/decision_planning.py +0 -0
  1085. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/material_lifecycle/explore_execution.py +0 -0
  1086. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/material_lifecycle/intake.py +0 -0
  1087. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/material_lifecycle/inventory.py +0 -0
  1088. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/material_lifecycle/lifecycle.py +0 -0
  1089. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/material_lifecycle/preparation.py +0 -0
  1090. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/material_lifecycle/project_skill.py +0 -0
  1091. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/material_lifecycle/ranking.py +0 -0
  1092. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/material_lifecycle/readable_projection.py +0 -0
  1093. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/material_lifecycle/rebuild.py +0 -0
  1094. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/material_lifecycle/settlement.py +0 -0
  1095. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/periodic_report/README.md +0 -0
  1096. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/periodic_report/__init__.py +0 -0
  1097. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/periodic_report/adapters.py +0 -0
  1098. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/periodic_report/archive.py +0 -0
  1099. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/periodic_report/audience.py +0 -0
  1100. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/periodic_report/bindings.py +0 -0
  1101. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/periodic_report/cadence.py +0 -0
  1102. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/periodic_report/cadence_journal.py +0 -0
  1103. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/periodic_report/cadence_runtime.py +0 -0
  1104. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/periodic_report/catalog_entry.py +0 -0
  1105. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/periodic_report/cli.py +0 -0
  1106. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/periodic_report/core.py +0 -0
  1107. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/periodic_report/extension_envelope.py +0 -0
  1108. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/periodic_report/goal_configuration.py +0 -0
  1109. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/periodic_report/machine_defaults.py +0 -0
  1110. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/periodic_report/machine_store.py +0 -0
  1111. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/periodic_report/pending_intent.py +0 -0
  1112. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/periodic_report/presets.py +0 -0
  1113. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/periodic_report/profile.py +0 -0
  1114. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/periodic_report/project_progress.py +0 -0
  1115. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/periodic_report/request_action.py +0 -0
  1116. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/periodic_report/runtime_producer.py +0 -0
  1117. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/periodic_report/stage_completion.py +0 -0
  1118. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/periodic_report/triggers.py +0 -0
  1119. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/periodic_report/workspace.py +0 -0
  1120. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/pr_review_queue/__init__.py +0 -0
  1121. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/pr_review_queue/check_attempts.py +0 -0
  1122. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/pr_review_queue/core.py +0 -0
  1123. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/pr_review_queue/scheduling.py +0 -0
  1124. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/project_skill_delivery/README.md +0 -0
  1125. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/project_skill_delivery/catalog_entry.py +0 -0
  1126. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/project_skill_delivery/cli.py +0 -0
  1127. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/public_safe_outbound/README.md +0 -0
  1128. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/public_safe_outbound/__init__.py +0 -0
  1129. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/public_safe_outbound/catalog_entry.py +0 -0
  1130. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/public_safe_outbound/scan_cli.py +0 -0
  1131. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/public_safe_outbound/scanner.py +0 -0
  1132. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/public_safe_outbound/tests/test_scanner.py +0 -0
  1133. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/registry.py +0 -0
  1134. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/reliability_diagnostics/__init__.py +0 -0
  1135. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/reliability_diagnostics/catalog_entry.py +0 -0
  1136. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/reliability_diagnostics/envelope.py +0 -0
  1137. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/reliability_diagnostics/fixture.py +0 -0
  1138. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/reliability_diagnostics/intake.py +0 -0
  1139. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/reliability_diagnostics/ledger.py +0 -0
  1140. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/reliability_diagnostics/projection.py +0 -0
  1141. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/reliability_diagnostics/receipt.py +0 -0
  1142. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/repository_change_window/__init__.py +0 -0
  1143. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/repository_change_window/catalog_entry.py +0 -0
  1144. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/repository_change_window/cli.py +0 -0
  1145. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/repository_change_window/interaction_hook.py +0 -0
  1146. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/repository_change_window/ledger.py +0 -0
  1147. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/repository_change_window/policy.py +0 -0
  1148. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/reward_memory/README.md +0 -0
  1149. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/reward_memory/README.zh-CN.md +0 -0
  1150. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/reward_memory/__init__.py +0 -0
  1151. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/reward_memory/application.py +0 -0
  1152. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/reward_memory/architecture.py +0 -0
  1153. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/reward_memory/candidate_review.py +0 -0
  1154. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/reward_memory/catalog_entry.py +0 -0
  1155. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/reward_memory/cli.py +0 -0
  1156. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/reward_memory/configuration.py +0 -0
  1157. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/reward_memory/dogfood.py +0 -0
  1158. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/reward_memory/evaluation.py +0 -0
  1159. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/reward_memory/evaluation_fixtures.py +0 -0
  1160. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/reward_memory/experiment.py +0 -0
  1161. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/reward_memory/feedback_hint.py +0 -0
  1162. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/reward_memory/health.py +0 -0
  1163. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/reward_memory/ingestion.py +0 -0
  1164. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/reward_memory/memory_utility.py +0 -0
  1165. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/reward_memory/outbound.py +0 -0
  1166. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/reward_memory/outcome_lifecycle.py +0 -0
  1167. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/reward_memory/registry.py +0 -0
  1168. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/reward_memory/runtime_hooks.py +0 -0
  1169. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/reward_memory/scoped_feedback.py +0 -0
  1170. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/semantic_preference/README.md +0 -0
  1171. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/semantic_preference/__init__.py +0 -0
  1172. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/semantic_preference/catalog_entry.py +0 -0
  1173. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/semantic_preference/cli.py +0 -0
  1174. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/semantic_preference/docs/openviking-project-peer.md +0 -0
  1175. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/semantic_preference/reward_memory.py +0 -0
  1176. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/todo_replan_cadence/__init__.py +0 -0
  1177. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/todo_replan_cadence/goal_configuration.py +0 -0
  1178. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/todo_replan_cadence/machine_defaults.py +0 -0
  1179. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/value_connectors/README.md +0 -0
  1180. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/value_connectors/__init__.py +0 -0
  1181. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/value_connectors/catalog_entry.py +0 -0
  1182. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/value_connectors/cli.py +0 -0
  1183. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/value_connectors/docs/agent-reach-ops-source-map.md +0 -0
  1184. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/value_connectors/docs/finance-market-snapshot-probe.md +0 -0
  1185. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/value_connectors/finance_extension_migration.py +0 -0
  1186. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/value_connectors/install_check.py +0 -0
  1187. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/value_connectors/planner.py +0 -0
  1188. {loopx-1.0.4 → loopx-1.1.0}/loopx/capabilities/value_connectors/source_map.py +0 -0
  1189. {loopx-1.0.4 → loopx-1.1.0}/loopx/chat_attachments.py +0 -0
  1190. {loopx-1.0.4 → loopx-1.1.0}/loopx/chat_completed_todos.py +0 -0
  1191. {loopx-1.0.4 → loopx-1.1.0}/loopx/chat_endpoints.py +0 -0
  1192. {loopx-1.0.4 → loopx-1.1.0}/loopx/chat_goal_lifecycle_actions.py +0 -0
  1193. {loopx-1.0.4 → loopx-1.1.0}/loopx/chat_machine_configuration_api.py +0 -0
  1194. {loopx-1.0.4 → loopx-1.1.0}/loopx/chat_manager_details.py +0 -0
  1195. {loopx-1.0.4 → loopx-1.1.0}/loopx/chat_ssh_source_api.py +0 -0
  1196. {loopx-1.0.4 → loopx-1.1.0}/loopx/chat_workspace_directory.py +0 -0
  1197. {loopx-1.0.4 → loopx-1.1.0}/loopx/claude_goal_mode/README.md +0 -0
  1198. {loopx-1.0.4 → loopx-1.1.0}/loopx/claude_goal_mode/__init__.py +0 -0
  1199. {loopx-1.0.4 → loopx-1.1.0}/loopx/claude_goal_mode/mcp/loopx_mcp.py +0 -0
  1200. {loopx-1.0.4 → loopx-1.1.0}/loopx/claude_goal_mode/scripts/connect.py +0 -0
  1201. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/__init__.py +0 -0
  1202. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/_host_thread.py +0 -0
  1203. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/agent_capabilities.py +0 -0
  1204. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/authority_shadow.py +0 -0
  1205. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/automation_prompts.py +0 -0
  1206. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/benchmark_boundary.py +0 -0
  1207. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/benchmark_concurrency.py +0 -0
  1208. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/benchmark_continuation.py +0 -0
  1209. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/benchmark_dispatch.py +0 -0
  1210. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/benchmark_experiment_board.py +0 -0
  1211. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/benchmark_study.py +0 -0
  1212. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/canary_release_qualification.py +0 -0
  1213. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/capability.py +0 -0
  1214. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/coordination_shadow.py +0 -0
  1215. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/deepresearch.py +0 -0
  1216. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/dreaming.py +0 -0
  1217. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/evidence_log.py +0 -0
  1218. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/explore.py +0 -0
  1219. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/explore_feishu_commands.py +0 -0
  1220. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/explore_planning_commands.py +0 -0
  1221. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/extension.py +0 -0
  1222. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/first_run_report.py +0 -0
  1223. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/goal_actions.py +0 -0
  1224. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/goal_amendment_proposal.py +0 -0
  1225. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/goal_channel_runtime.py +0 -0
  1226. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/goal_lifecycle.py +0 -0
  1227. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/handoff_mode.py +0 -0
  1228. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/history.py +0 -0
  1229. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/host_mode_plan.py +0 -0
  1230. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/lark_inbox.py +0 -0
  1231. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/lark_kanban.py +0 -0
  1232. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/ml_experiment.py +0 -0
  1233. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/post_writeback.py +0 -0
  1234. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/presentation.py +0 -0
  1235. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/preset.py +0 -0
  1236. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/project.py +0 -0
  1237. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/project_lifecycle_inputs.py +0 -0
  1238. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/project_lifecycle_sinks.py +0 -0
  1239. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/quota_host_poll.py +0 -0
  1240. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/quota_registration.py +0 -0
  1241. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/quota_reward_memory.py +0 -0
  1242. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/ready_score.py +0 -0
  1243. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/registry_admin_lifecycle.py +0 -0
  1244. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/registry_admin_peer.py +0 -0
  1245. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/registry_admin_thread_resolution.py +0 -0
  1246. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/registry_authority.py +0 -0
  1247. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/reliability_diagnostics.py +0 -0
  1248. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/review_batch.py +0 -0
  1249. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/shared_goal_alignment.py +0 -0
  1250. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/slash_commands.py +0 -0
  1251. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/start_goal.py +0 -0
  1252. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/starter.py +0 -0
  1253. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/starter_bootstrap.py +0 -0
  1254. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/starter_bootstrap_registration.py +0 -0
  1255. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/starter_runtime_idle.py +0 -0
  1256. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/starter_scheduler.py +0 -0
  1257. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/starter_session_runtime.py +0 -0
  1258. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/starter_visible_common.py +0 -0
  1259. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/starter_visible_driver.py +0 -0
  1260. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/starter_visible_pilot.py +0 -0
  1261. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/status_registration.py +0 -0
  1262. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/summary_all.py +0 -0
  1263. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/support_control_agent_runtime.py +0 -0
  1264. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/support_control_backup.py +0 -0
  1265. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/support_control_chat.py +0 -0
  1266. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/support_control_chat_endpoint.py +0 -0
  1267. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/support_control_heartbeat_registration.py +0 -0
  1268. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/support_control_registry.py +0 -0
  1269. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/support_control_supervisor.py +0 -0
  1270. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/todo_continuation.py +0 -0
  1271. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/turn_inspection.py +0 -0
  1272. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/turn_todo_writeback.py +0 -0
  1273. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/version.py +0 -0
  1274. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/worker_bridge.py +0 -0
  1275. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_commands/workflow_skills.py +0 -0
  1276. {loopx-1.0.4 → loopx-1.1.0}/loopx/cli_rollout.py +0 -0
  1277. {loopx-1.0.4 → loopx-1.1.0}/loopx/codex_cli_probe.py +0 -0
  1278. {loopx-1.0.4 → loopx-1.1.0}/loopx/codex_cli_probe_markdown.py +0 -0
  1279. {loopx-1.0.4 → loopx-1.1.0}/loopx/command_invocation.py +0 -0
  1280. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/__init__.py +0 -0
  1281. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/agent_context.ts +0 -0
  1282. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/agents/__init__.py +0 -0
  1283. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/agents/agent_lane_recommendation.py +0 -0
  1284. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/agents/agent_scope.py +0 -0
  1285. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/agents/capability_gate.py +0 -0
  1286. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/agents/capability_gate.ts +0 -0
  1287. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/agents/capability_memory.py +0 -0
  1288. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/agents/capability_memory.ts +0 -0
  1289. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/agents/delivery_workspace.py +0 -0
  1290. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/agents/delivery_workspace.ts +0 -0
  1291. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/agents/identity.py +0 -0
  1292. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/agents/legacy_migration.py +0 -0
  1293. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/agents/material_frontier.py +0 -0
  1294. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/agents/material_handoff.py +0 -0
  1295. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/agents/profile.py +0 -0
  1296. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/agents/runtime_model.py +0 -0
  1297. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/agents/subagent_activity.py +0 -0
  1298. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/agents/supervisor.py +0 -0
  1299. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/agents/supervisor_events.py +0 -0
  1300. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/agents/supervisor_inject.py +0 -0
  1301. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/agents/work_mode.py +0 -0
  1302. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/capability_hooks.py +0 -0
  1303. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/__init__.py +0 -0
  1304. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/authority_core.py +0 -0
  1305. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/authority_journal_scan.ts +0 -0
  1306. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/authority_store.ts +0 -0
  1307. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/authority_store_codec.ts +0 -0
  1308. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/authority_store_transactions.ts +0 -0
  1309. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/command_receipt.ts +0 -0
  1310. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/configuration.py +0 -0
  1311. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/continuation_note.ts +0 -0
  1312. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/coordination_state_contract.py +0 -0
  1313. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/coordination_state_contract.ts +0 -0
  1314. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/executor.py +0 -0
  1315. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/file_authority_store.ts +0 -0
  1316. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/file_provider.py +0 -0
  1317. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/goal_state_shadow.py +0 -0
  1318. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/handoff_mode_policy.ts +0 -0
  1319. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/handoff_mode_runtime.ts +0 -0
  1320. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/handoff_mode_transaction.ts +0 -0
  1321. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/head.py +0 -0
  1322. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/legacy_writer_fence.py +0 -0
  1323. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/legacy_writer_fence.ts +0 -0
  1324. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/legacy_writer_lock_paths.ts +0 -0
  1325. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/local_archive_attempt.ts +0 -0
  1326. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/local_authority_provider.ts +0 -0
  1327. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/local_authority_shadow.ts +0 -0
  1328. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/local_authority_shadow_adapter.py +0 -0
  1329. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/local_authority_shadow_identity.ts +0 -0
  1330. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/local_authority_shadow_observation.py +0 -0
  1331. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/local_authority_shadow_outbox.py +0 -0
  1332. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/local_authority_shadow_outbox.ts +0 -0
  1333. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/local_authority_shadow_projection.py +0 -0
  1334. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/local_authority_write.ts +0 -0
  1335. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/local_snapshot.py +0 -0
  1336. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/nokv_authority_store.ts +0 -0
  1337. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/nokv_jsonl_transport.ts +0 -0
  1338. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/ownership_observation.ts +0 -0
  1339. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/postgresql_authority_service.ts +0 -0
  1340. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/postgresql_authority_store.ts +0 -0
  1341. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/runtime_shadow.py +0 -0
  1342. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/runtime_shadow.ts +0 -0
  1343. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/runtime_shadow_writer_adapter.py +0 -0
  1344. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/shadow_management.py +0 -0
  1345. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/shadow_management.ts +0 -0
  1346. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/todo_agents.ts +0 -0
  1347. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/todo_archive.ts +0 -0
  1348. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/todo_archive_selection.ts +0 -0
  1349. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/todo_continuation.ts +0 -0
  1350. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/todo_lifecycle_decision.ts +0 -0
  1351. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/todo_presentation.ts +0 -0
  1352. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/coordination/todo_successor_derivation.ts +0 -0
  1353. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/effect_runtime_errors.ts +0 -0
  1354. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/effect_runtime_io.ts +0 -0
  1355. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/goals/__init__.py +0 -0
  1356. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/goals/activation.py +0 -0
  1357. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/goals/activation_service.py +0 -0
  1358. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/goals/active_state_event_projection.py +0 -0
  1359. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/goals/active_state_sections.py +0 -0
  1360. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/goals/botmux_runtime.py +0 -0
  1361. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/goals/contract_health.py +0 -0
  1362. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/goals/coordination_observation.py +0 -0
  1363. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/goals/deletion_service.py +0 -0
  1364. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/goals/dreaming.py +0 -0
  1365. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/goals/global_registry_health.py +0 -0
  1366. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/goals/global_registry_shadow.py +0 -0
  1367. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/goals/goal_amendment_proposal.py +0 -0
  1368. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/goals/goal_amendment_proposal.ts +0 -0
  1369. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/goals/goal_channel.py +0 -0
  1370. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/goals/goal_channel_projection.py +0 -0
  1371. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/goals/goal_frontier/fallback_disposition.py +0 -0
  1372. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/goals/goal_frontier/replan_rules.py +0 -0
  1373. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/goals/goal_frontier/semantic_history.py +0 -0
  1374. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/goals/goal_frontier/terminal.py +0 -0
  1375. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/goals/goal_vision.py +0 -0
  1376. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/goals/goal_vision_policy.py +0 -0
  1377. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/goals/goal_vision_read_model.py +0 -0
  1378. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/goals/goal_vision_state.py +0 -0
  1379. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/goals/goal_vision_wait.py +0 -0
  1380. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/goals/goal_vision_wait_projection.py +0 -0
  1381. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/goals/operator_actions.py +0 -0
  1382. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/goals/operator_actions.ts +0 -0
  1383. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/goals/path_resolution.py +0 -0
  1384. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/goals/shared_goal_alignment.py +0 -0
  1385. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/goals/shared_goal_alignment.ts +0 -0
  1386. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/goals/shared_goal_work.ts +0 -0
  1387. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/goals/shared_goal_work_source.py +0 -0
  1388. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/goals/vision_checkpoint.py +0 -0
  1389. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/goals/vision_wait_coverage.ts +0 -0
  1390. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/governed_capability.ts +0 -0
  1391. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/handoff/__init__.py +0 -0
  1392. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/handoff/cross_runtime_impl_review.py +0 -0
  1393. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/handoff/delivery_contract.py +0 -0
  1394. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/handoff/handoff_runs.py +0 -0
  1395. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/handoff/project_handoff.py +0 -0
  1396. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/handoff/review_batch.py +0 -0
  1397. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/handoff/review_packet_context.py +0 -0
  1398. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/heartbeat/agent.py +0 -0
  1399. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/heartbeat/agent_input.py +0 -0
  1400. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/heartbeat/automation_upgrade.py +0 -0
  1401. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/heartbeat/bootstrap_prompt.py +0 -0
  1402. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/heartbeat/budget.py +0 -0
  1403. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/heartbeat/builder.py +0 -0
  1404. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/heartbeat/host.py +0 -0
  1405. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/heartbeat/task_body.py +0 -0
  1406. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/heartbeat/visible_goal.py +0 -0
  1407. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/host_adapter_settlement.py +0 -0
  1408. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/operator_inbox_binding.py +0 -0
  1409. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/post_writeback_composition_retry.py +0 -0
  1410. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/post_writeback_hook_transaction.ts +0 -0
  1411. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/projects/__init__.py +0 -0
  1412. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/projects/contract.py +0 -0
  1413. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/quota/__init__.py +0 -0
  1414. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/quota/accounting_artifact_transaction.ts +0 -0
  1415. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/quota/codex_session_usage.py +0 -0
  1416. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/quota/effect_program.py +0 -0
  1417. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/quota/goal_boundary.py +0 -0
  1418. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/quota/heartbeat_recommendation.py +0 -0
  1419. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/quota/policy_constants.py +0 -0
  1420. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/quota/recent_runs.py +0 -0
  1421. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/quota/refresh_external_delivery.py +0 -0
  1422. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/quota/refresh_external_delivery.ts +0 -0
  1423. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/quota/refresh_recovery.ts +0 -0
  1424. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/quota/scheduler_ack.py +0 -0
  1425. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/quota/selected_todo_projection.py +0 -0
  1426. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/quota/settlement.py +0 -0
  1427. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/quota/settlement_validation.py +0 -0
  1428. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/quota/settlement_workspace_causality.py +0 -0
  1429. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/quota/settlement_workspace_causality.ts +0 -0
  1430. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/quota/spend_commit.py +0 -0
  1431. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/quota/spend_sources.py +0 -0
  1432. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/quota/states.py +0 -0
  1433. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/quota/task_orchestration_admission.py +0 -0
  1434. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/quota/turn_envelope.py +0 -0
  1435. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/quota/usage_collector.py +0 -0
  1436. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/quota/void_commit.py +0 -0
  1437. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/quota/void_commit.ts +0 -0
  1438. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/reward_memory.py +0 -0
  1439. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/runtime/__init__.py +0 -0
  1440. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/runtime/agent_scoped_evidence_log.py +0 -0
  1441. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/runtime/decision_freshness.py +0 -0
  1442. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/runtime/event_ledger.py +0 -0
  1443. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/runtime/event_store_migration_bridge.py +0 -0
  1444. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/runtime/goal_project_route.py +0 -0
  1445. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/runtime/local_state_write_correctness.py +0 -0
  1446. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/runtime/promotion_readiness.py +0 -0
  1447. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/runtime/run_artifacts.py +0 -0
  1448. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/runtime/run_compaction.py +0 -0
  1449. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/runtime/run_history.py +0 -0
  1450. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/runtime/run_index_duplicates.py +0 -0
  1451. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/runtime/run_index_rebuild.py +0 -0
  1452. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/runtime/runtime_projection_writer.py +0 -0
  1453. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/runtime/shared_runtime_material_projection.py +0 -0
  1454. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/runtime/shared_runtime_refresh_projection.py +0 -0
  1455. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/runtime/stale_latest_run.py +0 -0
  1456. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/runtime/status_classifications.py +0 -0
  1457. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/runtime/stride_observation.py +0 -0
  1458. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/runtime/time.py +0 -0
  1459. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/runtime/trajectory_hygiene.py +0 -0
  1460. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/runtime_decode.ts +0 -0
  1461. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/runtime_timestamp.ts +0 -0
  1462. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/scheduler/__init__.py +0 -0
  1463. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/scheduler/app_automation_compat.py +0 -0
  1464. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/scheduler/arbitration.py +0 -0
  1465. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/scheduler/execution_context.py +0 -0
  1466. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/scheduler/heartbeat_commit.ts +0 -0
  1467. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/scheduler/heartbeat_commit_cli.ts +0 -0
  1468. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/scheduler/heartbeat_followup_cli.ts +0 -0
  1469. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/scheduler/monitor_display.py +0 -0
  1470. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/scheduler/monitor_successor.ts +0 -0
  1471. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/scheduler/monitor_todo.py +0 -0
  1472. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/scheduler/monitor_wait.py +0 -0
  1473. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/scheduler/scheduler_hint.py +0 -0
  1474. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/scheduler/state.py +0 -0
  1475. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/scheduler/state_store.ts +0 -0
  1476. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/scheduler/state_transition_rules.py +0 -0
  1477. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/scheduler/state_transition_rules.ts +0 -0
  1478. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/scheduler/time.py +0 -0
  1479. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/settlement_driver.py +0 -0
  1480. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/status/__init__.py +0 -0
  1481. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/status/active_state_projection.py +0 -0
  1482. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/status/attention_projection.py +0 -0
  1483. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/status/autonomous_replan_projection.py +0 -0
  1484. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/status/contract_projection.py +0 -0
  1485. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/status/dreaming_projection.py +0 -0
  1486. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/status/goal_attention_projection.py +0 -0
  1487. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/status/lifecycle_projection.py +0 -0
  1488. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/status/monitor_display_projection.py +0 -0
  1489. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/status/registry_health_projection.py +0 -0
  1490. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/status/run_projection.py +0 -0
  1491. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/status/ssh_host_catalog.py +0 -0
  1492. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/testing/__init__.py +0 -0
  1493. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/testing/authority_e2e_row_support.py +0 -0
  1494. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/testing/cli_output_budget.py +0 -0
  1495. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/testing/control_plane_composition_scenarios.py +0 -0
  1496. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/testing/decision_replay.py +0 -0
  1497. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/testing/doubao_model_behavior_actor.py +0 -0
  1498. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/testing/model_behavior_action_oracles.py +0 -0
  1499. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/testing/model_behavior_corpus.py +0 -0
  1500. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/testing/model_behavior_packet_safety.py +0 -0
  1501. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/testing/model_behavior_qualification.py +0 -0
  1502. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/testing/model_behavior_retained_cases.py +0 -0
  1503. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/testing/onboarding_model_behavior_qualification.py +0 -0
  1504. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/testing/quota_should_run_parity.py +0 -0
  1505. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/__init__.py +0 -0
  1506. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/active_state_editing.py +0 -0
  1507. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/active_state_todo_parser.py +0 -0
  1508. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/addition.py +0 -0
  1509. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/archive_capture.ts +0 -0
  1510. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/authoring_scope.py +0 -0
  1511. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/authoring_scope.ts +0 -0
  1512. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/compact_projection.py +0 -0
  1513. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/completed_archive.py +0 -0
  1514. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/completion_fence.py +0 -0
  1515. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/completion_fence.ts +0 -0
  1516. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/completion_policy.py +0 -0
  1517. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/completion_policy.ts +0 -0
  1518. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/completion_state.py +0 -0
  1519. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/completion_state.ts +0 -0
  1520. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/completion_transaction.py +0 -0
  1521. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/completion_transaction.ts +0 -0
  1522. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/completion_validation_accountability.py +0 -0
  1523. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/completion_validation_plan.ts +0 -0
  1524. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/completion_validation_projection.py +0 -0
  1525. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/completion_validation_store.py +0 -0
  1526. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/contract.py +0 -0
  1527. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/decision_metadata.ts +0 -0
  1528. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/decision_scope.ts +0 -0
  1529. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/durable_completion.py +0 -0
  1530. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/event_writeback.py +0 -0
  1531. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/external_wait_contract.py +0 -0
  1532. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/field_update.ts +0 -0
  1533. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/frontier_deadline.py +0 -0
  1534. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/gate_scope.ts +0 -0
  1535. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/goal_todo_projection.py +0 -0
  1536. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/handoff_gate.py +0 -0
  1537. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/handoff_mode.py +0 -0
  1538. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/handoff_note.py +0 -0
  1539. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/legacy_continuation_policy_migration.ts +0 -0
  1540. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/line_update.py +0 -0
  1541. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/machine_region.py +0 -0
  1542. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/machine_section_projection.py +0 -0
  1543. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/markdown.py +0 -0
  1544. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/monitor_metadata.py +0 -0
  1545. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/monitor_metadata.ts +0 -0
  1546. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/next_action.ts +0 -0
  1547. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/next_action_runtime.py +0 -0
  1548. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/path_resolution.py +0 -0
  1549. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/projection.py +0 -0
  1550. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/projection_delivery.ts +0 -0
  1551. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/projection_document.py +0 -0
  1552. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/provider_handoff_mode.py +0 -0
  1553. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/provider_projection.py +0 -0
  1554. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/public_update.ts +0 -0
  1555. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/resume_condition.py +0 -0
  1556. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/resume_condition.ts +0 -0
  1557. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/resume_planning.py +0 -0
  1558. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/resume_planning.ts +0 -0
  1559. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/route_continuation.py +0 -0
  1560. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/standing_decision.py +0 -0
  1561. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/standing_decision.ts +0 -0
  1562. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/succession_warning.py +0 -0
  1563. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/successor_derivation.py +0 -0
  1564. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/text.py +0 -0
  1565. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/todo_block_codec.py +0 -0
  1566. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/unblock_resume.py +0 -0
  1567. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/update_source.py +0 -0
  1568. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/write_correctness.py +0 -0
  1569. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/todos/write_hint.py +0 -0
  1570. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/turn_driver/delivery_continuity.py +0 -0
  1571. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/turn_driver/delivery_continuity.ts +0 -0
  1572. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/turn_driver/host_interaction.ts +0 -0
  1573. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/turn_driver/journal_store.py +0 -0
  1574. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/turn_driver/post_settlement.py +0 -0
  1575. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/turn_driver/recovery.py +0 -0
  1576. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/turn_driver/session_recovery.py +0 -0
  1577. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/turn_driver/settlement.py +0 -0
  1578. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/turn_driver/subagent_execution_topology.py +0 -0
  1579. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/turn_driver/subagent_host_adapter.py +0 -0
  1580. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/turn_driver/turn_journal_effects.ts +0 -0
  1581. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/turn_driver/turn_journal_runtime.py +0 -0
  1582. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/turn_transaction_contract.json +0 -0
  1583. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/__init__.py +0 -0
  1584. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/accountable_settlement.py +0 -0
  1585. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/action_portfolio.py +0 -0
  1586. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/attention_fields.py +0 -0
  1587. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/attention_item.py +0 -0
  1588. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/attention_queue.py +0 -0
  1589. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/attention_routing.py +0 -0
  1590. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/autonomous_candidates.py +0 -0
  1591. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/backlog_hygiene.py +0 -0
  1592. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/capability_monitor_fallback.py +0 -0
  1593. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/delivery_batch_scale.py +0 -0
  1594. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/delivery_history.py +0 -0
  1595. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/delivery_history.ts +0 -0
  1596. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/delivery_outcome.py +0 -0
  1597. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/delivery_outcome.ts +0 -0
  1598. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/execution_obligation.py +0 -0
  1599. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/interaction_contract.ts +0 -0
  1600. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/issue_meta_surface.py +0 -0
  1601. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/lifecycle.py +0 -0
  1602. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/local_lease_record.py +0 -0
  1603. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/operator_inbox.py +0 -0
  1604. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/pending_capability_intent.ts +0 -0
  1605. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/planning_horizon.ts +0 -0
  1606. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/planning_inventory.py +0 -0
  1607. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/planning_inventory.ts +0 -0
  1608. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/planning_relations.ts +0 -0
  1609. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/primary_action.py +0 -0
  1610. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/progress_result.py +0 -0
  1611. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/project_asset.py +0 -0
  1612. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/refresh_recommendation.py +0 -0
  1613. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/refresh_recommendation.ts +0 -0
  1614. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/repair_delta.py +0 -0
  1615. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/replan_settlement.py +0 -0
  1616. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/replan_settlement.ts +0 -0
  1617. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/repository_delivery.ts +0 -0
  1618. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/runtime_capability_reentry.py +0 -0
  1619. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/status_contract.py +0 -0
  1620. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/task_graph.py +0 -0
  1621. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/task_graph.ts +0 -0
  1622. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/task_lease_acquire_cli.ts +0 -0
  1623. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/task_lease_eligibility.ts +0 -0
  1624. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/user_action_frontier.py +0 -0
  1625. {loopx-1.0.4 → loopx-1.1.0}/loopx/control_plane/work_items/work_lane_context.py +0 -0
  1626. {loopx-1.0.4 → loopx-1.1.0}/loopx/dash_server.py +0 -0
  1627. {loopx-1.0.4 → loopx-1.1.0}/loopx/diagnose.py +0 -0
  1628. {loopx-1.0.4 → loopx-1.1.0}/loopx/doctor_git.py +0 -0
  1629. {loopx-1.0.4 → loopx-1.1.0}/loopx/domain_packs/__init__.py +0 -0
  1630. {loopx-1.0.4 → loopx-1.1.0}/loopx/domain_packs/issue_fix.py +0 -0
  1631. {loopx-1.0.4 → loopx-1.1.0}/loopx/domain_packs/ml_experiment.py +0 -0
  1632. {loopx-1.0.4 → loopx-1.1.0}/loopx/domain_state.py +0 -0
  1633. {loopx-1.0.4 → loopx-1.1.0}/loopx/dreaming.py +0 -0
  1634. {loopx-1.0.4 → loopx-1.1.0}/loopx/dsh_goal_mode/__main__.py +0 -0
  1635. {loopx-1.0.4 → loopx-1.1.0}/loopx/dsh_goal_mode/host_failure_map.py +0 -0
  1636. {loopx-1.0.4 → loopx-1.1.0}/loopx/entrypoint.py +0 -0
  1637. {loopx-1.0.4 → loopx-1.1.0}/loopx/execution_profile.py +0 -0
  1638. {loopx-1.0.4 → loopx-1.1.0}/loopx/experiments/README.md +0 -0
  1639. {loopx-1.0.4 → loopx-1.1.0}/loopx/experiments/__init__.py +0 -0
  1640. {loopx-1.0.4 → loopx-1.1.0}/loopx/experiments/planner_worker/__init__.py +0 -0
  1641. {loopx-1.0.4 → loopx-1.1.0}/loopx/experiments/planner_worker/contract.py +0 -0
  1642. {loopx-1.0.4 → loopx-1.1.0}/loopx/experiments/planner_worker/runtime.py +0 -0
  1643. {loopx-1.0.4 → loopx-1.1.0}/loopx/explore_graph.py +0 -0
  1644. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/__init__.py +0 -0
  1645. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/bundled.py +0 -0
  1646. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/capability_admission.py +0 -0
  1647. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/execution_envelope.py +0 -0
  1648. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/external_connector_provider.py +0 -0
  1649. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/external_connector_runtime.py +0 -0
  1650. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/governed_capability_execution.py +0 -0
  1651. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/hook_adapters.py +0 -0
  1652. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/__init__.py +0 -0
  1653. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/bot_scopes.py +0 -0
  1654. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/cli_resolution.py +0 -0
  1655. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/docs/lark-event-inbox.md +0 -0
  1656. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/event_collector.py +0 -0
  1657. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/event_collector_routes.py +0 -0
  1658. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/extension.toml +0 -0
  1659. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/goal_channel.py +0 -0
  1660. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/goal_channel_contracts.py +0 -0
  1661. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/goal_channel_delivery_contract.py +0 -0
  1662. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/goal_channel_lifecycle.py +0 -0
  1663. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/goal_channel_notification.py +0 -0
  1664. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/goal_channel_runtime.py +0 -0
  1665. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/goal_channel_setup.py +0 -0
  1666. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/goal_channel_targets.py +0 -0
  1667. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/goal_topic_inbox.py +0 -0
  1668. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/goal_topic_routing.py +0 -0
  1669. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/group_history.py +0 -0
  1670. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/group_history_cursor.py +0 -0
  1671. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/manager_reply_delivery.py +0 -0
  1672. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/outbound.py +0 -0
  1673. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/periodic_report_cli.py +0 -0
  1674. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/periodic_report_delivery.py +0 -0
  1675. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/periodic_report_request.py +0 -0
  1676. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/presentation/__init__.py +0 -0
  1677. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/presentation/explore_results.py +0 -0
  1678. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/presentation/explore_singleflight.py +0 -0
  1679. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/presentation/explore_source_guard.py +0 -0
  1680. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/presentation/explore_stage_document.py +0 -0
  1681. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/presentation/explore_visual_integrity.py +0 -0
  1682. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/presentation/explore_visual_readback.py +0 -0
  1683. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/presentation/explore_visual_styles.py +0 -0
  1684. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/presentation/issue_fix_surface.py +0 -0
  1685. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/presentation/message_card.py +0 -0
  1686. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/presentation/periodic_report.py +0 -0
  1687. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/presentation/record_io.py +0 -0
  1688. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/presentation/sync_receipt.py +0 -0
  1689. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/private_json.py +0 -0
  1690. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/provider.py +0 -0
  1691. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/reviewer_notification.py +0 -0
  1692. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/routed_inbox.py +0 -0
  1693. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/lark/turn_start_sync.py +0 -0
  1694. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/manifest.py +0 -0
  1695. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/openviking_periodic_report/__init__.py +0 -0
  1696. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/openviking_periodic_report/activation.py +0 -0
  1697. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/openviking_periodic_report/extension.toml +0 -0
  1698. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/openviking_periodic_report/provider.py +0 -0
  1699. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/openviking_periodic_report/sink.py +0 -0
  1700. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/openviking_semantic_preference/__init__.py +0 -0
  1701. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/openviking_semantic_preference/extension.toml +0 -0
  1702. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/openviking_semantic_preference/history_export.py +0 -0
  1703. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/openviking_semantic_preference/project_peer.py +0 -0
  1704. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/presentation.py +0 -0
  1705. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/readiness.py +0 -0
  1706. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/runtime.py +0 -0
  1707. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/runtime_location.py +0 -0
  1708. {loopx-1.0.4 → loopx-1.1.0}/loopx/extensions/scaffold.py +0 -0
  1709. {loopx-1.0.4 → loopx-1.1.0}/loopx/feedback.py +0 -0
  1710. {loopx-1.0.4 → loopx-1.1.0}/loopx/file_lock.py +0 -0
  1711. {loopx-1.0.4 → loopx-1.1.0}/loopx/global_registry.py +0 -0
  1712. {loopx-1.0.4 → loopx-1.1.0}/loopx/global_risks.py +0 -0
  1713. {loopx-1.0.4 → loopx-1.1.0}/loopx/global_todos.py +0 -0
  1714. {loopx-1.0.4 → loopx-1.1.0}/loopx/goal_mode_context.py +0 -0
  1715. {loopx-1.0.4 → loopx-1.1.0}/loopx/goal_portfolio.py +0 -0
  1716. {loopx-1.0.4 → loopx-1.1.0}/loopx/handoff_budget.py +0 -0
  1717. {loopx-1.0.4 → loopx-1.1.0}/loopx/heartbeat_prequota.py +0 -0
  1718. {loopx-1.0.4 → loopx-1.1.0}/loopx/heartbeat_prompt.py +0 -0
  1719. {loopx-1.0.4 → loopx-1.1.0}/loopx/host_loop_activation.py +0 -0
  1720. {loopx-1.0.4 → loopx-1.1.0}/loopx/host_loop_activation_skill_facade.py +0 -0
  1721. {loopx-1.0.4 → loopx-1.1.0}/loopx/interface_budget.py +0 -0
  1722. {loopx-1.0.4 → loopx-1.1.0}/loopx/kiro_cli_goal_mode/README.md +0 -0
  1723. {loopx-1.0.4 → loopx-1.1.0}/loopx/kiro_cli_goal_mode/__init__.py +0 -0
  1724. {loopx-1.0.4 → loopx-1.1.0}/loopx/kunluncode_goal_mode/README.md +0 -0
  1725. {loopx-1.0.4 → loopx-1.1.0}/loopx/kunluncode_goal_mode/__init__.py +0 -0
  1726. {loopx-1.0.4 → loopx-1.1.0}/loopx/kunluncode_goal_mode/context.py +0 -0
  1727. {loopx-1.0.4 → loopx-1.1.0}/loopx/kunluncode_goal_mode/guards.py +0 -0
  1728. {loopx-1.0.4 → loopx-1.1.0}/loopx/kunluncode_goal_mode/runtime.py +0 -0
  1729. {loopx-1.0.4 → loopx-1.1.0}/loopx/kunluncode_goal_mode/server.py +0 -0
  1730. {loopx-1.0.4 → loopx-1.1.0}/loopx/long_task_cadence.py +0 -0
  1731. {loopx-1.0.4 → loopx-1.1.0}/loopx/materials.py +0 -0
  1732. {loopx-1.0.4 → loopx-1.1.0}/loopx/ml_experiment.py +0 -0
  1733. {loopx-1.0.4 → loopx-1.1.0}/loopx/opencode2_goal_mode/README.md +0 -0
  1734. {loopx-1.0.4 → loopx-1.1.0}/loopx/opencode2_goal_mode/__init__.py +0 -0
  1735. {loopx-1.0.4 → loopx-1.1.0}/loopx/opencode2_goal_mode/opencode2-goal-worker.mjs +0 -0
  1736. {loopx-1.0.4 → loopx-1.1.0}/loopx/opencode_goal_mode/README.md +0 -0
  1737. {loopx-1.0.4 → loopx-1.1.0}/loopx/opencode_goal_mode/__init__.py +0 -0
  1738. {loopx-1.0.4 → loopx-1.1.0}/loopx/opencode_goal_mode/goal-bridge-runtime.mjs +0 -0
  1739. {loopx-1.0.4 → loopx-1.1.0}/loopx/opencode_goal_mode/loopx-goal.js +0 -0
  1740. {loopx-1.0.4 → loopx-1.1.0}/loopx/operator_gate.py +0 -0
  1741. {loopx-1.0.4 → loopx-1.1.0}/loopx/paths.py +0 -0
  1742. {loopx-1.0.4 → loopx-1.1.0}/loopx/pi_goal_mode/README.md +0 -0
  1743. {loopx-1.0.4 → loopx-1.1.0}/loopx/pi_goal_mode/__init__.py +0 -0
  1744. {loopx-1.0.4 → loopx-1.1.0}/loopx/pi_goal_mode/loopx-goal.ts +0 -0
  1745. {loopx-1.0.4 → loopx-1.1.0}/loopx/pi_goal_mode/pi-goal-loop-runtime.mjs +0 -0
  1746. {loopx-1.0.4 → loopx-1.1.0}/loopx/presentation/README.md +0 -0
  1747. {loopx-1.0.4 → loopx-1.1.0}/loopx/presentation/__init__.py +0 -0
  1748. {loopx-1.0.4 → loopx-1.1.0}/loopx/presentation/explore_views.py +0 -0
  1749. {loopx-1.0.4 → loopx-1.1.0}/loopx/presentation/markdown.py +0 -0
  1750. {loopx-1.0.4 → loopx-1.1.0}/loopx/presentation/projection_source_reconcile.py +0 -0
  1751. {loopx-1.0.4 → loopx-1.1.0}/loopx/presentation/projections/__init__.py +0 -0
  1752. {loopx-1.0.4 → loopx-1.1.0}/loopx/presentation/projections/session_dash.py +0 -0
  1753. {loopx-1.0.4 → loopx-1.1.0}/loopx/presentation/public_safety.py +0 -0
  1754. {loopx-1.0.4 → loopx-1.1.0}/loopx/presentation/renderers/__init__.py +0 -0
  1755. {loopx-1.0.4 → loopx-1.1.0}/loopx/presentation/renderers/goal_channel_html.py +0 -0
  1756. {loopx-1.0.4 → loopx-1.1.0}/loopx/presentation/renderers/periodic_report_html.py +0 -0
  1757. {loopx-1.0.4 → loopx-1.1.0}/loopx/presentation/renderers/periodic_report_markdown.py +0 -0
  1758. {loopx-1.0.4 → loopx-1.1.0}/loopx/presentation/renderers/quota_event_markdown.py +0 -0
  1759. {loopx-1.0.4 → loopx-1.1.0}/loopx/presentation/renderers/reward_memory_markdown.py +0 -0
  1760. {loopx-1.0.4 → loopx-1.1.0}/loopx/presentation/renderers/session_dash_html.py +0 -0
  1761. {loopx-1.0.4 → loopx-1.1.0}/loopx/presentation/renderers/trajectory_hygiene_markdown.py +0 -0
  1762. {loopx-1.0.4 → loopx-1.1.0}/loopx/presentation/renderers/turn_envelope_markdown.py +0 -0
  1763. {loopx-1.0.4 → loopx-1.1.0}/loopx/presentation/sinks/__init__.py +0 -0
  1764. {loopx-1.0.4 → loopx-1.1.0}/loopx/presentation/sinks/openviking_periodic_report.py +0 -0
  1765. {loopx-1.0.4 → loopx-1.1.0}/loopx/presentation/static_site.py +0 -0
  1766. {loopx-1.0.4 → loopx-1.1.0}/loopx/presets.py +0 -0
  1767. {loopx-1.0.4 → loopx-1.1.0}/loopx/project_map.py +0 -0
  1768. {loopx-1.0.4 → loopx-1.1.0}/loopx/project_uninstall.py +0 -0
  1769. {loopx-1.0.4 → loopx-1.1.0}/loopx/public_safe_text.py +0 -0
  1770. {loopx-1.0.4 → loopx-1.1.0}/loopx/python_install_owner.py +0 -0
  1771. {loopx-1.0.4 → loopx-1.1.0}/loopx/registry.py +0 -0
  1772. {loopx-1.0.4 → loopx-1.1.0}/loopx/registry_writability.py +0 -0
  1773. {loopx-1.0.4 → loopx-1.1.0}/loopx/review_packet.py +0 -0
  1774. {loopx-1.0.4 → loopx-1.1.0}/loopx/runtime.py +0 -0
  1775. {loopx-1.0.4 → loopx-1.1.0}/loopx/session_runtime.py +0 -0
  1776. {loopx-1.0.4 → loopx-1.1.0}/loopx/slash_command_files.py +0 -0
  1777. {loopx-1.0.4 → loopx-1.1.0}/loopx/slash_commands.py +0 -0
  1778. {loopx-1.0.4 → loopx-1.1.0}/loopx/state_backup.py +0 -0
  1779. {loopx-1.0.4 → loopx-1.1.0}/loopx/state_refresh.py +0 -0
  1780. {loopx-1.0.4 → loopx-1.1.0}/loopx/summary_all.py +0 -0
  1781. {loopx-1.0.4 → loopx-1.1.0}/loopx/thread_agent_binding.py +0 -0
  1782. {loopx-1.0.4 → loopx-1.1.0}/loopx/turn_identity.py +0 -0
  1783. {loopx-1.0.4 → loopx-1.1.0}/loopx/visible_governance.py +0 -0
  1784. {loopx-1.0.4 → loopx-1.1.0}/loopx/web/chat/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
  1785. {loopx-1.0.4 → loopx-1.1.0}/loopx/web/chat/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
  1786. {loopx-1.0.4 → loopx-1.1.0}/loopx/web/chat/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
  1787. {loopx-1.0.4 → loopx-1.1.0}/loopx/web/chat/assets/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
  1788. {loopx-1.0.4 → loopx-1.1.0}/loopx/web/chat/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2 +0 -0
  1789. {loopx-1.0.4 → loopx-1.1.0}/loopx/web/chat/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2 +0 -0
  1790. {loopx-1.0.4 → loopx-1.1.0}/loopx/web/chat/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2 +0 -0
  1791. {loopx-1.0.4 → loopx-1.1.0}/loopx/web/chat/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2 +0 -0
  1792. {loopx-1.0.4 → loopx-1.1.0}/loopx/web/chat/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2 +0 -0
  1793. {loopx-1.0.4 → loopx-1.1.0}/loopx/web/chat/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2 +0 -0
  1794. {loopx-1.0.4 → loopx-1.1.0}/loopx/web/chat/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
  1795. {loopx-1.0.4 → loopx-1.1.0}/loopx/web/chat/manifest.webmanifest +0 -0
  1796. {loopx-1.0.4 → loopx-1.1.0}/loopx/web/chat/pwa/icon-192.png +0 -0
  1797. {loopx-1.0.4 → loopx-1.1.0}/loopx/web/chat/pwa/icon-512.png +0 -0
  1798. {loopx-1.0.4 → loopx-1.1.0}/loopx/worker_bridge.py +0 -0
  1799. {loopx-1.0.4 → loopx-1.1.0}/loopx/zcode_goal_mode/README.md +0 -0
  1800. {loopx-1.0.4 → loopx-1.1.0}/loopx/zcode_goal_mode/__init__.py +0 -0
  1801. {loopx-1.0.4 → loopx-1.1.0}/loopx.egg-info/dependency_links.txt +0 -0
  1802. {loopx-1.0.4 → loopx-1.1.0}/loopx.egg-info/entry_points.txt +0 -0
  1803. {loopx-1.0.4 → loopx-1.1.0}/loopx.egg-info/top_level.txt +0 -0
  1804. {loopx-1.0.4 → loopx-1.1.0}/setup.cfg +0 -0
  1805. {loopx-1.0.4 → loopx-1.1.0}/skills/loopx-benchmark/.loopx-skill-scope +0 -0
  1806. {loopx-1.0.4 → loopx-1.1.0}/skills/loopx-benchmark/SKILL.md +0 -0
  1807. {loopx-1.0.4 → loopx-1.1.0}/skills/loopx-benchmark/agents/openai.yaml +0 -0
  1808. {loopx-1.0.4 → loopx-1.1.0}/skills/loopx-doc-registry/.loopx-skill-scope +0 -0
  1809. {loopx-1.0.4 → loopx-1.1.0}/skills/loopx-doc-registry/SKILL.md +0 -0
  1810. {loopx-1.0.4 → loopx-1.1.0}/skills/loopx-doc-registry/agents/openai.yaml +0 -0
  1811. {loopx-1.0.4 → loopx-1.1.0}/skills/loopx-pr-program/.loopx-skill-scope +0 -0
  1812. {loopx-1.0.4 → loopx-1.1.0}/skills/loopx-pr-program/SKILL.md +0 -0
  1813. {loopx-1.0.4 → loopx-1.1.0}/skills/loopx-pr-program/agents/openai.yaml +0 -0
  1814. {loopx-1.0.4 → loopx-1.1.0}/skills/loopx-pr-program/references/snapshot-contract.md +0 -0
  1815. {loopx-1.0.4 → loopx-1.1.0}/skills/loopx-pr-program/scripts/diff_snapshot.py +0 -0
  1816. {loopx-1.0.4 → loopx-1.1.0}/skills/loopx-pr-review/.loopx-skill-scope +0 -0
  1817. {loopx-1.0.4 → loopx-1.1.0}/skills/loopx-pr-review/agents/openai.yaml +0 -0
  1818. {loopx-1.0.4 → loopx-1.1.0}/skills/loopx-project/.loopx-skill-scope +0 -0
  1819. {loopx-1.0.4 → loopx-1.1.0}/skills/loopx-project/agents/openai.yaml +0 -0
  1820. {loopx-1.0.4 → loopx-1.1.0}/skills/loopx-self-repair/.loopx-skill-scope +0 -0
  1821. {loopx-1.0.4 → loopx-1.1.0}/skills/loopx-self-repair/SKILL.md +0 -0
  1822. {loopx-1.0.4 → loopx-1.1.0}/skills/loopx-self-repair/agents/openai.yaml +0 -0
  1823. {loopx-1.0.4 → loopx-1.1.0}/skills/loopx-self-repair/references/upstream-issue-escalation.md +0 -0
  1824. {loopx-1.0.4 → loopx-1.1.0}/tests/test_agent_onboarding_pi_host.py +0 -0
  1825. {loopx-1.0.4 → loopx-1.1.0}/tests/test_agent_onboarding_unconnected_project.py +0 -0
  1826. {loopx-1.0.4 → loopx-1.1.0}/tests/test_agy_host_surface.py +0 -0
  1827. {loopx-1.0.4 → loopx-1.1.0}/tests/test_ark_managed_agent_issue_fix_matrix.py +0 -0
  1828. {loopx-1.0.4 → loopx-1.1.0}/tests/test_attached_session_broker.py +0 -0
  1829. {loopx-1.0.4 → loopx-1.1.0}/tests/test_attached_session_cli.py +0 -0
  1830. {loopx-1.0.4 → loopx-1.1.0}/tests/test_auto_research_artifact_receipt.py +0 -0
  1831. {loopx-1.0.4 → loopx-1.1.0}/tests/test_auto_research_control.py +0 -0
  1832. {loopx-1.0.4 → loopx-1.1.0}/tests/test_chat_agent.py +0 -0
  1833. {loopx-1.0.4 → loopx-1.1.0}/tests/test_chat_codex_home.py +0 -0
  1834. {loopx-1.0.4 → loopx-1.1.0}/tests/test_chat_completed_todos.py +0 -0
  1835. {loopx-1.0.4 → loopx-1.1.0}/tests/test_chat_event_buffer.py +0 -0
  1836. {loopx-1.0.4 → loopx-1.1.0}/tests/test_chat_goal_configuration_api.py +0 -0
  1837. {loopx-1.0.4 → loopx-1.1.0}/tests/test_chat_image_attachments.py +0 -0
  1838. {loopx-1.0.4 → loopx-1.1.0}/tests/test_chat_lark_api_contract.py +0 -0
  1839. {loopx-1.0.4 → loopx-1.1.0}/tests/test_chat_manager_details.py +0 -0
  1840. {loopx-1.0.4 → loopx-1.1.0}/tests/test_chat_manager_report.py +0 -0
  1841. {loopx-1.0.4 → loopx-1.1.0}/tests/test_chat_operation_actions.py +0 -0
  1842. {loopx-1.0.4 → loopx-1.1.0}/tests/test_chat_response_parsing.py +0 -0
  1843. {loopx-1.0.4 → loopx-1.1.0}/tests/test_chat_startup_isolation.py +0 -0
  1844. {loopx-1.0.4 → loopx-1.1.0}/tests/test_chat_store_input_validation.py +0 -0
  1845. {loopx-1.0.4 → loopx-1.1.0}/tests/test_claude_goal_release_qualification.py +0 -0
  1846. {loopx-1.0.4 → loopx-1.1.0}/tests/test_cli_entrypoint.py +0 -0
  1847. {loopx-1.0.4 → loopx-1.1.0}/tests/test_codex_app_apply_rrule.py +0 -0
  1848. {loopx-1.0.4 → loopx-1.1.0}/tests/test_command_invocation.py +0 -0
  1849. {loopx-1.0.4 → loopx-1.1.0}/tests/test_content_ops_item_lifecycle.py +0 -0
  1850. {loopx-1.0.4 → loopx-1.1.0}/tests/test_content_ops_lifecycle.py +0 -0
  1851. {loopx-1.0.4 → loopx-1.1.0}/tests/test_content_ops_queue_status.py +0 -0
  1852. {loopx-1.0.4 → loopx-1.1.0}/tests/test_contract_credential_pattern_precision.py +0 -0
  1853. {loopx-1.0.4 → loopx-1.1.0}/tests/test_dashboard_command.py +0 -0
  1854. {loopx-1.0.4 → loopx-1.1.0}/tests/test_decision_context_material.py +0 -0
  1855. {loopx-1.0.4 → loopx-1.1.0}/tests/test_deepresearch_command.py +0 -0
  1856. {loopx-1.0.4 → loopx-1.1.0}/tests/test_default_public_scan_root.py +0 -0
  1857. {loopx-1.0.4 → loopx-1.1.0}/tests/test_dependency_security_boundaries.py +0 -0
  1858. {loopx-1.0.4 → loopx-1.1.0}/tests/test_doctor_git_encoding.py +0 -0
  1859. {loopx-1.0.4 → loopx-1.1.0}/tests/test_doctor_installation_scope.py +0 -0
  1860. {loopx-1.0.4 → loopx-1.1.0}/tests/test_event_sourced_state_store.py +0 -0
  1861. {loopx-1.0.4 → loopx-1.1.0}/tests/test_explore_counterfactual_runtime.py +0 -0
  1862. {loopx-1.0.4 → loopx-1.1.0}/tests/test_explore_episode_runtime.py +0 -0
  1863. {loopx-1.0.4 → loopx-1.1.0}/tests/test_explore_monitor_lane_budget.py +0 -0
  1864. {loopx-1.0.4 → loopx-1.1.0}/tests/test_explore_owner_board_views.py +0 -0
  1865. {loopx-1.0.4 → loopx-1.1.0}/tests/test_explore_presentation_views.py +0 -0
  1866. {loopx-1.0.4 → loopx-1.1.0}/tests/test_explore_replay_compatibility.py +0 -0
  1867. {loopx-1.0.4 → loopx-1.1.0}/tests/test_explore_replay_runtime.py +0 -0
  1868. {loopx-1.0.4 → loopx-1.1.0}/tests/test_explore_resource_portfolio.py +0 -0
  1869. {loopx-1.0.4 → loopx-1.1.0}/tests/test_explore_router_acceptance.py +0 -0
  1870. {loopx-1.0.4 → loopx-1.1.0}/tests/test_explore_source_history_reconcile.py +0 -0
  1871. {loopx-1.0.4 → loopx-1.1.0}/tests/test_explore_worker_topic_affinity.py +0 -0
  1872. {loopx-1.0.4 → loopx-1.1.0}/tests/test_feedback_goal_id_validation.py +0 -0
  1873. {loopx-1.0.4 → loopx-1.1.0}/tests/test_feedback_run_selection.py +0 -0
  1874. {loopx-1.0.4 → loopx-1.1.0}/tests/test_file_lock.py +0 -0
  1875. {loopx-1.0.4 → loopx-1.1.0}/tests/test_file_lock_cross_process.py +0 -0
  1876. {loopx-1.0.4 → loopx-1.1.0}/tests/test_gemini_cursor_host_surfaces.py +0 -0
  1877. {loopx-1.0.4 → loopx-1.1.0}/tests/test_global_registry_write_serialization.py +0 -0
  1878. {loopx-1.0.4 → loopx-1.1.0}/tests/test_global_risks.py +0 -0
  1879. {loopx-1.0.4 → loopx-1.1.0}/tests/test_global_todos.py +0 -0
  1880. {loopx-1.0.4 → loopx-1.1.0}/tests/test_goal_mode_mcp_completion_validation.py +0 -0
  1881. {loopx-1.0.4 → loopx-1.1.0}/tests/test_goal_mode_mcp_settlement.py +0 -0
  1882. {loopx-1.0.4 → loopx-1.1.0}/tests/test_goal_portfolio.py +0 -0
  1883. {loopx-1.0.4 → loopx-1.1.0}/tests/test_history_chronology.py +0 -0
  1884. {loopx-1.0.4 → loopx-1.1.0}/tests/test_host_loop_activation.py +0 -0
  1885. {loopx-1.0.4 → loopx-1.1.0}/tests/test_host_loop_runtime_parity.py +0 -0
  1886. {loopx-1.0.4 → loopx-1.1.0}/tests/test_host_mode_planner.py +0 -0
  1887. {loopx-1.0.4 → loopx-1.1.0}/tests/test_host_parity_smoke.py +0 -0
  1888. {loopx-1.0.4 → loopx-1.1.0}/tests/test_host_poll_receipts.py +0 -0
  1889. {loopx-1.0.4 → loopx-1.1.0}/tests/test_host_vision_recovery.py +0 -0
  1890. {loopx-1.0.4 → loopx-1.1.0}/tests/test_install_copy_fallback.py +0 -0
  1891. {loopx-1.0.4 → loopx-1.1.0}/tests/test_kiro_cli_host_surface.py +0 -0
  1892. {loopx-1.0.4 → loopx-1.1.0}/tests/test_license_metadata.py +0 -0
  1893. {loopx-1.0.4 → loopx-1.1.0}/tests/test_loopx_turn_settlement_parity.py +0 -0
  1894. {loopx-1.0.4 → loopx-1.1.0}/tests/test_loopx_turn_transaction.py +0 -0
  1895. {loopx-1.0.4 → loopx-1.1.0}/tests/test_manager_context_tracking.py +0 -0
  1896. {loopx-1.0.4 → loopx-1.1.0}/tests/test_ml_experiment_volc_packet.py +0 -0
  1897. {loopx-1.0.4 → loopx-1.1.0}/tests/test_native_goal_release_qualification.py +0 -0
  1898. {loopx-1.0.4 → loopx-1.1.0}/tests/test_nokv_shadow_provider_probes.py +0 -0
  1899. {loopx-1.0.4 → loopx-1.1.0}/tests/test_opencode2_goal_worker.py +0 -0
  1900. {loopx-1.0.4 → loopx-1.1.0}/tests/test_opencode2_goal_worker_cli.py +0 -0
  1901. {loopx-1.0.4 → loopx-1.1.0}/tests/test_opencode_goal_bridge.py +0 -0
  1902. {loopx-1.0.4 → loopx-1.1.0}/tests/test_operator_markdown_renderers.py +0 -0
  1903. {loopx-1.0.4 → loopx-1.1.0}/tests/test_packaged_skill_metadata.py +0 -0
  1904. {loopx-1.0.4 → loopx-1.1.0}/tests/test_pi_goal_mode.py +0 -0
  1905. {loopx-1.0.4 → loopx-1.1.0}/tests/test_postgresql_integration_workflow.py +0 -0
  1906. {loopx-1.0.4 → loopx-1.1.0}/tests/test_pr_program_snapshot.py +0 -0
  1907. {loopx-1.0.4 → loopx-1.1.0}/tests/test_pr_program_snapshot_diff.py +0 -0
  1908. {loopx-1.0.4 → loopx-1.1.0}/tests/test_public_package_lock_boundary.py +0 -0
  1909. {loopx-1.0.4 → loopx-1.1.0}/tests/test_python_ci_workflow.py +0 -0
  1910. {loopx-1.0.4 → loopx-1.1.0}/tests/test_register_agent_fresh_identity.py +0 -0
  1911. {loopx-1.0.4 → loopx-1.1.0}/tests/test_registry_git_probe.py +0 -0
  1912. {loopx-1.0.4 → loopx-1.1.0}/tests/test_release_candidate.py +0 -0
  1913. {loopx-1.0.4 → loopx-1.1.0}/tests/test_release_smoke_archive_helpers.py +0 -0
  1914. {loopx-1.0.4 → loopx-1.1.0}/tests/test_reward_memory_pipeline.py +0 -0
  1915. {loopx-1.0.4 → loopx-1.1.0}/tests/test_rollout_event_log_loading.py +0 -0
  1916. {loopx-1.0.4 → loopx-1.1.0}/tests/test_scheduler_native_launcher.py +0 -0
  1917. {loopx-1.0.4 → loopx-1.1.0}/tests/test_self_update_download.py +0 -0
  1918. {loopx-1.0.4 → loopx-1.1.0}/tests/test_session_runtime_key_classification.py +0 -0
  1919. {loopx-1.0.4 → loopx-1.1.0}/tests/test_skill_delivery_parity.py +0 -0
  1920. {loopx-1.0.4 → loopx-1.1.0}/tests/test_smoke_suite.py +0 -0
  1921. {loopx-1.0.4 → loopx-1.1.0}/tests/test_sonarcloud_workflow.py +0 -0
  1922. {loopx-1.0.4 → loopx-1.1.0}/tests/test_ssh_tunnel_source.py +0 -0
  1923. {loopx-1.0.4 → loopx-1.1.0}/tests/test_state_file_containment.py +0 -0
  1924. {loopx-1.0.4 → loopx-1.1.0}/tests/test_state_refresh_agent_lane_action.py +0 -0
  1925. {loopx-1.0.4 → loopx-1.1.0}/tests/test_state_refresh_projections.py +0 -0
  1926. {loopx-1.0.4 → loopx-1.1.0}/tests/test_static_site_presentation.py +0 -0
  1927. {loopx-1.0.4 → loopx-1.1.0}/tests/test_status_server_cors.py +0 -0
  1928. {loopx-1.0.4 → loopx-1.1.0}/tests/test_status_server_extension_projection.py +0 -0
  1929. {loopx-1.0.4 → loopx-1.1.0}/tests/test_status_server_fast_path.py +0 -0
  1930. {loopx-1.0.4 → loopx-1.1.0}/tests/test_status_server_periodic_report_workspace.py +0 -0
  1931. {loopx-1.0.4 → loopx-1.1.0}/tests/test_status_server_ssh_hosts.py +0 -0
  1932. {loopx-1.0.4 → loopx-1.1.0}/tests/test_subagent_host_adapter.py +0 -0
  1933. {loopx-1.0.4 → loopx-1.1.0}/tests/test_summary_all.py +0 -0
  1934. {loopx-1.0.4 → loopx-1.1.0}/tests/test_thread_agent_binding.py +0 -0
  1935. {loopx-1.0.4 → loopx-1.1.0}/tests/test_todo_write_serialization.py +0 -0
  1936. {loopx-1.0.4 → loopx-1.1.0}/tests/test_trajectory_hygiene.py +0 -0
  1937. {loopx-1.0.4 → loopx-1.1.0}/tests/test_turn_envelope.py +0 -0
  1938. {loopx-1.0.4 → loopx-1.1.0}/tests/test_turn_loop_disposition.py +0 -0
  1939. {loopx-1.0.4 → loopx-1.1.0}/tests/test_visible_goal_terminal_settlement.py +0 -0
  1940. {loopx-1.0.4 → loopx-1.1.0}/tests/test_worker_command_validation.py +0 -0
  1941. {loopx-1.0.4 → loopx-1.1.0}/tests/test_workspace_story_demo.py +0 -0
  1942. {loopx-1.0.4 → loopx-1.1.0}/tests/test_zcode_host_surface.py +0 -0
loopx-1.1.0/PKG-INFO ADDED
@@ -0,0 +1,811 @@
1
+ Metadata-Version: 2.4
2
+ Name: loopx
3
+ Version: 1.1.0
4
+ Summary: A lightweight Loop Engineering control plane for long-running agent goals.
5
+ Author: LoopX contributors
6
+ License-Expression: Apache-2.0
7
+ Project-URL: Homepage, https://loopx-project.github.io/loopx/
8
+ Project-URL: Documentation, https://loopx-project.github.io/loopx/docs/
9
+ Project-URL: Repository, https://github.com/loopx-project/loopx
10
+ Project-URL: Issues, https://github.com/loopx-project/loopx/issues
11
+ Project-URL: Changelog, https://github.com/loopx-project/loopx/releases
12
+ Requires-Python: >=3.11
13
+ Description-Content-Type: text/markdown
14
+ License-File: LICENSE
15
+ License-File: NOTICE
16
+ License-File: LICENSE-MIT
17
+ Provides-Extra: deepseek-harness
18
+ Requires-Dist: deepseek-harness-sdk==0.1.5rc1; extra == "deepseek-harness"
19
+ Provides-Extra: test
20
+ Requires-Dist: jsonschema<5,>=4.23; extra == "test"
21
+ Requires-Dist: mcp==1.28.1; extra == "test"
22
+ Requires-Dist: pyyaml<7,>=6; extra == "test"
23
+ Requires-Dist: types-jsonschema<5,>=4.23; extra == "test"
24
+ Requires-Dist: pytest<10,>=9.0.3; extra == "test"
25
+ Requires-Dist: pytest-cov<7,>=5; extra == "test"
26
+ Requires-Dist: pytest-xdist<4,>=3; extra == "test"
27
+ Requires-Dist: pytest-split<0.12,>=0.11; extra == "test"
28
+ Requires-Dist: ruff<0.16,>=0.12; extra == "test"
29
+ Requires-Dist: mypy<2,>=1.18; extra == "test"
30
+ Dynamic: license-file
31
+
32
+ <div align="center">
33
+
34
+ <h1 align="center">LoopX</h1>
35
+
36
+ <img src="docs/assets/loopx-social-preview.png" alt="LoopX loop engineering social preview banner" width="420">
37
+
38
+ **The open, provider-neutral, stateful control plane for long-horizon agents.**
39
+
40
+ <sub>Runs on top of Codex, Claude Code, Cursor, and other agent harnesses. LoopX preserves objectives, gates, todos, evidence, quota, and handoffs across turns; the harness executes bounded work.</sub>
41
+
42
+ <a href="https://trendshift.io/repositories/102379?utm_source=repository-badge&amp;utm_medium=badge&amp;utm_campaign=badge-repository-102379"><img src="https://trendshift.io/api/badge/repositories/102379" alt="loopx-project/loopx on Trendshift" width="220" height="48"></a>
43
+
44
+ [![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE) [![Release](https://img.shields.io/github/v/release/loopx-project/loopx?filter=v*&display_name=tag)](https://github.com/loopx-project/loopx/releases/latest) [![Discord](https://img.shields.io/badge/Discord-Join-5865F2?logo=discord&logoColor=white)](https://discord.gg/XmGgQyCFZd) [![TypeScript core](https://img.shields.io/badge/core-TypeScript-3178C6?logo=typescript&logoColor=white)](docs/architecture/rfcs/typescript-control-plane-migration-v0.md) [![Python](https://img.shields.io/badge/python-3.11%2B-blue.svg)](pyproject.toml) [![Local first](https://img.shields.io/badge/control--plane-local--first-brightgreen.svg)](docs/public-private-boundary.md) [![Loop Agents](https://img.shields.io/badge/status-loop%20agents%20active-brightgreen.svg)](docs/product/release-readiness.md)
45
+
46
+ [Public website](https://loopx-project.github.io/loopx/) · [Blog](https://loopx-project.github.io/loopx/blog/) · [Docs](https://loopx-project.github.io/loopx/docs/) · [Developer Book](https://loopx-project.github.io/loopx/docs/book/en/) · [Try LoopX](#try-loopx) · [See real loops](#evidence) · [How it works](#why-loopx) · [简体中文](README.zh-CN.md)
47
+
48
+ </div>
49
+
50
+ ---
51
+
52
+ Open and provider-neutral, LoopX is a lightweight state kernel and local-first
53
+ control plane for loop engineering. It runs on top of different agent harnesses
54
+ rather than replacing them, providing the long-horizon state, semantic
55
+ decisions about what happens next, governance, recovery, and human-agent
56
+ collaboration that keep long-running work reviewable, restartable, and easier
57
+ to hand off across turns, tools, and agents.
58
+
59
+ **Loop engineering for long-horizon AI agents and peer agent teams.**
60
+
61
+ > Keep the loop moving. Keep the judgment human.
62
+
63
+ ## Learn LoopX
64
+
65
+ - **Developer Book** - the curated bilingual path from control-plane foundations to project onboarding and developer contributions. [中文版](https://loopx-project.github.io/loopx/docs/book/) · [English](https://loopx-project.github.io/loopx/docs/book/en/)
66
+ - **Getting started** - install, connect a project, and run your first governed loop. [Guide](docs/guides/getting-started.md)
67
+ - **Docs** - the full reference and operations site. [LoopX Docs](https://loopx-project.github.io/loopx/docs/)
68
+
69
+ ## Meet the Personal Agent Workspace
70
+
71
+ Keep long-horizon goals in one local-first workspace. Goals, attention,
72
+ conversations, tasks, files, schedules, and recovery stay durable across days,
73
+ restarts, and harnesses. Reopen a project, inspect the previous turn’s state
74
+ and evidence, and continue the next permitted action.
75
+
76
+ <a href="docs/assets/personal-workspace/loopx-dashboard-launch.mp4">
77
+ <img src="docs/assets/personal-workspace/workspace-1.0.webp" alt="LoopX Workspace: owner decisions, Agent tasks, scheduled watches and completed work" width="960">
78
+ </a>
79
+
80
+ LoopX 1.0 brings these long-horizon control states into the Personal Workspace. It gives you one place to:
81
+
82
+ - see what needs you, what is running, what is being watched, and what is
83
+ scheduled or stopped;
84
+ - configure Goal capabilities, distinguish machine defaults from Goal overrides,
85
+ and preview changes before applying them;
86
+ - steer a live turn, queue a message, or use the async inbox from a connected
87
+ Lark conversation with explicit Goal/Agent/session routing;
88
+ - inspect deliverable files, periodic reports, and their supporting evidence;
89
+ - continue across Codex, Claude Code, direct-model, and other registered Agent
90
+ sessions without losing Goal state or evidence;
91
+ - review protected changes through typed preview, explicit confirmation, and
92
+ receipts while LoopX state—not the browser—remains authoritative.
93
+
94
+ For Manager group conversations, LoopX keeps message visibility separate from
95
+ Turn authority; see the bilingual [Lark Manager context and authority
96
+ contract](docs/reference/protocols/lark-manager-context-authority-v0.md).
97
+
98
+ ```bash
99
+ loopx dashboard
100
+ ```
101
+
102
+ `loopx dashboard` is the supported browser/PWA launch path. You can also download
103
+ native desktop previews from the [1.0 release](https://github.com/loopx-project/loopx/releases/tag/v1.0.0);
104
+ they reuse the same loopback services and Goal state. Apple Silicon macOS supports
105
+ signed App updates that pair the shell with its bundled runtime, plus repair and
106
+ recovery. Python 3.11+ is required; the App is ad-hoc signed, not notarized.
107
+ Windows preview installers currently use manual updates and a separately installed CLI.
108
+ [Desktop installation, updates, and source development](apps/desktop/loopx-control-plane/README.md).
109
+
110
+ <img src="docs/assets/personal-workspace/capability-1.0.webp" alt="Real Workspace recording: configure child-task capacity and allowed responsibility domains" width="960">
111
+
112
+ From a source checkout, run `python -m demo.workspace serve` to explore a community
113
+ event, a home-energy comparison, and a neighborhood website release. Each has four
114
+ work roles, 18 tasks, two decisions, and two watches. The screenshot above comes
115
+ from this reproducible workspace. [Scenarios and replay instructions](demo/workspace/README.md).
116
+
117
+ [Watch the full 32-second walkthrough](docs/assets/personal-workspace/loopx-dashboard-launch.mp4)
118
+ · [Read the workspace guide](docs/guides/personal-workspace-user-guide.md)
119
+ · [Try the five-minute tour](docs/guides/personal-workspace-trial-guide.md)
120
+
121
+ <a id="how-it-works"></a>
122
+
123
+ ## Why LoopX
124
+
125
+ An agent can finish a task in one session. Long-running work is harder:
126
+ objectives change, owner decisions appear, evidence goes stale, agents hand work
127
+ to peers, and a scheduler can keep spending after no useful transition remains.
128
+ Chat memory and a timer are not enough to govern that.
129
+
130
+ LoopX keeps the durable control state in one compact layer:
131
+
132
+ ```text
133
+ objective / issue / project
134
+
135
+
136
+ LoopX state: objective + gates + todos + scope + evidence + quota
137
+
138
+ ├─ human judgment needed? ── yes ─▶ ask a concrete question and wait
139
+
140
+ ├─ safe fallback available? ──────▶ run one bounded agent slice
141
+
142
+
143
+ Codex / Claude Code / Cursor / shell agent executes one turn
144
+
145
+
146
+ write evidence + handoff + next todo ─▶ quota decides the next tick
147
+ ```
148
+
149
+ Agent runtimes execute the work. LoopX governs the state that lets engineering,
150
+ research, discovery, and operations loops continue across runs. It is not
151
+ another agent framework or a provider-specific orchestration runtime.
152
+
153
+ ![LoopX control-plane board](docs/assets/control-plane-board.svg)
154
+
155
+ A useful mental model is an
156
+ **[agent-native Kanban for long-running work](docs/development/control-plane-course/00-concept-primer.md)**.
157
+ Cards carry identity, authority, evidence, and continuation. Moves are validated
158
+ operators such as claim, gate, monitor, and writeback. The board is a
159
+ projection; LoopX state remains the source of truth.
160
+
161
+ Registered agents are peers. Claims, leases, task boundaries, capabilities, and
162
+ typed continuation decide who acts next; no durable leader identity is
163
+ required.
164
+
165
+ LoopX is useful when you run:
166
+
167
+ - multi-day engineering, research, benchmark, or experiment objectives;
168
+ - issue and PR loops that must preserve scope, evidence, and review state;
169
+ - recurring heartbeat or monitor work;
170
+ - projects with owner, safety, publication, or private-data gates;
171
+ - peer-agent teams where ownership, leases, and handoff matter;
172
+ - creator, research, or operations workflows whose progress must remain
173
+ legible to a non-engineering operator.
174
+
175
+ LoopX is not an autonomous production controller. Dangerous permissions,
176
+ publishing, production writes, and final ownership stay with the human.
177
+
178
+ <a id="see-it-in-action"></a>
179
+
180
+ ## Evidence
181
+
182
+ The public OpenViking contribution sequence and the redacted, owner-run
183
+ Auto ML showcase each span **200+ hours of elapsed loop lifetime**, preserving
184
+ bounded turns, decisions, and evidence updates. This measures wall-clock project
185
+ time, not continuous model execution or unattended production autonomy. Open
186
+ each visual to inspect the public-safe task graph, evidence branches, and
187
+ cross-turn decisions; each case states its source and reproducibility boundary.
188
+
189
+ ### Open-Source Issue Fix
190
+
191
+ **200+ hour public contribution arc: PR delivery and reusable fix knowledge
192
+ evolve together.**
193
+
194
+ <a href="docs/assets/long-running-loop-openviking-trajectory.png">
195
+ <img src="docs/assets/long-running-loop-openviking-trajectory.png" alt="Open-source issue-fix trajectory linking focused PR delivery with reusable LoopX capabilities" width="760">
196
+ </a>
197
+
198
+ LoopX's creator uses this path as an
199
+ [OpenViking contributor](https://github.com/volcengine/OpenViking/pulls?q=is%3Apr+author%3Ahuangruiteng).
200
+ The represented public contribution sequence spans more than 200 elapsed hours
201
+ from its first PR creation to the latest represented review or update. The
202
+ [Issue-Fix capability](loopx/capabilities/issue_fix/README.md) keeps rolling
203
+ repository context, revision-stamped fix knowledge, and reviewer-facing
204
+ preferences separate; linked PRs plus current checkout source and tests remain
205
+ authoritative.
206
+
207
+ ### Auto ML Experiment
208
+
209
+ **Redacted owner-run showcase: a 200+ hour experiment arc keeps hypotheses,
210
+ matched evidence, invalid lineages, running replicates, and promote/stop gates
211
+ visible in one graph.**
212
+
213
+ <a href="docs/assets/long-running-loop-ml-experiment-trajectory.png">
214
+ <img src="docs/assets/long-running-loop-ml-experiment-trajectory.png" alt="Auto ML Experiment trajectory with experiment lineages, evidence gates, and promotion decisions" width="760">
215
+ </a>
216
+
217
+ The redacted public-safe graph preserves decision lineage across that 200+ hour
218
+ elapsed window. It is an owner-run showcase, not a claim of continuous compute,
219
+ independent reproduction, a production result, or company or employer
220
+ endorsement. The redacted image is not sufficient to reproduce the underlying
221
+ experiment independently.
222
+
223
+ ### Auto Research
224
+
225
+ **Reproducible public KNN demo: proposer, executor, and evaluator/promoter agents
226
+ iterate in parallel while todo, quota, evidence, and targeted wake remain
227
+ visible.**
228
+
229
+ <a href="docs/assets/auto-research-multi-agent-showcase.png">
230
+ <img src="docs/assets/auto-research-multi-agent-showcase.png" alt="Auto Research multi-agent workspace with proposer, executor, evaluator/promoter, todo, quota, evidence, and targeted wake activity">
231
+ </a>
232
+
233
+ This screenshot comes from LoopX's built-in exact-KNN demo. The public task,
234
+ editable and protected files, deterministic CPU evaluator, and dev/held-out
235
+ commands all live in this repository. Follow the
236
+ [showcase walkthrough](docs/product/use-cases/auto-research/decentralized-auto-research-showcase.md)
237
+ or the [demo command path](demo/auto_research/README.md) to reproduce the
238
+ workflow; it is a demo result, not a production research claim.
239
+
240
+ ### Used In Real Projects
241
+
242
+ - **Independent user · `>13h` C++ accuracy run.** The user reported that a
243
+ multi-stage task stayed aligned, triggered public research, adopted a
244
+ [public code-memory tool](https://github.com/DeusData/codebase-memory-mcp),
245
+ and improved final precision. [Read the evidence boundary](docs/showcases/cases/independent-cpp-accuracy-long-run.md).
246
+ - **Independent user · `4d` unattended run.** The user reported four days
247
+ without human intervention, useful ongoing work, and a periodic report
248
+ surface. [Read the redacted case](docs/showcases/cases/independent-four-day-unattended-agent.md).
249
+ - **Independent user · `7` merged PRs.** A LoopX-attributed Engine refactor is
250
+ visible in a [public issue](https://github.com/zilliztech/mfs/issues/166) and
251
+ seven merged PRs; attribution and the reported `1B+` token scale remain user
252
+ reports. [Inspect the case](docs/showcases/cases/independent-public-engine-refactor.md).
253
+
254
+ These are the three strongest current cases, not the full inventory. Browse the
255
+ [complete Showcase catalog](docs/showcases/README.md) for contributor cases,
256
+ creator dogfooding, reproducible demos, and explicit evidence-strength labels.
257
+
258
+ ### Exploratory Benchmark Studies
259
+
260
+ - **[SWE-Marathon](https://loopx-project.github.io/loopx/benchmarks/swe-marathon/):**
261
+ Five execution modes on 15 matched tasks compare self-verification, scores,
262
+ and cost. More self-verification did not consistently yield higher scores.
263
+ - **[LHTB × LoopX](https://loopx-project.github.io/loopx/benchmarks/lhtb/):**
264
+ Five execution mechanisms on 46 long-horizon terminal tasks compare durable
265
+ state, bounded Todos, replanning, and fresh executor sessions.
266
+ - **[DeepSWE behavior analysis](https://loopx-project.github.io/loopx/benchmarks/deepswe/behavior-discovery/)** (Chinese):
267
+ Selected cases examine how domain hints relate to requirement retention and
268
+ verification choices, offering mechanism hypotheses for further testing.
269
+
270
+ SWE-Marathon and LHTB have one effective trial per task and mode; DeepSWE uses
271
+ selected cases and post-hoc analysis. None establishes a general performance
272
+ gain.
273
+
274
+ More inspectable surfaces:
275
+
276
+ - the [public homepage](https://loopx-project.github.io/loopx/) for the product
277
+ narrative, quick start, and long-running evidence;
278
+ - the [complete Showcase catalog](docs/showcases/README.md) and its
279
+ [bilingual hosted index](docs/showcases/index.html);
280
+ - the [cross-runtime implementation review demo](docs/product/use-cases/cross-runtime/cross-runtime-impl-review-demo.md);
281
+ - the public [user manual](https://my.feishu.cn/wiki/CaL5wMk9ui17ngkWzeUcMlAYnZg).
282
+
283
+ <a id="quick-start"></a>
284
+
285
+ ## Try LoopX
286
+
287
+ Requirements: Python 3.11+ and Node.js 22.18.0+; Node.js 24 LTS is recommended.
288
+ Use an active Python environment whose console scripts are on `PATH`; macOS and
289
+ Linux use a POSIX shell, while native Windows uses PowerShell 7. Node.js runs
290
+ the managed, idle-exiting TypeScript Effect core; LoopX starts it automatically.
291
+ Git is only needed for contributor clone/canary workflows.
292
+
293
+ Install from PyPI without cloning:
294
+
295
+ ```bash
296
+ python3 -m pip install --upgrade loopx
297
+ loopx workflow-skills --install
298
+ loopx doctor
299
+ ```
300
+
301
+ Existing installs can use `loopx update plan` and `loopx update apply`; LoopX
302
+ keeps the detected pip, pipx, or archive owner instead of switching channels.
303
+
304
+ On native Windows PowerShell 7, use the same PyPI release without a POSIX
305
+ compatibility layer:
306
+
307
+ ```powershell
308
+ py -3.11 -m pip install --upgrade loopx
309
+ loopx workflow-skills --install
310
+ loopx doctor
311
+ ```
312
+
313
+ Restart your agent host after first install so it reloads the workflow skills.
314
+ See [Installing LoopX](docs/guides/installing-loopx.md) for `pipx`, host
315
+ command surfaces, native Windows checkout installation, upgrade, rollback,
316
+ uninstall, and the archive fallback.
317
+
318
+ Then connect from your project root:
319
+
320
+ ```bash
321
+ cd /path/to/your-project
322
+ loopx connect
323
+ loopx status
324
+ ```
325
+
326
+ If the project has not been initialized and `connect` tells you state is
327
+ missing, use the guided path:
328
+
329
+ ```bash
330
+ loopx start-goal --guided --project . --goal-text "Your long-running objective"
331
+ ```
332
+
333
+ LoopX should reuse existing state rather than overwrite it. Keep `.loopx/`,
334
+ `.codex/goals/`, and `.local/` ignored.
335
+
336
+ ### Start From Your Agent
337
+
338
+ | Host | Recommended start | Loop driver |
339
+ | --- | --- | --- |
340
+ | Codex App | Ask the agent to connect this project to LoopX, run `loopx doctor`, preserve existing state, and report the current gate and next todo. Then use `$loopx <complex task>` or choose `loopx` from `/skills`. | Codex App heartbeat automation, refreshed from `quota should-run.scheduler_hint` |
341
+ | Codex App over SSH | `loopx agent-onboard --agent-type codex-app-ssh --project .` | The returned visible `/goal <task_body>` |
342
+ | Codex CLI | Start `codex` in the project, ask it to connect and diagnose LoopX, then use `$loopx <complex task>` or `/skills`. | Visible `/goal <task_body>`; no hidden headless execution by default |
343
+ | Claude Code | Install the opt-in adapter, then run `/loopx <task>` followed by `/loop`. | Native Claude Code `/loop` gated by LoopX |
344
+ | KunlunCode | Run `loopx-kunluncode connect --project . --goal-id <goal-id> --agent-id <registered-agent-id>`, add a bounded todo, then run `loopx-kunluncode run --project .`. | Native Goal Pro through app-server; LoopX writes completion and quota only after strict verification |
345
+ | OpenCode | Install the static command facade; opt in to `--with-goal-bridge` for recurring goals. | OpenCode command facade and explicit goal bridge |
346
+ | Pi | Install the opt-in goal extension with `loopx slash-commands --install --surface pi`, then use `/loopx <task>` from a trusted Pi session. | Visible Pi goal extension gated by LoopX quota (`loopx_goal_activate` + `agent_settled` continuation) |
347
+ | ZCode | Install the skill facade with `loopx slash-commands --install --surface zcode`, then invoke the `$loopx` skill (or `/loopx <complex task>`) from a ZCode session in the project. | The ZCode session's own turn loop; every continuation enters through `quota should-run` |
348
+ | Antigravity CLI (agy) | Install the skill facade with `loopx slash-commands --install --surface agy`, then invoke the `loopx` skill (or `/loopx <complex task>`) from an `agy` session in the project. | The session's native `/goal` loop (audited until `<!-- GOAL_COMPLETE -->`) with `schedule` self-wakes while the session lives; the facade instructs every turn/wake to re-enter through `quota should-run` — advisory pacing, not a host-enforced gate |
349
+ | Kiro CLI | Install the skill facade with `loopx slash-commands --install --surface kiro-cli`, then run `/loopx <complex task>` from a `kiro-cli` session in the project. | The session's native `/goal --max <N> <task_body> Done when: <criteria>` loop, with the acceptance criteria stated inside the goal statement because the host derives them from it, bounded by the host's own iteration budget (default 5) and settled through the built-in `goal` completion contract; the facade instructs every turn and iteration to re-enter through `quota should-run` — advisory pacing, not a host-enforced gate |
350
+ | DeepSeek Harness (dsh) | Install the [native DSH plugin](packages/dsh-loopx-plugin/README.md), select the `loopx` skill, and describe the task. The [dsh goal-mode adapter](loopx/dsh_goal_mode/README.md) remains available for headless turns. | Native same-session continuation and GoalBar, or headless dsh segments; both remain gated by LoopX authority |
351
+ | Cursor, shell, or custom runner | Use the installer and `loopx doctor`; connect manually or call LoopX from your runner. | Your shell, scheduler, or runner |
352
+
353
+ The exact, copy-ready setup messages and host recovery paths live in
354
+ [Getting Started](docs/guides/getting-started.md). Host integrations can inspect
355
+ the [Codex App host command registry contract](docs/reference/protocols/codex-app-host-command-registry-v0.md),
356
+ the [Codex CLI packaged install path](docs/product/runtimes/codex-cli/codex-cli-packaged-install.md),
357
+ the [Claude Code adapter](loopx/claude_goal_mode/README.md), the
358
+ [KunlunCode native Goal adapter](loopx/kunluncode_goal_mode/README.md), the
359
+ [Kiro CLI goal-mode adapter](loopx/kiro_cli_goal_mode/README.md), or the
360
+ [DeepSeek Harness turn adapter](loopx/dsh_goal_mode/README.md).
361
+
362
+ See the [60-second DSH × LoopX Replan recording and reproducible
363
+ fixture](docs/showcases/cases/dsh-loopx-replan-demo.md) for the native path:
364
+ install the plugin, select one skill, change a material constraint, and inspect
365
+ the preserved decision trail.
366
+
367
+ For custom runners, start with the
368
+ [minimal custom runtime example](docs/guides/minimal-custom-runtime-example.md)
369
+ (`python3 examples/custom-runtime-minimal-cli-turn-smoke.py`), then the full
370
+ [Embed LoopX in Your Agent Runner](docs/guides/custom-agent-runner-integration.md)
371
+ guide and the [worker bridge install contract](docs/integrations/worker-bridge-install-contract.md).
372
+ The core tick is deliberately small:
373
+
374
+ ```text
375
+ loopx quota should-run # should this registered agent act now?
376
+ loopx todo claim # who owns this slice?
377
+ loopx todo update # what changed?
378
+ loopx refresh-state # what should the next turn see?
379
+ loopx quota spend-slot # account for a completed, validated slice
380
+ ```
381
+
382
+ ### First-Run Feedback
383
+
384
+ If LoopX works for you, a one-minute public issue helps us learn what a real
385
+ first run looks like. It is optional, contains no telemetry, and should not
386
+ include logs, paths, credentials, internal project names, or goal contents:
387
+
388
+ - [First-run feedback](https://github.com/loopx-project/loopx/issues/new?template=first_run.yml)
389
+ - [Usage story for longer runs](https://github.com/loopx-project/loopx/issues/new?template=usage_story.yml)
390
+
391
+ `loopx first-run-report` prints the same prefilled link locally without
392
+ sending anything.
393
+
394
+ A successful connection has:
395
+
396
+ - `loopx doctor` passing;
397
+ - `.loopx/registry.json` and a projected active goal state;
398
+ - `loopx status` showing the current objective, concrete user gate, and next
399
+ agent todo;
400
+ - a visible loop driver or an exact activation instruction;
401
+ - local runtime state ignored rather than committed.
402
+
403
+ Clone-based install is only for contributors who want the live canary wrapper:
404
+
405
+ ```bash
406
+ git clone https://github.com/loopx-project/loopx ~/loopx
407
+ ~/loopx/scripts/install-local.sh
408
+ loopx doctor
409
+ ```
410
+
411
+ <a id="capability-surface"></a>
412
+
413
+ ## Capabilities
414
+
415
+ LoopX keeps the architecture explicit so the same governed outcome can survive
416
+ a change of agent harness or external provider. The terms describe different
417
+ boundaries rather than interchangeable kinds of plugin:
418
+
419
+ | Boundary | Meaning | Go deeper |
420
+ | --- | --- | --- |
421
+ | **Kernel** | Owns durable goal, todo, gate, evidence, quota, recovery, and scheduling truth. | [Architecture](docs/architecture.md) |
422
+ | **Capability** | Defines a stable, provider-neutral contract for producing one bounded, verifiable caller outcome from LoopX state. | [Capability catalog](loopx/capabilities/README.md) |
423
+ | **Provider** | Calls an external system or local implementation and returns bounded observations, effect results, and readback. | [Provider responsibilities](docs/reference/extensions.md#runtime-responsibilities) |
424
+ | **Extension** | Packages and operates an optional provider through explicit install, readiness, enable, upgrade, disable, and rollback lifecycle. | [Extension lifecycle](docs/reference/extensions.md#runtime-lifecycle) |
425
+
426
+ Host declarations such as `--available-capability shell` describe observed
427
+ execution support. They are runtime capacities in this product map, not product
428
+ capabilities and not permission grants. The effective capability still applies
429
+ its own policy and authority checks before proposing a transition.
430
+
431
+ ### Core Control-Plane Promises
432
+
433
+ The Kernel folds its mechanics into five questions. Each question delivers one
434
+ product promise on top of any agent harness: objective → long-horizon state;
435
+ next → semantic decisions; human judgment → human-agent collaboration;
436
+ evidence → recovery; continuation → governance.
437
+
438
+ | Question | What LoopX keeps visible |
439
+ | --- | --- |
440
+ | What is the objective? | The active goal, explicit scope, and current authority. |
441
+ | What happens next? | Ordered user and agent todos, ownership, claims, and leases. |
442
+ | What needs human judgment? | Concrete user gates instead of a vague "waiting for owner." |
443
+ | What evidence changed? | Compact run history, validation, blockers, and accepted writeback. |
444
+ | May the loop continue? | Quota, capabilities, safe fallback, scheduler hints, and stop conditions. |
445
+
446
+ ### Control-Plane Surface
447
+
448
+ | Surface | What it does | Start with |
449
+ | --- | --- | --- |
450
+ | Goal state and status | Tracks active state, todos, claims, gates, evidence, run history, and first-screen attention. | `loopx status`, `loopx diagnose`, `loopx review-packet` |
451
+ | Quota and interaction contract | Decides whether a turn should deliver, ask, wait, self-repair, or stay quiet. | `loopx quota should-run`, [quota allocation](docs/quota-allocation.md) |
452
+ | Agent runtime bridges | Keeps Codex App, Codex CLI, Claude Code, and generic workers aligned with the same guard. | `loopx heartbeat-prompt`, `loopx codex-cli-bootstrap-message`, `loopx worker-bridge` |
453
+ | Operator surfaces | Renders compact status without making the browser the state authority. | `loopx serve-status`, [dashboard](apps/presentation/dashboard/README.md) |
454
+ | Session dash | Starts a live single-page panel that tracks fleet progress: sessions, their goals, and each goal's status/todo progress, with result statistics; auto-refreshes in place. | `loopx dash`, [session dash design](docs/product/surfaces/session-dash-panel-design.md) |
455
+ | External projections | Projects todos and gates into collaboration surfaces while LoopX remains authoritative. | `loopx lark-kanban`, [Lark Kanban adapter](docs/integrations/lark-kanban-control-plane-adapter.md) |
456
+ | Domain capabilities | Packages repeatable work lanes such as issue fixing, content operations, value connector planning, ML experiment advice, benchmark evidence, and Explore. | `loopx issue-fix`, `loopx content-ops`, `loopx value-connectors`, `loopx ml-experiment`, `loopx benchmark`, [Explore](loopx/capabilities/explore/README.md) |
457
+ | Experimental context learning | Lets named registered agents trial provider-neutral Reward Memory through ignored, default-off project configuration. OpenViking is one provider option, not a global dependency. | `loopx reward-memory experiment-status`, [Reward Memory architecture](loopx/capabilities/reward_memory/README.md) |
458
+ | Governance patterns | Captures reusable routing, gate, evidence, projection, and planning shapes. | [interaction patterns](docs/concepts/interaction-pattern-catalog.md), [state model](docs/state-interaction-model.md) |
459
+
460
+ The shipped primitives include lifetime goals, concrete user gates, audited safe
461
+ fallbacks, peer todo ownership, quota and steering, compact run history,
462
+ evidence-backed handoff, a read-first management surface, project-level value
463
+ signals, and public/private boundary checks.
464
+
465
+ ### Product Capability Paths
466
+
467
+ Capabilities turn those generic primitives into outcome-owned work lanes. Start
468
+ from the outcome, then inspect the current registered implementation and its
469
+ write boundary:
470
+
471
+ | You need to... | Capability | Start with |
472
+ | --- | --- | --- |
473
+ | Turn a public issue into a reviewable, evidence-backed change | [Issue Fix](loopx/capabilities/issue_fix/README.md) | `loopx capability show issue-fix --format json` |
474
+ | Qualify the exact final diff before delivery | [Change Quality](loopx/capabilities/change_quality/README.md) | `loopx capability show change-quality-qualification --format json` |
475
+ | Preserve a changing stack of already reviewed branches | [Integration Branch](loopx/capabilities/integration_branch/README.md) | `loopx capability show integration-branch-reconcile --format json` |
476
+ | Explore uncertain research without losing hypotheses and findings | [Explore](loopx/capabilities/explore/README.md) | `loopx capability show explore --format json` |
477
+ | Rebase decisions on current evidence and verified outcomes | [Decision Context](loopx/capabilities/decision_context/README.md) | `loopx capability show decision-context --format json` |
478
+ | Produce scheduled or progress-triggered reports with receipts | [Periodic Report](loopx/capabilities/periodic_report/README.md) | `loopx capability show periodic-report --format json` |
479
+
480
+ Run `loopx capability list --format json` for the authoritative catalog in the
481
+ installed release. A capability detail reports its user value, maturity,
482
+ provider readiness, entry commands, write boundaries, protocols, and durable
483
+ validation. Browse the [human-readable capability index](loopx/capabilities/README.md)
484
+ to choose by outcome; use [Extensions and Capabilities](docs/reference/extensions.md)
485
+ when installing or building a provider.
486
+
487
+ ### Runtime Responsibilities
488
+
489
+ | Role | Responsibility |
490
+ | --- | --- |
491
+ | **Agent** | Plans, analyzes, uses tools, and performs one bounded action through a host/runtime. |
492
+ | **Provider** | Calls external systems and returns observations, effect results, and readback. |
493
+ | **Capability** | Defines the caller outcome, normalizes provider output, validates it, and proposes a typed transition. |
494
+ | **Kernel** | Owns durable todos, gates, monitors, accepted writeback, quota, recovery, and scheduling. |
495
+
496
+ The execution path is `Agent -> Capability -> Provider`; the control path
497
+ returns `Provider readback -> Capability transition -> Kernel`. An extension is
498
+ how an optional provider is packaged and managed, not another control-plane
499
+ owner. See [Architecture](docs/architecture.md) and
500
+ [Extensions and Capabilities](docs/reference/extensions.md).
501
+
502
+ ## Advanced Paths
503
+
504
+ The first useful loop does not require every optional surface. Add these only
505
+ when the work needs them.
506
+
507
+ Inspect the current goal's read-only capability catalog before enabling an
508
+ advanced path:
509
+
510
+ ```bash
511
+ loopx configure-goal --goal-id <goal-id>
512
+ ```
513
+
514
+ Without `--execute`, this reports current/default state, fit, boundaries, and
515
+ copyable commands without changing project state.
516
+
517
+ ### Presets and Auto Research
518
+
519
+ Safe presets cover daily triage, changelog drafts, and PR watching. The
520
+ one-command research path coordinates proposer, executor, and
521
+ evaluator/promoter roles while keeping quota and evidence visible. See the
522
+ [beginner preset guide](docs/product/foundations/beginner-loop-presets.md) and
523
+ [Auto Research demo path](demo/auto_research/README.md).
524
+
525
+ ```bash
526
+ loopx preset list
527
+ loopx preset show daily-triage
528
+ ```
529
+
530
+ Preset inspection is read-only. For a connected recurring goal,
531
+ `loopx ready-score --goal-id <goal-id> --agent-id <agent-id>` reports whether
532
+ the loop is ready to run repeatedly.
533
+
534
+ ### Governed Turns
535
+
536
+ LoopX can generate one pure, bounded turn decision from a validated receipt,
537
+ fresh quota state, and a provider-neutral budget. The current Codex CLI
538
+ quickstart and activation contract are documented in
539
+ [LoopX Turn for Codex CLI](docs/product/runtimes/codex-cli/loopx-turn-codex-cli-quickstart.md).
540
+
541
+ ### Explore Graph and Harness
542
+
543
+ Explore is supported, optional, and default-off. It works best when a task has
544
+ a measurable offline evaluation, baseline, treatment, and guardrails; it is not
545
+ a substitute for production approval. Start with the
546
+ [Explore capability](loopx/capabilities/explore/README.md) and its
547
+ [Lark presentation mapping](loopx/capabilities/explore/README.md#presentation-sink-lark-mapping).
548
+
549
+ ### Review Agent Work
550
+
551
+ Use `loopx review-packet` for a compact owner-facing view of decisions,
552
+ evidence, validation, and unresolved gates. The
553
+ [intelligent management surface](docs/product/surfaces/intelligent-management-surface.md)
554
+ describes the operator model; the
555
+ [project-level reward model](docs/product/foundations/project-level-reward-model.md)
556
+ describes conservative value signals across output quantity, quality, token
557
+ cost, and user attention cost.
558
+
559
+ For one concrete peer workflow, see the
560
+ [cross-runtime implementation review demo](docs/product/use-cases/cross-runtime/cross-runtime-impl-review-demo.md):
561
+ Claude implements and Codex reviews while LoopX keeps ownership, evidence,
562
+ quota, and handoff explicit.
563
+
564
+ ### App and Projection Paths
565
+
566
+ - Local read-first UI: [dashboard guide](apps/presentation/dashboard/README.md)
567
+ - Public product overview: [public homepage](https://loopx-project.github.io/loopx/)
568
+ - Documentation portal: [hosted docs](https://loopx-project.github.io/loopx/docs/)
569
+ - Feishu/Lark projection: [Lark Kanban adapter](docs/integrations/lark-kanban-control-plane-adapter.md)
570
+ - Generic host integration: [integration guide](docs/integration.md)
571
+ - Custom multi-agent runner:
572
+ [minimal custom runtime example](docs/guides/minimal-custom-runtime-example.md),
573
+ then [custom runner integration](docs/guides/custom-agent-runner-integration.md)
574
+
575
+ Optional projections make state easier to inspect; they do not become the
576
+ source of truth.
577
+
578
+ ### Operating and Recovery
579
+
580
+ Start daily inspection with:
581
+
582
+ ```bash
583
+ loopx status
584
+ loopx history --goal-id your-project-goal
585
+ loopx quota should-run --goal-id your-project-goal
586
+ ```
587
+
588
+ Automatic turns must check quota first and append spend only after validated
589
+ writeback. Quiet skips, preflight failures, and dry-run previews do not spend.
590
+ When a user gate blocks one lane, a separately audited safe fallback may
591
+ continue, but it must not bypass the gate.
592
+
593
+ Peer agents use `loopx todo claim` before delivery and `loopx todo update`
594
+ after validation so ownership and evidence remain visible.
595
+
596
+ Scheduler cadence follows `quota should-run.scheduler_hint`; installed Codex
597
+ App automations acknowledge the current hint through the returned
598
+ `ack_hint.cli_args`. Collision recovery, monitor semantics, self-repair, and
599
+ the exact operator commands are maintained in
600
+ [Getting Started](docs/guides/getting-started.md),
601
+ [Quota Allocation](docs/quota-allocation.md), and
602
+ [Long-Task Cadence Policy](docs/operations/long-task-cadence-policy.md).
603
+
604
+ Before publishing public docs or examples:
605
+
606
+ ```bash
607
+ loopx check \
608
+ --scan-path README.md \
609
+ --scan-path docs/ \
610
+ --scan-path examples/
611
+ ```
612
+
613
+ ## Current Technical Directions
614
+
615
+ LoopX has three active strategic programs plus an architecture and research
616
+ incubator. These are direction signals, not delivery promises; `main`, released
617
+ artifacts, and stable reference contracts remain the source of shipped truth.
618
+
619
+ - **Long-Horizon Benchmarks and Evidence:** reproducible capability evidence
620
+ and controlled mechanism research across complementary benchmark
621
+ environments. [Direction tracker](https://github.com/loopx-project/loopx/issues/3243)
622
+ - **Operator Surface and IM Integration:** an operator workspace, session
623
+ records, and bounded collaboration surfaces, currently incubating on a
624
+ dedicated integration branch with `@maxliux5` as implementation lead.
625
+ [Direction tracker](https://github.com/loopx-project/loopx/issues/3244)
626
+ - **Shared Goal Authority and Cross-host Coordination:** provider-neutral
627
+ coordination for explicitly shared goals, with NoKV as an unpromoted
628
+ provider candidate rather than a new control-plane authority.
629
+ [Direction tracker](https://github.com/loopx-project/loopx/issues/3245)
630
+ - **Architecture and Research Incubator:** Effect Program hardening,
631
+ TypeScript parity migration, hierarchical stride, research exploration,
632
+ human attention, artifact lifecycle, and memory utility work at explicitly
633
+ different maturity levels.
634
+ [Direction tracker](https://github.com/loopx-project/loopx/issues/3246)
635
+
636
+ Read the canonical
637
+ [Technical Directions map](docs/project/technical-directions.md) for stages,
638
+ promotion gates, contributor-safe cuts, and ownership boundaries. Use the
639
+ pinned [GitHub Discussion](https://github.com/loopx-project/loopx/discussions/2851)
640
+ for community discussion. Core control-plane reliability continues as the
641
+ shared foundation beneath these programs.
642
+
643
+ ## Advanced Documentation
644
+
645
+ Start with the path that matches your current task. Use the hosted
646
+ [documentation portal](https://loopx-project.github.io/loopx/docs/) for the
647
+ published docs site; the [documentation index](docs/README.md) remains the
648
+ complete source map. This list stays selective; each category index owns its
649
+ deeper documents and versioned protocols.
650
+
651
+ ### Use and Operate
652
+
653
+ - [Getting Started](docs/guides/getting-started.md): install, connect,
654
+ diagnose, daily workflow, heartbeats, dashboard, development, and commands.
655
+ - [User Manual](https://my.feishu.cn/wiki/CaL5wMk9ui17ngkWzeUcMlAYnZg):
656
+ public onboarding, concepts, FAQ, and selected cases.
657
+ - [Operations](docs/operations/README.md): goal continuation, todo, cadence,
658
+ attention, and authority workflows.
659
+ - [Quota Allocation](docs/quota-allocation.md) and
660
+ [Heartbeat Automation Prompt](docs/heartbeat-automation-prompt.md): scheduler
661
+ eligibility, spend, and scheduled continuation.
662
+ - [Dashboard](apps/presentation/dashboard/README.md) and
663
+ [Status Data Contract](docs/status-data-contract.md): operator-facing state
664
+ and projection contracts.
665
+ - [Release Readiness](docs/product/release-readiness.md): install/update paths,
666
+ compatibility gates, release notes, and safe-to-depend-on surfaces.
667
+
668
+ ### Understand the Control Plane
669
+
670
+ - [Architecture](docs/architecture.md): lifetime-goal invariant and kernel.
671
+ - [State Interaction Model](docs/state-interaction-model.md): actors, stores,
672
+ interaction contract, and writeback.
673
+ - [Concepts](docs/concepts/README.md): reusable routing, gate, evidence,
674
+ projection, and planning patterns.
675
+ - [Product Foundations](docs/product/foundations/README.md): Loop Engineering
676
+ principles, project-level reward, and reward-style replanning.
677
+ - [Product Vision](docs/product/vision.md): the broader Loop Agent direction.
678
+
679
+ ### Integrate and Extend
680
+
681
+ - [Integration Guide](docs/integration.md)
682
+ - [Minimal Custom Runtime Example](docs/guides/minimal-custom-runtime-example.md)
683
+ - [Custom Agent Runner Integration](docs/guides/custom-agent-runner-integration.md)
684
+ - [Integrations](docs/integrations/README.md): runtime, host, collaboration, and
685
+ external-system adapters, including worker bridge and Lark.
686
+ - [Extensions and Capabilities](docs/reference/extensions.md)
687
+
688
+ ### Build and Review LoopX
689
+
690
+ - [Developer Guide](docs/development/README.md): contributor workflows,
691
+ benchmark development, documentation layout, and quality gates.
692
+ - [Reference and Protocols](docs/reference/README.md): stable contracts and
693
+ versioned implementation protocols, including host command and reward memory
694
+ architecture.
695
+ - [Control-Plane Developer Course](docs/development/control-plane-course/README.md):
696
+ nine Chinese, code-led lectures.
697
+ - [Testing and Quality](docs/development/testing-and-quality.md): validation
698
+ layers and risk-based checks.
699
+ - [Public/Private Boundary](docs/public-private-boundary.md): safe fixtures,
700
+ examples, evidence, and publication.
701
+
702
+ ### Inspect Outcomes
703
+
704
+ - [Showcase Catalog](docs/showcases/README.md): public-safe cases and evidence
705
+ labels.
706
+ - [Research and Evidence](docs/research/README.md): benchmark investigations
707
+ and source-backed findings.
708
+ - [Update Notes](docs/update-notes/README.md): public-safe progress notes.
709
+
710
+ ### Project and Community
711
+
712
+ - [Current Technical Directions](docs/project/technical-directions.md)
713
+ - [Project Governance](.github/GOVERNANCE.md)
714
+ - [Contributing](CONTRIBUTING.md) and [Contributor Tasks](docs/development/contributor-tasks.md)
715
+ - [Authors and Contributors](docs/project/authors.md)
716
+ - [Project History](docs/project/history.md)
717
+ - [Name and Marks](docs/project/trademarks.md)
718
+ - [Brand Guide for External Use](docs/project/brand-guide.md): how projects and companies may reference LoopX, its integrations, and its artwork
719
+ - [ADOPTERS](ADOPTERS.md): voluntary self-attested adoption directory
720
+ - [Ecosystem Adoption](docs/community/ecosystem-adoption.md) - integrations,
721
+ sampling, and derivatives we observe and track
722
+
723
+ ## Partner Projects
724
+
725
+ LoopX welcomes collaboration with other open-source projects to build the
726
+ long-running agent ecosystem. Our confirmed partners include:
727
+
728
+ - [OpenViking](https://github.com/volcengine/OpenViking) - Self-evolving
729
+ context database for AI agents
730
+ - [NoKV](https://github.com/NoKV-Lab/NoKV) - AI native distributed file system
731
+
732
+ <a id="community--feedback"></a>
733
+
734
+ ## Community and Feedback
735
+
736
+ LoopX is already running real long-running agent goals and is under active
737
+ development. The most useful feedback comes from real long-running agent
738
+ projects: where the control plane helped, where it felt heavy, and which gates
739
+ or handoffs disappeared from view.
740
+
741
+ - Use [GitHub Issues](https://github.com/loopx-project/loopx/issues) for
742
+ reproducible bugs, install problems, and feature requests.
743
+ - Open PRs for docs fixes, showcase writeups, and small public-safe examples.
744
+ - Join the [Discord community](https://discord.gg/XmGgQyCFZd), or use Lark or
745
+ WeChat below.
746
+
747
+ See [Support](.github/SUPPORT.md) for channel routing, service boundaries, and
748
+ official publication sources.
749
+
750
+ <p align="center">
751
+ <a href="docs/assets/loopx-lark-developer-group.png"><img src="docs/assets/loopx-lark-developer-group.png" alt="LoopX Lark developer group QR code" width="280"></a>
752
+ <a href="docs/assets/loopx-wechat-contact.png"><img src="docs/assets/loopx-wechat-contact.png" alt="LoopX WeChat contact QR code" width="220"></a>
753
+ </p>
754
+ <p align="center">
755
+ <sub><strong>Lark:</strong> scan to join directly<br><strong>WeChat: <code>huangrt00</code></strong> · mention LoopX in the friend request</sub>
756
+ </p>
757
+
758
+ ## Contributing
759
+
760
+ External contributors should start with
761
+ [Contributor Tasks](docs/development/contributor-tasks.md) for public, claimable work and
762
+ [Contributing](CONTRIBUTING.md) for setup, validation, and boundary rules.
763
+ Project roles and public history are recorded in
764
+ [Governance](.github/GOVERNANCE.md),
765
+ [Authors and Contributors](docs/project/authors.md), and
766
+ [Project History](docs/project/history.md).
767
+
768
+ LoopX keeps local active state separate from the public repository. Do not
769
+ commit `.loopx/`, `.codex/goals/`, live `ACTIVE_GOAL_STATE.md`, raw benchmark
770
+ traces, credentials, private logs, or operator artifacts.
771
+
772
+ ## Current Status
773
+
774
+ LoopX 1.0 is a usable local control plane for long-running agent work and is
775
+ entering broader adoption. It is not a full agent platform, an agent runtime, or
776
+ an autonomous production controller.
777
+
778
+ Today LoopX ships a durable state kernel for goals, typed todos and decision
779
+ scopes, peer claims and leases, evidence and writeback, quota-aware scheduling,
780
+ and cross-turn continuation. Guided start, recurring heartbeat, isolated Codex
781
+ CLI turns, evidence-backed Issue-Fix admission, optional Explore and auto
782
+ research paths, public validation canaries, and the multi-project Personal
783
+ Workspace all build on that shared control state.
784
+
785
+ Support levels remain explicit. The state and CLI contracts are the stable
786
+ center; several host integrations and advanced paths are optional, default-off,
787
+ or experimental. LoopX does not grant credentials, approve destructive or
788
+ production actions, publish on a user's behalf without authorization, or turn
789
+ an unverified run into evidence of success.
790
+
791
+ Current investment is organized through the
792
+ [Technical Directions map](docs/project/technical-directions.md): long-horizon
793
+ benchmark evidence, operator surface and IM integration, shared-goal cross-host
794
+ coordination, and an explicitly staged architecture and research incubator.
795
+
796
+ ## Star History
797
+
798
+ <p align="center">
799
+ <a href="https://github.com/loopx-project/loopx/stargazers"><img src="https://loopx-project.github.io/loopx/site-assets/star-history.svg" alt="LoopX GitHub star history from verified snapshots" width="800"></a><br>
800
+ <sub>Generated every six hours from GitHub's official stargazer timestamps using a repository-authorized workflow. A snapshot is published only when the fetched rows match GitHub's current star count; GitHub's image cache may delay refreshes.</sub>
801
+ </p>
802
+
803
+ ## License
804
+
805
+ Apache License 2.0 beginning with `v0.4.8`. See [LICENSE](LICENSE) and
806
+ [NOTICE](NOTICE). Releases through `v0.4.7` remain under their original MIT
807
+ terms; the historical text and notice are preserved in
808
+ [LICENSE-MIT](LICENSE-MIT). The [licensing policy](docs/project/licensing.md)
809
+ explains the version, contribution, patent-grant, and open-core boundaries.
810
+
811
+ [osai-verify: eb42dd9cf910399988f0]: #