loopx 1.4.1__tar.gz → 1.4.2__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 (2281) hide show
  1. loopx-1.4.2/PKG-INFO +876 -0
  2. loopx-1.4.2/loopx/__init__.py +5 -0
  3. loopx-1.4.2/loopx/canary/premerge.py +1218 -0
  4. loopx-1.4.2/loopx/capabilities/context_providers/__init__.py +39 -0
  5. loopx-1.4.2/loopx/capabilities/context_providers/bm25.py +212 -0
  6. loopx-1.4.2/loopx/capabilities/context_providers/lexical_retrieval.py +59 -0
  7. loopx-1.4.2/loopx/capabilities/context_providers/openviking.py +1069 -0
  8. loopx-1.4.2/loopx/capabilities/explore/README.md +1231 -0
  9. loopx-1.4.2/loopx/capabilities/explore/README.zh-CN.md +525 -0
  10. loopx-1.4.2/loopx/capabilities/explore/result_log.py +1107 -0
  11. loopx-1.4.2/loopx/capabilities/explore/result_writeback.py +397 -0
  12. loopx-1.4.2/loopx/capabilities/native_chat/codex_attached.py +267 -0
  13. loopx-1.4.2/loopx/capabilities/native_chat/codex_background_control.py +63 -0
  14. loopx-1.4.2/loopx/capabilities/native_chat/codex_history.py +279 -0
  15. loopx-1.4.2/loopx/capabilities/native_chat/conversation_bindings.py +430 -0
  16. loopx-1.4.2/loopx/capabilities/native_chat/external_conversations.py +530 -0
  17. loopx-1.4.2/loopx/capabilities/pr_review_queue/repository_experience.py +178 -0
  18. loopx-1.4.2/loopx/capabilities/pr_review_queue/review_contract.py +1609 -0
  19. loopx-1.4.2/loopx/capabilities/progress_review/README.md +282 -0
  20. loopx-1.4.2/loopx/capabilities/progress_review/README.zh-CN.md +155 -0
  21. loopx-1.4.2/loopx/capabilities/progress_review/receipt.py +509 -0
  22. loopx-1.4.2/loopx/chat_action_normalization.py +833 -0
  23. loopx-1.4.2/loopx/chat_action_store.py +1557 -0
  24. loopx-1.4.2/loopx/chat_actions.py +1707 -0
  25. loopx-1.4.2/loopx/chat_agent.py +1787 -0
  26. loopx-1.4.2/loopx/chat_codex_goal.py +375 -0
  27. loopx-1.4.2/loopx/chat_runtime.py +2204 -0
  28. loopx-1.4.2/loopx/chat_server.py +1824 -0
  29. loopx-1.4.2/loopx/chat_status_api.py +276 -0
  30. loopx-1.4.2/loopx/claude_goal_mode/scripts/install.py +519 -0
  31. loopx-1.4.2/loopx/cli_commands/goal_acceptance.py +147 -0
  32. loopx-1.4.2/loopx/cli_commands/quota_monitor_poll.py +106 -0
  33. loopx-1.4.2/loopx/cli_commands/quota_request.py +200 -0
  34. loopx-1.4.2/loopx/cli_commands/support_control_backup.py +141 -0
  35. loopx-1.4.2/loopx/cli_commands/todo_registration.py +487 -0
  36. loopx-1.4.2/loopx/cli_commands/turn.py +345 -0
  37. loopx-1.4.2/loopx/cli_commands/turn_dsh_host.py +103 -0
  38. loopx-1.4.2/loopx/cli_commands/turn_registration.py +441 -0
  39. loopx-1.4.2/loopx/cli_commands/turn_run_once.py +950 -0
  40. loopx-1.4.2/loopx/cli_commands/turn_selection.py +131 -0
  41. loopx-1.4.2/loopx/collaboration_mcp.py +1979 -0
  42. loopx-1.4.2/loopx/contract.py +1409 -0
  43. loopx-1.4.2/loopx/control_plane/capabilities/explore_result_writeback.ts +274 -0
  44. loopx-1.4.2/loopx/control_plane/capabilities/explore_turn_context.ts +227 -0
  45. loopx-1.4.2/loopx/control_plane/collaboration/conversation_binding.ts +508 -0
  46. loopx-1.4.2/loopx/control_plane/collaboration/delegation.ts +654 -0
  47. loopx-1.4.2/loopx/control_plane/collaboration/delegation_validation.py +219 -0
  48. loopx-1.4.2/loopx/control_plane/collaboration/operation_handoff.py +351 -0
  49. loopx-1.4.2/loopx/control_plane/collaboration/operation_wake.py +233 -0
  50. loopx-1.4.2/loopx/control_plane/coordination/todo_create.ts +280 -0
  51. loopx-1.4.2/loopx/control_plane/effect_program.ts +964 -0
  52. loopx-1.4.2/loopx/control_plane/effect_runtime.py +1309 -0
  53. loopx-1.4.2/loopx/control_plane/effect_runtime_handlers.ts +813 -0
  54. loopx-1.4.2/loopx/control_plane/effect_runtime_io.ts +593 -0
  55. loopx-1.4.2/loopx/control_plane/effect_runtime_server.ts +315 -0
  56. loopx-1.4.2/loopx/control_plane/goals/acceptance.py +462 -0
  57. loopx-1.4.2/loopx/control_plane/goals/acceptance_actions.py +136 -0
  58. loopx-1.4.2/loopx/control_plane/goals/acceptance_authority.ts +497 -0
  59. loopx-1.4.2/loopx/control_plane/goals/acceptance_contract.ts +573 -0
  60. loopx-1.4.2/loopx/control_plane/goals/acceptance_http.py +130 -0
  61. loopx-1.4.2/loopx/control_plane/goals/acceptance_oracle.ts +135 -0
  62. loopx-1.4.2/loopx/control_plane/goals/acceptance_oracle_io.py +105 -0
  63. loopx-1.4.2/loopx/control_plane/goals/goal_frontier/__init__.py +1998 -0
  64. loopx-1.4.2/loopx/control_plane/heartbeat/budget.py +94 -0
  65. loopx-1.4.2/loopx/control_plane/heartbeat/rules.py +116 -0
  66. loopx-1.4.2/loopx/control_plane/heartbeat/task_body.py +818 -0
  67. loopx-1.4.2/loopx/control_plane/presentation/action_review_plan.ts +636 -0
  68. loopx-1.4.2/loopx/control_plane/presentation/goal_attention.ts +142 -0
  69. loopx-1.4.2/loopx/control_plane/presentation/goal_failure_status.ts +8 -0
  70. loopx-1.4.2/loopx/control_plane/quota/live_decision.py +804 -0
  71. loopx-1.4.2/loopx/control_plane/quota/monitor_poll.py +1055 -0
  72. loopx-1.4.2/loopx/control_plane/quota/monitor_poll_commit.ts +2527 -0
  73. loopx-1.4.2/loopx/control_plane/quota/unsettled_host_turn.py +484 -0
  74. loopx-1.4.2/loopx/control_plane/runtime/usage_statistics.ts +315 -0
  75. loopx-1.4.2/loopx/control_plane/runtime_decode.ts +76 -0
  76. loopx-1.4.2/loopx/control_plane/scheduler/legacy_monitor_poll.py +230 -0
  77. loopx-1.4.2/loopx/control_plane/scheduler/monitor_batch.ts +240 -0
  78. loopx-1.4.2/loopx/control_plane/scheduler/monitor_poll_writeback.py +140 -0
  79. loopx-1.4.2/loopx/control_plane/scheduler/monitor_successor.ts +148 -0
  80. loopx-1.4.2/loopx/control_plane/state_recovery.ts +294 -0
  81. loopx-1.4.2/loopx/control_plane/state_recovery_contract.ts +99 -0
  82. loopx-1.4.2/loopx/control_plane/state_recovery_io.py +442 -0
  83. loopx-1.4.2/loopx/control_plane/state_recovery_worker.ts +20 -0
  84. loopx-1.4.2/loopx/control_plane/status/collection.py +406 -0
  85. loopx-1.4.2/loopx/control_plane/testing/cli_output_budget.py +934 -0
  86. loopx-1.4.2/loopx/control_plane/testing/cli_output_differential.py +1098 -0
  87. loopx-1.4.2/loopx/control_plane/testing/cli_output_semantics.py +419 -0
  88. loopx-1.4.2/loopx/control_plane/todos/mutation_api.py +594 -0
  89. loopx-1.4.2/loopx/control_plane/todos/mutation_response.py +181 -0
  90. loopx-1.4.2/loopx/control_plane/todos/priority.ts +87 -0
  91. loopx-1.4.2/loopx/control_plane/todos/quota_selection.py +200 -0
  92. loopx-1.4.2/loopx/control_plane/todos/quota_selection.ts +483 -0
  93. loopx-1.4.2/loopx/control_plane/todos/text.py +27 -0
  94. loopx-1.4.2/loopx/control_plane/turn_driver/codex_cli.py +873 -0
  95. loopx-1.4.2/loopx/control_plane/turn_driver/codex_operation_host.py +488 -0
  96. loopx-1.4.2/loopx/control_plane/turn_driver/codex_sessions.py +462 -0
  97. loopx-1.4.2/loopx/control_plane/turn_driver/dsh_operation_connection.py +250 -0
  98. loopx-1.4.2/loopx/control_plane/turn_driver/dsh_operation_host.py +508 -0
  99. loopx-1.4.2/loopx/control_plane/turn_driver/host_binding.py +464 -0
  100. loopx-1.4.2/loopx/control_plane/turn_driver/subagent_host_adapter.py +45 -0
  101. loopx-1.4.2/loopx/control_plane/work_items/attention_queue.py +387 -0
  102. loopx-1.4.2/loopx/control_plane/work_items/interaction_contract.ts +433 -0
  103. loopx-1.4.2/loopx/control_plane/work_items/operation_agent_handoff.ts +396 -0
  104. loopx-1.4.2/loopx/control_plane/work_items/replan_context.ts +428 -0
  105. loopx-1.4.2/loopx/control_plane/work_items/replan_context_codec.py +189 -0
  106. loopx-1.4.2/loopx/control_plane/work_items/replan_semantics.ts +456 -0
  107. loopx-1.4.2/loopx/control_plane/work_items/stride_policy.ts +328 -0
  108. loopx-1.4.2/loopx/extensions/ego_source_reader.py +569 -0
  109. loopx-1.4.2/loopx/extensions/lark/event_collector.py +787 -0
  110. loopx-1.4.2/loopx/extensions/lark/event_collector_runtime.py +1255 -0
  111. loopx-1.4.2/loopx/extensions/lark/goal_channel_message_delivery.py +654 -0
  112. loopx-1.4.2/loopx/extensions/lark/private_conversations.py +839 -0
  113. loopx-1.4.2/loopx/lexical_retrieval.py +15 -0
  114. loopx-1.4.2/loopx/opencode2_goal_mode/README.md +94 -0
  115. loopx-1.4.2/loopx/opencode2_goal_mode/opencode2-goal-worker.mjs +1007 -0
  116. loopx-1.4.2/loopx/opencode_goal_mode/README.md +110 -0
  117. loopx-1.4.2/loopx/opencode_goal_mode/goal-bridge-runtime.mjs +859 -0
  118. loopx-1.4.2/loopx/pi_goal_mode/README.md +169 -0
  119. loopx-1.4.2/loopx/pi_goal_mode/pi-goal-loop-runtime.mjs +1155 -0
  120. loopx-1.4.2/loopx/presentation/codex_attached_api.py +354 -0
  121. loopx-1.4.2/loopx/presentation/configuration_api.py +99 -0
  122. loopx-1.4.2/loopx/presentation/state_recovery_api.py +152 -0
  123. loopx-1.4.2/loopx/quota.py +1703 -0
  124. loopx-1.4.2/loopx/runtime.py +292 -0
  125. loopx-1.4.2/loopx/semantics/vocabulary_v0.json +1208 -0
  126. loopx-1.4.2/loopx/status.py +1386 -0
  127. loopx-1.4.2/loopx/web/chat/asset-retention.json +54 -0
  128. loopx-1.4.2/loopx/web/chat/assets/answer-report-page-4rJjcBWr.js +1 -0
  129. loopx-1.4.2/loopx/web/chat/assets/answer-report-page-qfpC8lma.css +1 -0
  130. loopx-1.4.2/loopx/web/chat/assets/badge-BGRqNL3b.js +1 -0
  131. loopx-1.4.2/loopx/web/chat/assets/benchmark-study-page-BtCic73d.js +1 -0
  132. loopx-1.4.2/loopx/web/chat/assets/benchmark-study-page-CTsnpLZo.css +1 -0
  133. loopx-1.4.2/loopx/web/chat/assets/chat-CEweaBEE.js +72 -0
  134. loopx-1.4.2/loopx/web/chat/assets/code-xml-DNj6oH3U.js +1 -0
  135. loopx-1.4.2/loopx/web/chat/assets/delivery-review-copy-CKMO6K_4.js +1 -0
  136. loopx-1.4.2/loopx/web/chat/assets/frontstage-developer-page-Dc9ZHglC.js +1 -0
  137. loopx-1.4.2/loopx/web/chat/assets/index-BD9Noep2.js +9 -0
  138. loopx-1.4.2/loopx/web/chat/assets/index-BF5oQnzX.css +2 -0
  139. loopx-1.4.2/loopx/web/chat/assets/jsx-runtime-Dp20Wuwv.js +1 -0
  140. loopx-1.4.2/loopx/web/chat/assets/personal-workspace-dkfbjed9.css +1 -0
  141. loopx-1.4.2/loopx/web/chat/assets/personal-workspace-xrS4eVbl.js +4 -0
  142. loopx-1.4.2/loopx/web/chat/assets/router-CkOwTKKf.js +25 -0
  143. loopx-1.4.2/loopx/web/chat/assets/router-D6ZGLcL_.css +1 -0
  144. loopx-1.4.2/loopx/web/chat/assets/shield-check-G8xByLq6.js +1 -0
  145. loopx-1.4.2/loopx/web/chat/assets/workspace-settings-page-CgUBa-WB.css +1 -0
  146. loopx-1.4.2/loopx/web/chat/assets/workspace-settings-page-DOpGqtHQ.js +9 -0
  147. loopx-1.4.2/loopx/web/chat/bundle-manifest.json +606 -0
  148. loopx-1.4.2/loopx/web/chat/index.html +48 -0
  149. loopx-1.4.2/loopx/workflow_skill_install.py +486 -0
  150. loopx-1.4.2/loopx.egg-info/PKG-INFO +876 -0
  151. loopx-1.4.2/loopx.egg-info/SOURCES.txt +2132 -0
  152. loopx-1.4.2/pyproject.toml +211 -0
  153. loopx-1.4.2/skills/loopx-project/SKILL.md +1133 -0
  154. loopx-1.4.2/skills/loopx-self-repair/references/repair-patterns.md +320 -0
  155. loopx-1.4.2/skills/loopx-self-repair/scripts/find_pattern.py +126 -0
  156. loopx-1.4.2/tests/test_chat_agent.py +1660 -0
  157. loopx-1.4.2/tests/test_chat_codex_goal.py +568 -0
  158. loopx-1.4.2/tests/test_chat_completed_background_stop.py +219 -0
  159. loopx-1.4.2/tests/test_chat_conversation_bindings.py +665 -0
  160. loopx-1.4.2/tests/test_chat_server_cors.py +683 -0
  161. loopx-1.4.2/tests/test_chat_session_active_turn.py +2041 -0
  162. loopx-1.4.2/tests/test_chat_todo_priority.py +44 -0
  163. loopx-1.4.2/tests/test_ci_resource_policy.py +213 -0
  164. loopx-1.4.2/tests/test_claude_goal_harden_settings_preservation.py +182 -0
  165. loopx-1.4.2/tests/test_collaboration_mcp.py +215 -0
  166. loopx-1.4.2/tests/test_contract_scan_unreadable_directories.py +297 -0
  167. loopx-1.4.2/tests/test_ego_source_reader.py +1011 -0
  168. loopx-1.4.2/tests/test_external_scheduler_worker.py +467 -0
  169. loopx-1.4.2/tests/test_independent_delegation_validation.py +362 -0
  170. loopx-1.4.2/tests/test_lark_private_conversations.py +1714 -0
  171. loopx-1.4.2/tests/test_lark_private_feedback.py +385 -0
  172. loopx-1.4.2/tests/test_lexical_retrieval.py +65 -0
  173. loopx-1.4.2/tests/test_loopx_turn_codex_cli.py +1422 -0
  174. loopx-1.4.2/tests/test_loopx_turn_driver.py +3877 -0
  175. loopx-1.4.2/tests/test_manager_context_tracking.py +432 -0
  176. loopx-1.4.2/tests/test_python_ci_workflow.py +531 -0
  177. loopx-1.4.2/tests/test_repair_pattern_lookup.py +143 -0
  178. loopx-1.4.2/tests/test_runtime_archive_concurrency.py +731 -0
  179. loopx-1.4.2/tests/test_sonarcloud_workflow.py +133 -0
  180. loopx-1.4.2/tests/test_state_backup.py +391 -0
  181. loopx-1.4.2/tests/test_state_recovery.py +508 -0
  182. loopx-1.4.2/tests/test_status_missing_registry.py +35 -0
  183. loopx-1.4.2/tests/test_subagent_host_adapter.py +102 -0
  184. loopx-1.4.2/tests/test_todo_write_serialization.py +152 -0
  185. loopx-1.4.2/tests/test_turn_managed_executor_binding.py +609 -0
  186. loopx-1.4.2/tests/test_workflow_skill_install.py +553 -0
  187. loopx-1.4.2/tests/test_zcode_host_diagnostics.py +389 -0
  188. loopx-1.4.1/PKG-INFO +0 -876
  189. loopx-1.4.1/loopx/__init__.py +0 -5
  190. loopx-1.4.1/loopx/canary/premerge.py +0 -1208
  191. loopx-1.4.1/loopx/capabilities/context_providers/__init__.py +0 -36
  192. loopx-1.4.1/loopx/capabilities/context_providers/openviking.py +0 -1029
  193. loopx-1.4.1/loopx/capabilities/explore/README.md +0 -1184
  194. loopx-1.4.1/loopx/capabilities/explore/README.zh-CN.md +0 -494
  195. loopx-1.4.1/loopx/capabilities/explore/result_log.py +0 -1099
  196. loopx-1.4.1/loopx/capabilities/explore/result_writeback.py +0 -358
  197. loopx-1.4.1/loopx/capabilities/native_chat/conversation_bindings.py +0 -425
  198. loopx-1.4.1/loopx/capabilities/native_chat/external_conversations.py +0 -520
  199. loopx-1.4.1/loopx/capabilities/pr_review_queue/repository_experience.py +0 -178
  200. loopx-1.4.1/loopx/capabilities/pr_review_queue/review_contract.py +0 -1597
  201. loopx-1.4.1/loopx/capabilities/progress_review/README.md +0 -273
  202. loopx-1.4.1/loopx/capabilities/progress_review/README.zh-CN.md +0 -153
  203. loopx-1.4.1/loopx/capabilities/progress_review/receipt.py +0 -491
  204. loopx-1.4.1/loopx/chat_action_normalization.py +0 -812
  205. loopx-1.4.1/loopx/chat_action_store.py +0 -1533
  206. loopx-1.4.1/loopx/chat_actions.py +0 -1696
  207. loopx-1.4.1/loopx/chat_agent.py +0 -1762
  208. loopx-1.4.1/loopx/chat_codex_goal.py +0 -348
  209. loopx-1.4.1/loopx/chat_runtime.py +0 -2202
  210. loopx-1.4.1/loopx/chat_server.py +0 -1819
  211. loopx-1.4.1/loopx/chat_status_api.py +0 -256
  212. loopx-1.4.1/loopx/claude_goal_mode/scripts/install.py +0 -448
  213. loopx-1.4.1/loopx/cli_commands/goal_acceptance.py +0 -136
  214. loopx-1.4.1/loopx/cli_commands/quota_monitor_poll.py +0 -104
  215. loopx-1.4.1/loopx/cli_commands/quota_request.py +0 -191
  216. loopx-1.4.1/loopx/cli_commands/support_control_backup.py +0 -115
  217. loopx-1.4.1/loopx/cli_commands/todo_registration.py +0 -487
  218. loopx-1.4.1/loopx/cli_commands/turn.py +0 -327
  219. loopx-1.4.1/loopx/cli_commands/turn_dsh_host.py +0 -56
  220. loopx-1.4.1/loopx/cli_commands/turn_registration.py +0 -433
  221. loopx-1.4.1/loopx/cli_commands/turn_run_once.py +0 -938
  222. loopx-1.4.1/loopx/cli_commands/turn_selection.py +0 -130
  223. loopx-1.4.1/loopx/collaboration_mcp.py +0 -1982
  224. loopx-1.4.1/loopx/contract.py +0 -1287
  225. loopx-1.4.1/loopx/control_plane/capabilities/explore_result_writeback.ts +0 -181
  226. loopx-1.4.1/loopx/control_plane/capabilities/explore_turn_context.ts +0 -199
  227. loopx-1.4.1/loopx/control_plane/collaboration/conversation_binding.ts +0 -500
  228. loopx-1.4.1/loopx/control_plane/collaboration/delegation.ts +0 -634
  229. loopx-1.4.1/loopx/control_plane/collaboration/delegation_validation.py +0 -218
  230. loopx-1.4.1/loopx/control_plane/collaboration/operation_handoff.py +0 -349
  231. loopx-1.4.1/loopx/control_plane/collaboration/operation_wake.py +0 -112
  232. loopx-1.4.1/loopx/control_plane/coordination/todo_create.ts +0 -280
  233. loopx-1.4.1/loopx/control_plane/effect_program.ts +0 -964
  234. loopx-1.4.1/loopx/control_plane/effect_runtime.py +0 -1307
  235. loopx-1.4.1/loopx/control_plane/effect_runtime_handlers.ts +0 -806
  236. loopx-1.4.1/loopx/control_plane/effect_runtime_io.ts +0 -581
  237. loopx-1.4.1/loopx/control_plane/effect_runtime_server.ts +0 -313
  238. loopx-1.4.1/loopx/control_plane/goals/acceptance.py +0 -410
  239. loopx-1.4.1/loopx/control_plane/goals/acceptance_authority.ts +0 -487
  240. loopx-1.4.1/loopx/control_plane/goals/acceptance_contract.ts +0 -565
  241. loopx-1.4.1/loopx/control_plane/goals/goal_frontier/__init__.py +0 -1995
  242. loopx-1.4.1/loopx/control_plane/heartbeat/budget.py +0 -94
  243. loopx-1.4.1/loopx/control_plane/heartbeat/rules.py +0 -113
  244. loopx-1.4.1/loopx/control_plane/heartbeat/task_body.py +0 -822
  245. loopx-1.4.1/loopx/control_plane/presentation/action_review_plan.ts +0 -626
  246. loopx-1.4.1/loopx/control_plane/presentation/goal_attention.ts +0 -112
  247. loopx-1.4.1/loopx/control_plane/quota/live_decision.py +0 -796
  248. loopx-1.4.1/loopx/control_plane/quota/monitor_poll.py +0 -1045
  249. loopx-1.4.1/loopx/control_plane/quota/monitor_poll_commit.ts +0 -2517
  250. loopx-1.4.1/loopx/control_plane/quota/unsettled_host_turn.py +0 -426
  251. loopx-1.4.1/loopx/control_plane/runtime/usage_statistics.ts +0 -313
  252. loopx-1.4.1/loopx/control_plane/runtime_decode.ts +0 -75
  253. loopx-1.4.1/loopx/control_plane/scheduler/legacy_monitor_poll.py +0 -229
  254. loopx-1.4.1/loopx/control_plane/scheduler/monitor_batch.ts +0 -237
  255. loopx-1.4.1/loopx/control_plane/scheduler/monitor_poll_writeback.py +0 -133
  256. loopx-1.4.1/loopx/control_plane/scheduler/monitor_successor.ts +0 -132
  257. loopx-1.4.1/loopx/control_plane/status/collection.py +0 -404
  258. loopx-1.4.1/loopx/control_plane/testing/cli_output_budget.py +0 -934
  259. loopx-1.4.1/loopx/control_plane/testing/cli_output_differential.py +0 -1056
  260. loopx-1.4.1/loopx/control_plane/testing/cli_output_semantics.py +0 -347
  261. loopx-1.4.1/loopx/control_plane/todos/mutation_api.py +0 -589
  262. loopx-1.4.1/loopx/control_plane/todos/mutation_response.py +0 -178
  263. loopx-1.4.1/loopx/control_plane/todos/priority.ts +0 -75
  264. loopx-1.4.1/loopx/control_plane/todos/quota_selection.py +0 -158
  265. loopx-1.4.1/loopx/control_plane/todos/quota_selection.ts +0 -457
  266. loopx-1.4.1/loopx/control_plane/todos/text.py +0 -24
  267. loopx-1.4.1/loopx/control_plane/turn_driver/codex_cli.py +0 -873
  268. loopx-1.4.1/loopx/control_plane/turn_driver/codex_operation_host.py +0 -479
  269. loopx-1.4.1/loopx/control_plane/turn_driver/codex_sessions.py +0 -437
  270. loopx-1.4.1/loopx/control_plane/turn_driver/host_binding.py +0 -458
  271. loopx-1.4.1/loopx/control_plane/turn_driver/subagent_host_adapter.py +0 -45
  272. loopx-1.4.1/loopx/control_plane/work_items/attention_queue.py +0 -367
  273. loopx-1.4.1/loopx/control_plane/work_items/interaction_contract.ts +0 -430
  274. loopx-1.4.1/loopx/control_plane/work_items/operation_agent_handoff.ts +0 -347
  275. loopx-1.4.1/loopx/control_plane/work_items/replan_context.ts +0 -404
  276. loopx-1.4.1/loopx/control_plane/work_items/replan_context_codec.py +0 -187
  277. loopx-1.4.1/loopx/control_plane/work_items/replan_semantics.ts +0 -452
  278. loopx-1.4.1/loopx/control_plane/work_items/stride_policy.ts +0 -324
  279. loopx-1.4.1/loopx/extensions/ego_source_reader.py +0 -533
  280. loopx-1.4.1/loopx/extensions/lark/event_collector.py +0 -776
  281. loopx-1.4.1/loopx/extensions/lark/event_collector_runtime.py +0 -1246
  282. loopx-1.4.1/loopx/extensions/lark/goal_channel_message_delivery.py +0 -633
  283. loopx-1.4.1/loopx/extensions/lark/private_conversations.py +0 -775
  284. loopx-1.4.1/loopx/lexical_retrieval.py +0 -52
  285. loopx-1.4.1/loopx/opencode2_goal_mode/README.md +0 -81
  286. loopx-1.4.1/loopx/opencode2_goal_mode/opencode2-goal-worker.mjs +0 -1018
  287. loopx-1.4.1/loopx/opencode_goal_mode/README.md +0 -99
  288. loopx-1.4.1/loopx/opencode_goal_mode/goal-bridge-runtime.mjs +0 -858
  289. loopx-1.4.1/loopx/pi_goal_mode/README.md +0 -157
  290. loopx-1.4.1/loopx/pi_goal_mode/pi-goal-loop-runtime.mjs +0 -1141
  291. loopx-1.4.1/loopx/presentation/configuration_api.py +0 -86
  292. loopx-1.4.1/loopx/quota.py +0 -1699
  293. loopx-1.4.1/loopx/runtime.py +0 -231
  294. loopx-1.4.1/loopx/semantics/vocabulary_v0.json +0 -1189
  295. loopx-1.4.1/loopx/status.py +0 -1384
  296. loopx-1.4.1/loopx/web/chat/asset-retention.json +0 -37
  297. loopx-1.4.1/loopx/web/chat/assets/index-BDnFunpe.js +0 -107
  298. loopx-1.4.1/loopx/web/chat/assets/index-CCVdv1fB.css +0 -1
  299. loopx-1.4.1/loopx/web/chat/bundle-manifest.json +0 -556
  300. loopx-1.4.1/loopx/web/chat/index.html +0 -39
  301. loopx-1.4.1/loopx/workflow_skill_install.py +0 -485
  302. loopx-1.4.1/loopx.egg-info/PKG-INFO +0 -876
  303. loopx-1.4.1/loopx.egg-info/SOURCES.txt +0 -2092
  304. loopx-1.4.1/pyproject.toml +0 -211
  305. loopx-1.4.1/skills/loopx-project/SKILL.md +0 -1127
  306. loopx-1.4.1/skills/loopx-self-repair/references/repair-patterns.md +0 -319
  307. loopx-1.4.1/skills/loopx-self-repair/scripts/find_pattern.py +0 -125
  308. loopx-1.4.1/tests/test_chat_agent.py +0 -1644
  309. loopx-1.4.1/tests/test_chat_codex_goal.py +0 -488
  310. loopx-1.4.1/tests/test_chat_conversation_bindings.py +0 -629
  311. loopx-1.4.1/tests/test_chat_server_cors.py +0 -645
  312. loopx-1.4.1/tests/test_chat_session_active_turn.py +0 -2028
  313. loopx-1.4.1/tests/test_chat_todo_priority.py +0 -34
  314. loopx-1.4.1/tests/test_ci_resource_policy.py +0 -168
  315. loopx-1.4.1/tests/test_collaboration_mcp.py +0 -215
  316. loopx-1.4.1/tests/test_ego_source_reader.py +0 -949
  317. loopx-1.4.1/tests/test_external_scheduler_worker.py +0 -433
  318. loopx-1.4.1/tests/test_independent_delegation_validation.py +0 -319
  319. loopx-1.4.1/tests/test_lark_private_conversations.py +0 -1640
  320. loopx-1.4.1/tests/test_lark_private_feedback.py +0 -151
  321. loopx-1.4.1/tests/test_lexical_retrieval.py +0 -28
  322. loopx-1.4.1/tests/test_loopx_turn_codex_cli.py +0 -1422
  323. loopx-1.4.1/tests/test_loopx_turn_driver.py +0 -3877
  324. loopx-1.4.1/tests/test_manager_context_tracking.py +0 -432
  325. loopx-1.4.1/tests/test_python_ci_workflow.py +0 -520
  326. loopx-1.4.1/tests/test_repair_pattern_lookup.py +0 -143
  327. loopx-1.4.1/tests/test_runtime_archive_concurrency.py +0 -625
  328. loopx-1.4.1/tests/test_sonarcloud_workflow.py +0 -127
  329. loopx-1.4.1/tests/test_state_backup.py +0 -401
  330. loopx-1.4.1/tests/test_subagent_host_adapter.py +0 -83
  331. loopx-1.4.1/tests/test_todo_write_serialization.py +0 -152
  332. loopx-1.4.1/tests/test_turn_managed_executor_binding.py +0 -589
  333. loopx-1.4.1/tests/test_workflow_skill_install.py +0 -552
  334. loopx-1.4.1/tests/test_zcode_host_diagnostics.py +0 -388
  335. {loopx-1.4.1 → loopx-1.4.2}/LICENSE +0 -0
  336. {loopx-1.4.1 → loopx-1.4.2}/LICENSE-MIT +0 -0
  337. {loopx-1.4.1 → loopx-1.4.2}/MANIFEST.in +0 -0
  338. {loopx-1.4.1 → loopx-1.4.2}/NOTICE +0 -0
  339. {loopx-1.4.1 → loopx-1.4.2}/README.md +0 -0
  340. {loopx-1.4.1 → loopx-1.4.2}/loopx/activation_qualification.py +0 -0
  341. {loopx-1.4.1 → loopx-1.4.2}/loopx/agent_onboarding.py +0 -0
  342. {loopx-1.4.1 → loopx-1.4.2}/loopx/agent_registry.py +0 -0
  343. {loopx-1.4.1 → loopx-1.4.2}/loopx/agy_goal_mode/README.md +0 -0
  344. {loopx-1.4.1 → loopx-1.4.2}/loopx/agy_goal_mode/__init__.py +0 -0
  345. {loopx-1.4.1 → loopx-1.4.2}/loopx/ark_managed_agent_host.py +0 -0
  346. {loopx-1.4.1 → loopx-1.4.2}/loopx/attached_session.py +0 -0
  347. {loopx-1.4.1 → loopx-1.4.2}/loopx/attached_session_api.py +0 -0
  348. {loopx-1.4.1 → loopx-1.4.2}/loopx/authority.py +0 -0
  349. {loopx-1.4.1 → loopx-1.4.2}/loopx/bootstrap.py +0 -0
  350. {loopx-1.4.1 → loopx-1.4.2}/loopx/bootstrap_command_pack.py +0 -0
  351. {loopx-1.4.1 → loopx-1.4.2}/loopx/boundary_authority.py +0 -0
  352. {loopx-1.4.1 → loopx-1.4.2}/loopx/canary/__init__.py +0 -0
  353. {loopx-1.4.1 → loopx-1.4.2}/loopx/canary/maintainability_ratchet.py +0 -0
  354. {loopx-1.4.1 → loopx-1.4.2}/loopx/canary/package_profiles.py +0 -0
  355. {loopx-1.4.1 → loopx-1.4.2}/loopx/canary/planner.py +0 -0
  356. {loopx-1.4.1 → loopx-1.4.2}/loopx/canary/qualification_profiles.py +0 -0
  357. {loopx-1.4.1 → loopx-1.4.2}/loopx/canary/quality_surface_catalog.py +0 -0
  358. {loopx-1.4.1 → loopx-1.4.2}/loopx/canary/release_profiles.py +0 -0
  359. {loopx-1.4.1 → loopx-1.4.2}/loopx/canary/runner.py +0 -0
  360. {loopx-1.4.1 → loopx-1.4.2}/loopx/canary/smoke_health.py +0 -0
  361. {loopx-1.4.1 → loopx-1.4.2}/loopx/canary/smoke_profiles.py +0 -0
  362. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/README.md +0 -0
  363. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/__init__.py +0 -0
  364. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/agent_turn_recall/README.md +0 -0
  365. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/agent_turn_recall/__init__.py +0 -0
  366. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/agent_turn_recall/catalog_entry.py +0 -0
  367. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/agent_turn_recall/cli.py +0 -0
  368. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/agent_turn_recall/core.py +0 -0
  369. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/agent_turn_recall/runtime.py +0 -0
  370. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/benchmark_toolkit/README.md +0 -0
  371. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/benchmark_toolkit/__init__.py +0 -0
  372. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/benchmark_toolkit/adaptive_concurrency.py +0 -0
  373. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/benchmark_toolkit/artifacts.py +0 -0
  374. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/benchmark_toolkit/behavior_finding.py +0 -0
  375. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/benchmark_toolkit/catalog_entry.py +0 -0
  376. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/benchmark_toolkit/concurrency_envelope.py +0 -0
  377. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/benchmark_toolkit/container_binding.py +0 -0
  378. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/benchmark_toolkit/continuation.py +0 -0
  379. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/benchmark_toolkit/environment_access.py +0 -0
  380. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/benchmark_toolkit/experiment_board.py +0 -0
  381. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/benchmark_toolkit/experiment_identity.py +0 -0
  382. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/benchmark_toolkit/factorial_contrast.py +0 -0
  383. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/benchmark_toolkit/four_arm_contract.py +0 -0
  384. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/benchmark_toolkit/integrity.py +0 -0
  385. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/benchmark_toolkit/native_codex_goal.py +0 -0
  386. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/benchmark_toolkit/native_codex_isolation.py +0 -0
  387. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/benchmark_toolkit/native_codex_profile.py +0 -0
  388. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/benchmark_toolkit/provider_gateway.py +0 -0
  389. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/benchmark_toolkit/public_trajectory.py +0 -0
  390. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/benchmark_toolkit/reward_contract.py +0 -0
  391. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/benchmark_toolkit/run_permissions.py +0 -0
  392. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/benchmark_toolkit/runtime_continuity.py +0 -0
  393. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/benchmark_toolkit/runtime_observation.py +0 -0
  394. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/benchmark_toolkit/source_revision_fence.py +0 -0
  395. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/benchmark_toolkit/study_projection.py +0 -0
  396. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/benchmark_toolkit/traex_evidence.py +0 -0
  397. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/benchmark_toolkit/treatment_continuation.py +0 -0
  398. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/catalog.py +0 -0
  399. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/change_quality/README.md +0 -0
  400. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/change_quality/__init__.py +0 -0
  401. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/change_quality/catalog_entry.py +0 -0
  402. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/change_quality/cli.py +0 -0
  403. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/change_quality/context.py +0 -0
  404. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/change_quality/goal_configuration.py +0 -0
  405. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/change_quality/machine_defaults.py +0 -0
  406. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/change_quality/oracles.py +0 -0
  407. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/change_quality/policy.py +0 -0
  408. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/change_quality/receipt.py +0 -0
  409. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/change_quality/result.py +0 -0
  410. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/change_quality/scope.py +0 -0
  411. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/change_quality/shadow.py +0 -0
  412. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/configuration_backup.py +0 -0
  413. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/configuration_inspection.py +0 -0
  414. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/configuration_ui.py +0 -0
  415. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/connector_registry/README.md +0 -0
  416. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/connector_registry/__init__.py +0 -0
  417. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/connector_registry/catalog_entry.py +0 -0
  418. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/connector_registry/cli.py +0 -0
  419. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/connector_registry/core.py +0 -0
  420. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/connector_registry/tests/test_connector_registry.py +0 -0
  421. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/content_ops/README.md +0 -0
  422. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/content_ops/__init__.py +0 -0
  423. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/content_ops/catalog_entry.py +0 -0
  424. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/content_ops/cli.py +0 -0
  425. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/content_ops/connector_packets.py +0 -0
  426. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/content_ops/experiences/x-composer-preflight-v1.json +0 -0
  427. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/content_ops/item_lifecycle.py +0 -0
  428. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/content_ops/layout.py +0 -0
  429. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/content_ops/markdown.py +0 -0
  430. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/content_ops/reference.py +0 -0
  431. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/content_ops/schemas.py +0 -0
  432. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/content_ops/social_browser_x.py +0 -0
  433. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/content_ops/surface.py +0 -0
  434. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/content_ops/templates/layout-catalog-v0.json +0 -0
  435. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/context_providers/base.py +0 -0
  436. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/context_providers/factory.py +0 -0
  437. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/context_providers/service_ownership.py +0 -0
  438. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/decision_context/README.md +0 -0
  439. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/decision_context/README.zh-CN.md +0 -0
  440. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/decision_context/__init__.py +0 -0
  441. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/decision_context/architecture.py +0 -0
  442. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/decision_context/assembler.py +0 -0
  443. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/decision_context/capture.py +0 -0
  444. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/decision_context/capture_recovery.py +0 -0
  445. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/decision_context/catalog_entry.py +0 -0
  446. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/decision_context/cli.py +0 -0
  447. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/decision_context/cursor_commit.py +0 -0
  448. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/decision_context/extension_provider.py +0 -0
  449. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/decision_context/freshness.py +0 -0
  450. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/decision_context/outcome_feedback.py +0 -0
  451. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/decision_context/packets.py +0 -0
  452. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/decision_context/private_state.py +0 -0
  453. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/decision_context/profile.py +0 -0
  454. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/decision_context/providers.py +0 -0
  455. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/decision_context/review_settlement.py +0 -0
  456. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/decision_context/runtime.py +0 -0
  457. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/decision_context/sources.py +0 -0
  458. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/deep_research/README.md +0 -0
  459. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/deep_research/__init__.py +0 -0
  460. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/deep_research/catalog_entry.py +0 -0
  461. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/deep_research/runtime.py +0 -0
  462. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/documentation.py +0 -0
  463. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/explore/__init__.py +0 -0
  464. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/explore/activation.py +0 -0
  465. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/explore/adaptive_replay_planner.py +0 -0
  466. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/explore/catalog_entry.py +0 -0
  467. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/explore/child_replay_runtime.py +0 -0
  468. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/explore/composition_frontier.py +0 -0
  469. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/explore/counterfactual_runtime.py +0 -0
  470. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/explore/episode_runtime.py +0 -0
  471. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/explore/harness_checkpoint.py +0 -0
  472. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/explore/harness_gate.py +0 -0
  473. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/explore/harness_runtime.py +0 -0
  474. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/explore/replay_metrics.py +0 -0
  475. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/explore/replay_runtime.py +0 -0
  476. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/explore/research_evidence.py +0 -0
  477. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/explore/research_frontier.py +0 -0
  478. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/explore/research_snapshot_host.py +0 -0
  479. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/explore/resource_portfolio.py +0 -0
  480. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/explore/router_state.py +0 -0
  481. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/explore/source_history_reconcile.py +0 -0
  482. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/explore/speculative_scheduler.py +0 -0
  483. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/explore/todo_branch_plan.py +0 -0
  484. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/explore/todo_evidence.py +0 -0
  485. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/explore/trace_runtime.py +0 -0
  486. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/explore/turn_context.py +0 -0
  487. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/explore/worker_branch_plan.py +0 -0
  488. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/external_research/README.md +0 -0
  489. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/external_research/__init__.py +0 -0
  490. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/external_research/catalog_entry.py +0 -0
  491. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/external_research/cli.py +0 -0
  492. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/external_research/projection.py +0 -0
  493. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/goal_capability_organization/README.md +0 -0
  494. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/goal_capability_organization/README.zh-CN.md +0 -0
  495. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/goal_capability_organization/__init__.py +0 -0
  496. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/goal_capability_organization/catalog_entry.py +0 -0
  497. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/goal_capability_organization/goal_configuration.py +0 -0
  498. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/goal_inspection.py +0 -0
  499. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/integration_branch/README.md +0 -0
  500. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/integration_branch/__init__.py +0 -0
  501. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/integration_branch/catalog_entry.py +0 -0
  502. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/integration_branch/cli.py +0 -0
  503. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/integration_branch/core.py +0 -0
  504. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/README.md +0 -0
  505. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/README.zh-CN.md +0 -0
  506. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/__init__.py +0 -0
  507. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/acceptance_loop.py +0 -0
  508. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/candidate_evidence.py +0 -0
  509. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/candidate_preflight.py +0 -0
  510. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/catalog_entry.py +0 -0
  511. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/cli.py +0 -0
  512. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/cli_input.py +0 -0
  513. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/content_ops_cli.py +0 -0
  514. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/discovered_issue_promotion.py +0 -0
  515. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/docs/openviking-pilot-handoff.md +0 -0
  516. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/docs/protocols/issue-fix-acceptance-loop-v0.md +0 -0
  517. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/docs/protocols/issue-fix-discovered-issue-promotion-v0.md +0 -0
  518. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/docs/protocols/issue-fix-metrics-projection-v0.md +0 -0
  519. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/docs/protocols/issue-fix-reviewer-notification-sinks-v0.md +0 -0
  520. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/docs/protocols/issue-fix-reviewer-recommendation-v0.md +0 -0
  521. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/docs/protocols/issue-fix-reviewer-request-v0.md +0 -0
  522. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/docs/protocols/issue-fix-workflow-contract-v0.md +0 -0
  523. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/docs/state-kernel-domain-state-case-study.zh-CN.md +0 -0
  524. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/explore_projection.py +0 -0
  525. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/feasibility.py +0 -0
  526. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/github_public.py +0 -0
  527. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/intake_surface.py +0 -0
  528. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/metadata_preview.py +0 -0
  529. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/metrics_projection.py +0 -0
  530. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/metrics_supplement.py +0 -0
  531. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/metrics_supplement_cli.py +0 -0
  532. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/outcome_projection.py +0 -0
  533. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/periodic_report.py +0 -0
  534. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/pr_description.py +0 -0
  535. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/pr_gate_reconcile.py +0 -0
  536. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/pr_gate_reconcile_cli.py +0 -0
  537. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/pr_lifecycle.py +0 -0
  538. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/pr_lifecycle_rollout.py +0 -0
  539. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/pr_monitor_materialization.py +0 -0
  540. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/pr_review_ack.py +0 -0
  541. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/pr_wait_reconcile.py +0 -0
  542. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/provider_hooks.py +0 -0
  543. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/repository_commit_evidence.py +0 -0
  544. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/repository_context.py +0 -0
  545. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/repository_memory.py +0 -0
  546. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/repository_memory_provider.py +0 -0
  547. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/repository_snapshot.py +0 -0
  548. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/reviewer_cli.py +0 -0
  549. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/reviewer_notification.py +0 -0
  550. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/reviewer_notification_drain.py +0 -0
  551. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/reviewer_recommendation.py +0 -0
  552. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/reviewer_request.py +0 -0
  553. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/reward_memory.py +0 -0
  554. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/issue_fix/workflow_plan.py +0 -0
  555. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/machine_configuration/__init__.py +0 -0
  556. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/machine_configuration/builtins.py +0 -0
  557. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/machine_configuration/cli.py +0 -0
  558. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/machine_configuration/contract.py +0 -0
  559. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/machine_configuration/goal_storage.py +0 -0
  560. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/machine_configuration/store.py +0 -0
  561. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/manager_context/README.md +0 -0
  562. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/manager_context/__init__.py +0 -0
  563. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/manager_context/answer_contract.py +0 -0
  564. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/manager_context/discovery.py +0 -0
  565. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/manager_context/evidence_export.py +0 -0
  566. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/manager_context/execution.py +0 -0
  567. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/manager_context/goal_attention.py +0 -0
  568. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/manager_context/goal_notice.py +0 -0
  569. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/manager_context/inspection.py +0 -0
  570. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/manager_context/presentation.py +0 -0
  571. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/manager_context/roundtrip.py +0 -0
  572. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/manager_context/skills/loopx-manager/SKILL.md +0 -0
  573. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/manager_context/ssh_evidence.py +0 -0
  574. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/manager_context/team_plan.py +0 -0
  575. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/manager_context/tracking.py +0 -0
  576. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/manager_runtime/__init__.py +0 -0
  577. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/manager_runtime/machine_profile.py +0 -0
  578. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/material_lifecycle/README.md +0 -0
  579. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/material_lifecycle/README.zh-CN.md +0 -0
  580. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/material_lifecycle/__init__.py +0 -0
  581. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/material_lifecycle/_validation.py +0 -0
  582. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/material_lifecycle/apply.py +0 -0
  583. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/material_lifecycle/architecture.py +0 -0
  584. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/material_lifecycle/catalog_entry.py +0 -0
  585. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/material_lifecycle/cli.py +0 -0
  586. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/material_lifecycle/decision_planning.py +0 -0
  587. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/material_lifecycle/explore_execution.py +0 -0
  588. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/material_lifecycle/intake.py +0 -0
  589. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/material_lifecycle/inventory.py +0 -0
  590. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/material_lifecycle/lifecycle.py +0 -0
  591. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/material_lifecycle/ownership.py +0 -0
  592. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/material_lifecycle/preparation.py +0 -0
  593. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/material_lifecycle/project_skill.py +0 -0
  594. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/material_lifecycle/ranking.py +0 -0
  595. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/material_lifecycle/readable_projection.py +0 -0
  596. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/material_lifecycle/rebuild.py +0 -0
  597. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/material_lifecycle/revision.py +0 -0
  598. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/material_lifecycle/settlement.py +0 -0
  599. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/multi_subagent/__init__.py +0 -0
  600. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/multi_subagent/cli.py +0 -0
  601. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/multi_subagent/codex_host_capacity.py +0 -0
  602. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/multi_subagent/native_child_receipts.py +0 -0
  603. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/native_chat/__init__.py +0 -0
  604. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/native_chat/codex_auth.py +0 -0
  605. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/native_chat/codex_context.py +0 -0
  606. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/native_chat/project_context.py +0 -0
  607. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/native_chat/transports.py +0 -0
  608. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/performance_diagnosis/README.md +0 -0
  609. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/performance_diagnosis/README.zh-CN.md +0 -0
  610. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/performance_diagnosis/__init__.py +0 -0
  611. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/performance_diagnosis/catalog_entry.py +0 -0
  612. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/performance_diagnosis/cli.py +0 -0
  613. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/periodic_report/README.md +0 -0
  614. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/periodic_report/__init__.py +0 -0
  615. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/periodic_report/adapters.py +0 -0
  616. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/periodic_report/archive.py +0 -0
  617. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/periodic_report/audience.py +0 -0
  618. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/periodic_report/bindings.py +0 -0
  619. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/periodic_report/cadence.py +0 -0
  620. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/periodic_report/cadence_journal.py +0 -0
  621. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/periodic_report/cadence_runtime.py +0 -0
  622. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/periodic_report/catalog_entry.py +0 -0
  623. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/periodic_report/cli.py +0 -0
  624. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/periodic_report/core.py +0 -0
  625. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/periodic_report/extension_envelope.py +0 -0
  626. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/periodic_report/goal_configuration.py +0 -0
  627. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/periodic_report/incremental.py +0 -0
  628. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/periodic_report/machine_defaults.py +0 -0
  629. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/periodic_report/machine_store.py +0 -0
  630. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/periodic_report/pending_intent.py +0 -0
  631. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/periodic_report/post_writeback_hook.py +0 -0
  632. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/periodic_report/presets.py +0 -0
  633. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/periodic_report/profile.py +0 -0
  634. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/periodic_report/project_progress.py +0 -0
  635. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/periodic_report/project_progress_snapshot.py +0 -0
  636. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/periodic_report/request_action.py +0 -0
  637. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/periodic_report/runtime_producer.py +0 -0
  638. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/periodic_report/stage_completion.py +0 -0
  639. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/periodic_report/todo_source.py +0 -0
  640. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/periodic_report/triggers.py +0 -0
  641. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/periodic_report/workspace.py +0 -0
  642. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/pr_review_queue/README.md +0 -0
  643. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/pr_review_queue/__init__.py +0 -0
  644. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/pr_review_queue/approval_closeout.py +0 -0
  645. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/pr_review_queue/architecture_assessment.py +0 -0
  646. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/pr_review_queue/catalog_entry.py +0 -0
  647. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/pr_review_queue/check_attempts.py +0 -0
  648. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/pr_review_queue/core.py +0 -0
  649. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/pr_review_queue/experiences/README.md +0 -0
  650. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/pr_review_queue/experiences/README.zh-CN.md +0 -0
  651. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/pr_review_queue/experiences/loopx-project/loopx/pr-5944-v1.json +0 -0
  652. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/pr_review_queue/experiences/pr-5944-review-frame.md +0 -0
  653. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/pr_review_queue/github_source.py +0 -0
  654. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/pr_review_queue/goal_configuration.py +0 -0
  655. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/pr_review_queue/machine_defaults.py +0 -0
  656. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/pr_review_queue/merge_readiness.py +0 -0
  657. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/pr_review_queue/order.py +0 -0
  658. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/pr_review_queue/readiness_observation.py +0 -0
  659. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/pr_review_queue/result_check.py +0 -0
  660. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/pr_review_queue/review_body.py +0 -0
  661. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/pr_review_queue/scheduling.py +0 -0
  662. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/pr_review_queue/selection_execution.py +0 -0
  663. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/progress_review/__init__.py +0 -0
  664. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/progress_review/catalog_entry.py +0 -0
  665. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/progress_review/context.py +0 -0
  666. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/progress_review/goal_configuration.py +0 -0
  667. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/progress_review/policy.py +0 -0
  668. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/project_skill_delivery/README.md +0 -0
  669. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/project_skill_delivery/__init__.py +0 -0
  670. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/project_skill_delivery/catalog_entry.py +0 -0
  671. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/project_skill_delivery/cli.py +0 -0
  672. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/project_skill_delivery/core.py +0 -0
  673. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/public_safe_outbound/README.md +0 -0
  674. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/public_safe_outbound/__init__.py +0 -0
  675. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/public_safe_outbound/catalog_entry.py +0 -0
  676. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/public_safe_outbound/scan_cli.py +0 -0
  677. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/public_safe_outbound/scanner.py +0 -0
  678. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/public_safe_outbound/tests/test_scan_selection.py +0 -0
  679. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/public_safe_outbound/tests/test_scanner.py +0 -0
  680. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/registry.py +0 -0
  681. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reliability_diagnostics/README.md +0 -0
  682. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reliability_diagnostics/README.zh-CN.md +0 -0
  683. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reliability_diagnostics/__init__.py +0 -0
  684. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reliability_diagnostics/catalog_entry.py +0 -0
  685. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reliability_diagnostics/docs/local-retention-v0.md +0 -0
  686. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reliability_diagnostics/envelope.py +0 -0
  687. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reliability_diagnostics/fixture.py +0 -0
  688. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reliability_diagnostics/intake.py +0 -0
  689. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reliability_diagnostics/ledger.py +0 -0
  690. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reliability_diagnostics/projection.py +0 -0
  691. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reliability_diagnostics/receipt.py +0 -0
  692. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/repository_change_window/README.md +0 -0
  693. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/repository_change_window/__init__.py +0 -0
  694. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/repository_change_window/catalog_entry.py +0 -0
  695. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/repository_change_window/cli.py +0 -0
  696. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/repository_change_window/git_hook.py +0 -0
  697. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/repository_change_window/interaction_hook.py +0 -0
  698. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/repository_change_window/ledger.py +0 -0
  699. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/repository_change_window/policy.py +0 -0
  700. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/repository_change_window/repository.py +0 -0
  701. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reward_memory/README.md +0 -0
  702. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reward_memory/README.zh-CN.md +0 -0
  703. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reward_memory/__init__.py +0 -0
  704. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reward_memory/application.py +0 -0
  705. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reward_memory/architecture.py +0 -0
  706. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reward_memory/candidate_review.py +0 -0
  707. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reward_memory/catalog_entry.py +0 -0
  708. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reward_memory/cli.py +0 -0
  709. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reward_memory/codex_app_outcome.py +0 -0
  710. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reward_memory/configuration.py +0 -0
  711. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reward_memory/decision.py +0 -0
  712. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reward_memory/dogfood.py +0 -0
  713. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reward_memory/evaluation.py +0 -0
  714. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reward_memory/evaluation_fixtures.py +0 -0
  715. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reward_memory/experience_quality.py +0 -0
  716. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reward_memory/experiment.py +0 -0
  717. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reward_memory/feedback_hint.py +0 -0
  718. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reward_memory/health.py +0 -0
  719. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reward_memory/ingestion.py +0 -0
  720. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reward_memory/memory_utility.py +0 -0
  721. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reward_memory/outbound.py +0 -0
  722. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reward_memory/outcome_lifecycle.py +0 -0
  723. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reward_memory/read_authority.py +0 -0
  724. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reward_memory/registry.py +0 -0
  725. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reward_memory/runtime_hooks.py +0 -0
  726. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reward_memory/scoped_feedback.py +0 -0
  727. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reward_memory/utility_projection_validation.py +0 -0
  728. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/reward_memory/utility_reducer.py +0 -0
  729. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/semantic_preference/README.md +0 -0
  730. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/semantic_preference/__init__.py +0 -0
  731. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/semantic_preference/agent_preferences.py +0 -0
  732. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/semantic_preference/catalog_entry.py +0 -0
  733. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/semantic_preference/cli.py +0 -0
  734. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/semantic_preference/contract.py +0 -0
  735. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/semantic_preference/docs/openviking-project-peer.md +0 -0
  736. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/semantic_preference/reward_memory.py +0 -0
  737. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/steward_executor/__init__.py +0 -0
  738. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/steward_executor/allocation.py +0 -0
  739. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/steward_executor/machine_defaults.py +0 -0
  740. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/todo_replan_cadence/__init__.py +0 -0
  741. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/todo_replan_cadence/goal_configuration.py +0 -0
  742. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/todo_replan_cadence/machine_defaults.py +0 -0
  743. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/value_connectors/README.md +0 -0
  744. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/value_connectors/__init__.py +0 -0
  745. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/value_connectors/catalog_entry.py +0 -0
  746. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/value_connectors/cli.py +0 -0
  747. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/value_connectors/docs/agent-reach-ops-source-map.md +0 -0
  748. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/value_connectors/docs/finance-market-snapshot-probe.md +0 -0
  749. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/value_connectors/finance_extension_migration.py +0 -0
  750. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/value_connectors/install_check.py +0 -0
  751. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/value_connectors/planner.py +0 -0
  752. {loopx-1.4.1 → loopx-1.4.2}/loopx/capabilities/value_connectors/source_map.py +0 -0
  753. {loopx-1.4.1 → loopx-1.4.2}/loopx/chat.py +0 -0
  754. {loopx-1.4.1 → loopx-1.4.2}/loopx/chat_acp.py +0 -0
  755. {loopx-1.4.1 → loopx-1.4.2}/loopx/chat_attachments.py +0 -0
  756. {loopx-1.4.1 → loopx-1.4.2}/loopx/chat_automation_cadence_api.py +0 -0
  757. {loopx-1.4.1 → loopx-1.4.2}/loopx/chat_completed_todos.py +0 -0
  758. {loopx-1.4.1 → loopx-1.4.2}/loopx/chat_coordination.py +0 -0
  759. {loopx-1.4.1 → loopx-1.4.2}/loopx/chat_dsh.py +0 -0
  760. {loopx-1.4.1 → loopx-1.4.2}/loopx/chat_endpoint_catalog.py +0 -0
  761. {loopx-1.4.1 → loopx-1.4.2}/loopx/chat_endpoints.py +0 -0
  762. {loopx-1.4.1 → loopx-1.4.2}/loopx/chat_event_cache.py +0 -0
  763. {loopx-1.4.1 → loopx-1.4.2}/loopx/chat_goal_configuration_api.py +0 -0
  764. {loopx-1.4.1 → loopx-1.4.2}/loopx/chat_goal_lifecycle_actions.py +0 -0
  765. {loopx-1.4.1 → loopx-1.4.2}/loopx/chat_goal_subagent_api.py +0 -0
  766. {loopx-1.4.1 → loopx-1.4.2}/loopx/chat_ingress.py +0 -0
  767. {loopx-1.4.1 → loopx-1.4.2}/loopx/chat_lark_api.py +0 -0
  768. {loopx-1.4.1 → loopx-1.4.2}/loopx/chat_loopx_mode.py +0 -0
  769. {loopx-1.4.1 → loopx-1.4.2}/loopx/chat_machine_configuration_api.py +0 -0
  770. {loopx-1.4.1 → loopx-1.4.2}/loopx/chat_manager.py +0 -0
  771. {loopx-1.4.1 → loopx-1.4.2}/loopx/chat_manager_context.py +0 -0
  772. {loopx-1.4.1 → loopx-1.4.2}/loopx/chat_manager_details.py +0 -0
  773. {loopx-1.4.1 → loopx-1.4.2}/loopx/chat_manager_history.py +0 -0
  774. {loopx-1.4.1 → loopx-1.4.2}/loopx/chat_monitor_actions.py +0 -0
  775. {loopx-1.4.1 → loopx-1.4.2}/loopx/chat_operator_provider_api.py +0 -0
  776. {loopx-1.4.1 → loopx-1.4.2}/loopx/chat_providers.py +0 -0
  777. {loopx-1.4.1 → loopx-1.4.2}/loopx/chat_session_open.py +0 -0
  778. {loopx-1.4.1 → loopx-1.4.2}/loopx/chat_ssh_source_api.py +0 -0
  779. {loopx-1.4.1 → loopx-1.4.2}/loopx/chat_store.py +0 -0
  780. {loopx-1.4.1 → loopx-1.4.2}/loopx/chat_todo_actions.py +0 -0
  781. {loopx-1.4.1 → loopx-1.4.2}/loopx/chat_todo_detail.py +0 -0
  782. {loopx-1.4.1 → loopx-1.4.2}/loopx/chat_usage_statistics_api.py +0 -0
  783. {loopx-1.4.1 → loopx-1.4.2}/loopx/chat_workspace_directory.py +0 -0
  784. {loopx-1.4.1 → loopx-1.4.2}/loopx/claude_goal_mode/README.md +0 -0
  785. {loopx-1.4.1 → loopx-1.4.2}/loopx/claude_goal_mode/__init__.py +0 -0
  786. {loopx-1.4.1 → loopx-1.4.2}/loopx/claude_goal_mode/hooks/goal_policy.py +0 -0
  787. {loopx-1.4.1 → loopx-1.4.2}/loopx/claude_goal_mode/hooks/goal_state.py +0 -0
  788. {loopx-1.4.1 → loopx-1.4.2}/loopx/claude_goal_mode/hooks/stdio_utf8.py +0 -0
  789. {loopx-1.4.1 → loopx-1.4.2}/loopx/claude_goal_mode/mcp/loopx_mcp.py +0 -0
  790. {loopx-1.4.1 → loopx-1.4.2}/loopx/claude_goal_mode/scripts/connect.py +0 -0
  791. {loopx-1.4.1 → loopx-1.4.2}/loopx/claude_goal_mode/scripts/goalmode_cmd.py +0 -0
  792. {loopx-1.4.1 → loopx-1.4.2}/loopx/claude_goal_mode/statusline/goal_status.py +0 -0
  793. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli.py +0 -0
  794. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/__init__.py +0 -0
  795. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/_host_thread.py +0 -0
  796. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/action_help.py +0 -0
  797. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/agent_capabilities.py +0 -0
  798. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/agent_context.py +0 -0
  799. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/agent_directory.py +0 -0
  800. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/authority_archive.py +0 -0
  801. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/authority_shadow.py +0 -0
  802. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/automation_cadence.py +0 -0
  803. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/automation_prompts.py +0 -0
  804. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/benchmark_boundary.py +0 -0
  805. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/benchmark_concurrency.py +0 -0
  806. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/benchmark_continuation.py +0 -0
  807. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/benchmark_dispatch.py +0 -0
  808. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/benchmark_experiment_board.py +0 -0
  809. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/benchmark_study.py +0 -0
  810. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/bootstrap_connect.py +0 -0
  811. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/canary.py +0 -0
  812. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/canary_release_qualification.py +0 -0
  813. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/capability.py +0 -0
  814. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/configuration_backup.py +0 -0
  815. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/coordination_shadow.py +0 -0
  816. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/dash.py +0 -0
  817. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/deepresearch.py +0 -0
  818. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/delegation.py +0 -0
  819. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/doctor.py +0 -0
  820. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/dreaming.py +0 -0
  821. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/explore.py +0 -0
  822. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/explore_feishu_commands.py +0 -0
  823. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/explore_planning_commands.py +0 -0
  824. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/extension.py +0 -0
  825. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/first_run_report.py +0 -0
  826. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/goal_actions.py +0 -0
  827. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/goal_amendment_proposal.py +0 -0
  828. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/goal_channel.py +0 -0
  829. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/goal_channel_operation.py +0 -0
  830. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/goal_channel_runtime.py +0 -0
  831. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/goal_direction.py +0 -0
  832. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/goal_lifecycle.py +0 -0
  833. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/handoff_mode.py +0 -0
  834. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/handoff_restore.py +0 -0
  835. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/history.py +0 -0
  836. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/host_mode_plan.py +0 -0
  837. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/lark_inbox.py +0 -0
  838. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/lark_kanban.py +0 -0
  839. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/manager_inbox.py +0 -0
  840. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/ml_experiment.py +0 -0
  841. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/opencode2_goal_worker.py +0 -0
  842. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/post_writeback.py +0 -0
  843. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/pr_review.py +0 -0
  844. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/presentation.py +0 -0
  845. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/preset.py +0 -0
  846. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/project.py +0 -0
  847. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/project_lifecycle.py +0 -0
  848. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/project_lifecycle_inputs.py +0 -0
  849. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/project_lifecycle_refresh_state.py +0 -0
  850. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/project_lifecycle_sinks.py +0 -0
  851. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/quota.py +0 -0
  852. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/quota_action_selection.py +0 -0
  853. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/quota_cache_freshness.py +0 -0
  854. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/quota_capture.py +0 -0
  855. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/quota_context.py +0 -0
  856. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/quota_failure_report.py +0 -0
  857. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/quota_host_poll.py +0 -0
  858. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/quota_registration.py +0 -0
  859. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/quota_reward_memory.py +0 -0
  860. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/quota_scheduler_followup.py +0 -0
  861. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/ready_score.py +0 -0
  862. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/registry_admin.py +0 -0
  863. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/registry_admin_configure.py +0 -0
  864. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/registry_admin_lifecycle.py +0 -0
  865. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/registry_admin_peer.py +0 -0
  866. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/registry_admin_thread_resolution.py +0 -0
  867. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/registry_authority.py +0 -0
  868. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/reliability_diagnostics.py +0 -0
  869. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/research_checkpoint.py +0 -0
  870. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/review_batch.py +0 -0
  871. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/shared_goal_alignment.py +0 -0
  872. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/slash_commands.py +0 -0
  873. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/start_goal.py +0 -0
  874. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/starter.py +0 -0
  875. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/starter_bootstrap.py +0 -0
  876. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/starter_bootstrap_registration.py +0 -0
  877. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/starter_runtime_idle.py +0 -0
  878. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/starter_scheduler.py +0 -0
  879. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/starter_session_runtime.py +0 -0
  880. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/starter_visible_common.py +0 -0
  881. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/starter_visible_driver.py +0 -0
  882. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/starter_visible_pilot.py +0 -0
  883. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/status.py +0 -0
  884. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/status_registration.py +0 -0
  885. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/summary_all.py +0 -0
  886. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/support_control.py +0 -0
  887. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/support_control_agent_runtime.py +0 -0
  888. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/support_control_chat.py +0 -0
  889. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/support_control_chat_endpoint.py +0 -0
  890. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/support_control_heartbeat_registration.py +0 -0
  891. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/support_control_promotion.py +0 -0
  892. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/support_control_registry.py +0 -0
  893. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/support_control_supervisor.py +0 -0
  894. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/support_control_update.py +0 -0
  895. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/task_lease.py +0 -0
  896. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/task_lease_arguments.py +0 -0
  897. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/todo.py +0 -0
  898. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/todo_argument_validation.py +0 -0
  899. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/todo_continuation.py +0 -0
  900. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/todo_event.py +0 -0
  901. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/todo_list.py +0 -0
  902. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/turn_cadence.py +0 -0
  903. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/turn_decision.py +0 -0
  904. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/turn_inspection.py +0 -0
  905. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/turn_managed_step.py +0 -0
  906. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/turn_post_writeback.py +0 -0
  907. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/turn_rendering.py +0 -0
  908. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/turn_todo_writeback.py +0 -0
  909. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/usage_ping.py +0 -0
  910. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/version.py +0 -0
  911. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/worker_bridge.py +0 -0
  912. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/workflow_skills.py +0 -0
  913. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_commands/zcode_goal.py +0 -0
  914. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_rollout.py +0 -0
  915. {loopx-1.4.1 → loopx-1.4.2}/loopx/cli_runtime.py +0 -0
  916. {loopx-1.4.1 → loopx-1.4.2}/loopx/codex_app_thread_activity.py +0 -0
  917. {loopx-1.4.1 → loopx-1.4.2}/loopx/codex_cli_probe.py +0 -0
  918. {loopx-1.4.1 → loopx-1.4.2}/loopx/codex_cli_probe_markdown.py +0 -0
  919. {loopx-1.4.1 → loopx-1.4.2}/loopx/codex_cli_runtime_probe.py +0 -0
  920. {loopx-1.4.1 → loopx-1.4.2}/loopx/codex_cli_scheduler.py +0 -0
  921. {loopx-1.4.1 → loopx-1.4.2}/loopx/command_invocation.py +0 -0
  922. {loopx-1.4.1 → loopx-1.4.2}/loopx/configuration_catalog.py +0 -0
  923. {loopx-1.4.1 → loopx-1.4.2}/loopx/configuration_transaction.py +0 -0
  924. {loopx-1.4.1 → loopx-1.4.2}/loopx/configure_goal.py +0 -0
  925. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/__init__.py +0 -0
  926. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/actor_identity.py +0 -0
  927. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/agent_context.py +0 -0
  928. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/agent_context.ts +0 -0
  929. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/agents/__init__.py +0 -0
  930. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/agents/agent_lane_recommendation.py +0 -0
  931. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/agents/agent_scope.py +0 -0
  932. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/agents/agent_scope_frontier.generated.ts +0 -0
  933. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/agents/agent_scope_frontier.py +0 -0
  934. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/agents/capability_gate.py +0 -0
  935. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/agents/capability_gate.ts +0 -0
  936. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/agents/capability_memory.py +0 -0
  937. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/agents/capability_memory.ts +0 -0
  938. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/agents/delivery_workspace.py +0 -0
  939. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/agents/delivery_workspace.ts +0 -0
  940. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/agents/directory.py +0 -0
  941. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/agents/execution_facts.py +0 -0
  942. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/agents/host_thread_activity.py +0 -0
  943. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/agents/identity.py +0 -0
  944. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/agents/legacy_migration.py +0 -0
  945. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/agents/management_projection.py +0 -0
  946. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/agents/material_frontier.py +0 -0
  947. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/agents/material_handoff.py +0 -0
  948. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/agents/profile.py +0 -0
  949. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/agents/runtime_model.py +0 -0
  950. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/agents/subagent_activity.py +0 -0
  951. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/agents/supervisor.py +0 -0
  952. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/agents/supervisor_event_append.ts +0 -0
  953. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/agents/supervisor_event_log.py +0 -0
  954. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/agents/supervisor_events.py +0 -0
  955. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/agents/supervisor_inject.py +0 -0
  956. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/agents/work_mode.py +0 -0
  957. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/agents/workspace_guard.py +0 -0
  958. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/capabilities/__init__.py +0 -0
  959. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/capabilities/agent_preferences.ts +0 -0
  960. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/capabilities/change_quality_validation.ts +0 -0
  961. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/capabilities/content_reference.ts +0 -0
  962. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/capabilities/explore_configuration.ts +0 -0
  963. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/capabilities/explore_research.ts +0 -0
  964. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/capabilities/explore_research_execution.ts +0 -0
  965. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/capabilities/explore_research_terminal.ts +0 -0
  966. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/capabilities/explore_result_page.ts +0 -0
  967. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/capabilities/external_evidence.ts +0 -0
  968. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/capabilities/goal_capability_organization.ts +0 -0
  969. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/capabilities/issue_fix_monitor_reconciliation.ts +0 -0
  970. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/capabilities/native_child_admission.ts +0 -0
  971. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/capabilities/performance_diagnosis.ts +0 -0
  972. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/capabilities/performance_profile.ts +0 -0
  973. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/capabilities/periodic_report_progress.ts +0 -0
  974. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/capabilities/pr_review_approval_closeout.ts +0 -0
  975. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/capabilities/pr_review_order.ts +0 -0
  976. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/capabilities/reward_memory_decision.ts +0 -0
  977. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/capability_hooks.py +0 -0
  978. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/capability_hooks.ts +0 -0
  979. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/chat_turn_acceptance.py +0 -0
  980. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/README.md +0 -0
  981. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/__init__.py +0 -0
  982. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/chat_mode.ts +0 -0
  983. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/conversation_reply_context.ts +0 -0
  984. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/conversation_scope.ts +0 -0
  985. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/conversation_trigger.ts +0 -0
  986. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/delegation_context.py +0 -0
  987. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/delegation_inventory.py +0 -0
  988. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/delegation_preview_bridge.ts +0 -0
  989. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/delegation_preview_transport.py +0 -0
  990. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/delegation_preview_worker.py +0 -0
  991. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/delegation_result_use.ts +0 -0
  992. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/delegation_results.py +0 -0
  993. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/delegation_stop_lease.py +0 -0
  994. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/delegation_stop_signal.py +0 -0
  995. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/goal_draft.ts +0 -0
  996. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/goal_instance_lifecycle.ts +0 -0
  997. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/goal_instance_scope.py +0 -0
  998. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/inbox.py +0 -0
  999. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/inbox_receipts.ts +0 -0
  1000. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/links.py +0 -0
  1001. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/peer_context.ts +0 -0
  1002. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/peer_context_observation.py +0 -0
  1003. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/peer_host_route.py +0 -0
  1004. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/peer_route_selection.ts +0 -0
  1005. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/peers.py +0 -0
  1006. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/project_conversation.ts +0 -0
  1007. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/request_amendment.py +0 -0
  1008. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/request_control.ts +0 -0
  1009. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/request_control_contract.ts +0 -0
  1010. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/request_control_source.py +0 -0
  1011. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/result_files.py +0 -0
  1012. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/result_publication.ts +0 -0
  1013. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/return_delivery.ts +0 -0
  1014. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/semantic_request.ts +0 -0
  1015. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/source_chat_observation.py +0 -0
  1016. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/source_grant_observation.py +0 -0
  1017. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/collaboration/source_grants.ts +0 -0
  1018. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/configuration_backup.ts +0 -0
  1019. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/content_digest.py +0 -0
  1020. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/content_digest.ts +0 -0
  1021. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/__init__.py +0 -0
  1022. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/authority_archive.ts +0 -0
  1023. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/authority_archive_audit.ts +0 -0
  1024. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/authority_archive_read.ts +0 -0
  1025. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/authority_core.py +0 -0
  1026. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/authority_format_inspection.ts +0 -0
  1027. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/authority_format_upgrade.ts +0 -0
  1028. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/authority_journal_scan.ts +0 -0
  1029. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/authority_source.ts +0 -0
  1030. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/authority_source_capture.py +0 -0
  1031. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/authority_state_log.ts +0 -0
  1032. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/authority_store.ts +0 -0
  1033. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/authority_store_codec.ts +0 -0
  1034. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/authority_store_transactions.ts +0 -0
  1035. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/canonical_snapshot.py +0 -0
  1036. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/canonical_snapshot_page.ts +0 -0
  1037. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/cold_source_backup.py +0 -0
  1038. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/cold_source_import.ts +0 -0
  1039. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/cold_source_inspection.ts +0 -0
  1040. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/command_receipt.ts +0 -0
  1041. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/configuration.py +0 -0
  1042. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/continuation_adoption.ts +0 -0
  1043. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/continuation_note.ts +0 -0
  1044. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/coordination_projection.ts +0 -0
  1045. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/coordination_state_contract.generated.ts +0 -0
  1046. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/coordination_state_contract.py +0 -0
  1047. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/coordination_state_contract.ts +0 -0
  1048. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/coordination_state_contract_generated.py +0 -0
  1049. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/coordination_state_contract_v0.json +0 -0
  1050. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/file_authority_journal.ts +0 -0
  1051. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/file_authority_migration.ts +0 -0
  1052. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/file_authority_store.ts +0 -0
  1053. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/handoff_mode_facts.ts +0 -0
  1054. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/handoff_mode_legacy_plan.ts +0 -0
  1055. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/handoff_mode_migration.ts +0 -0
  1056. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/handoff_mode_policy.ts +0 -0
  1057. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/handoff_mode_runtime.ts +0 -0
  1058. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/handoff_mode_transaction.ts +0 -0
  1059. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/handoff_mode_vocabulary.ts +0 -0
  1060. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/handoff_policy_migration.ts +0 -0
  1061. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/lease_acquisition_proof.ts +0 -0
  1062. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/lease_claim_transfer.ts +0 -0
  1063. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/legacy_writer_fence.py +0 -0
  1064. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/legacy_writer_fence.ts +0 -0
  1065. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/legacy_writer_lock_paths.ts +0 -0
  1066. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/local_archive_attempt.ts +0 -0
  1067. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/local_authority.py +0 -0
  1068. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/local_authority_archive.ts +0 -0
  1069. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/local_authority_defaults.ts +0 -0
  1070. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/local_authority_migration.ts +0 -0
  1071. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/local_authority_provider.ts +0 -0
  1072. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/local_authority_read.ts +0 -0
  1073. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/local_authority_runtime.ts +0 -0
  1074. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/local_authority_shadow.ts +0 -0
  1075. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/local_authority_shadow_adapter.py +0 -0
  1076. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/local_authority_shadow_history.py +0 -0
  1077. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/local_authority_shadow_identity.ts +0 -0
  1078. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/local_authority_shadow_outbox.py +0 -0
  1079. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/local_authority_shadow_outbox.ts +0 -0
  1080. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/local_authority_shadow_projection.py +0 -0
  1081. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/local_authority_shadow_readback.py +0 -0
  1082. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/local_authority_write.ts +0 -0
  1083. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/local_snapshot.py +0 -0
  1084. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/new_goal_initialization.ts +0 -0
  1085. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/new_goal_storage_transport.py +0 -0
  1086. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/nokv_authority_store.ts +0 -0
  1087. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/nokv_jsonl_helper.py +0 -0
  1088. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/nokv_jsonl_transport.ts +0 -0
  1089. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/ownership_observation.ts +0 -0
  1090. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/postgresql_authority_service.ts +0 -0
  1091. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/postgresql_authority_store.ts +0 -0
  1092. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/promotion_handoff_migration.ts +0 -0
  1093. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/promotion_receipt.ts +0 -0
  1094. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/promotion_review.py +0 -0
  1095. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/reviewed_promotion_plan.ts +0 -0
  1096. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/runtime_shadow.py +0 -0
  1097. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/runtime_shadow.ts +0 -0
  1098. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/runtime_shadow_writer_adapter.py +0 -0
  1099. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/shadow_drain.ts +0 -0
  1100. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/shadow_drain_files.ts +0 -0
  1101. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/shadow_drain_plan.ts +0 -0
  1102. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/shadow_entry_delivery.ts +0 -0
  1103. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/shadow_entry_evidence.ts +0 -0
  1104. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/shadow_goal_scope.py +0 -0
  1105. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/shadow_lock_host.py +0 -0
  1106. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/shadow_management.py +0 -0
  1107. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/shadow_management.ts +0 -0
  1108. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/shadow_registry_source.ts +0 -0
  1109. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/source_projection.ts +0 -0
  1110. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/source_transfer.ts +0 -0
  1111. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/sqlite_authority_migration.ts +0 -0
  1112. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/sqlite_authority_store.ts +0 -0
  1113. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/sqlite_backup.ts +0 -0
  1114. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/sqlite_runtime.ts +0 -0
  1115. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/task_lease_acquire.ts +0 -0
  1116. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/task_lease_lifecycle.ts +0 -0
  1117. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/task_lease_proof.ts +0 -0
  1118. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/task_lease_state.ts +0 -0
  1119. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/todo_acceptance_restoration.ts +0 -0
  1120. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/todo_agents.ts +0 -0
  1121. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/todo_archive.ts +0 -0
  1122. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/todo_archive_selection.ts +0 -0
  1123. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/todo_blocked_lifecycle.ts +0 -0
  1124. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/todo_claim.ts +0 -0
  1125. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/todo_continuation.ts +0 -0
  1126. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/todo_deferred_lifecycle.ts +0 -0
  1127. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/todo_execution_dependency.ts +0 -0
  1128. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/todo_lifecycle_decision.ts +0 -0
  1129. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/todo_monitor_cycle.ts +0 -0
  1130. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/todo_monitor_poll.ts +0 -0
  1131. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/todo_presentation.ts +0 -0
  1132. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/todo_successor_derivation.ts +0 -0
  1133. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/todo_terminal_lifecycle.ts +0 -0
  1134. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/todo_terminal_reentry.ts +0 -0
  1135. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/todo_update.ts +0 -0
  1136. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/todo_update_admission.ts +0 -0
  1137. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/todo_update_intent.ts +0 -0
  1138. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/coordination/todo_write_scopes.ts +0 -0
  1139. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/digest_envelope.py +0 -0
  1140. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/effect_program.py +0 -0
  1141. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/effect_runtime_compile_cache.ts +0 -0
  1142. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/effect_runtime_errors.ts +0 -0
  1143. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/effect_runtime_snapshot.ts +0 -0
  1144. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goal_agent_context.ts +0 -0
  1145. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/__init__.py +0 -0
  1146. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/acceptance_lifecycle.ts +0 -0
  1147. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/acceptance_observation.py +0 -0
  1148. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/activation.py +0 -0
  1149. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/activation_service.py +0 -0
  1150. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/active_state_metadata.py +0 -0
  1151. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/active_state_sections.py +0 -0
  1152. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/artifact_lifecycle.py +0 -0
  1153. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/botmux_runtime.py +0 -0
  1154. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/chat_session_lifecycle.ts +0 -0
  1155. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/checkpoint_authority.ts +0 -0
  1156. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/checkpoint_commit.ts +0 -0
  1157. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/checkpoint_context_io.py +0 -0
  1158. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/checkpoint_read_context.ts +0 -0
  1159. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/configure_goal_service.py +0 -0
  1160. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/contract_health.py +0 -0
  1161. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/coordination_observation.py +0 -0
  1162. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/deletion_service.py +0 -0
  1163. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/direction_authority.ts +0 -0
  1164. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/direction_baseline.ts +0 -0
  1165. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/direction_runtime.py +0 -0
  1166. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/dreaming.py +0 -0
  1167. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/first_party_host_admission.py +0 -0
  1168. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/first_party_host_runtime.ts +0 -0
  1169. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/global_registry_health.py +0 -0
  1170. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/global_registry_shadow.py +0 -0
  1171. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/goal_amendment_authority.ts +0 -0
  1172. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/goal_amendment_proposal.py +0 -0
  1173. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/goal_amendment_proposal.ts +0 -0
  1174. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/goal_amendment_runtime.py +0 -0
  1175. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/goal_channel.py +0 -0
  1176. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/goal_channel_projection.py +0 -0
  1177. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/goal_frontier/acceptance.py +0 -0
  1178. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/goal_frontier/ack_policy.py +0 -0
  1179. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/goal_frontier/fallback_disposition.ts +0 -0
  1180. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/goal_frontier/fallback_source.py +0 -0
  1181. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/goal_frontier/long_todo_chain.py +0 -0
  1182. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/goal_frontier/outcome_continuity.py +0 -0
  1183. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/goal_frontier/replan_rules.py +0 -0
  1184. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/goal_frontier/semantic_history.py +0 -0
  1185. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/goal_frontier/terminal.py +0 -0
  1186. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/goal_instance_identity.ts +0 -0
  1187. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/goal_ref_validation.py +0 -0
  1188. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/goal_vision.py +0 -0
  1189. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/goal_vision_policy.py +0 -0
  1190. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/goal_vision_read_model.py +0 -0
  1191. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/goal_vision_state.py +0 -0
  1192. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/goal_vision_wait.py +0 -0
  1193. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/goal_vision_wait_projection.py +0 -0
  1194. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/legacy_event_source.py +0 -0
  1195. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/operator_actions.py +0 -0
  1196. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/operator_actions.ts +0 -0
  1197. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/orphaned_goal_state.py +0 -0
  1198. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/path_resolution.py +0 -0
  1199. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/shared_goal_alignment.py +0 -0
  1200. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/shared_goal_alignment.ts +0 -0
  1201. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/shared_goal_work.ts +0 -0
  1202. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/shared_goal_work_source.py +0 -0
  1203. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/source_session_binding.py +0 -0
  1204. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/source_session_lifetime.ts +0 -0
  1205. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/source_session_recreation.py +0 -0
  1206. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/source_session_registration.py +0 -0
  1207. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/source_session_registry_state.py +0 -0
  1208. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/source_session_services.py +0 -0
  1209. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/source_session_turn_effects.py +0 -0
  1210. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/ssh_lifecycle_transport.py +0 -0
  1211. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/start_contract.py +0 -0
  1212. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/start_goal_todo_delta.py +0 -0
  1213. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/state_resolution.py +0 -0
  1214. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/task_planning.py +0 -0
  1215. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/vision_checkpoint.py +0 -0
  1216. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/vision_checkpoint.ts +0 -0
  1217. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/goals/vision_wait_coverage.ts +0 -0
  1218. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/governed_capability.ts +0 -0
  1219. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/handoff/__init__.py +0 -0
  1220. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/handoff/cross_runtime_impl_review.py +0 -0
  1221. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/handoff/delivery_contract.py +0 -0
  1222. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/handoff/handoff_fragments.py +0 -0
  1223. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/handoff/handoff_runs.py +0 -0
  1224. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/handoff/project_agent_context.py +0 -0
  1225. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/handoff/project_handoff.py +0 -0
  1226. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/handoff/review_batch.py +0 -0
  1227. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/handoff/review_packet_context.py +0 -0
  1228. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/heartbeat/agent.py +0 -0
  1229. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/heartbeat/agent_input.py +0 -0
  1230. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/heartbeat/automation_upgrade.py +0 -0
  1231. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/heartbeat/bootstrap_prompt.py +0 -0
  1232. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/heartbeat/builder.py +0 -0
  1233. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/heartbeat/host.py +0 -0
  1234. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/heartbeat/installed_prompt_update.py +0 -0
  1235. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/heartbeat/prompt_upgrade_hook.py +0 -0
  1236. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/heartbeat/visible_goal.py +0 -0
  1237. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/host_adapter_settlement.py +0 -0
  1238. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/operator_credential.py +0 -0
  1239. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/operator_inbox_binding.py +0 -0
  1240. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/operator_provider.py +0 -0
  1241. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/post_writeback_composition_retry.py +0 -0
  1242. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/post_writeback_hook_transaction.ts +0 -0
  1243. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/presentation/decision_notice.ts +0 -0
  1244. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/presentation/goal_workspace_digest.ts +0 -0
  1245. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/presentation/todo_request_content.ts +0 -0
  1246. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/progress_scope.py +0 -0
  1247. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/projection_envelope.ts +0 -0
  1248. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/projection_envelope_facts.py +0 -0
  1249. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/projects/__init__.py +0 -0
  1250. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/projects/contract.py +0 -0
  1251. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/projects/identity.py +0 -0
  1252. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/projects/registration_state.py +0 -0
  1253. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/projects/registry.py +0 -0
  1254. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/projects/registry_codec.py +0 -0
  1255. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/__init__.py +0 -0
  1256. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/_supporting_projections.py +0 -0
  1257. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/accounting_admission.py +0 -0
  1258. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/accounting_artifact_transaction.ts +0 -0
  1259. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/automation_cadence.ts +0 -0
  1260. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/automation_cadence_readback.py +0 -0
  1261. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/blocked_retry.py +0 -0
  1262. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/blocked_transition_notice.py +0 -0
  1263. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/blocked_wait.ts +0 -0
  1264. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/cli_projection.py +0 -0
  1265. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/codex_session_usage.py +0 -0
  1266. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/decision_summary.py +0 -0
  1267. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/effect_program.py +0 -0
  1268. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/effective_action.generated.ts +0 -0
  1269. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/effective_action.py +0 -0
  1270. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/error_codes.py +0 -0
  1271. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/goal_boundary.py +0 -0
  1272. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/heartbeat_receipt.py +0 -0
  1273. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/heartbeat_receipt_identity.ts +0 -0
  1274. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/heartbeat_recommendation.py +0 -0
  1275. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/host_poll_receipts.py +0 -0
  1276. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/ledger_readback.py +0 -0
  1277. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/monitor_poll_lease_transport.py +0 -0
  1278. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/peer_orchestration.ts +0 -0
  1279. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/policy_constants.py +0 -0
  1280. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/prior_turn_closeout.ts +0 -0
  1281. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/projection_repair.py +0 -0
  1282. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/recent_runs.py +0 -0
  1283. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/refresh_external_delivery.py +0 -0
  1284. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/refresh_external_delivery.ts +0 -0
  1285. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/refresh_recovery.ts +0 -0
  1286. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/scheduler_ack.py +0 -0
  1287. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/scoped_override.ts +0 -0
  1288. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/selected_todo_projection.py +0 -0
  1289. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/settlement.py +0 -0
  1290. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/settlement_cli.py +0 -0
  1291. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/settlement_phase.ts +0 -0
  1292. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/settlement_plan.ts +0 -0
  1293. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/settlement_precedence.py +0 -0
  1294. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/settlement_readback.ts +0 -0
  1295. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/settlement_validation.py +0 -0
  1296. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/settlement_workspace_causality.py +0 -0
  1297. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/settlement_workspace_causality.ts +0 -0
  1298. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/should_run.py +0 -0
  1299. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/should_run_packet.py +0 -0
  1300. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/should_run_prepare.py +0 -0
  1301. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/slot_accounting.py +0 -0
  1302. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/source_admission.ts +0 -0
  1303. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/spend_commit.py +0 -0
  1304. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/spend_commit.ts +0 -0
  1305. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/spend_sources.py +0 -0
  1306. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/stall_repair.py +0 -0
  1307. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/states.py +0 -0
  1308. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/task_orchestration.py +0 -0
  1309. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/task_orchestration_admission.py +0 -0
  1310. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/turn_envelope.py +0 -0
  1311. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/turn_envelope.ts +0 -0
  1312. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/turn_envelope_budget.ts +0 -0
  1313. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/unsettled_host_turn_recovery.ts +0 -0
  1314. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/usage_collector.py +0 -0
  1315. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/usage_summary.py +0 -0
  1316. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/void_commit.py +0 -0
  1317. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/quota/void_commit.ts +0 -0
  1318. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/reward_memory.py +0 -0
  1319. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/rollout_receipt_log.ts +0 -0
  1320. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/__init__.py +0 -0
  1321. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/agent_evidence_history.py +0 -0
  1322. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/checkpoint_artifacts.ts +0 -0
  1323. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/decision_freshness.py +0 -0
  1324. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/document_io.py +0 -0
  1325. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/event_ledger.py +0 -0
  1326. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/execution_identity.ts +0 -0
  1327. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/file_paths.py +0 -0
  1328. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/file_reads.py +0 -0
  1329. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/goal_project_route.py +0 -0
  1330. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/local_state_migration.py +0 -0
  1331. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/local_state_write_correctness.py +0 -0
  1332. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/node_probe.py +0 -0
  1333. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/node_version.ts +0 -0
  1334. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/promotion_readiness.py +0 -0
  1335. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/public_safety.py +0 -0
  1336. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/receipt_log_snapshot.ts +0 -0
  1337. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/run_artifacts.py +0 -0
  1338. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/run_compaction.py +0 -0
  1339. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/run_context_retention.py +0 -0
  1340. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/run_history.py +0 -0
  1341. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/run_index_duplicates.py +0 -0
  1342. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/run_index_rebuild.py +0 -0
  1343. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/runtime_projection_route.py +0 -0
  1344. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/runtime_projection_writer.py +0 -0
  1345. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/session_runtime.py +0 -0
  1346. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/shared_runtime_material_projection.py +0 -0
  1347. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/shared_runtime_refresh_projection.py +0 -0
  1348. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/stale_latest_run.py +0 -0
  1349. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/status_classifications.py +0 -0
  1350. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/status_projection_cache.py +0 -0
  1351. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/stride_observation.py +0 -0
  1352. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/time.py +0 -0
  1353. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/trajectory_hygiene.py +0 -0
  1354. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/usage_statistics_cli.ts +0 -0
  1355. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/usage_statistics_codex.ts +0 -0
  1356. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/usage_statistics_contract.ts +0 -0
  1357. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/usage_statistics_cycles.ts +0 -0
  1358. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/usage_statistics_diagnostics.ts +0 -0
  1359. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/usage_statistics_goal_contract.ts +0 -0
  1360. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/usage_statistics_goals.ts +0 -0
  1361. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/usage_statistics_installation.ts +0 -0
  1362. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/usage_statistics_installation_contract.ts +0 -0
  1363. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime/validation_command.py +0 -0
  1364. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/runtime_timestamp.ts +0 -0
  1365. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/scheduler/__init__.py +0 -0
  1366. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/scheduler/app_automation_compat.py +0 -0
  1367. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/scheduler/arbitration.py +0 -0
  1368. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/scheduler/automation_liveness.py +0 -0
  1369. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/scheduler/execution_context.py +0 -0
  1370. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/scheduler/external_evidence_observation.py +0 -0
  1371. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/scheduler/heartbeat_commit.ts +0 -0
  1372. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/scheduler/heartbeat_commit_cli.ts +0 -0
  1373. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/scheduler/heartbeat_followup.ts +0 -0
  1374. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/scheduler/heartbeat_followup_cli.ts +0 -0
  1375. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/scheduler/monitor_batch_receipts.py +0 -0
  1376. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/scheduler/monitor_display.py +0 -0
  1377. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/scheduler/monitor_todo.py +0 -0
  1378. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/scheduler/monitor_wait.py +0 -0
  1379. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/scheduler/provider_monitor_poll.py +0 -0
  1380. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/scheduler/scheduler_hint.py +0 -0
  1381. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/scheduler/state.py +0 -0
  1382. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/scheduler/state_store.ts +0 -0
  1383. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/scheduler/state_transition_rules.py +0 -0
  1384. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/scheduler/state_transition_rules.ts +0 -0
  1385. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/scheduler/time.py +0 -0
  1386. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/settlement_driver.py +0 -0
  1387. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/status/__init__.py +0 -0
  1388. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/status/active_state_projection.py +0 -0
  1389. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/status/adapter_status_vocabulary.py +0 -0
  1390. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/status/agent_lane_projection.py +0 -0
  1391. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/status/attention_projection.py +0 -0
  1392. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/status/autonomous_replan_projection.py +0 -0
  1393. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/status/contract_projection.py +0 -0
  1394. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/status/dreaming_projection.py +0 -0
  1395. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/status/goal_attention_projection.py +0 -0
  1396. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/status/lifecycle_projection.py +0 -0
  1397. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/status/monitor_display_projection.py +0 -0
  1398. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/status/registry_health_projection.py +0 -0
  1399. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/status/run_projection.py +0 -0
  1400. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/status/runtime_summaries.py +0 -0
  1401. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/status/ssh_host_catalog.py +0 -0
  1402. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/status/ssh_tunnel.py +0 -0
  1403. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/stride_decision_schema.json +0 -0
  1404. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/stride_strategy_schema.json +0 -0
  1405. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/subagent_context.ts +0 -0
  1406. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/testing/__init__.py +0 -0
  1407. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/testing/action_portfolio_scenarios.py +0 -0
  1408. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/testing/actual_default_model_behavior_portfolio.py +0 -0
  1409. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/testing/authority_e2e_fixtures.py +0 -0
  1410. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/testing/authority_e2e_ladder.py +0 -0
  1411. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/testing/authority_e2e_row_support.py +0 -0
  1412. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/testing/authority_e2e_rows_stage2c.py +0 -0
  1413. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/testing/authority_e2e_rows_stage2c2.py +0 -0
  1414. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/testing/canary_harness.py +0 -0
  1415. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/testing/capability_monitor_repair_tool_behavior.py +0 -0
  1416. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/testing/continuation_verb_guard.py +0 -0
  1417. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/testing/control_plane_composition_scenarios.py +0 -0
  1418. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/testing/decision_replay.py +0 -0
  1419. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/testing/doubao_model_behavior_actor.py +0 -0
  1420. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/testing/host_prompt_behavior.py +0 -0
  1421. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/testing/model_behavior_action_oracles.py +0 -0
  1422. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/testing/model_behavior_corpus.py +0 -0
  1423. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/testing/model_behavior_packet_safety.py +0 -0
  1424. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/testing/model_behavior_qualification.py +0 -0
  1425. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/testing/model_behavior_retained_cases.py +0 -0
  1426. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/testing/model_tool_behavior.py +0 -0
  1427. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/testing/onboarding_model_behavior_qualification.py +0 -0
  1428. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/testing/quota_fixtures.py +0 -0
  1429. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/testing/quota_should_run_parity.py +0 -0
  1430. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/testing/release_commit_qualification.py +0 -0
  1431. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/testing/replan_semantic_action_behavior.py +0 -0
  1432. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/testing/replan_vision_closeout_behavior.py +0 -0
  1433. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/testing/scoped_gate_successor_tool_behavior.py +0 -0
  1434. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/testing/selected_todo_tool_behavior.py +0 -0
  1435. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/testing/terminal_settlement_tool_behavior.py +0 -0
  1436. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/testing/turn_journal_characterization.py +0 -0
  1437. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/testing/vision_shell_host.py +0 -0
  1438. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/__init__.py +0 -0
  1439. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/active_state_editing.py +0 -0
  1440. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/active_state_todo_parser.py +0 -0
  1441. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/active_state_todos.py +0 -0
  1442. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/addition.py +0 -0
  1443. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/agent_scope.ts +0 -0
  1444. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/archive_capture.ts +0 -0
  1445. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/authoring_scope.py +0 -0
  1446. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/authoring_scope.ts +0 -0
  1447. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/compact_projection.py +0 -0
  1448. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/completed_archive.py +0 -0
  1449. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/completion_dependency.ts +0 -0
  1450. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/completion_fence.py +0 -0
  1451. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/completion_fence.ts +0 -0
  1452. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/completion_policy.py +0 -0
  1453. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/completion_policy.ts +0 -0
  1454. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/completion_result.py +0 -0
  1455. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/completion_state.py +0 -0
  1456. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/completion_state.ts +0 -0
  1457. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/completion_transaction.py +0 -0
  1458. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/completion_transaction.ts +0 -0
  1459. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/completion_validation.py +0 -0
  1460. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/completion_validation_accountability.py +0 -0
  1461. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/completion_validation_declaration.ts +0 -0
  1462. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/completion_validation_plan.ts +0 -0
  1463. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/completion_validation_projection.py +0 -0
  1464. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/completion_validation_revision.ts +0 -0
  1465. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/completion_validation_store.py +0 -0
  1466. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/context_projection.ts +0 -0
  1467. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/contract.py +0 -0
  1468. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/creation_scope.ts +0 -0
  1469. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/decision_metadata.ts +0 -0
  1470. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/decision_scope.py +0 -0
  1471. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/decision_scope.ts +0 -0
  1472. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/durable_completion.py +0 -0
  1473. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/external_wait_contract.py +0 -0
  1474. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/field_update.ts +0 -0
  1475. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/frontier_deadline.py +0 -0
  1476. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/frontier_revision.py +0 -0
  1477. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/frontier_revision.ts +0 -0
  1478. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/goal_todo_projection.py +0 -0
  1479. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/handoff_gate.py +0 -0
  1480. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/handoff_mode.py +0 -0
  1481. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/handoff_mode_source.py +0 -0
  1482. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/handoff_note.py +0 -0
  1483. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/handoff_projection.ts +0 -0
  1484. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/identity.ts +0 -0
  1485. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/legacy_continuation_policy_migration.ts +0 -0
  1486. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/legacy_mutation.py +0 -0
  1487. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/line_update.py +0 -0
  1488. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/list_projection.py +0 -0
  1489. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/list_readback.py +0 -0
  1490. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/machine_region.py +0 -0
  1491. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/machine_section_projection.py +0 -0
  1492. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/markdown.py +0 -0
  1493. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/monitor_metadata.py +0 -0
  1494. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/monitor_metadata.ts +0 -0
  1495. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/mutation_authority.py +0 -0
  1496. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/native_update_plan.ts +0 -0
  1497. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/next_action.ts +0 -0
  1498. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/next_action_runtime.py +0 -0
  1499. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/path_resolution.py +0 -0
  1500. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/pr_wait_observation.ts +0 -0
  1501. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/projection.py +0 -0
  1502. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/projection_delivery.ts +0 -0
  1503. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/projection_document.py +0 -0
  1504. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/provider_create.py +0 -0
  1505. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/provider_handoff_mode.py +0 -0
  1506. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/provider_projection.py +0 -0
  1507. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/provider_terminal_lifecycle.py +0 -0
  1508. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/provider_update.py +0 -0
  1509. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/public_update.ts +0 -0
  1510. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/quota_summary.py +0 -0
  1511. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/resume_condition.py +0 -0
  1512. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/resume_condition.ts +0 -0
  1513. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/resume_planning.py +0 -0
  1514. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/resume_planning.ts +0 -0
  1515. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/route_continuation.py +0 -0
  1516. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/standing_decision.py +0 -0
  1517. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/standing_decision.ts +0 -0
  1518. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/succession.ts +0 -0
  1519. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/succession_warning.py +0 -0
  1520. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/succession_wire_v1.json +0 -0
  1521. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/successor_derivation.py +0 -0
  1522. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/summary_item.py +0 -0
  1523. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/summary_lanes.ts +0 -0
  1524. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/summary_projection.ts +0 -0
  1525. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/todo_block_codec.py +0 -0
  1526. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/todo_index.py +0 -0
  1527. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/todo_semantics.py +0 -0
  1528. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/todo_summary.py +0 -0
  1529. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/unblock_resume.py +0 -0
  1530. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/update_intent.py +0 -0
  1531. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/update_source.py +0 -0
  1532. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/user_completion.ts +0 -0
  1533. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/user_completion_types.ts +0 -0
  1534. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/user_gate.py +0 -0
  1535. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/work_requirements.ts +0 -0
  1536. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/write_correctness.py +0 -0
  1537. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/todos/write_hint.py +0 -0
  1538. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/__init__.py +0 -0
  1539. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/chat_turn_acceptance.ts +0 -0
  1540. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/codex_agent_session.py +0 -0
  1541. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/codex_stdio.py +0 -0
  1542. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/command_validation.py +0 -0
  1543. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/decision_capture.py +0 -0
  1544. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/delegated_cli.py +0 -0
  1545. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/delivery_continuity.py +0 -0
  1546. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/delivery_continuity.ts +0 -0
  1547. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/driver.py +0 -0
  1548. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/execution_profile.py +0 -0
  1549. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/execution_readback.py +0 -0
  1550. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/executor.py +0 -0
  1551. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/host_candidate.py +0 -0
  1552. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/host_failure.py +0 -0
  1553. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/host_interaction.ts +0 -0
  1554. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/host_process.ts +0 -0
  1555. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/host_process_bridge.ts +0 -0
  1556. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/host_process_group.ts +0 -0
  1557. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/host_process_transport.py +0 -0
  1558. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/host_todo_completion.ts +0 -0
  1559. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/journal_store.py +0 -0
  1560. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/lane_fence.py +0 -0
  1561. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/leased_host_process.ts +0 -0
  1562. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/loop_controller.py +0 -0
  1563. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/managed_step.py +0 -0
  1564. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/post_settlement.py +0 -0
  1565. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/recovery.py +0 -0
  1566. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/selection_rejection.ts +0 -0
  1567. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/session_recovery.py +0 -0
  1568. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/settlement.py +0 -0
  1569. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/settlement.ts +0 -0
  1570. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/settlement_provider.ts +0 -0
  1571. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/subagent_execution_topology.py +0 -0
  1572. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/task_validation_failure.ts +0 -0
  1573. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/transaction.py +0 -0
  1574. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/turn_contract_generated.py +0 -0
  1575. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/turn_contract_generated.ts +0 -0
  1576. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/turn_journal.ts +0 -0
  1577. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/turn_journal_attempt_contract.ts +0 -0
  1578. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/turn_journal_effect_readback.ts +0 -0
  1579. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/turn_journal_effects.ts +0 -0
  1580. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/turn_journal_query.ts +0 -0
  1581. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_driver/turn_journal_runtime.py +0 -0
  1582. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_loop_controller_contract_v0.json +0 -0
  1583. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/turn_transaction_contract.json +0 -0
  1584. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/__init__.py +0 -0
  1585. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/accountable_settlement.py +0 -0
  1586. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/action_portfolio.py +0 -0
  1587. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/action_portfolio.ts +0 -0
  1588. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/action_selection_admission.ts +0 -0
  1589. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/action_selection_contract.py +0 -0
  1590. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/attention_fields.py +0 -0
  1591. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/attention_item.py +0 -0
  1592. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/attention_routing.py +0 -0
  1593. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/autonomous_candidates.py +0 -0
  1594. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/autonomous_replan_ack.py +0 -0
  1595. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/autonomous_replan_obligation.py +0 -0
  1596. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/backlog_hygiene.py +0 -0
  1597. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/canonical_task_lease_lifecycle.ts +0 -0
  1598. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/capability_monitor_fallback.py +0 -0
  1599. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/context_readback.py +0 -0
  1600. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/delivery_batch_scale.py +0 -0
  1601. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/delivery_history.py +0 -0
  1602. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/delivery_history.ts +0 -0
  1603. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/delivery_outcome.py +0 -0
  1604. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/delivery_outcome.ts +0 -0
  1605. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/execution_obligation.py +0 -0
  1606. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/external_progress_review.py +0 -0
  1607. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/goal_route_hint.py +0 -0
  1608. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/governed_transition_proposal.py +0 -0
  1609. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/interaction_contract.py +0 -0
  1610. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/issue_meta_surface.py +0 -0
  1611. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/lifecycle.py +0 -0
  1612. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/lifecycle_recovery.py +0 -0
  1613. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/local_lease_record.py +0 -0
  1614. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/operator_inbox.py +0 -0
  1615. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/pending_capability_intent.ts +0 -0
  1616. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/planning_horizon.ts +0 -0
  1617. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/planning_inventory.py +0 -0
  1618. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/planning_inventory.ts +0 -0
  1619. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/planning_relations.ts +0 -0
  1620. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/primary_action.py +0 -0
  1621. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/progress_observation.py +0 -0
  1622. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/progress_result.py +0 -0
  1623. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/progress_review_evidence.ts +0 -0
  1624. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/progress_review_policy.py +0 -0
  1625. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/project_asset.py +0 -0
  1626. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/recommendation_source_io.py +0 -0
  1627. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/refresh_recommendation.py +0 -0
  1628. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/refresh_recommendation.ts +0 -0
  1629. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/repair_delta.py +0 -0
  1630. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/replan_history.ts +0 -0
  1631. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/replan_history_codec.py +0 -0
  1632. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/replan_history_settlement.ts +0 -0
  1633. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/replan_history_snapshot.ts +0 -0
  1634. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/replan_settlement.py +0 -0
  1635. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/replan_settlement.ts +0 -0
  1636. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/repository_delivery.ts +0 -0
  1637. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/runtime_capability_reentry.py +0 -0
  1638. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/semantic_replan_writeback.py +0 -0
  1639. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/status_contract.py +0 -0
  1640. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/stride_policy_codec.py +0 -0
  1641. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/task_graph.py +0 -0
  1642. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/task_graph.ts +0 -0
  1643. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/task_lease.py +0 -0
  1644. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/task_lease_acquire.ts +0 -0
  1645. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/task_lease_acquire_adapter.py +0 -0
  1646. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/task_lease_acquire_cli.ts +0 -0
  1647. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/task_lease_acquire_decision.ts +0 -0
  1648. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/task_lease_eligibility.ts +0 -0
  1649. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/task_lease_inspection.ts +0 -0
  1650. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/task_lease_lifecycle.ts +0 -0
  1651. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/task_lease_lifecycle_decision.ts +0 -0
  1652. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/task_lease_lifecycle_request.ts +0 -0
  1653. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/task_lease_operation_identity.ts +0 -0
  1654. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/task_lease_repository.ts +0 -0
  1655. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/task_lease_workspace.ts +0 -0
  1656. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/team_plan.ts +0 -0
  1657. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/team_plan_adapter.py +0 -0
  1658. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/team_plan_authority.ts +0 -0
  1659. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/unsettled_host_turn_contract.py +0 -0
  1660. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/user_action_frontier.py +0 -0
  1661. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/work_lane.py +0 -0
  1662. {loopx-1.4.1 → loopx-1.4.2}/loopx/control_plane/work_items/work_lane_context.py +0 -0
  1663. {loopx-1.4.1 → loopx-1.4.2}/loopx/dash_server.py +0 -0
  1664. {loopx-1.4.1 → loopx-1.4.2}/loopx/dashboard_launcher.py +0 -0
  1665. {loopx-1.4.1 → loopx-1.4.2}/loopx/demo.py +0 -0
  1666. {loopx-1.4.1 → loopx-1.4.2}/loopx/desktop_installation.py +0 -0
  1667. {loopx-1.4.1 → loopx-1.4.2}/loopx/diagnose.py +0 -0
  1668. {loopx-1.4.1 → loopx-1.4.2}/loopx/doctor.py +0 -0
  1669. {loopx-1.4.1 → loopx-1.4.2}/loopx/doctor_git.py +0 -0
  1670. {loopx-1.4.1 → loopx-1.4.2}/loopx/domain_packs/__init__.py +0 -0
  1671. {loopx-1.4.1 → loopx-1.4.2}/loopx/domain_packs/issue_fix.py +0 -0
  1672. {loopx-1.4.1 → loopx-1.4.2}/loopx/domain_packs/ml_experiment.py +0 -0
  1673. {loopx-1.4.1 → loopx-1.4.2}/loopx/domain_state.py +0 -0
  1674. {loopx-1.4.1 → loopx-1.4.2}/loopx/dreaming.py +0 -0
  1675. {loopx-1.4.1 → loopx-1.4.2}/loopx/dsh_goal_mode/README.md +0 -0
  1676. {loopx-1.4.1 → loopx-1.4.2}/loopx/dsh_goal_mode/__init__.py +0 -0
  1677. {loopx-1.4.1 → loopx-1.4.2}/loopx/dsh_goal_mode/__main__.py +0 -0
  1678. {loopx-1.4.1 → loopx-1.4.2}/loopx/dsh_goal_mode/host_failure_map.py +0 -0
  1679. {loopx-1.4.1 → loopx-1.4.2}/loopx/dsh_goal_mode/turn_host_adapter.py +0 -0
  1680. {loopx-1.4.1 → loopx-1.4.2}/loopx/entrypoint.py +0 -0
  1681. {loopx-1.4.1 → loopx-1.4.2}/loopx/execution_profile.py +0 -0
  1682. {loopx-1.4.1 → loopx-1.4.2}/loopx/experiments/README.md +0 -0
  1683. {loopx-1.4.1 → loopx-1.4.2}/loopx/experiments/__init__.py +0 -0
  1684. {loopx-1.4.1 → loopx-1.4.2}/loopx/experiments/planner_worker/__init__.py +0 -0
  1685. {loopx-1.4.1 → loopx-1.4.2}/loopx/experiments/planner_worker/contract.py +0 -0
  1686. {loopx-1.4.1 → loopx-1.4.2}/loopx/experiments/planner_worker/runtime.py +0 -0
  1687. {loopx-1.4.1 → loopx-1.4.2}/loopx/experiments/planner_worker/traex.py +0 -0
  1688. {loopx-1.4.1 → loopx-1.4.2}/loopx/explore_graph.py +0 -0
  1689. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/__init__.py +0 -0
  1690. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/bundled.py +0 -0
  1691. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/capability_admission.py +0 -0
  1692. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/codex_native_child.py +0 -0
  1693. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/entrypoint_surface.py +0 -0
  1694. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/execution_envelope.py +0 -0
  1695. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/external_connector_provider.py +0 -0
  1696. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/external_connector_runtime.py +0 -0
  1697. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/governed_capability_execution.py +0 -0
  1698. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/hook_adapters.py +0 -0
  1699. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/README.md +0 -0
  1700. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/__init__.py +0 -0
  1701. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/app_setup.py +0 -0
  1702. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/bot_scopes.py +0 -0
  1703. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/card_callback.py +0 -0
  1704. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/cli_resolution.py +0 -0
  1705. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/cli_transport.py +0 -0
  1706. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/conversation_identity.py +0 -0
  1707. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/docs/lark-event-inbox.md +0 -0
  1708. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/docs/owner-controlled-bots.md +0 -0
  1709. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/docs/realtime-conversation-readiness.md +0 -0
  1710. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/document_comment_provider.py +0 -0
  1711. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/event_collector_routes.py +0 -0
  1712. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/event_inbox.py +0 -0
  1713. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/extension.toml +0 -0
  1714. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/goal_channel.py +0 -0
  1715. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/goal_channel_blocked_notice.py +0 -0
  1716. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/goal_channel_contracts.py +0 -0
  1717. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/goal_channel_delivery_contract.py +0 -0
  1718. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/goal_channel_lifecycle.py +0 -0
  1719. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/goal_channel_notice.py +0 -0
  1720. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/goal_channel_notification.py +0 -0
  1721. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/goal_channel_operation.py +0 -0
  1722. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/goal_channel_runtime.py +0 -0
  1723. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/goal_channel_setup.py +0 -0
  1724. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/goal_channel_targets.py +0 -0
  1725. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/goal_channel_transport.py +0 -0
  1726. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/goal_topic_batch.py +0 -0
  1727. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/goal_topic_connections.py +0 -0
  1728. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/goal_topic_dispatch.py +0 -0
  1729. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/goal_topic_edit.py +0 -0
  1730. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/goal_topic_inbox.py +0 -0
  1731. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/goal_topic_routing.py +0 -0
  1732. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/goal_topic_runtime.py +0 -0
  1733. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/goal_topic_runtime_service.py +0 -0
  1734. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/group_history.py +0 -0
  1735. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/group_history_cursor.py +0 -0
  1736. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/identity_shapes.py +0 -0
  1737. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/inbox_reactions.py +0 -0
  1738. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/inbox_reply.py +0 -0
  1739. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/manager_context.py +0 -0
  1740. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/manager_reply_delivery.py +0 -0
  1741. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/manager_reply_format.py +0 -0
  1742. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/manager_reply_parts.py +0 -0
  1743. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/manager_returns.py +0 -0
  1744. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/manager_routing.py +0 -0
  1745. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/miaoda_report.py +0 -0
  1746. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/outbound.py +0 -0
  1747. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/periodic_report_cli.py +0 -0
  1748. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/periodic_report_delivery.py +0 -0
  1749. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/periodic_report_request.py +0 -0
  1750. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/presentation/__init__.py +0 -0
  1751. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/presentation/explore_results.py +0 -0
  1752. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/presentation/explore_singleflight.py +0 -0
  1753. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/presentation/explore_source_guard.py +0 -0
  1754. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/presentation/explore_stage_document.py +0 -0
  1755. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/presentation/explore_visual_integrity.py +0 -0
  1756. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/presentation/explore_visual_readback.py +0 -0
  1757. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/presentation/explore_visual_styles.py +0 -0
  1758. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/presentation/issue_fix_surface.py +0 -0
  1759. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/presentation/kanban.py +0 -0
  1760. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/presentation/markdown_post.py +0 -0
  1761. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/presentation/message_card.py +0 -0
  1762. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/presentation/periodic_report.py +0 -0
  1763. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/presentation/projection_rows.py +0 -0
  1764. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/presentation/record_io.py +0 -0
  1765. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/presentation/sink_visibility.py +0 -0
  1766. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/presentation/sync_receipt.py +0 -0
  1767. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/presentation/team_plan.py +0 -0
  1768. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/private_conversation_api.py +0 -0
  1769. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/private_images.py +0 -0
  1770. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/private_json.py +0 -0
  1771. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/private_progress.py +0 -0
  1772. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/provider.py +0 -0
  1773. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/return_files.py +0 -0
  1774. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/reviewer_notification.py +0 -0
  1775. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/routed_inbox.py +0 -0
  1776. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/team_plan_confirmation.py +0 -0
  1777. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/lark/turn_start_sync.py +0 -0
  1778. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/manifest.py +0 -0
  1779. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/openviking_periodic_report/__init__.py +0 -0
  1780. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/openviking_periodic_report/activation.py +0 -0
  1781. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/openviking_periodic_report/extension.toml +0 -0
  1782. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/openviking_periodic_report/provider.py +0 -0
  1783. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/openviking_periodic_report/sink.py +0 -0
  1784. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/openviking_semantic_preference/__init__.py +0 -0
  1785. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/openviking_semantic_preference/extension.toml +0 -0
  1786. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/openviking_semantic_preference/history_export.py +0 -0
  1787. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/openviking_semantic_preference/project_peer.py +0 -0
  1788. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/openviking_semantic_preference/provider.py +0 -0
  1789. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/presentation.py +0 -0
  1790. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/process_runtime.py +0 -0
  1791. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/public_github_research.py +0 -0
  1792. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/public_source_reader.py +0 -0
  1793. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/readiness.py +0 -0
  1794. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/runtime.py +0 -0
  1795. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/runtime_location.py +0 -0
  1796. {loopx-1.4.1 → loopx-1.4.2}/loopx/extensions/scaffold.py +0 -0
  1797. {loopx-1.4.1 → loopx-1.4.2}/loopx/feedback.py +0 -0
  1798. {loopx-1.4.1 → loopx-1.4.2}/loopx/file_lock.py +0 -0
  1799. {loopx-1.4.1 → loopx-1.4.2}/loopx/global_registry.py +0 -0
  1800. {loopx-1.4.1 → loopx-1.4.2}/loopx/global_risks.py +0 -0
  1801. {loopx-1.4.1 → loopx-1.4.2}/loopx/global_todos.py +0 -0
  1802. {loopx-1.4.1 → loopx-1.4.2}/loopx/goal_mode_context.py +0 -0
  1803. {loopx-1.4.1 → loopx-1.4.2}/loopx/goal_mode_mcp.py +0 -0
  1804. {loopx-1.4.1 → loopx-1.4.2}/loopx/goal_portfolio.py +0 -0
  1805. {loopx-1.4.1 → loopx-1.4.2}/loopx/handoff_budget.py +0 -0
  1806. {loopx-1.4.1 → loopx-1.4.2}/loopx/heartbeat_prequota.py +0 -0
  1807. {loopx-1.4.1 → loopx-1.4.2}/loopx/heartbeat_prompt.py +0 -0
  1808. {loopx-1.4.1 → loopx-1.4.2}/loopx/help_surface.py +0 -0
  1809. {loopx-1.4.1 → loopx-1.4.2}/loopx/history.py +0 -0
  1810. {loopx-1.4.1 → loopx-1.4.2}/loopx/host_loop_activation.py +0 -0
  1811. {loopx-1.4.1 → loopx-1.4.2}/loopx/host_mode_planner.py +0 -0
  1812. {loopx-1.4.1 → loopx-1.4.2}/loopx/hosts/__init__.py +0 -0
  1813. {loopx-1.4.1 → loopx-1.4.2}/loopx/hosts/codex_checkpoint.py +0 -0
  1814. {loopx-1.4.1 → loopx-1.4.2}/loopx/hosts/research_checkpoint.py +0 -0
  1815. {loopx-1.4.1 → loopx-1.4.2}/loopx/hosts/skill_facade.py +0 -0
  1816. {loopx-1.4.1 → loopx-1.4.2}/loopx/install_contract.py +0 -0
  1817. {loopx-1.4.1 → loopx-1.4.2}/loopx/interface_budget.py +0 -0
  1818. {loopx-1.4.1 → loopx-1.4.2}/loopx/kiro_cli_goal_mode/README.md +0 -0
  1819. {loopx-1.4.1 → loopx-1.4.2}/loopx/kiro_cli_goal_mode/__init__.py +0 -0
  1820. {loopx-1.4.1 → loopx-1.4.2}/loopx/kiro_cli_goal_mode/mcp_server.py +0 -0
  1821. {loopx-1.4.1 → loopx-1.4.2}/loopx/kunluncode_goal_mode/README.md +0 -0
  1822. {loopx-1.4.1 → loopx-1.4.2}/loopx/kunluncode_goal_mode/__init__.py +0 -0
  1823. {loopx-1.4.1 → loopx-1.4.2}/loopx/kunluncode_goal_mode/app_server.py +0 -0
  1824. {loopx-1.4.1 → loopx-1.4.2}/loopx/kunluncode_goal_mode/cli.py +0 -0
  1825. {loopx-1.4.1 → loopx-1.4.2}/loopx/kunluncode_goal_mode/context.py +0 -0
  1826. {loopx-1.4.1 → loopx-1.4.2}/loopx/kunluncode_goal_mode/control_plane.py +0 -0
  1827. {loopx-1.4.1 → loopx-1.4.2}/loopx/kunluncode_goal_mode/guards.py +0 -0
  1828. {loopx-1.4.1 → loopx-1.4.2}/loopx/kunluncode_goal_mode/runtime.py +0 -0
  1829. {loopx-1.4.1 → loopx-1.4.2}/loopx/kunluncode_goal_mode/server.py +0 -0
  1830. {loopx-1.4.1 → loopx-1.4.2}/loopx/long_task_cadence.py +0 -0
  1831. {loopx-1.4.1 → loopx-1.4.2}/loopx/materials.py +0 -0
  1832. {loopx-1.4.1 → loopx-1.4.2}/loopx/ml_experiment.py +0 -0
  1833. {loopx-1.4.1 → loopx-1.4.2}/loopx/opencode2_goal_mode/__init__.py +0 -0
  1834. {loopx-1.4.1 → loopx-1.4.2}/loopx/opencode_goal_mode/__init__.py +0 -0
  1835. {loopx-1.4.1 → loopx-1.4.2}/loopx/opencode_goal_mode/loopx-goal.js +0 -0
  1836. {loopx-1.4.1 → loopx-1.4.2}/loopx/operator_gate.py +0 -0
  1837. {loopx-1.4.1 → loopx-1.4.2}/loopx/orchestration.py +0 -0
  1838. {loopx-1.4.1 → loopx-1.4.2}/loopx/paths.py +0 -0
  1839. {loopx-1.4.1 → loopx-1.4.2}/loopx/pi_goal_mode/__init__.py +0 -0
  1840. {loopx-1.4.1 → loopx-1.4.2}/loopx/pi_goal_mode/installation.py +0 -0
  1841. {loopx-1.4.1 → loopx-1.4.2}/loopx/pi_goal_mode/loopx-goal.ts +0 -0
  1842. {loopx-1.4.1 → loopx-1.4.2}/loopx/pr_review.py +0 -0
  1843. {loopx-1.4.1 → loopx-1.4.2}/loopx/pr_review_merge_readiness.py +0 -0
  1844. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/README.md +0 -0
  1845. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/__init__.py +0 -0
  1846. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/answer_instruction.py +0 -0
  1847. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/chat_bundle.py +0 -0
  1848. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/codex_activity.py +0 -0
  1849. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/configuration_backup_api.py +0 -0
  1850. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/explore_results_api.py +0 -0
  1851. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/explore_views.py +0 -0
  1852. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/goal_amendment_api.py +0 -0
  1853. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/goal_direction_api.py +0 -0
  1854. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/goal_ownership_api.py +0 -0
  1855. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/goal_source_routing.py +0 -0
  1856. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/goal_storage_api.py +0 -0
  1857. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/markdown.py +0 -0
  1858. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/projection_source_reconcile.py +0 -0
  1859. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/projections/__init__.py +0 -0
  1860. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/projections/session_dash.py +0 -0
  1861. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/public_safety.py +0 -0
  1862. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/renderers/__init__.py +0 -0
  1863. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/renderers/conversation_status_markdown.py +0 -0
  1864. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/renderers/goal_acceptance_observation_markdown.py +0 -0
  1865. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/renderers/goal_artifact_lifecycle_markdown.py +0 -0
  1866. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/renderers/goal_channel_html.py +0 -0
  1867. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/renderers/periodic_report_html.py +0 -0
  1868. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/renderers/periodic_report_markdown.py +0 -0
  1869. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/renderers/quota_event_markdown.py +0 -0
  1870. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/renderers/quota_markdown.py +0 -0
  1871. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/renderers/reward_memory_markdown.py +0 -0
  1872. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/renderers/session_dash_html.py +0 -0
  1873. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/renderers/status_markdown.py +0 -0
  1874. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/renderers/trajectory_hygiene_markdown.py +0 -0
  1875. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/renderers/turn_envelope_markdown.py +0 -0
  1876. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/request_control_api.py +0 -0
  1877. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/sinks/__init__.py +0 -0
  1878. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/sinks/openviking_periodic_report.py +0 -0
  1879. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/static_site.py +0 -0
  1880. {loopx-1.4.1 → loopx-1.4.2}/loopx/presentation/workspace_preferences_api.py +0 -0
  1881. {loopx-1.4.1 → loopx-1.4.2}/loopx/presets.py +0 -0
  1882. {loopx-1.4.1 → loopx-1.4.2}/loopx/project_alias.py +0 -0
  1883. {loopx-1.4.1 → loopx-1.4.2}/loopx/project_map.py +0 -0
  1884. {loopx-1.4.1 → loopx-1.4.2}/loopx/project_prompt.py +0 -0
  1885. {loopx-1.4.1 → loopx-1.4.2}/loopx/project_uninstall.py +0 -0
  1886. {loopx-1.4.1 → loopx-1.4.2}/loopx/promotion_gate.py +0 -0
  1887. {loopx-1.4.1 → loopx-1.4.2}/loopx/public_safe_text.py +0 -0
  1888. {loopx-1.4.1 → loopx-1.4.2}/loopx/python_install_owner.py +0 -0
  1889. {loopx-1.4.1 → loopx-1.4.2}/loopx/ready_score.py +0 -0
  1890. {loopx-1.4.1 → loopx-1.4.2}/loopx/reasoning_effort.py +0 -0
  1891. {loopx-1.4.1 → loopx-1.4.2}/loopx/registry.py +0 -0
  1892. {loopx-1.4.1 → loopx-1.4.2}/loopx/registry_writability.py +0 -0
  1893. {loopx-1.4.1 → loopx-1.4.2}/loopx/release_candidate.py +0 -0
  1894. {loopx-1.4.1 → loopx-1.4.2}/loopx/release_manifest.py +0 -0
  1895. {loopx-1.4.1 → loopx-1.4.2}/loopx/repository_identity.py +0 -0
  1896. {loopx-1.4.1 → loopx-1.4.2}/loopx/review_packet.py +0 -0
  1897. {loopx-1.4.1 → loopx-1.4.2}/loopx/rollout_event_log.py +0 -0
  1898. {loopx-1.4.1 → loopx-1.4.2}/loopx/runtime_activation.py +0 -0
  1899. {loopx-1.4.1 → loopx-1.4.2}/loopx/self_update.py +0 -0
  1900. {loopx-1.4.1 → loopx-1.4.2}/loopx/self_update_download.py +0 -0
  1901. {loopx-1.4.1 → loopx-1.4.2}/loopx/semantics/__init__.py +0 -0
  1902. {loopx-1.4.1 → loopx-1.4.2}/loopx/semantics/consumer_report.py +0 -0
  1903. {loopx-1.4.1 → loopx-1.4.2}/loopx/semantics/development_probe.py +0 -0
  1904. {loopx-1.4.1 → loopx-1.4.2}/loopx/semantics/field_use.py +0 -0
  1905. {loopx-1.4.1 → loopx-1.4.2}/loopx/semantics/goal_instance_binding_inventory_v1.json +0 -0
  1906. {loopx-1.4.1 → loopx-1.4.2}/loopx/semantics/incident_v0.json +0 -0
  1907. {loopx-1.4.1 → loopx-1.4.2}/loopx/semantics/inventory.py +0 -0
  1908. {loopx-1.4.1 → loopx-1.4.2}/loopx/semantics/production.py +0 -0
  1909. {loopx-1.4.1 → loopx-1.4.2}/loopx/semantics/project_registry_io.py +0 -0
  1910. {loopx-1.4.1 → loopx-1.4.2}/loopx/semantics/project_registry_io_classifications_v1.json +0 -0
  1911. {loopx-1.4.1 → loopx-1.4.2}/loopx/semantics/python_production.py +0 -0
  1912. {loopx-1.4.1 → loopx-1.4.2}/loopx/semantics/turn_contract_witness.py +0 -0
  1913. {loopx-1.4.1 → loopx-1.4.2}/loopx/session_runtime.py +0 -0
  1914. {loopx-1.4.1 → loopx-1.4.2}/loopx/skill_install_readback.py +0 -0
  1915. {loopx-1.4.1 → loopx-1.4.2}/loopx/slash_command_files.py +0 -0
  1916. {loopx-1.4.1 → loopx-1.4.2}/loopx/slash_command_install.py +0 -0
  1917. {loopx-1.4.1 → loopx-1.4.2}/loopx/slash_commands.py +0 -0
  1918. {loopx-1.4.1 → loopx-1.4.2}/loopx/state_backup.py +0 -0
  1919. {loopx-1.4.1 → loopx-1.4.2}/loopx/state_migration.py +0 -0
  1920. {loopx-1.4.1 → loopx-1.4.2}/loopx/state_projection.py +0 -0
  1921. {loopx-1.4.1 → loopx-1.4.2}/loopx/state_refresh.py +0 -0
  1922. {loopx-1.4.1 → loopx-1.4.2}/loopx/status_server.py +0 -0
  1923. {loopx-1.4.1 → loopx-1.4.2}/loopx/summary_all.py +0 -0
  1924. {loopx-1.4.1 → loopx-1.4.2}/loopx/thread_agent_binding.py +0 -0
  1925. {loopx-1.4.1 → loopx-1.4.2}/loopx/todos.py +0 -0
  1926. {loopx-1.4.1 → loopx-1.4.2}/loopx/turn_identity.py +0 -0
  1927. {loopx-1.4.1 → loopx-1.4.2}/loopx/upgrade.py +0 -0
  1928. {loopx-1.4.1 → loopx-1.4.2}/loopx/usage_goal.py +0 -0
  1929. {loopx-1.4.1 → loopx-1.4.2}/loopx/usage_ping.py +0 -0
  1930. {loopx-1.4.1 → loopx-1.4.2}/loopx/visible_governance.py +0 -0
  1931. {loopx-1.4.1 → loopx-1.4.2}/loopx/web/chat/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
  1932. {loopx-1.4.1 → loopx-1.4.2}/loopx/web/chat/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
  1933. {loopx-1.4.1 → loopx-1.4.2}/loopx/web/chat/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
  1934. {loopx-1.4.1 → loopx-1.4.2}/loopx/web/chat/assets/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
  1935. {loopx-1.4.1 → loopx-1.4.2}/loopx/web/chat/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2 +0 -0
  1936. {loopx-1.4.1 → loopx-1.4.2}/loopx/web/chat/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2 +0 -0
  1937. {loopx-1.4.1 → loopx-1.4.2}/loopx/web/chat/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2 +0 -0
  1938. {loopx-1.4.1 → loopx-1.4.2}/loopx/web/chat/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2 +0 -0
  1939. {loopx-1.4.1 → loopx-1.4.2}/loopx/web/chat/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2 +0 -0
  1940. {loopx-1.4.1 → loopx-1.4.2}/loopx/web/chat/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2 +0 -0
  1941. {loopx-1.4.1 → loopx-1.4.2}/loopx/web/chat/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
  1942. {loopx-1.4.1 → loopx-1.4.2}/loopx/web/chat/assets/index-BQ7_VfwI.css +0 -0
  1943. {loopx-1.4.1 → loopx-1.4.2}/loopx/web/chat/assets/index-Cj-adlS0.js +0 -0
  1944. {loopx-1.4.1 → loopx-1.4.2}/loopx/web/chat/assets/performance-diagnosis-worker-CH0503IW.js +0 -0
  1945. {loopx-1.4.1 → loopx-1.4.2}/loopx/web/chat/manifest.webmanifest +0 -0
  1946. {loopx-1.4.1 → loopx-1.4.2}/loopx/web/chat/pwa/icon-192.png +0 -0
  1947. {loopx-1.4.1 → loopx-1.4.2}/loopx/web/chat/pwa/icon-512.png +0 -0
  1948. {loopx-1.4.1 → loopx-1.4.2}/loopx/windows_install.py +0 -0
  1949. {loopx-1.4.1 → loopx-1.4.2}/loopx/worker_bridge.py +0 -0
  1950. {loopx-1.4.1 → loopx-1.4.2}/loopx/zcode_goal_mode/README.md +0 -0
  1951. {loopx-1.4.1 → loopx-1.4.2}/loopx/zcode_goal_mode/__init__.py +0 -0
  1952. {loopx-1.4.1 → loopx-1.4.2}/loopx/zcode_goal_mode/api.py +0 -0
  1953. {loopx-1.4.1 → loopx-1.4.2}/loopx/zcode_goal_mode/app-server.ts +0 -0
  1954. {loopx-1.4.1 → loopx-1.4.2}/loopx/zcode_goal_mode/bridge.py +0 -0
  1955. {loopx-1.4.1 → loopx-1.4.2}/loopx/zcode_goal_mode/cli.ts +0 -0
  1956. {loopx-1.4.1 → loopx-1.4.2}/loopx/zcode_goal_mode/contract.json +0 -0
  1957. {loopx-1.4.1 → loopx-1.4.2}/loopx/zcode_goal_mode/contract.ts +0 -0
  1958. {loopx-1.4.1 → loopx-1.4.2}/loopx/zcode_goal_mode/diagnostics.py +0 -0
  1959. {loopx-1.4.1 → loopx-1.4.2}/loopx/zcode_goal_mode/guard.ts +0 -0
  1960. {loopx-1.4.1 → loopx-1.4.2}/loopx/zcode_goal_mode/images/native-error-mobile.png +0 -0
  1961. {loopx-1.4.1 → loopx-1.4.2}/loopx/zcode_goal_mode/images/native-quota-desktop.png +0 -0
  1962. {loopx-1.4.1 → loopx-1.4.2}/loopx/zcode_goal_mode/runtime.ts +0 -0
  1963. {loopx-1.4.1 → loopx-1.4.2}/loopx.egg-info/dependency_links.txt +0 -0
  1964. {loopx-1.4.1 → loopx-1.4.2}/loopx.egg-info/entry_points.txt +0 -0
  1965. {loopx-1.4.1 → loopx-1.4.2}/loopx.egg-info/requires.txt +0 -0
  1966. {loopx-1.4.1 → loopx-1.4.2}/loopx.egg-info/top_level.txt +0 -0
  1967. {loopx-1.4.1 → loopx-1.4.2}/setup.cfg +0 -0
  1968. {loopx-1.4.1 → loopx-1.4.2}/setup.py +0 -0
  1969. {loopx-1.4.1 → loopx-1.4.2}/skills/loopx-benchmark/.loopx-skill-scope +0 -0
  1970. {loopx-1.4.1 → loopx-1.4.2}/skills/loopx-benchmark/SKILL.md +0 -0
  1971. {loopx-1.4.1 → loopx-1.4.2}/skills/loopx-benchmark/agents/openai.yaml +0 -0
  1972. {loopx-1.4.1 → loopx-1.4.2}/skills/loopx-change-quality/.loopx-skill-scope +0 -0
  1973. {loopx-1.4.1 → loopx-1.4.2}/skills/loopx-change-quality/SKILL.md +0 -0
  1974. {loopx-1.4.1 → loopx-1.4.2}/skills/loopx-change-quality/agents/openai.yaml +0 -0
  1975. {loopx-1.4.1 → loopx-1.4.2}/skills/loopx-doc-registry/.loopx-skill-scope +0 -0
  1976. {loopx-1.4.1 → loopx-1.4.2}/skills/loopx-doc-registry/SKILL.md +0 -0
  1977. {loopx-1.4.1 → loopx-1.4.2}/skills/loopx-doc-registry/agents/openai.yaml +0 -0
  1978. {loopx-1.4.1 → loopx-1.4.2}/skills/loopx-material/.loopx-skill-scope +0 -0
  1979. {loopx-1.4.1 → loopx-1.4.2}/skills/loopx-material/SKILL.md +0 -0
  1980. {loopx-1.4.1 → loopx-1.4.2}/skills/loopx-material/agents/openai.yaml +0 -0
  1981. {loopx-1.4.1 → loopx-1.4.2}/skills/loopx-performance-diagnosis/.loopx-skill-scope +0 -0
  1982. {loopx-1.4.1 → loopx-1.4.2}/skills/loopx-performance-diagnosis/SKILL.md +0 -0
  1983. {loopx-1.4.1 → loopx-1.4.2}/skills/loopx-performance-diagnosis/agents/openai.yaml +0 -0
  1984. {loopx-1.4.1 → loopx-1.4.2}/skills/loopx-pr-program/.loopx-skill-scope +0 -0
  1985. {loopx-1.4.1 → loopx-1.4.2}/skills/loopx-pr-program/SKILL.md +0 -0
  1986. {loopx-1.4.1 → loopx-1.4.2}/skills/loopx-pr-program/agents/openai.yaml +0 -0
  1987. {loopx-1.4.1 → loopx-1.4.2}/skills/loopx-pr-program/references/snapshot-contract.md +0 -0
  1988. {loopx-1.4.1 → loopx-1.4.2}/skills/loopx-pr-program/scripts/diff_snapshot.py +0 -0
  1989. {loopx-1.4.1 → loopx-1.4.2}/skills/loopx-pr-review/.loopx-skill-scope +0 -0
  1990. {loopx-1.4.1 → loopx-1.4.2}/skills/loopx-pr-review/SKILL.md +0 -0
  1991. {loopx-1.4.1 → loopx-1.4.2}/skills/loopx-pr-review/agents/openai.yaml +0 -0
  1992. {loopx-1.4.1 → loopx-1.4.2}/skills/loopx-project/.loopx-skill-scope +0 -0
  1993. {loopx-1.4.1 → loopx-1.4.2}/skills/loopx-project/agents/openai.yaml +0 -0
  1994. {loopx-1.4.1 → loopx-1.4.2}/skills/loopx-self-repair/.loopx-skill-scope +0 -0
  1995. {loopx-1.4.1 → loopx-1.4.2}/skills/loopx-self-repair/SKILL.md +0 -0
  1996. {loopx-1.4.1 → loopx-1.4.2}/skills/loopx-self-repair/agents/openai.yaml +0 -0
  1997. {loopx-1.4.1 → loopx-1.4.2}/skills/loopx-self-repair/references/pattern-lookup.md +0 -0
  1998. {loopx-1.4.1 → loopx-1.4.2}/skills/loopx-self-repair/references/targeted-diagnostics.md +0 -0
  1999. {loopx-1.4.1 → loopx-1.4.2}/skills/loopx-self-repair/references/upstream-issue-escalation.md +0 -0
  2000. {loopx-1.4.1 → loopx-1.4.2}/tests/test_agent_onboarding_pi_host.py +0 -0
  2001. {loopx-1.4.1 → loopx-1.4.2}/tests/test_agent_onboarding_unconnected_project.py +0 -0
  2002. {loopx-1.4.1 → loopx-1.4.2}/tests/test_agy_host_surface.py +0 -0
  2003. {loopx-1.4.1 → loopx-1.4.2}/tests/test_archive_installer_commit_response.py +0 -0
  2004. {loopx-1.4.1 → loopx-1.4.2}/tests/test_ark_managed_agent_host.py +0 -0
  2005. {loopx-1.4.1 → loopx-1.4.2}/tests/test_ark_managed_agent_issue_fix_matrix.py +0 -0
  2006. {loopx-1.4.1 → loopx-1.4.2}/tests/test_atomic_write_modes.py +0 -0
  2007. {loopx-1.4.1 → loopx-1.4.2}/tests/test_attached_session_broker.py +0 -0
  2008. {loopx-1.4.1 → loopx-1.4.2}/tests/test_attached_session_cli.py +0 -0
  2009. {loopx-1.4.1 → loopx-1.4.2}/tests/test_attached_session_goal_instance.py +0 -0
  2010. {loopx-1.4.1 → loopx-1.4.2}/tests/test_auto_research_artifact_receipt.py +0 -0
  2011. {loopx-1.4.1 → loopx-1.4.2}/tests/test_auto_research_control.py +0 -0
  2012. {loopx-1.4.1 → loopx-1.4.2}/tests/test_automation_cadence.py +0 -0
  2013. {loopx-1.4.1 → loopx-1.4.2}/tests/test_browser_workspace_backend_provenance.py +0 -0
  2014. {loopx-1.4.1 → loopx-1.4.2}/tests/test_capability_code_maps.py +0 -0
  2015. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_acp_startup_timeout.py +0 -0
  2016. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_activity.py +0 -0
  2017. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_agent_model_http.py +0 -0
  2018. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_automation_cadence_api.py +0 -0
  2019. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_codex_auth.py +0 -0
  2020. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_codex_context.py +0 -0
  2021. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_codex_home.py +0 -0
  2022. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_completed_todos.py +0 -0
  2023. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_delegation_journey.py +0 -0
  2024. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_delegation_wake.py +0 -0
  2025. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_delegation_wake_scope.py +0 -0
  2026. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_dsh_adapter.py +0 -0
  2027. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_event_buffer.py +0 -0
  2028. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_event_cursor.py +0 -0
  2029. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_event_retention.py +0 -0
  2030. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_executor_profile.py +0 -0
  2031. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_explore_results.py +0 -0
  2032. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_goal_configuration_api.py +0 -0
  2033. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_goal_draft.py +0 -0
  2034. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_goal_workspace_selection.py +0 -0
  2035. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_image_attachments.py +0 -0
  2036. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_image_http.py +0 -0
  2037. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_intake_evaluation.py +0 -0
  2038. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_lark_api_contract.py +0 -0
  2039. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_loopx_mode.py +0 -0
  2040. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_machine_configuration_api.py +0 -0
  2041. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_manager_context.py +0 -0
  2042. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_manager_details.py +0 -0
  2043. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_manager_inspection.py +0 -0
  2044. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_manager_model_adoption.py +0 -0
  2045. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_manager_report.py +0 -0
  2046. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_operation_actions.py +0 -0
  2047. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_ordinary_project.py +0 -0
  2048. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_path_redaction.py +0 -0
  2049. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_project_context.py +0 -0
  2050. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_project_coordination.py +0 -0
  2051. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_queue_preparation.py +0 -0
  2052. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_response_parsing.py +0 -0
  2053. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_startup_isolation.py +0 -0
  2054. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_startup_options.py +0 -0
  2055. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_store_input_validation.py +0 -0
  2056. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_team_evidence.py +0 -0
  2057. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_team_plan_action.py +0 -0
  2058. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_todo_detail.py +0 -0
  2059. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_transport_composition.py +0 -0
  2060. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_turn_steering.py +0 -0
  2061. {loopx-1.4.1 → loopx-1.4.2}/tests/test_chat_turn_wait.py +0 -0
  2062. {loopx-1.4.1 → loopx-1.4.2}/tests/test_ci_pytest_failure_context.py +0 -0
  2063. {loopx-1.4.1 → loopx-1.4.2}/tests/test_ci_pytest_timing.py +0 -0
  2064. {loopx-1.4.1 → loopx-1.4.2}/tests/test_claude_goal_install_python_launcher.py +0 -0
  2065. {loopx-1.4.1 → loopx-1.4.2}/tests/test_claude_goal_mode_hook_fail_closed.py +0 -0
  2066. {loopx-1.4.1 → loopx-1.4.2}/tests/test_claude_goal_mode_stdio_utf8.py +0 -0
  2067. {loopx-1.4.1 → loopx-1.4.2}/tests/test_claude_goal_release_qualification.py +0 -0
  2068. {loopx-1.4.1 → loopx-1.4.2}/tests/test_cli_argument_diagnostics.py +0 -0
  2069. {loopx-1.4.1 → loopx-1.4.2}/tests/test_cli_entrypoint.py +0 -0
  2070. {loopx-1.4.1 → loopx-1.4.2}/tests/test_cli_stdio_utf8.py +0 -0
  2071. {loopx-1.4.1 → loopx-1.4.2}/tests/test_codeowners.py +0 -0
  2072. {loopx-1.4.1 → loopx-1.4.2}/tests/test_codex_app_apply_rrule.py +0 -0
  2073. {loopx-1.4.1 → loopx-1.4.2}/tests/test_codex_operation_host.py +0 -0
  2074. {loopx-1.4.1 → loopx-1.4.2}/tests/test_collaboration_demo.py +0 -0
  2075. {loopx-1.4.1 → loopx-1.4.2}/tests/test_collaboration_goal_instance.py +0 -0
  2076. {loopx-1.4.1 → loopx-1.4.2}/tests/test_collaboration_sidecar_scan.py +0 -0
  2077. {loopx-1.4.1 → loopx-1.4.2}/tests/test_command_invocation.py +0 -0
  2078. {loopx-1.4.1 → loopx-1.4.2}/tests/test_configuration_backup.py +0 -0
  2079. {loopx-1.4.1 → loopx-1.4.2}/tests/test_content_ops_item_lifecycle.py +0 -0
  2080. {loopx-1.4.1 → loopx-1.4.2}/tests/test_content_ops_lifecycle.py +0 -0
  2081. {loopx-1.4.1 → loopx-1.4.2}/tests/test_content_ops_queue_status.py +0 -0
  2082. {loopx-1.4.1 → loopx-1.4.2}/tests/test_context_handoff_publication.py +0 -0
  2083. {loopx-1.4.1 → loopx-1.4.2}/tests/test_context_provider_service_ownership.py +0 -0
  2084. {loopx-1.4.1 → loopx-1.4.2}/tests/test_contract_credential_pattern_precision.py +0 -0
  2085. {loopx-1.4.1 → loopx-1.4.2}/tests/test_contract_public_boundary_prefilter.py +0 -0
  2086. {loopx-1.4.1 → loopx-1.4.2}/tests/test_contract_scan_missing_roots.py +0 -0
  2087. {loopx-1.4.1 → loopx-1.4.2}/tests/test_contract_scan_unreadable_files.py +0 -0
  2088. {loopx-1.4.1 → loopx-1.4.2}/tests/test_contributing_guide.py +0 -0
  2089. {loopx-1.4.1 → loopx-1.4.2}/tests/test_conversation_status_presentation.py +0 -0
  2090. {loopx-1.4.1 → loopx-1.4.2}/tests/test_dashboard_command.py +0 -0
  2091. {loopx-1.4.1 → loopx-1.4.2}/tests/test_dco_workflow.py +0 -0
  2092. {loopx-1.4.1 → loopx-1.4.2}/tests/test_decision_context_material.py +0 -0
  2093. {loopx-1.4.1 → loopx-1.4.2}/tests/test_deepresearch_command.py +0 -0
  2094. {loopx-1.4.1 → loopx-1.4.2}/tests/test_default_public_scan_root.py +0 -0
  2095. {loopx-1.4.1 → loopx-1.4.2}/tests/test_delegation_acceptance_diagnostics.py +0 -0
  2096. {loopx-1.4.1 → loopx-1.4.2}/tests/test_delegation_authority_recheck.py +0 -0
  2097. {loopx-1.4.1 → loopx-1.4.2}/tests/test_delegation_cli.py +0 -0
  2098. {loopx-1.4.1 → loopx-1.4.2}/tests/test_delegation_inventory.py +0 -0
  2099. {loopx-1.4.1 → loopx-1.4.2}/tests/test_delegation_lease_lifetime.py +0 -0
  2100. {loopx-1.4.1 → loopx-1.4.2}/tests/test_delegation_preflight.py +0 -0
  2101. {loopx-1.4.1 → loopx-1.4.2}/tests/test_delegation_preview_reuse.py +0 -0
  2102. {loopx-1.4.1 → loopx-1.4.2}/tests/test_delegation_result_use.py +0 -0
  2103. {loopx-1.4.1 → loopx-1.4.2}/tests/test_delegation_stop_nested_host.py +0 -0
  2104. {loopx-1.4.1 → loopx-1.4.2}/tests/test_delegation_stop_recovery.py +0 -0
  2105. {loopx-1.4.1 → loopx-1.4.2}/tests/test_delegation_task_revalidation.py +0 -0
  2106. {loopx-1.4.1 → loopx-1.4.2}/tests/test_delivery_review.py +0 -0
  2107. {loopx-1.4.1 → loopx-1.4.2}/tests/test_dependency_security_boundaries.py +0 -0
  2108. {loopx-1.4.1 → loopx-1.4.2}/tests/test_desktop_installation.py +0 -0
  2109. {loopx-1.4.1 → loopx-1.4.2}/tests/test_dev_book_reader_checkpoints.py +0 -0
  2110. {loopx-1.4.1 → loopx-1.4.2}/tests/test_distribution_runtime_identity.py +0 -0
  2111. {loopx-1.4.1 → loopx-1.4.2}/tests/test_doctor_git_encoding.py +0 -0
  2112. {loopx-1.4.1 → loopx-1.4.2}/tests/test_doctor_install_freshness.py +0 -0
  2113. {loopx-1.4.1 → loopx-1.4.2}/tests/test_doctor_installation_scope.py +0 -0
  2114. {loopx-1.4.1 → loopx-1.4.2}/tests/test_doctor_promotion_readiness.py +0 -0
  2115. {loopx-1.4.1 → loopx-1.4.2}/tests/test_dsh_goal_mode.py +0 -0
  2116. {loopx-1.4.1 → loopx-1.4.2}/tests/test_dsh_goal_mode_stdio_utf8.py +0 -0
  2117. {loopx-1.4.1 → loopx-1.4.2}/tests/test_explore_counterfactual_runtime.py +0 -0
  2118. {loopx-1.4.1 → loopx-1.4.2}/tests/test_explore_episode_runtime.py +0 -0
  2119. {loopx-1.4.1 → loopx-1.4.2}/tests/test_explore_monitor_lane_budget.py +0 -0
  2120. {loopx-1.4.1 → loopx-1.4.2}/tests/test_explore_owner_board_views.py +0 -0
  2121. {loopx-1.4.1 → loopx-1.4.2}/tests/test_explore_presentation_views.py +0 -0
  2122. {loopx-1.4.1 → loopx-1.4.2}/tests/test_explore_replay_compatibility.py +0 -0
  2123. {loopx-1.4.1 → loopx-1.4.2}/tests/test_explore_replay_runtime.py +0 -0
  2124. {loopx-1.4.1 → loopx-1.4.2}/tests/test_explore_resource_portfolio.py +0 -0
  2125. {loopx-1.4.1 → loopx-1.4.2}/tests/test_explore_router_acceptance.py +0 -0
  2126. {loopx-1.4.1 → loopx-1.4.2}/tests/test_explore_source_history_reconcile.py +0 -0
  2127. {loopx-1.4.1 → loopx-1.4.2}/tests/test_explore_todo_readiness.py +0 -0
  2128. {loopx-1.4.1 → loopx-1.4.2}/tests/test_explore_worker_topic_affinity.py +0 -0
  2129. {loopx-1.4.1 → loopx-1.4.2}/tests/test_feedback_goal_id_validation.py +0 -0
  2130. {loopx-1.4.1 → loopx-1.4.2}/tests/test_feedback_run_selection.py +0 -0
  2131. {loopx-1.4.1 → loopx-1.4.2}/tests/test_file_lock.py +0 -0
  2132. {loopx-1.4.1 → loopx-1.4.2}/tests/test_file_lock_cross_process.py +0 -0
  2133. {loopx-1.4.1 → loopx-1.4.2}/tests/test_gemini_cursor_host_surfaces.py +0 -0
  2134. {loopx-1.4.1 → loopx-1.4.2}/tests/test_global_registry_write_serialization.py +0 -0
  2135. {loopx-1.4.1 → loopx-1.4.2}/tests/test_global_risks.py +0 -0
  2136. {loopx-1.4.1 → loopx-1.4.2}/tests/test_global_todos.py +0 -0
  2137. {loopx-1.4.1 → loopx-1.4.2}/tests/test_goal_acceptance_contract_rendering.py +0 -0
  2138. {loopx-1.4.1 → loopx-1.4.2}/tests/test_goal_attention.py +0 -0
  2139. {loopx-1.4.1 → loopx-1.4.2}/tests/test_goal_mode_mcp_completion_validation.py +0 -0
  2140. {loopx-1.4.1 → loopx-1.4.2}/tests/test_goal_mode_mcp_settlement.py +0 -0
  2141. {loopx-1.4.1 → loopx-1.4.2}/tests/test_goal_portfolio.py +0 -0
  2142. {loopx-1.4.1 → loopx-1.4.2}/tests/test_handoff_fragments.py +0 -0
  2143. {loopx-1.4.1 → loopx-1.4.2}/tests/test_handoff_receiver.py +0 -0
  2144. {loopx-1.4.1 → loopx-1.4.2}/tests/test_history_artifact_observation.py +0 -0
  2145. {loopx-1.4.1 → loopx-1.4.2}/tests/test_history_chronology.py +0 -0
  2146. {loopx-1.4.1 → loopx-1.4.2}/tests/test_history_index_write_serialization.py +0 -0
  2147. {loopx-1.4.1 → loopx-1.4.2}/tests/test_host_loop_activation.py +0 -0
  2148. {loopx-1.4.1 → loopx-1.4.2}/tests/test_host_loop_runtime_parity.py +0 -0
  2149. {loopx-1.4.1 → loopx-1.4.2}/tests/test_host_mode_planner.py +0 -0
  2150. {loopx-1.4.1 → loopx-1.4.2}/tests/test_host_parity_smoke.py +0 -0
  2151. {loopx-1.4.1 → loopx-1.4.2}/tests/test_host_poll_receipts.py +0 -0
  2152. {loopx-1.4.1 → loopx-1.4.2}/tests/test_host_thread_activity.py +0 -0
  2153. {loopx-1.4.1 → loopx-1.4.2}/tests/test_host_vision_recovery.py +0 -0
  2154. {loopx-1.4.1 → loopx-1.4.2}/tests/test_inbox_pagination.py +0 -0
  2155. {loopx-1.4.1 → loopx-1.4.2}/tests/test_inbox_receipt_recovery.py +0 -0
  2156. {loopx-1.4.1 → loopx-1.4.2}/tests/test_install_copy_fallback.py +0 -0
  2157. {loopx-1.4.1 → loopx-1.4.2}/tests/test_install_hint_platform.py +0 -0
  2158. {loopx-1.4.1 → loopx-1.4.2}/tests/test_int_number_non_finite.py +0 -0
  2159. {loopx-1.4.1 → loopx-1.4.2}/tests/test_kiro_cli_host_surface.py +0 -0
  2160. {loopx-1.4.1 → loopx-1.4.2}/tests/test_kiro_cli_mcp.py +0 -0
  2161. {loopx-1.4.1 → loopx-1.4.2}/tests/test_kunluncode_goal_mode.py +0 -0
  2162. {loopx-1.4.1 → loopx-1.4.2}/tests/test_lark_private_agents.py +0 -0
  2163. {loopx-1.4.1 → loopx-1.4.2}/tests/test_lark_private_compatibility.py +0 -0
  2164. {loopx-1.4.1 → loopx-1.4.2}/tests/test_lark_private_images.py +0 -0
  2165. {loopx-1.4.1 → loopx-1.4.2}/tests/test_lark_private_progress.py +0 -0
  2166. {loopx-1.4.1 → loopx-1.4.2}/tests/test_lark_private_status.py +0 -0
  2167. {loopx-1.4.1 → loopx-1.4.2}/tests/test_lark_private_timeouts.py +0 -0
  2168. {loopx-1.4.1 → loopx-1.4.2}/tests/test_license_metadata.py +0 -0
  2169. {loopx-1.4.1 → loopx-1.4.2}/tests/test_local_delegation.py +0 -0
  2170. {loopx-1.4.1 → loopx-1.4.2}/tests/test_local_state_migration.py +0 -0
  2171. {loopx-1.4.1 → loopx-1.4.2}/tests/test_loop_turn_controller_contract.py +0 -0
  2172. {loopx-1.4.1 → loopx-1.4.2}/tests/test_loop_turn_loop_controller.py +0 -0
  2173. {loopx-1.4.1 → loopx-1.4.2}/tests/test_loopx_launcher_python_selection.py +0 -0
  2174. {loopx-1.4.1 → loopx-1.4.2}/tests/test_loopx_text_io_utf8.py +0 -0
  2175. {loopx-1.4.1 → loopx-1.4.2}/tests/test_loopx_turn_error_readback.py +0 -0
  2176. {loopx-1.4.1 → loopx-1.4.2}/tests/test_loopx_turn_executor.py +0 -0
  2177. {loopx-1.4.1 → loopx-1.4.2}/tests/test_loopx_turn_host_failure.py +0 -0
  2178. {loopx-1.4.1 → loopx-1.4.2}/tests/test_loopx_turn_journal_inspection.py +0 -0
  2179. {loopx-1.4.1 → loopx-1.4.2}/tests/test_loopx_turn_managed_step.py +0 -0
  2180. {loopx-1.4.1 → loopx-1.4.2}/tests/test_loopx_turn_settlement_parity.py +0 -0
  2181. {loopx-1.4.1 → loopx-1.4.2}/tests/test_loopx_turn_settlement_recovery.py +0 -0
  2182. {loopx-1.4.1 → loopx-1.4.2}/tests/test_loopx_turn_transaction.py +0 -0
  2183. {loopx-1.4.1 → loopx-1.4.2}/tests/test_managed_research_scenario.py +0 -0
  2184. {loopx-1.4.1 → loopx-1.4.2}/tests/test_managed_research_team.py +0 -0
  2185. {loopx-1.4.1 → loopx-1.4.2}/tests/test_manager_agent_discovery.py +0 -0
  2186. {loopx-1.4.1 → loopx-1.4.2}/tests/test_manager_channel_binding.py +0 -0
  2187. {loopx-1.4.1 → loopx-1.4.2}/tests/test_manager_context_execution.py +0 -0
  2188. {loopx-1.4.1 → loopx-1.4.2}/tests/test_manager_context_handoff.py +0 -0
  2189. {loopx-1.4.1 → loopx-1.4.2}/tests/test_manager_context_roundtrip.py +0 -0
  2190. {loopx-1.4.1 → loopx-1.4.2}/tests/test_manager_handoff_message.py +0 -0
  2191. {loopx-1.4.1 → loopx-1.4.2}/tests/test_manager_ssh_evidence.py +0 -0
  2192. {loopx-1.4.1 → loopx-1.4.2}/tests/test_manager_team_plan_guidance.py +0 -0
  2193. {loopx-1.4.1 → loopx-1.4.2}/tests/test_material_candidate_revision.py +0 -0
  2194. {loopx-1.4.1 → loopx-1.4.2}/tests/test_ml_experiment_volc_packet.py +0 -0
  2195. {loopx-1.4.1 → loopx-1.4.2}/tests/test_native_goal_release_qualification.py +0 -0
  2196. {loopx-1.4.1 → loopx-1.4.2}/tests/test_native_steward_ingress.py +0 -0
  2197. {loopx-1.4.1 → loopx-1.4.2}/tests/test_native_steward_private.py +0 -0
  2198. {loopx-1.4.1 → loopx-1.4.2}/tests/test_native_steward_runtime.py +0 -0
  2199. {loopx-1.4.1 → loopx-1.4.2}/tests/test_nokv_jsonl_helper.py +0 -0
  2200. {loopx-1.4.1 → loopx-1.4.2}/tests/test_opencode2_goal_worker.py +0 -0
  2201. {loopx-1.4.1 → loopx-1.4.2}/tests/test_opencode2_goal_worker_cli.py +0 -0
  2202. {loopx-1.4.1 → loopx-1.4.2}/tests/test_opencode_goal_bridge.py +0 -0
  2203. {loopx-1.4.1 → loopx-1.4.2}/tests/test_operator_markdown_renderers.py +0 -0
  2204. {loopx-1.4.1 → loopx-1.4.2}/tests/test_operator_provider.py +0 -0
  2205. {loopx-1.4.1 → loopx-1.4.2}/tests/test_packaged_skill_metadata.py +0 -0
  2206. {loopx-1.4.1 → loopx-1.4.2}/tests/test_peer_collaboration.py +0 -0
  2207. {loopx-1.4.1 → loopx-1.4.2}/tests/test_pi_goal_mode.py +0 -0
  2208. {loopx-1.4.1 → loopx-1.4.2}/tests/test_postgresql_integration_workflow.py +0 -0
  2209. {loopx-1.4.1 → loopx-1.4.2}/tests/test_pr_program_snapshot.py +0 -0
  2210. {loopx-1.4.1 → loopx-1.4.2}/tests/test_pr_program_snapshot_diff.py +0 -0
  2211. {loopx-1.4.1 → loopx-1.4.2}/tests/test_pr_review_github_scan.py +0 -0
  2212. {loopx-1.4.1 → loopx-1.4.2}/tests/test_progress_review_criterion_binding.py +0 -0
  2213. {loopx-1.4.1 → loopx-1.4.2}/tests/test_project_lifecycle_refresh_state_ownership.py +0 -0
  2214. {loopx-1.4.1 → loopx-1.4.2}/tests/test_project_organization_identity.py +0 -0
  2215. {loopx-1.4.1 → loopx-1.4.2}/tests/test_project_skill_cli.py +0 -0
  2216. {loopx-1.4.1 → loopx-1.4.2}/tests/test_projection_envelope.py +0 -0
  2217. {loopx-1.4.1 → loopx-1.4.2}/tests/test_public_package_lock_boundary.py +0 -0
  2218. {loopx-1.4.1 → loopx-1.4.2}/tests/test_public_source_reader.py +0 -0
  2219. {loopx-1.4.1 → loopx-1.4.2}/tests/test_python_discovery.py +0 -0
  2220. {loopx-1.4.1 → loopx-1.4.2}/tests/test_python_install_owner_platform.py +0 -0
  2221. {loopx-1.4.1 → loopx-1.4.2}/tests/test_quota_bound_wait_recovery.py +0 -0
  2222. {loopx-1.4.1 → loopx-1.4.2}/tests/test_register_agent_fresh_identity.py +0 -0
  2223. {loopx-1.4.1 → loopx-1.4.2}/tests/test_registry_git_probe.py +0 -0
  2224. {loopx-1.4.1 → loopx-1.4.2}/tests/test_release_candidate.py +0 -0
  2225. {loopx-1.4.1 → loopx-1.4.2}/tests/test_release_smoke_archive_helpers.py +0 -0
  2226. {loopx-1.4.1 → loopx-1.4.2}/tests/test_repository_identity.py +0 -0
  2227. {loopx-1.4.1 → loopx-1.4.2}/tests/test_review_sla_report.py +0 -0
  2228. {loopx-1.4.1 → loopx-1.4.2}/tests/test_reward_memory_pipeline.py +0 -0
  2229. {loopx-1.4.1 → loopx-1.4.2}/tests/test_rollout_event_log_loading.py +0 -0
  2230. {loopx-1.4.1 → loopx-1.4.2}/tests/test_runtime_archive.py +0 -0
  2231. {loopx-1.4.1 → loopx-1.4.2}/tests/test_runtime_stdio_host_utf8.py +0 -0
  2232. {loopx-1.4.1 → loopx-1.4.2}/tests/test_runtime_subprocess_utf8.py +0 -0
  2233. {loopx-1.4.1 → loopx-1.4.2}/tests/test_scheduler_native_launcher.py +0 -0
  2234. {loopx-1.4.1 → loopx-1.4.2}/tests/test_score_numeric_overflow.py +0 -0
  2235. {loopx-1.4.1 → loopx-1.4.2}/tests/test_self_update_download.py +0 -0
  2236. {loopx-1.4.1 → loopx-1.4.2}/tests/test_self_update_runtime_activation.py +0 -0
  2237. {loopx-1.4.1 → loopx-1.4.2}/tests/test_session_runtime_key_classification.py +0 -0
  2238. {loopx-1.4.1 → loopx-1.4.2}/tests/test_skill_delivery_parity.py +0 -0
  2239. {loopx-1.4.1 → loopx-1.4.2}/tests/test_skill_discovery_reconciliation.py +0 -0
  2240. {loopx-1.4.1 → loopx-1.4.2}/tests/test_slash_command_install.py +0 -0
  2241. {loopx-1.4.1 → loopx-1.4.2}/tests/test_smoke_suite.py +0 -0
  2242. {loopx-1.4.1 → loopx-1.4.2}/tests/test_source_cli.py +0 -0
  2243. {loopx-1.4.1 → loopx-1.4.2}/tests/test_ssh_tunnel_source.py +0 -0
  2244. {loopx-1.4.1 → loopx-1.4.2}/tests/test_stage2c_dependency_lock.py +0 -0
  2245. {loopx-1.4.1 → loopx-1.4.2}/tests/test_state_file_containment.py +0 -0
  2246. {loopx-1.4.1 → loopx-1.4.2}/tests/test_state_migration.py +0 -0
  2247. {loopx-1.4.1 → loopx-1.4.2}/tests/test_state_refresh_agent_lane_action.py +0 -0
  2248. {loopx-1.4.1 → loopx-1.4.2}/tests/test_state_refresh_projections.py +0 -0
  2249. {loopx-1.4.1 → loopx-1.4.2}/tests/test_static_site_presentation.py +0 -0
  2250. {loopx-1.4.1 → loopx-1.4.2}/tests/test_status_server_cors.py +0 -0
  2251. {loopx-1.4.1 → loopx-1.4.2}/tests/test_status_server_extension_projection.py +0 -0
  2252. {loopx-1.4.1 → loopx-1.4.2}/tests/test_status_server_fast_path.py +0 -0
  2253. {loopx-1.4.1 → loopx-1.4.2}/tests/test_status_server_periodic_report_workspace.py +0 -0
  2254. {loopx-1.4.1 → loopx-1.4.2}/tests/test_status_server_ssh_hosts.py +0 -0
  2255. {loopx-1.4.1 → loopx-1.4.2}/tests/test_steward_team_plan_apply.py +0 -0
  2256. {loopx-1.4.1 → loopx-1.4.2}/tests/test_steward_team_plan_preview.py +0 -0
  2257. {loopx-1.4.1 → loopx-1.4.2}/tests/test_summary_all.py +0 -0
  2258. {loopx-1.4.1 → loopx-1.4.2}/tests/test_support_control_promotion_ownership.py +0 -0
  2259. {loopx-1.4.1 → loopx-1.4.2}/tests/test_support_control_update_ownership.py +0 -0
  2260. {loopx-1.4.1 → loopx-1.4.2}/tests/test_task_lease_worktree.py +0 -0
  2261. {loopx-1.4.1 → loopx-1.4.2}/tests/test_thread_agent_binding.py +0 -0
  2262. {loopx-1.4.1 → loopx-1.4.2}/tests/test_todo_deferred_lease_recovery.py +0 -0
  2263. {loopx-1.4.1 → loopx-1.4.2}/tests/test_trajectory_hygiene.py +0 -0
  2264. {loopx-1.4.1 → loopx-1.4.2}/tests/test_turn_default_host_binding.py +0 -0
  2265. {loopx-1.4.1 → loopx-1.4.2}/tests/test_turn_envelope.py +0 -0
  2266. {loopx-1.4.1 → loopx-1.4.2}/tests/test_turn_lane_fence.py +0 -0
  2267. {loopx-1.4.1 → loopx-1.4.2}/tests/test_turn_loop_disposition.py +0 -0
  2268. {loopx-1.4.1 → loopx-1.4.2}/tests/test_turn_machine_credential.py +0 -0
  2269. {loopx-1.4.1 → loopx-1.4.2}/tests/test_turn_route_action_classification.py +0 -0
  2270. {loopx-1.4.1 → loopx-1.4.2}/tests/test_usage_collector.py +0 -0
  2271. {loopx-1.4.1 → loopx-1.4.2}/tests/test_usage_goal.py +0 -0
  2272. {loopx-1.4.1 → loopx-1.4.2}/tests/test_usage_ping.py +0 -0
  2273. {loopx-1.4.1 → loopx-1.4.2}/tests/test_visible_goal_terminal_settlement.py +0 -0
  2274. {loopx-1.4.1 → loopx-1.4.2}/tests/test_windows_atomic_writes.py +0 -0
  2275. {loopx-1.4.1 → loopx-1.4.2}/tests/test_windows_install.py +0 -0
  2276. {loopx-1.4.1 → loopx-1.4.2}/tests/test_worker_bridge.py +0 -0
  2277. {loopx-1.4.1 → loopx-1.4.2}/tests/test_worker_command_validation.py +0 -0
  2278. {loopx-1.4.1 → loopx-1.4.2}/tests/test_workspace_story_demo.py +0 -0
  2279. {loopx-1.4.1 → loopx-1.4.2}/tests/test_zcode_doctor_skill_delivery.py +0 -0
  2280. {loopx-1.4.1 → loopx-1.4.2}/tests/test_zcode_goal_bridge.py +0 -0
  2281. {loopx-1.4.1 → loopx-1.4.2}/tests/test_zcode_host_surface.py +0 -0
loopx-1.4.2/PKG-INFO ADDED
@@ -0,0 +1,876 @@
1
+ Metadata-Version: 2.4
2
+ Name: loopx
3
+ Version: 1.4.2
4
+ Summary: A Loop Engineering control plane for long-running agent goals (requires Node.js 22.22.3+).
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: ego-source-reader
18
+ Requires-Dist: mcp==1.28.1; extra == "ego-source-reader"
19
+ Provides-Extra: public-source-reader
20
+ Requires-Dist: mcp==1.28.1; extra == "public-source-reader"
21
+ Requires-Dist: resvg-py==0.5.0; extra == "public-source-reader"
22
+ Requires-Dist: defusedxml==0.7.1; extra == "public-source-reader"
23
+ Requires-Dist: pillow<13,>=11; extra == "public-source-reader"
24
+ Provides-Extra: deepseek-harness
25
+ Requires-Dist: deepseek-harness-sdk==0.1.5rc1; extra == "deepseek-harness"
26
+ Provides-Extra: test
27
+ Requires-Dist: distlib<1,>=0.3.9; sys_platform == "win32" and extra == "test"
28
+ Requires-Dist: resvg-py==0.5.0; extra == "test"
29
+ Requires-Dist: defusedxml==0.7.1; extra == "test"
30
+ Requires-Dist: pillow<13,>=11; extra == "test"
31
+ Requires-Dist: jsonschema<5,>=4.23; extra == "test"
32
+ Requires-Dist: mcp==1.28.1; extra == "test"
33
+ Requires-Dist: pyyaml<7,>=6; extra == "test"
34
+ Requires-Dist: types-jsonschema<5,>=4.23; extra == "test"
35
+ Requires-Dist: pytest<10,>=9.0.3; extra == "test"
36
+ Requires-Dist: pytest-cov<7,>=5; extra == "test"
37
+ Requires-Dist: pytest-xdist<4,>=3; extra == "test"
38
+ Requires-Dist: pytest-split<0.12,>=0.11; extra == "test"
39
+ Requires-Dist: ruff<0.16,>=0.12; extra == "test"
40
+ Requires-Dist: mypy<2,>=1.18; extra == "test"
41
+ Dynamic: license-file
42
+
43
+ <div align="center">
44
+
45
+ <h1 align="center">LoopX</h1>
46
+
47
+ **Give your agents a goal. Keep the work moving.**
48
+
49
+ The open, local-first control plane for long-horizon agents and personal agent teams.<br>
50
+ <sub>Keep goals, decisions and evidence across sessions. Work with Codex, Claude Code, DeepSeek Harness and other supported runtimes.</sub>
51
+
52
+ [![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) [![GitHub contributors](https://img.shields.io/github/contributors-anon/loopx-project/loopx?color=blue)](https://github.com/loopx-project/loopx/graphs/contributors) [![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%20supported-brightgreen.svg)](docs/product/release-readiness.md)
53
+
54
+ <a href="https://trendshift.io/repositories/102379"><img src="https://trendshift.io/api/badge/repositories/102379" alt="loopx-project/loopx on Trendshift" width="220" height="48"></a>
55
+
56
+ [Get started](#try-loopx) · [Workspace](#meet-the-personal-agent-workspace) · [LHTB results](#lhtb-results) · [Docs](https://loopx-project.github.io/loopx/docs/) · [简体中文](README.zh-CN.md)
57
+
58
+ <a href="docs/assets/personal-workspace/loopx-dashboard-launch.mp4"><img src="docs/assets/personal-workspace/workspace-hero.webp" alt="LoopX Personal Agent Workspace: a Work map showing task dependencies, responsible agents, progress and decisions waiting for the owner" width="960"></a><br>
59
+ <sub>Source-built App on an authored <a href="demo/workspace/README.md">Workspace stories replay</a>; no live Agent execution · <a href="docs/assets/personal-workspace/loopx-dashboard-launch.mp4">watch the 32-second walkthrough</a></sub>
60
+
61
+ **Start in Codex App in two steps.** Install once:
62
+
63
+ ```bash
64
+ python3 -m pip install --upgrade loopx && loopx workflow-skills --install
65
+ ```
66
+
67
+ Restart Codex App, then type this in a thread opened on your project:
68
+
69
+ ```text
70
+ $loopx fix the open PR review feedback and keep the patch reviewable
71
+ ```
72
+
73
+ <sub>LoopX connects the project, plans the work as Todos and sets up the heartbeat that keeps it moving. Claude Code uses <code>/loopx &lt;complex task&gt;</code> · <a href="#try-loopx">other Agent hosts</a></sub>
74
+
75
+ **[LHTB](https://zli12321.github.io/LHTB/index.html) · 46 tasks · GPT-5.6 Sol:** LoopX 1.0.3 Heartbeat reaches **0.4948 mean reward** — **+17.3% vs Plain Codex**, **+10.6% vs native Codex Goal**.<br>
76
+ <sub><a href="#lhtb-results">Results and pass rates ↓</a></sub>
77
+
78
+ </div>
79
+
80
+ ---
81
+
82
+ **More verified work. Less human attention.** LoopX gives agents durable goals,
83
+ bounded continuation, peer ownership and recoverable handoffs. Your runtime
84
+ provides the model and tools; LoopX keeps track of what to do next, what is
85
+ accepted, and when to ask you.
86
+
87
+ <a id="learn-loopx"></a>
88
+
89
+ | What you want to do | Start here |
90
+ | --- | --- |
91
+ | Keep a coding or research agent working across sessions | [Install and start](#try-loopx) |
92
+ | Manage personal projects, schedules and decisions in one place | [Personal Agent Workspace](#meet-the-personal-agent-workspace) |
93
+ | Let agents collaborate and deliver verifiable results | [Agent collaboration guide](docs/product/use-cases/cross-runtime/README.md) |
94
+
95
+ ## Meet the Personal Agent Workspace
96
+
97
+ Keep long-horizon goals in one local-first workspace. Goals, attention,
98
+ conversations, tasks, files, schedules, and recovery stay durable across days,
99
+ restarts, and harnesses. Reopen a project, inspect the previous turn’s state
100
+ and evidence, and continue the next permitted action.
101
+
102
+ LoopX 1.0 brings these long-horizon control states into the Personal Workspace. It gives you one place to:
103
+
104
+ - see what needs you, what is running, what is being watched, and what is
105
+ scheduled or stopped;
106
+ - configure Goal capabilities, distinguish machine defaults from Goal overrides,
107
+ and preview changes before applying them;
108
+ - steer a live turn, queue a message, or use the async inbox from a connected
109
+ Lark conversation with explicit Goal/Agent/session routing;
110
+ - inspect deliverable files, periodic reports, and their supporting evidence;
111
+ - continue across Codex, Claude Code, direct-model, and other registered Agent
112
+ sessions without losing Goal state or evidence;
113
+ - review protected changes through typed preview, explicit confirmation, and
114
+ receipts while LoopX state—not the browser—remains authoritative.
115
+
116
+ For Manager group conversations, LoopX keeps message visibility separate from
117
+ Turn authority; see the bilingual [Lark Manager context and authority
118
+ contract](docs/reference/protocols/lark-manager-context-authority-v0.md).
119
+
120
+ ```bash
121
+ loopx dashboard
122
+ ```
123
+
124
+ `loopx dashboard` is the supported browser/PWA launch path. You can also download
125
+ native desktop previews from the [1.0 release](https://github.com/loopx-project/loopx/releases/tag/v1.0.0);
126
+ they reuse the same loopback services and Goal state. Apple Silicon macOS supports
127
+ signed App updates that pair the shell with its bundled runtime, plus repair and
128
+ recovery. Python 3.11+ is required; the App is ad-hoc signed, not notarized.
129
+ Windows preview installers currently use manual updates and a separately installed CLI.
130
+ [Desktop installation, updates, and source development](apps/desktop/loopx-control-plane/README.md).
131
+
132
+ <details>
133
+ <summary>Capability settings and reproducible workspace scenarios</summary>
134
+
135
+ <img src="docs/assets/personal-workspace/capability-1.0.webp" alt="Real Workspace recording: configure child-task capacity and allowed responsibility domains" width="960">
136
+
137
+ From a source checkout, run `python -m demo.workspace serve` to explore a community
138
+ event, a home-energy comparison, and a neighborhood website release. Each has four
139
+ work roles, 18 tasks, two decisions, and two watches. The screenshot above comes
140
+ from this reproducible workspace. [Scenarios and replay instructions](demo/workspace/README.md).
141
+
142
+ </details>
143
+
144
+ [Watch the full 32-second walkthrough](docs/assets/personal-workspace/loopx-dashboard-launch.mp4)
145
+ · [Read the workspace guide](docs/guides/personal-workspace-user-guide.md)
146
+ · [Try the five-minute tour](docs/guides/personal-workspace-trial-guide.md)
147
+
148
+ <a id="how-it-works"></a>
149
+
150
+ ## Why LoopX
151
+
152
+ An agent can finish a task in one session. Long-running work is harder:
153
+ objectives change, owner decisions appear, evidence goes stale, agents hand work
154
+ to peers, and a scheduler can keep spending after no useful transition remains.
155
+ Chat memory and a timer are not enough to govern that.
156
+
157
+ LoopX keeps the durable control state in one compact layer:
158
+
159
+ <picture>
160
+ <source media="(max-width: 640px)" srcset="docs/assets/harness-neutral.en.mobile.svg">
161
+ <img src="docs/assets/harness-neutral.en.svg" alt="Your harness runs the turn. LoopX carries the work." width="1200">
162
+ </picture>
163
+
164
+ Agent runtimes execute the work. LoopX governs the state that lets engineering,
165
+ research, discovery, and operations loops continue across runs. It is not
166
+ another agent framework or a provider-specific orchestration runtime.
167
+
168
+ <picture>
169
+ <source media="(max-width: 640px)" srcset="docs/assets/control-plane-board.en.mobile.svg">
170
+ <img src="docs/assets/control-plane-board.en.svg" alt="One turn is a governed state transition—not just a timer." width="1200">
171
+ </picture>
172
+
173
+ A useful mental model is an
174
+ **[agent-native Kanban for long-running work](docs/development/control-plane-course/00-concept-primer.md)**.
175
+ Cards carry identity, authority, evidence, and continuation. Moves are validated
176
+ operators such as claim, gate, monitor, and writeback. The board is a
177
+ projection; LoopX state remains the source of truth.
178
+
179
+ Registered agents are peers. Claims, leases, task boundaries, capabilities, and
180
+ typed continuation decide who acts next; no durable leader identity is
181
+ required.
182
+
183
+ LoopX is useful when you run:
184
+
185
+ - multi-day engineering, research, benchmark, or experiment objectives;
186
+ - issue and PR loops that must preserve scope, evidence, and review state;
187
+ - recurring heartbeat or monitor work;
188
+ - projects with owner, safety, publication, or private-data gates;
189
+ - peer-agent teams where ownership, leases, and handoff matter;
190
+ - creator, research, or operations workflows whose progress must remain
191
+ legible to a non-engineering operator.
192
+
193
+ LoopX is not an autonomous production controller. Dangerous permissions,
194
+ publishing, production writes, and final ownership stay with the human.
195
+
196
+ ### Personal Agents, Teams, and Self-Improving Workflows
197
+
198
+ [Meta Muse](https://about.fb.com/news/2026/09/introducing-muse-personal-ai-agent/)
199
+ and [Grok Bot](https://x.ai/news/introducing-grok-bot) make persistent personal
200
+ agents and delegated work a familiar product idea. LoopX approaches that space
201
+ as an open, provider-neutral control plane for agents you already run—not as a
202
+ hosted replacement for either product.
203
+
204
+ - **Personal agent:** use the shipped Workspace and connected Lark surfaces to
205
+ inspect goals, steer work and resolve decisions. The
206
+ [persistent steward and semantic handoff RFC](docs/architecture/rfcs/capable-manager-semantic-handoff-v0.md)
207
+ extends this toward one capable front door for a team; the complete journey
208
+ remains under qualification.
209
+ - **Agent team:** share goals without erasing worker ownership. Claims, evidence
210
+ and explicit returns keep implementation and review connected. See the
211
+ [three-agent collaboration demo](examples/collaboration-delivery/README.md)
212
+ for a bounded example, including corrections and two review rounds.
213
+ - **Self-improving workflows:** connect feedback to the next attempt through
214
+ [Reward Memory](loopx/capabilities/reward_memory/README.md), and evaluate
215
+ candidate changes through [Explore](loopx/capabilities/explore/README.md).
216
+ Both are optional. The link to **recursive self-improvement (RSI)** is the
217
+ engineering loop—propose, test, review, retain—not a claim that LoopX has
218
+ demonstrated autonomous model improvement or compounding capability gains.
219
+
220
+ A personal steward is an interaction role, not a second source of authority.
221
+ Background execution still needs an available host and configured runtime.
222
+ The [overall roadmap](docs/architecture/rfcs/loopx-overall-roadmap-v0.md)
223
+ separates shipped foundations from the next end-to-end acceptance milestones.
224
+
225
+ <a id="see-it-in-action"></a>
226
+
227
+ ## Evidence
228
+
229
+ <a id="lhtb-results"></a>
230
+
231
+ ### LHTB: Higher Mean Reward With the Same Model
232
+
233
+ **LoopX 1.0.3 Heartbeat reaches 0.4948 mean reward across 46 matched tasks:**
234
+ **+17.3% over Plain Codex** and **+10.6% over native Codex Goal**.
235
+ All three use GPT-5.6 Sol, max reasoning effort, and disabled Web Search.
236
+ [Long-Horizon Terminal-Bench](https://zli12321.github.io/LHTB/index.html) goes beyond coding: these tasks span research
237
+ reproduction, scientific simulation, multimodal analysis, professional
238
+ workflows, games, and systems work.
239
+
240
+ | Execution mode | Mean reward ↑ | Strict pass rate (≥0.95) | Pass rate (≥0.80) |
241
+ | --- | ---: | ---: | ---: |
242
+ | Plain Codex | 0.4218 | 7/46 (15.2%) | 12/46 (26.1%) |
243
+ | Native Codex Goal | 0.4475 | 4/46 (8.7%) | 14/46 (30.4%) |
244
+ | **LoopX 1.0.3 Heartbeat** | **0.4948** | **7/46 (15.2%)** | **15/46 (32.6%)** |
245
+
246
+ The ≥0.80 threshold is a supplementary, post-hoc view; ≥0.95 remains the
247
+ benchmark's strict solved threshold. No score in this study equals 0.80, so
248
+ these counts also match the study brief's >0.80 view.
249
+
250
+ Against native Goal, task-level rewards improve on **23**, tie on **13**, and
251
+ regress on **10** tasks. Strict solves match Plain Codex, so the mean gain is
252
+ not a claim that every task improves or that more tasks are fully solved than
253
+ Plain. Mean reward also credits partial progress.
254
+
255
+ One effective trial per task and mode; designated replacement trials and
256
+ unequal runtime/budgets, including longer budgets for some Heartbeat replacements.
257
+ These are observed system results, not an equal-budget efficiency result or
258
+ an isolated causal estimate of LoopX's effect.
259
+
260
+ [Interactive results, task comparisons and methodology](https://loopx-project.github.io/loopx/benchmarks/lhtb/)
261
+ · [Five-arm study and limits](benchmark/LHTB/studies/five-arm-gpt56sol-max/README.md)
262
+ · [Public task-level scores](benchmark/LHTB/studies/five-arm-gpt56sol-max/data.json)
263
+
264
+ Beyond benchmarks, LoopX also has inspectable long-running project evidence.
265
+ The public OpenViking contribution sequence and the redacted, owner-run
266
+ Auto ML showcase each span **200+ hours of elapsed loop lifetime**, preserving
267
+ bounded turns, decisions, and evidence updates. This measures wall-clock project
268
+ time, not continuous model execution or unattended production autonomy. Open
269
+ each visual to inspect the public-safe task graph, evidence branches, and
270
+ cross-turn decisions; each case states its source and reproducibility boundary.
271
+
272
+ <details>
273
+ <summary>Earlier 200+ hour project trajectories: OpenViking and ML experiments</summary>
274
+
275
+ ### Open-Source Issue Fix
276
+
277
+ **200+ hour public contribution arc: PR delivery and reusable fix knowledge
278
+ evolve together.**
279
+
280
+ <a href="docs/assets/long-running-loop-openviking-trajectory.png">
281
+ <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">
282
+ </a>
283
+
284
+ LoopX's creator uses this path as an
285
+ [OpenViking contributor](https://github.com/volcengine/OpenViking/pulls?q=is%3Apr+author%3Ahuangruiteng).
286
+ The represented public contribution sequence spans more than 200 elapsed hours
287
+ from its first PR creation to the latest represented review or update. The
288
+ [Issue-Fix capability](loopx/capabilities/issue_fix/README.md) keeps rolling
289
+ repository context, revision-stamped fix knowledge, and reviewer-facing
290
+ preferences separate; linked PRs plus current checkout source and tests remain
291
+ authoritative.
292
+
293
+ ### Auto ML Experiment
294
+
295
+ **Redacted owner-run showcase: a 200+ hour experiment arc keeps hypotheses,
296
+ matched evidence, invalid lineages, running replicates, and promote/stop gates
297
+ visible in one graph.**
298
+
299
+ <a href="docs/assets/long-running-loop-ml-experiment-trajectory.png">
300
+ <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">
301
+ </a>
302
+
303
+ The redacted public-safe graph preserves decision lineage across that 200+ hour
304
+ elapsed window. It is an owner-run showcase, not a claim of continuous compute,
305
+ independent reproduction, or a production result.
306
+
307
+ </details>
308
+
309
+ ### Used In Real Projects
310
+
311
+ - **Independent user · `>13h` C++ accuracy run.** The user reported that a
312
+ multi-stage task stayed aligned, triggered public research, adopted a
313
+ [public code-memory tool](https://github.com/DeusData/codebase-memory-mcp),
314
+ and improved final precision. [Read the evidence boundary](docs/showcases/cases/independent-cpp-accuracy-long-run.md).
315
+ - **Independent user · `4d` unattended run.** The user reported four days
316
+ without human intervention, useful ongoing work, and a periodic report
317
+ surface. [Read the redacted case](docs/showcases/cases/independent-four-day-unattended-agent.md).
318
+ - **Independent user · `7` merged PRs.** A LoopX-attributed Engine refactor is
319
+ visible in a [public issue](https://github.com/zilliztech/mfs/issues/166) and
320
+ seven merged PRs; attribution and the reported `1B+` token scale remain user
321
+ reports. [Inspect the case](docs/showcases/cases/independent-public-engine-refactor.md).
322
+ - **Independent user · vLLM optimization merged upstream.**
323
+ [Zheng Cai](https://x.com/zigzagcai/status/2109952174822408443) reports using
324
+ LoopX as the workflow engine for profiling, research, experiments, and
325
+ correctness checks. [vLLM PR #54951](https://github.com/vllm-project/vllm/pull/54951)
326
+ merged a sparse-indexer optimization; its reported **32.59%** total-token
327
+ throughput gain is for GLM-5.3-Flash at 1M input tokens, 4×H200, TP4, C1.
328
+ [Inspect the workflow, full conditions, and evidence boundary](docs/showcases/cases/independent-vllm-long-context-optimization.md).
329
+
330
+ These are four featured independent-user cases, not the full inventory. Browse the
331
+ [complete Showcase catalog](docs/showcases/README.md) for contributor cases,
332
+ creator dogfooding, reproducible demos, and explicit evidence-strength labels.
333
+
334
+ ### Exploratory Benchmark Studies
335
+
336
+ - **[SWE-Marathon](https://loopx-project.github.io/loopx/benchmarks/swe-marathon/):**
337
+ Five execution modes on 15 matched tasks compare self-verification, scores,
338
+ and cost. More self-verification did not consistently yield higher scores.
339
+ - **[LHTB × LoopX](https://loopx-project.github.io/loopx/benchmarks/lhtb/):**
340
+ The [results above](#lhtb-results) lead into five execution mechanisms,
341
+ task-level comparisons, regressions, and exploratory task-type analysis.
342
+ - **[DeepSWE behavior analysis](https://loopx-project.github.io/loopx/benchmarks/deepswe/behavior-discovery/)** (Chinese):
343
+ Selected cases examine how domain hints relate to requirement retention and
344
+ verification choices, offering mechanism hypotheses for further testing.
345
+
346
+ SWE-Marathon and LHTB have one effective trial per task and mode; DeepSWE uses
347
+ selected cases and post-hoc analysis.
348
+
349
+ More inspectable surfaces:
350
+
351
+ - the [public homepage](https://loopx-project.github.io/loopx/) for the product
352
+ narrative, quick start, and long-running evidence;
353
+ - the [complete Showcase catalog](docs/showcases/README.md) and its
354
+ [bilingual hosted index](docs/showcases/index.html);
355
+ - the [Agent collaboration guide](docs/product/use-cases/cross-runtime/README.md) for dependent artifacts, independent review and returned results;
356
+ - the public [user manual](https://my.feishu.cn/wiki/CaL5wMk9ui17ngkWzeUcMlAYnZg).
357
+
358
+ <a id="quick-start"></a>
359
+
360
+ ## Try LoopX
361
+
362
+ Install once:
363
+
364
+ ```bash
365
+ python3 -m pip install --upgrade loopx && loopx workflow-skills --install
366
+ ```
367
+
368
+ ### Start From Your Agent
369
+
370
+ Restart your Agent host, then start from a session opened on your project:
371
+
372
+ | Host | Type |
373
+ | --- | --- |
374
+ | Codex App, Codex CLI | `$loopx <complex task>` |
375
+ | Claude Code | `/loopx <complex task>` |
376
+ | DeepSeek Harness | Install the [native DSH plugin](packages/dsh-loopx-plugin/README.md), select the `loopx` skill, then describe the task |
377
+
378
+ LoopX reuses existing project state or connects the project, plans the work as
379
+ Todos and sets up the host's loop. `loopx status` shows the goal, any decision
380
+ waiting for you and the next Todo; `loopx doctor` diagnoses the install.
381
+
382
+ Requires Python 3.11+ and Node.js 22.22.3+ (24 LTS recommended).
383
+ [Installing LoopX](docs/guides/installing-loopx.md) covers native Windows,
384
+ `pipx`, upgrades, rollback and uninstall.
385
+
386
+ <details>
387
+ <summary><b>Other hosts, loop drivers and custom runners</b></summary>
388
+
389
+ | Host | Recommended start | Loop driver |
390
+ | --- | --- | --- |
391
+ | Codex App | `$loopx <complex task>`, or choose `loopx` from `/skills`, in a thread opened on the project. | Codex App heartbeat automation, refreshed from `quota should-run.scheduler_hint` |
392
+ | Codex App over SSH | `loopx agent-onboard --agent-type codex-app-ssh --project .` | The returned visible `/goal <task_body>` |
393
+ | Codex CLI | Start `codex` in the project, then `$loopx <complex task>` or `/skills`. | Visible `/goal <task_body>`; no hidden headless execution by default |
394
+ | Claude Code | Install the opt-in adapter, then run `/loopx <task>` followed by `/loop`. | Native Claude Code `/loop` gated by LoopX |
395
+ | 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 |
396
+ | OpenCode | Install the static command facade; opt in to `--with-goal-bridge` for recurring goals. | OpenCode command facade and explicit goal bridge |
397
+ | 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) |
398
+ | 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` |
399
+ | 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 |
400
+ | 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 |
401
+ | 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 |
402
+ | Cursor, shell, or custom runner | `loopx start-goal --guided --project . --goal-text "<task>"`, or call LoopX from your runner. | Your shell, scheduler, or runner |
403
+
404
+ The exact, copy-ready setup messages and host recovery paths live in
405
+ [Getting Started](docs/guides/getting-started.md). Host integrations can inspect
406
+ the [Codex App host command registry contract](docs/reference/protocols/codex-app-host-command-registry-v0.md),
407
+ the [Codex CLI packaged install path](docs/product/runtimes/codex-cli/codex-cli-packaged-install.md),
408
+ the [Claude Code adapter](loopx/claude_goal_mode/README.md), the
409
+ [KunlunCode native Goal adapter](loopx/kunluncode_goal_mode/README.md), the
410
+ [Kiro CLI goal-mode adapter](loopx/kiro_cli_goal_mode/README.md), or the
411
+ [DeepSeek Harness turn adapter](loopx/dsh_goal_mode/README.md).
412
+
413
+ See the [60-second DSH × LoopX Replan recording and reproducible
414
+ fixture](docs/showcases/cases/dsh-loopx-replan-demo.md) for the native path:
415
+ install the plugin, select one skill, change a material constraint, and inspect
416
+ the preserved decision trail.
417
+
418
+ For custom runners, start with the
419
+ [minimal custom runtime example](docs/guides/minimal-custom-runtime-example.md)
420
+ (`python3 examples/custom-runtime-minimal-cli-turn-smoke.py`), then the full
421
+ [Embed LoopX in Your Agent Runner](docs/guides/custom-agent-runner-integration.md)
422
+ guide and the [worker bridge install contract](docs/integrations/worker-bridge-install-contract.md).
423
+ The core tick is deliberately small:
424
+
425
+ ```text
426
+ loopx quota should-run # should this registered agent act now?
427
+ loopx todo claim # who owns this slice?
428
+ loopx todo update # what changed?
429
+ loopx refresh-state # what should the next turn see?
430
+ loopx quota spend-slot # account for a completed, validated slice
431
+ ```
432
+
433
+ Clone-based install is only for contributors who want the live canary wrapper:
434
+
435
+ ```bash
436
+ git clone https://github.com/loopx-project/loopx ~/loopx
437
+ ~/loopx/scripts/install-local.sh
438
+ loopx doctor
439
+ ```
440
+
441
+ </details>
442
+
443
+ ### First-Run Feedback
444
+
445
+ If LoopX works for you, a one-minute public issue helps us learn what a real
446
+ first run looks like. It is optional, contains no telemetry, and should not
447
+ include logs, paths, credentials, internal project names, or goal contents:
448
+
449
+ - [First-run feedback](https://github.com/loopx-project/loopx/issues/new?template=first_run.yml)
450
+ - [Usage story for longer runs](https://github.com/loopx-project/loopx/issues/new?template=usage_story.yml)
451
+
452
+ `loopx first-run-report` prints the same prefilled link locally without
453
+ sending anything.
454
+
455
+ Basic usage statistics default on after first-use disclosure: a daily random-ID
456
+ heartbeat for platform support and continued use, plus separate ID-free CLI
457
+ counts. No content is collected. Disable both in Settings → Capability Center
458
+ or with `loopx usage-ping disable` / `LOOPX_USAGE_PING=0`; inspect payloads with
459
+ `loopx usage-ping status`. See [Basic usage statistics](docs/reference/usage-ping.md).
460
+
461
+ <a id="capability-surface"></a>
462
+
463
+ ## Capabilities
464
+
465
+ LoopX keeps the architecture explicit so the same governed outcome can survive
466
+ a change of agent harness or external provider. The terms describe different
467
+ boundaries rather than interchangeable kinds of plugin:
468
+
469
+ | Boundary | Meaning | Go deeper |
470
+ | --- | --- | --- |
471
+ | **Kernel** | Owns durable goal, todo, gate, evidence, quota, recovery, and scheduling truth. | [Architecture](docs/architecture.md) |
472
+ | **Capability** | Defines a stable, provider-neutral contract for producing one bounded, verifiable caller outcome from LoopX state. | [Capability catalog](loopx/capabilities/README.md) |
473
+ | **Provider** | Calls an external system or local implementation and returns bounded observations, effect results, and readback. | [Provider responsibilities](docs/reference/extensions.md#runtime-responsibilities) |
474
+ | **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) |
475
+
476
+ Host declarations such as `--available-capability shell` describe observed
477
+ execution support. They are runtime capacities in this product map, not product
478
+ capabilities and not permission grants. The effective capability still applies
479
+ its own policy and authority checks before proposing a transition.
480
+
481
+ ### Core Control-Plane Promises
482
+
483
+ The Kernel folds its mechanics into five questions. Each question delivers one
484
+ product promise on top of any agent harness: objective → long-horizon state;
485
+ next → semantic decisions; human judgment → human-agent collaboration;
486
+ evidence → recovery; continuation → governance.
487
+
488
+ | Question | What LoopX keeps visible |
489
+ | --- | --- |
490
+ | What is the objective? | The active goal, explicit scope, and current authority. |
491
+ | What happens next? | Ordered user and agent todos, ownership, claims, and leases. |
492
+ | What needs human judgment? | Concrete user gates instead of a vague "waiting for owner." |
493
+ | What evidence changed? | Compact run history, validation, blockers, and accepted writeback. |
494
+ | May the loop continue? | Quota, capabilities, safe fallback, scheduler hints, and stop conditions. |
495
+
496
+ ### Control-Plane Surface
497
+
498
+ | Surface | What it does | Start with |
499
+ | --- | --- | --- |
500
+ | Goal state and status | Tracks active state, todos, claims, gates, evidence, run history, and first-screen attention. | `loopx status`, `loopx diagnose`, `loopx review-packet` |
501
+ | 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) |
502
+ | 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` |
503
+ | Operator surfaces | Renders compact status without making the browser the state authority. | `loopx serve-status`, [dashboard](apps/presentation/dashboard/README.md) |
504
+ | 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) |
505
+ | 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) |
506
+ | 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) |
507
+ | 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) |
508
+ | 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) |
509
+
510
+ The shipped primitives include lifetime goals, concrete user gates, audited safe
511
+ fallbacks, peer todo ownership, quota and steering, compact run history,
512
+ evidence-backed handoff, a read-first management surface, project-level value
513
+ signals, and public/private boundary checks.
514
+
515
+ ### Product Capability Paths
516
+
517
+ Capabilities turn those generic primitives into outcome-owned work lanes. Start
518
+ from the outcome, then inspect the current registered implementation and its
519
+ write boundary:
520
+
521
+ | You need to... | Capability | Start with |
522
+ | --- | --- | --- |
523
+ | 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` |
524
+ | Qualify the exact final diff before delivery | [Change Quality](loopx/capabilities/change_quality/README.md) | `loopx capability show change-quality-qualification --format json` |
525
+ | Notice busy-but-off-goal work rounds before the periodic review | [Progress-Review Sentinel](loopx/capabilities/progress_review/README.md) | `loopx capability show progress-review-sentinel --format json` |
526
+ | Preserve a changing stack of already reviewed branches | [Integration Branch](loopx/capabilities/integration_branch/README.md) | `loopx capability show integration-branch-reconcile --format json` |
527
+ | Explore uncertain research without losing hypotheses and findings | [Explore](loopx/capabilities/explore/README.md) | `loopx capability show explore --format json` |
528
+ | Rebase decisions on current evidence and verified outcomes | [Decision Context](loopx/capabilities/decision_context/README.md) | `loopx capability show decision-context --format json` |
529
+ | Produce scheduled or progress-triggered reports with receipts | [Periodic Report](loopx/capabilities/periodic_report/README.md) | `loopx capability show periodic-report --format json` |
530
+
531
+ Run `loopx capability list --format json` for the authoritative catalog in the
532
+ installed release. A capability detail reports its user value, maturity,
533
+ provider readiness, entry commands, write boundaries, protocols, and durable
534
+ validation. Browse the [human-readable capability index](loopx/capabilities/README.md)
535
+ to choose by outcome; use [Extensions and Capabilities](docs/reference/extensions.md)
536
+ when installing or building a provider.
537
+
538
+ ### Runtime Responsibilities
539
+
540
+ | Role | Responsibility |
541
+ | --- | --- |
542
+ | **Agent** | Plans, analyzes, uses tools, and performs one bounded action through a host/runtime. |
543
+ | **Provider** | Calls external systems and returns observations, effect results, and readback. |
544
+ | **Capability** | Defines the caller outcome, normalizes provider output, validates it, and proposes a typed transition. |
545
+ | **Kernel** | Owns durable todos, gates, monitors, accepted writeback, quota, recovery, and scheduling. |
546
+
547
+ The execution path is `Agent -> Capability -> Provider`; the control path
548
+ returns `Provider readback -> Capability transition -> Kernel`. An extension is
549
+ how an optional provider is packaged and managed, not another control-plane
550
+ owner. See [Architecture](docs/architecture.md) and
551
+ [Extensions and Capabilities](docs/reference/extensions.md).
552
+
553
+ ## Advanced Paths
554
+
555
+ The first useful loop does not require every optional surface. Add these only
556
+ when the work needs them.
557
+
558
+ Inspect the current goal's read-only capability catalog before enabling an
559
+ advanced path:
560
+
561
+ ```bash
562
+ loopx configure-goal --goal-id <goal-id>
563
+ ```
564
+
565
+ Without `--execute`, this reports current/default state, fit, boundaries, and
566
+ copyable commands without changing project state.
567
+
568
+ ### Recurring Work Presets
569
+
570
+ Safe presets cover daily triage, changelog drafts, and PR watching. Start with
571
+ the [beginner preset guide](docs/product/foundations/beginner-loop-presets.md).
572
+
573
+ ```bash
574
+ loopx preset list
575
+ loopx preset show daily-triage
576
+ ```
577
+
578
+ Preset inspection is read-only. For a connected recurring goal,
579
+ `loopx ready-score --goal-id <goal-id> --agent-id <agent-id>` reports whether
580
+ the loop is ready to run repeatedly.
581
+
582
+ ### Governed Turns
583
+
584
+ LoopX can generate one pure, bounded turn decision from a validated receipt,
585
+ fresh quota state, and a provider-neutral budget. The current Codex CLI
586
+ quickstart and activation contract are documented in
587
+ [LoopX Turn for Codex CLI](docs/product/runtimes/codex-cli/loopx-turn-codex-cli-quickstart.md).
588
+
589
+ ### Explore Graph and Harness
590
+
591
+ Explore is supported, optional, and default-off. It works best when a task has
592
+ a measurable offline evaluation, baseline, treatment, and guardrails; it is not
593
+ a substitute for production approval. Start with the
594
+ [Explore capability](loopx/capabilities/explore/README.md) and its
595
+ [Lark presentation mapping](loopx/capabilities/explore/README.md#presentation-sink-lark-mapping).
596
+
597
+ ### Review Agent Work
598
+
599
+ Use `loopx review-packet` for a compact owner-facing view of decisions,
600
+ evidence, validation, and unresolved gates. The
601
+ [intelligent management surface](docs/product/surfaces/intelligent-management-surface.md)
602
+ describes the operator model; the
603
+ [project-level reward model](docs/product/foundations/project-level-reward-model.md)
604
+ describes conservative value signals across output quantity, quality, token
605
+ cost, and user attention cost.
606
+
607
+ For a concrete peer workflow, start with the
608
+ [Agent collaboration guide](docs/product/use-cases/cross-runtime/README.md):
609
+ a builder consumes an analyst's artifact, obtains independent review, handles
610
+ an owner correction and returns the checked result. The guide distinguishes
611
+ the runnable same-host example from the earlier cross-runtime design sketch.
612
+
613
+ ### App and Projection Paths
614
+
615
+ - Local read-first UI: [dashboard guide](apps/presentation/dashboard/README.md)
616
+ - Public product overview: [public homepage](https://loopx-project.github.io/loopx/)
617
+ - Documentation portal: [hosted docs](https://loopx-project.github.io/loopx/docs/)
618
+ - Feishu/Lark projection: [Lark Kanban adapter](docs/integrations/lark-kanban-control-plane-adapter.md)
619
+ - Generic host integration: [integration guide](docs/integration.md)
620
+ - Custom multi-agent runner:
621
+ [minimal custom runtime example](docs/guides/minimal-custom-runtime-example.md),
622
+ then [custom runner integration](docs/guides/custom-agent-runner-integration.md)
623
+
624
+ Optional projections make state easier to inspect; they do not become the
625
+ source of truth.
626
+
627
+ ### Operating and Recovery
628
+
629
+ Start daily inspection with:
630
+
631
+ ```bash
632
+ loopx status
633
+ loopx history --goal-id your-project-goal
634
+ loopx quota should-run --goal-id your-project-goal
635
+ ```
636
+
637
+ Automatic turns must check quota first and append spend only after validated
638
+ writeback. Quiet skips, preflight failures, and dry-run previews do not spend.
639
+ When a user gate blocks one lane, a separately audited safe fallback may
640
+ continue, but it must not bypass the gate.
641
+
642
+ Peer agents use `loopx todo claim` before delivery and `loopx todo update`
643
+ after validation so ownership and evidence remain visible.
644
+
645
+ Scheduler cadence follows `quota should-run.scheduler_hint`; installed Codex
646
+ App automations acknowledge the current hint through the returned
647
+ `ack_hint.cli_args`. Collision recovery, monitor semantics, self-repair, and
648
+ the exact operator commands are maintained in
649
+ [Getting Started](docs/guides/getting-started.md),
650
+ [Quota Allocation](docs/quota-allocation.md), and
651
+ [Long-Task Cadence Policy](docs/operations/long-task-cadence-policy.md).
652
+
653
+ Before publishing public docs or examples:
654
+
655
+ ```bash
656
+ loopx check \
657
+ --scan-path README.md \
658
+ --scan-path docs/ \
659
+ --scan-path examples/
660
+ ```
661
+
662
+ ## Current Technical Directions
663
+
664
+ LoopX has three active strategic programs plus an architecture and research
665
+ incubator. These are direction signals, not delivery promises; `main`, released
666
+ artifacts, and stable reference contracts remain the source of shipped truth.
667
+
668
+ - **Long-Horizon Benchmarks and Evidence:** reproducible capability evidence
669
+ and controlled mechanism research across complementary benchmark
670
+ environments. [Direction tracker](https://github.com/loopx-project/loopx/issues/3243)
671
+ - **Operator Surface and IM Integration:** an operator workspace, session
672
+ records, and bounded collaboration surfaces. The Personal Workspace is
673
+ shipped; unified steward, execution, and recovery journeys remain under
674
+ qualification, with `@maxliux5` as implementation lead.
675
+ [Direction tracker](https://github.com/loopx-project/loopx/issues/3244)
676
+ - **Shared Goal Authority and Cross-host Coordination:** provider-neutral
677
+ coordination for explicitly shared goals, with NoKV as an unpromoted
678
+ provider candidate rather than a new control-plane authority.
679
+ [Direction tracker](https://github.com/loopx-project/loopx/issues/3245)
680
+ - **Architecture and Research Incubator:** Effect Program hardening,
681
+ TypeScript parity migration, hierarchical stride, research exploration,
682
+ human attention, artifact lifecycle, and memory utility work at explicitly
683
+ different maturity levels.
684
+ [Direction tracker](https://github.com/loopx-project/loopx/issues/3246)
685
+
686
+ Read the canonical
687
+ [Technical Directions map](docs/project/technical-directions.md) for stages,
688
+ promotion gates, contributor-safe cuts, and ownership boundaries. Use the
689
+ pinned [GitHub Discussion](https://github.com/loopx-project/loopx/discussions/2851)
690
+ for community discussion. Core control-plane reliability continues as the
691
+ shared foundation beneath these programs.
692
+
693
+ ## Advanced Documentation
694
+
695
+ [Product website](https://loopx-project.github.io/loopx/) · [Blog](https://loopx-project.github.io/loopx/blog/) · [Developer Book](https://loopx-project.github.io/loopx/docs/book/en/)
696
+
697
+ Start with the path that matches your current task. Use the hosted
698
+ [documentation portal](https://loopx-project.github.io/loopx/docs/) for the
699
+ published docs site; the [documentation index](docs/README.md) remains the
700
+ complete source map. This list stays selective; each category index owns its
701
+ deeper documents and versioned protocols.
702
+
703
+ ### Use and Operate
704
+
705
+ - [Getting Started](docs/guides/getting-started.md): install, connect,
706
+ diagnose, daily workflow, heartbeats, dashboard, development, and commands.
707
+ - [User Manual](https://my.feishu.cn/wiki/CaL5wMk9ui17ngkWzeUcMlAYnZg):
708
+ public onboarding, concepts, FAQ, and selected cases.
709
+ - [Operations](docs/operations/README.md): goal continuation, todo, cadence,
710
+ attention, and authority workflows.
711
+ - [Quota Allocation](docs/quota-allocation.md) and
712
+ [Heartbeat Automation Prompt](docs/heartbeat-automation-prompt.md): scheduler
713
+ eligibility, spend, and scheduled continuation.
714
+ - [Dashboard](apps/presentation/dashboard/README.md) and
715
+ [Status Data Contract](docs/status-data-contract.md): operator-facing state
716
+ and projection contracts.
717
+ - [Release Readiness](docs/product/release-readiness.md): install/update paths,
718
+ compatibility gates, release notes, and safe-to-depend-on surfaces.
719
+
720
+ ### Understand the Control Plane
721
+
722
+ - [Architecture](docs/architecture.md): lifetime-goal invariant and kernel.
723
+ - [State Interaction Model](docs/state-interaction-model.md): actors, stores,
724
+ interaction contract, and writeback.
725
+ - [Concepts](docs/concepts/README.md): reusable routing, gate, evidence,
726
+ projection, and planning patterns.
727
+ - [Product Foundations](docs/product/foundations/README.md): Loop Engineering
728
+ principles, project-level reward, and reward-style replanning.
729
+ - [Product Vision](docs/product/vision.md): the broader Loop Agent direction.
730
+
731
+ ### Integrate and Extend
732
+
733
+ - [Integration Guide](docs/integration.md)
734
+ - [Minimal Custom Runtime Example](docs/guides/minimal-custom-runtime-example.md)
735
+ - [Custom Agent Runner Integration](docs/guides/custom-agent-runner-integration.md)
736
+ - [Integrations](docs/integrations/README.md): runtime, host, collaboration, and
737
+ external-system adapters, including worker bridge and Lark.
738
+ - [Extensions and Capabilities](docs/reference/extensions.md)
739
+
740
+ ### Build and Review LoopX
741
+
742
+ - [Developer Guide](docs/development/README.md): contributor workflows,
743
+ benchmark development, documentation layout, and quality gates.
744
+ - [Reference and Protocols](docs/reference/README.md): stable contracts and
745
+ versioned implementation protocols, including host command and reward memory
746
+ architecture.
747
+ - [Control-Plane Developer Course](docs/development/control-plane-course/README.md):
748
+ nine Chinese, code-led lectures.
749
+ - [Testing and Quality](docs/development/testing-and-quality.md): validation
750
+ layers and risk-based checks.
751
+ - [Public/Private Boundary](docs/public-private-boundary.md): safe fixtures,
752
+ examples, evidence, and publication.
753
+
754
+ ### Inspect Outcomes
755
+
756
+ - [Showcase Catalog](docs/showcases/README.md): public-safe cases and evidence
757
+ labels.
758
+ - [Research and Evidence](docs/research/README.md): benchmark investigations
759
+ and source-backed findings.
760
+ - [Update Notes](docs/update-notes/README.md): public-safe progress notes.
761
+
762
+ ### Project and Community
763
+
764
+ - [Current Technical Directions](docs/project/technical-directions.md)
765
+ - [Project Governance](.github/GOVERNANCE.md)
766
+ - [Contributing](CONTRIBUTING.md) and [Contributor Tasks](docs/development/contributor-tasks.md)
767
+ - [Authors and Contributors](docs/project/authors.md)
768
+ - [Project History](docs/project/history.md)
769
+ - [Name and Marks](docs/project/trademarks.md)
770
+ - [Brand Guide for External Use](docs/project/brand-guide.md): how projects and companies may reference LoopX, its integrations, and its artwork
771
+ - [ADOPTERS](ADOPTERS.md): voluntary self-attested adoption directory
772
+ - [Ecosystem Adoption](docs/community/ecosystem-adoption.md) - integrations,
773
+ sampling, and derivatives we observe and track
774
+
775
+ ## Partner Projects
776
+
777
+ LoopX welcomes collaboration with other open-source projects to build the
778
+ long-running agent ecosystem. Our confirmed partners include:
779
+
780
+ - [OpenViking](https://github.com/volcengine/OpenViking) - Self-evolving
781
+ context database for AI agents
782
+ - [NoKV](https://github.com/NoKV-Lab/NoKV) - AI native distributed file system
783
+
784
+ <a id="community--feedback"></a>
785
+
786
+ ## Community and Feedback
787
+
788
+ LoopX is already running real long-running agent goals and is under active
789
+ development. The most useful feedback comes from real long-running agent
790
+ projects: where the control plane helped, where it felt heavy, and which gates
791
+ or handoffs disappeared from view.
792
+
793
+ - Use [GitHub Issues](https://github.com/loopx-project/loopx/issues) for
794
+ reproducible bugs, install problems, and feature requests.
795
+ - Open PRs for docs fixes, showcase writeups, and small public-safe examples.
796
+ - Join the [Discord community](https://discord.gg/XmGgQyCFZd), or use Lark or
797
+ WeChat below.
798
+
799
+ See [Support](.github/SUPPORT.md) for channel routing, service boundaries, and
800
+ official publication sources.
801
+
802
+ <p align="center">
803
+ <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>
804
+ <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>
805
+ </p>
806
+ <p align="center">
807
+ <sub><strong>Lark:</strong> scan to join directly<br><strong>WeChat: <code>huangrt00</code></strong> · mention LoopX in the friend request</sub>
808
+ </p>
809
+
810
+ ## Contributing
811
+
812
+ External contributors should start with
813
+ [Contributor Tasks](docs/development/contributor-tasks.md) for public, claimable work and
814
+ [Contributing](CONTRIBUTING.md) for setup, validation, and boundary rules.
815
+ Project roles and public history are recorded in
816
+ [Governance](.github/GOVERNANCE.md),
817
+ [Authors and Contributors](docs/project/authors.md), and
818
+ [Project History](docs/project/history.md).
819
+
820
+ LoopX keeps local active state separate from the public repository. Do not
821
+ commit `.loopx/`, legacy `.codex/goals/`, live `ACTIVE_GOAL_STATE.md`, raw benchmark
822
+ traces, credentials, private logs, or operator artifacts.
823
+
824
+ ## Current Status
825
+
826
+ LoopX 1.0 is a usable local control plane for long-running agent work and is
827
+ entering broader adoption. It is not a full agent platform, an agent runtime, or
828
+ an autonomous production controller.
829
+
830
+ Today LoopX ships a durable state kernel for goals, typed todos and decision
831
+ scopes, peer claims and leases, evidence and writeback, quota-aware scheduling,
832
+ and cross-turn continuation. Guided start, recurring heartbeat, isolated Codex
833
+ CLI turns, evidence-backed Issue-Fix admission, optional Explore and auto
834
+ research paths, public validation canaries, and the multi-project Personal
835
+ Workspace all build on that shared control state.
836
+
837
+ Support levels remain explicit. The state and CLI contracts are the stable
838
+ center; several host integrations and advanced paths are optional, default-off,
839
+ or experimental. LoopX does not grant credentials, approve destructive or
840
+ production actions, publish on a user's behalf without authorization, or turn
841
+ an unverified run into evidence of success.
842
+
843
+ Current investment is organized through the
844
+ [Technical Directions map](docs/project/technical-directions.md): long-horizon
845
+ benchmark evidence, operator surface and IM integration, shared-goal cross-host
846
+ coordination, and an explicitly staged architecture and research incubator.
847
+
848
+ ## Star History
849
+
850
+ <p align="center">
851
+ <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>
852
+ <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>
853
+ </p>
854
+
855
+ ## License
856
+
857
+ Copyright 2026 LoopX contributors. Created by
858
+ [`@huangruiteng`](https://github.com/huangruiteng); see the public
859
+ [creator and contributor record](docs/project/authors.md).
860
+
861
+ Apache License 2.0 beginning with `v0.4.8`. See [LICENSE](LICENSE) and
862
+ [NOTICE](NOTICE). Releases through `v0.4.7` remain under their original MIT
863
+ terms; the historical text and notice are preserved in
864
+ [LICENSE-MIT](LICENSE-MIT). The [licensing policy](docs/project/licensing.md)
865
+ explains the version, contribution, patent-grant, and open-core boundaries.
866
+
867
+ You must not use AI generation, code rewriting, cross-language translation,
868
+ or project renaming as grounds to remove or evade copyright, attribution, or
869
+ NOTICE retention requirements under the applicable license. If the distributed
870
+ material is a derivative work of LoopX, those obligations still apply. This
871
+ clarification does not restrict modifications or redistribution permitted by
872
+ the applicable license. See [reuse and attribution](docs/project/licensing.md#reuse-ports-and-attribution)
873
+ and [name and marks guidance](docs/project/trademarks.md); a derivative
874
+ distribution must not be presented as an official LoopX release.
875
+
876
+ [osai-verify: eb42dd9cf910399988f0]: #