code-coordinator 0.5.229__tar.gz → 0.5.231__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 (811) hide show
  1. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/PKG-INFO +1 -1
  2. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/code_coordinator.egg-info/PKG-INFO +1 -1
  3. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/code_coordinator.egg-info/SOURCES.txt +1 -0
  4. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/code_coordinator.egg-info/scm_file_list.json +1 -0
  5. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/code_coordinator.egg-info/scm_version.json +2 -2
  6. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/agent.py +14 -8
  7. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/agent_app.py +36 -6
  8. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/commands/dispatch_workers.py +9 -9
  9. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/commands/milestone.py +37 -5
  10. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/commands/sessions.py +7 -1
  11. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/commands/status.py +7 -2
  12. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/diagnose.py +9 -2
  13. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/interactive.py +347 -28
  14. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/milestone_dispatch.py +113 -11
  15. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/milestone_gate.py +14 -1
  16. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/milestone_order.py +61 -0
  17. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/providers/claude_pty.py +55 -0
  18. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/serve_app.py +38 -2
  19. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_agent.py +22 -0
  20. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_assign.py +35 -0
  21. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_milestone_dispatch.py +103 -0
  22. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_milestone_order.py +82 -0
  23. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_reattach_sessions.py +162 -0
  24. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_diagnose.py +88 -0
  25. code_coordinator-0.5.231/tests/test_interactive_pane_log_2541.py +333 -0
  26. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_milestone_dispatch.py +112 -0
  27. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_milestone_gate.py +136 -0
  28. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_milestone_order.py +36 -0
  29. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_paste_landed.py +60 -0
  30. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_remote_interactive_reaper.py +128 -17
  31. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_tmux_session.py +57 -1
  32. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/.claude/commands/board.md +0 -0
  33. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/.claude/commands/complete-session.md +0 -0
  34. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/.claude/commands/coordinator.md +0 -0
  35. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/.githooks/_lib.sh +0 -0
  36. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/.githooks/post-checkout +0 -0
  37. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/.githooks/post-commit +0 -0
  38. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/.githooks/post-merge +0 -0
  39. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  40. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/.github/coord-ci-acceptance.yml +0 -0
  41. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/.github/workflows/auto-release.yml +0 -0
  42. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/.github/workflows/cargo-test.yml +0 -0
  43. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/.github/workflows/publish.yml +0 -0
  44. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/.github/workflows/release-tui.yml +0 -0
  45. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/.github/workflows/test.yml +0 -0
  46. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/.gitignore +0 -0
  47. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/CLAUDE.md +0 -0
  48. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/GOAL.md +0 -0
  49. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/LICENSE +0 -0
  50. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/MANIFEST.in +0 -0
  51. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/README.md +0 -0
  52. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/code_coordinator.egg-info/dependency_links.txt +0 -0
  53. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/code_coordinator.egg-info/entry_points.txt +0 -0
  54. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/code_coordinator.egg-info/requires.txt +0 -0
  55. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/code_coordinator.egg-info/top_level.txt +0 -0
  56. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/__init__.py +0 -0
  57. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/_board_mapping.py +0 -0
  58. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/acceptance.py +0 -0
  59. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/acceptance_drivers.py +0 -0
  60. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/agent_update.py +0 -0
  61. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/agents/opencode/.gitignore +0 -0
  62. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/agents/opencode/agents/work.md +0 -0
  63. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/agents/opencode/routing.jsonc +0 -0
  64. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/approved_work.py +0 -0
  65. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/audit.py +0 -0
  66. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/auto_loop.py +0 -0
  67. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/block_log.py +0 -0
  68. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/board_bool_guard.py +0 -0
  69. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/board_service.py +0 -0
  70. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/board_wire.py +0 -0
  71. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/brain.py +0 -0
  72. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/branch_model.py +0 -0
  73. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/bug_intake.py +0 -0
  74. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/cargo_cache.py +0 -0
  75. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/ci_fix.py +0 -0
  76. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/ci_github.py +0 -0
  77. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/ci_gitlab.py +0 -0
  78. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/ci_store.py +0 -0
  79. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/claim.py +0 -0
  80. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/cli.py +0 -0
  81. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/client.py +0 -0
  82. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/commands/__init__.py +0 -0
  83. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/commands/_common.py +0 -0
  84. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/commands/acceptance.py +0 -0
  85. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/commands/agent_ops.py +0 -0
  86. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/commands/audit.py +0 -0
  87. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/commands/chat.py +0 -0
  88. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/commands/dispatch.py +0 -0
  89. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/commands/drive.py +0 -0
  90. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/commands/drive_queue.py +0 -0
  91. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/commands/gate_a.py +0 -0
  92. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/commands/gates.py +0 -0
  93. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/commands/issues.py +0 -0
  94. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/commands/lifecycle.py +0 -0
  95. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/commands/merge.py +0 -0
  96. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/commands/plan_followup.py +0 -0
  97. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/commands/plans.py +0 -0
  98. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/commands/portal.py +0 -0
  99. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/commands/release.py +0 -0
  100. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/commands/repo.py +0 -0
  101. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/commands/report.py +0 -0
  102. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/commands/review.py +0 -0
  103. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/commands/scorecard.py +0 -0
  104. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/commands/setup.py +0 -0
  105. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/commands/terminal.py +0 -0
  106. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/commands/test_gate.py +0 -0
  107. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/commands/tui.py +0 -0
  108. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/comments.py +0 -0
  109. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/config.py +0 -0
  110. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/config_reload.py +0 -0
  111. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/confirm_test.py +0 -0
  112. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/conflict_fix.py +0 -0
  113. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/dao.py +0 -0
  114. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/dashboard/__init__.py +0 -0
  115. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/dashboard/fixture.py +0 -0
  116. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/dashboard/index.html +0 -0
  117. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/dashboard/server.py +0 -0
  118. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/dashboard/terminal.py +0 -0
  119. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/db.py +0 -0
  120. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/dead_end.py +0 -0
  121. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/deploy/README.md +0 -0
  122. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/deploy/coord-agent.service +0 -0
  123. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/deploy/coord-db-backup.service +0 -0
  124. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/deploy/coord-db-backup.sh +0 -0
  125. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/deploy/coord-db-backup.timer +0 -0
  126. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/deploy/coord-drive-queue.service +0 -0
  127. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/deploy/coord-drive-queue.timer +0 -0
  128. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/deploy/coord-notify.service +0 -0
  129. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/deploy/coord-notify.timer +0 -0
  130. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/deploy/coord-release-propagate.service +0 -0
  131. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/deploy/coord-release-propagate.timer +0 -0
  132. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/deploy/coord-release-window.service +0 -0
  133. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/deploy/coord-release-window.timer +0 -0
  134. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/deploy/coord-serve.service +0 -0
  135. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/deploy/coord-web-dist-build.service +0 -0
  136. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/deploy/coord-web-dist-build.timer +0 -0
  137. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/deploy/coord-web.service +0 -0
  138. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/deploy_manifest.py +0 -0
  139. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/deploy_units.py +0 -0
  140. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/deps.py +0 -0
  141. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/dispatch.py +0 -0
  142. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/dist_name.py +0 -0
  143. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/drive.py +0 -0
  144. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/drive_queue.py +0 -0
  145. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/drive_state.py +0 -0
  146. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/events.py +0 -0
  147. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/failure_class.py +0 -0
  148. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/filelock.py +0 -0
  149. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/fleet_config_health.py +0 -0
  150. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/forge_availability.py +0 -0
  151. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/freshness.py +0 -0
  152. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/gate_a.py +0 -0
  153. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/gate_b.py +0 -0
  154. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/gate_snapshot.py +0 -0
  155. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/gates.py +0 -0
  156. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/github_ops.py +0 -0
  157. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/goal.py +0 -0
  158. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/graph_health.py +0 -0
  159. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/health/__init__.py +0 -0
  160. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/health/aggregate.py +0 -0
  161. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/health/checks/__init__.py +0 -0
  162. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/health/checks/agent_install.py +0 -0
  163. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/health/checks/cargo_targets.py +0 -0
  164. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/health/checks/claude_binary.py +0 -0
  165. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/health/checks/coord_web_ci_pin.py +0 -0
  166. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/health/checks/deploy_lane_facts.py +0 -0
  167. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/health/checks/disk.py +0 -0
  168. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/health/checks/fleet_board.py +0 -0
  169. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/health/checks/fleet_deploy_lanes.py +0 -0
  170. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/health/checks/fleet_phantom.py +0 -0
  171. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/health/checks/fleet_unit_drift.py +0 -0
  172. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/health/checks/graph.py +0 -0
  173. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/health/checks/graphify_cli.py +0 -0
  174. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/health/checks/index_lock.py +0 -0
  175. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/health/checks/plan_usage.py +0 -0
  176. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/health/checks/repo_state.py +0 -0
  177. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/health/checks/spawned_coord.py +0 -0
  178. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/health/checks/timer_active.py +0 -0
  179. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/health/checks/toolchain.py +0 -0
  180. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/health/checks/unit_drift.py +0 -0
  181. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/health/checks/unit_enablement.py +0 -0
  182. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/health/checks/worktrees.py +0 -0
  183. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/health/cli.py +0 -0
  184. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/health/context.py +0 -0
  185. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/health/fleet_snapshot.py +0 -0
  186. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/health/models.py +0 -0
  187. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/health/pypi.py +0 -0
  188. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/health/registry.py +0 -0
  189. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/health/render.py +0 -0
  190. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/health/units.py +0 -0
  191. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/hooks.py +0 -0
  192. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/housekeeping.py +0 -0
  193. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/issue_store.py +0 -0
  194. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/liveness_auditor.py +0 -0
  195. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/machine_pause.py +0 -0
  196. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/merge_queue.py +0 -0
  197. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/milestone_chat.py +0 -0
  198. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/mock_author.py +0 -0
  199. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/models.py +0 -0
  200. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/network.py +0 -0
  201. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/new_issue_chat.py +0 -0
  202. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/notifier/__init__.py +0 -0
  203. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/notifier/baseline.py +0 -0
  204. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/notifier/cli.py +0 -0
  205. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/notifier/collect.py +0 -0
  206. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/notifier/digest.py +0 -0
  207. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/notifier/models.py +0 -0
  208. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/notifier/predicate.py +0 -0
  209. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/notifier/service.py +0 -0
  210. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/notifier/store.py +0 -0
  211. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/notifier/transport.py +0 -0
  212. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/notify.py +0 -0
  213. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/openapi.py +0 -0
  214. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/overlap_fence.py +0 -0
  215. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/overlap_predict.py +0 -0
  216. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/parentage.py +0 -0
  217. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/parentage_github.py +0 -0
  218. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/pipeline.py +0 -0
  219. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/plan_parser.py +0 -0
  220. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/plans.py +0 -0
  221. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/platform_paths.py +0 -0
  222. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/portal_bridge.py +0 -0
  223. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/portal_store.py +0 -0
  224. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/portal_sync.py +0 -0
  225. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/pr_body_lint.py +0 -0
  226. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/prereqs.py +0 -0
  227. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/progress.py +0 -0
  228. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/providers/__init__.py +0 -0
  229. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/providers/base.py +0 -0
  230. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/providers/claude.py +0 -0
  231. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/providers/opencode.py +0 -0
  232. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/queue_diagnose.py +0 -0
  233. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/reconcile.py +0 -0
  234. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/reconcile_tick.py +0 -0
  235. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/refine_chat.py +0 -0
  236. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/release_cordon.py +0 -0
  237. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/release_propagate.py +0 -0
  238. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/release_verify.py +0 -0
  239. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/release_window.py +0 -0
  240. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/repo_edit.py +0 -0
  241. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/repo_onboard.py +0 -0
  242. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/reports.py +0 -0
  243. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/revalidate.py +0 -0
  244. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/review.py +0 -0
  245. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/scorecard.py +0 -0
  246. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/self_health.py +0 -0
  247. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/skills/coord-dispatch-verbs/SKILL.md +0 -0
  248. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/skills/drive-queue-preflight/SKILL.md +0 -0
  249. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/skills/fleet-restart-safety/SKILL.md +0 -0
  250. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/skills/merge-stuck-triage/SKILL.md +0 -0
  251. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/skills/pipeline-limbo-triage/SKILL.md +0 -0
  252. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/skills/portal-followup/SKILL.md +0 -0
  253. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/skills/review-verdict-recovery/SKILL.md +0 -0
  254. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/skills/tui-quadraui-workflow/SKILL.md +0 -0
  255. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/skills/update-issue/SKILL.md +0 -0
  256. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/smoke.py +0 -0
  257. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/spend_ceiling.py +0 -0
  258. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/split_work.py +0 -0
  259. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/stage_projection.py +0 -0
  260. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/state.py +0 -0
  261. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/test_author.py +0 -0
  262. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/test_chat.py +0 -0
  263. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/test_orchestrator.py +0 -0
  264. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/test_report.py +0 -0
  265. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/tui_release.py +0 -0
  266. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/usage.py +0 -0
  267. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/usage_limits.py +0 -0
  268. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/usage_rollup.py +0 -0
  269. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coord/worker_events.py +0 -0
  270. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/coordinator.example.yml +0 -0
  271. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/deploy/coord-agent.service +0 -0
  272. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/deploy/coord-db-backup.service +0 -0
  273. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/deploy/coord-db-backup.sh +0 -0
  274. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/deploy/coord-db-backup.timer +0 -0
  275. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/deploy/coord-drive-queue.service +0 -0
  276. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/deploy/coord-drive-queue.timer +0 -0
  277. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/deploy/coord-notify.service +0 -0
  278. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/deploy/coord-notify.timer +0 -0
  279. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/deploy/coord-release-propagate.service +0 -0
  280. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/deploy/coord-release-propagate.timer +0 -0
  281. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/deploy/coord-release-window.service +0 -0
  282. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/deploy/coord-release-window.timer +0 -0
  283. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/deploy/coord-serve.service +0 -0
  284. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/deploy/coord-web-dist-build.service +0 -0
  285. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/deploy/coord-web-dist-build.sh +0 -0
  286. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/deploy/coord-web-dist-build.timer +0 -0
  287. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/deploy/coord-web-rollback.sh +0 -0
  288. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/deploy/coord-web.service +0 -0
  289. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/deploy/node-shim.sh +0 -0
  290. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/docs/ADR_COORD_WEB_ACCEPTANCE_SUITE.md +0 -0
  291. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/docs/ADR_COORD_WEB_CI.md +0 -0
  292. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/docs/ADR_COORD_WEB_DIST.md +0 -0
  293. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/docs/AGENT_OPERATIONS.md +0 -0
  294. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/docs/ARCHITECTURE.md +0 -0
  295. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/docs/ARCH_SECURITY_GATES.md +0 -0
  296. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/docs/COCKPIT.md +0 -0
  297. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/docs/CONTROL_CENTER.md +0 -0
  298. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/docs/COST_DISCIPLINE.md +0 -0
  299. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/docs/CROSS_PLATFORM.md +0 -0
  300. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/docs/CUSTOMER_PORTAL.md +0 -0
  301. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/docs/DRIVE_QUEUE.md +0 -0
  302. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/docs/EPHEMERAL_WORKERS.md +0 -0
  303. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/docs/FORGE_MIGRATION.md +0 -0
  304. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/docs/GRAPHIFY_SETUP.md +0 -0
  305. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/docs/ISSUE_GUIDANCE.md +0 -0
  306. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/docs/MAC_MINI.md +0 -0
  307. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/docs/MERGE_AUTO_DRAIN_TRUST_BAR.md +0 -0
  308. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/docs/NOTIFIER.md +0 -0
  309. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/docs/OPENCODE_VERIFICATION.md +0 -0
  310. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/docs/OPERATING_GOTCHAS.md +0 -0
  311. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/docs/ORACLE_LOOP.md +0 -0
  312. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/docs/PHONE_WEBAPP.md +0 -0
  313. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/docs/PIPELINE_V2.md +0 -0
  314. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/docs/PLATFORM_EVOLUTION.md +0 -0
  315. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/docs/SECOND_BACKEND.md +0 -0
  316. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/docs/STORE_SERVICE.md +0 -0
  317. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/docs/TEST_FIRST_BUG_LANE.md +0 -0
  318. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/docs/WEB_CONTROL_CENTER.md +0 -0
  319. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/docs/WSL_WINDOWS_WORKER.md +0 -0
  320. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/docs/mocks/web/README.md +0 -0
  321. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/docs/mocks/web/_tokens.css +0 -0
  322. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/docs/mocks/web/issue-detail.html +0 -0
  323. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/docs/mocks/web/pipeline-narrow.html +0 -0
  324. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/docs/mocks/web/pipeline-wide.html +0 -0
  325. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/graphify-out/.gitignore +0 -0
  326. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/install-agent.sh +0 -0
  327. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/pyproject.toml +0 -0
  328. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/scripts/audit_review_verdict_overrides.py +0 -0
  329. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/scripts/azure-workers/bootstrap-shared.sh +0 -0
  330. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/scripts/azure-workers/build-worker-image.sh +0 -0
  331. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/scripts/azure-workers/coordinator-machine.py +0 -0
  332. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/scripts/azure-workers/epic-down.sh +0 -0
  333. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/scripts/azure-workers/epic-up.sh +0 -0
  334. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/scripts/azure-workers/preflight.sh +0 -0
  335. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/scripts/azure-workers/provision-worker.sh +0 -0
  336. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/scripts/azure-workers/scrub-and-generalize.sh +0 -0
  337. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/scripts/azure-workers/tailnet-acl.hujson +0 -0
  338. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/scripts/azure-workers/verify-github-token.sh +0 -0
  339. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/scripts/check_gh_argv_containment.py +0 -0
  340. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/scripts/codegen.py +0 -0
  341. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/scripts/coord-test-runner.sh +0 -0
  342. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/scripts/drive-batch.sh +0 -0
  343. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/scripts/gen_board_fixture.py +0 -0
  344. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/scripts/gen_mock_index.py +0 -0
  345. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/scripts/next_release_tag.py +0 -0
  346. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/scripts/run_tests_in_populated_home.sh +0 -0
  347. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/scripts/run_tests_without_gh.sh +0 -0
  348. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/scripts/smoke_437_interactive.py +0 -0
  349. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/scripts/verify_878_review_capture.py +0 -0
  350. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/scripts/verify_release_published.py +0 -0
  351. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/scripts/verify_release_wheel.py +0 -0
  352. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/setup.cfg +0 -0
  353. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/SMOKE_SET.md +0 -0
  354. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/__init__.py +0 -0
  355. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-33/audit_1039.rs +0 -0
  356. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-33/contract.md +0 -0
  357. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-33/manifest.yml +0 -0
  358. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-33/mocks/audit-panel-detail.screen +0 -0
  359. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-33/mocks/audit-panel-empty.screen +0 -0
  360. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-33/mocks/audit-panel-filters.screen +0 -0
  361. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-33/mocks/audit-panel-populated.screen +0 -0
  362. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-37/conftest.py +0 -0
  363. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-37/contract.md +0 -0
  364. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-37/manifest.yml +0 -0
  365. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-37/test_usage_cli_1115.py +0 -0
  366. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-37/test_usage_core_1118.py +0 -0
  367. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-38/contract.md +0 -0
  368. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-38/manifest.yml +0 -0
  369. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-38/mocks/plans-base.screen +0 -0
  370. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-38/mocks/plans-detail-pane.screen +0 -0
  371. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-38/mocks/plans-help-overlay.screen +0 -0
  372. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-38/mocks/plans-palette.screen +0 -0
  373. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-38/mocks/plans-rightclick-epic.screen +0 -0
  374. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-38/mocks/plans-rightclick-header.screen +0 -0
  375. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-38/mocks/plans-rightclick-stub.screen +0 -0
  376. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-38/plans_detail_1122.rs +0 -0
  377. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-38/plans_help_1124.rs +0 -0
  378. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-38/plans_rightclick_1123.rs +0 -0
  379. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-51/contract.md +0 -0
  380. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-51/home-active-extended.spec.ts +0 -0
  381. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-51/home-active.spec.ts +0 -0
  382. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-51/manifest.yml +0 -0
  383. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-51/mocks/home-active.html +0 -0
  384. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-51/tsconfig.json +0 -0
  385. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-65/board_split_2288.rs +0 -0
  386. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-65/board_tabs_2282.rs +0 -0
  387. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-65/board_tabs_close_2283.rs +0 -0
  388. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-65/contract.md +0 -0
  389. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-65/detail_substate_2285.rs +0 -0
  390. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-65/manifest.yml +0 -0
  391. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-65/mocks/board-baseline-no-tabs.screen +0 -0
  392. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-65/mocks/board-pinned-3-tabs.screen +0 -0
  393. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-65/mocks/board-preview-tab.screen +0 -0
  394. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-65/mocks/board-split-side-by-side.screen +0 -0
  395. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-65/mocks/board-tab-context-menu.screen +0 -0
  396. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-65/mocks/board-tabs-help-overlay.screen +0 -0
  397. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-65/mocks/board-tabs-overflow.screen +0 -0
  398. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-65/mocks/pipeline-tabs-independent.screen +0 -0
  399. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-65/pipeline_tabs_2284.rs +0 -0
  400. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-65/tabs_discoverability_2287.rs +0 -0
  401. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-65/tabs_persistence_2286.rs +0 -0
  402. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-67/approved_items_2532.rs +0 -0
  403. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-67/contract.md +0 -0
  404. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-67/manifest.yml +0 -0
  405. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-67/mocks/approved-items-chat-opened.screen +0 -0
  406. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-67/mocks/approved-items-context-menu.screen +0 -0
  407. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-67/mocks/approved-items-detail.screen +0 -0
  408. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-67/mocks/approved-items-empty.screen +0 -0
  409. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-67/mocks/approved-items-populated.screen +0 -0
  410. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/acceptance/ms-example/mocks/home-active.html +0 -0
  411. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/conftest.py +0 -0
  412. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/fixtures/board-pipeline-basic.json +0 -0
  413. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/fixtures/board-pipeline-terminal-gates.json +0 -0
  414. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/fixtures/opencode_run_failure_sample.jsonl +0 -0
  415. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/fixtures/opencode_run_length_sample.jsonl +0 -0
  416. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/fixtures/opencode_run_sample.jsonl +0 -0
  417. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/fixtures/playwright/all_pass.json +0 -0
  418. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/fixtures/playwright/global_setup_crash.json +0 -0
  419. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/fixtures/playwright/mixed_fail.json +0 -0
  420. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/fixtures/playwright/retry_then_pass.json +0 -0
  421. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/fixtures/playwright/retry_then_pass.junit.xml +0 -0
  422. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/fixtures/playwright/skip.json +0 -0
  423. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/fixtures/playwright/truncated.json +0 -0
  424. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/fixtures/test_report/cargo_compile_error.txt +0 -0
  425. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/fixtures/test_report/cargo_multi_target_failures.txt +0 -0
  426. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/fixtures/test_report/cargo_no_parseable_failures.txt +0 -0
  427. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/fixtures/test_report/pytest_collection_error.txt +0 -0
  428. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/fixtures/test_report/pytest_error_string_in_body.txt +0 -0
  429. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/fixtures/test_report/pytest_internal_error.txt +0 -0
  430. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/fixtures/test_report/pytest_mixed_failures.txt +0 -0
  431. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/fixtures/test_report/pytest_no_parseable_failures.txt +0 -0
  432. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_acceptance.py +0 -0
  433. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_acceptance_drivers.py +0 -0
  434. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_agent_api_error.py +0 -0
  435. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_agent_app.py +0 -0
  436. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_agent_branch_base.py +0 -0
  437. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_agent_branch_capture.py +0 -0
  438. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_agent_config_free_1712.py +0 -0
  439. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_agent_deploy_units_endpoint.py +0 -0
  440. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_agent_dirty_worktree.py +0 -0
  441. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_agent_drive_queue_reconcile_2373.py +0 -0
  442. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_agent_graph_self_heal.py +0 -0
  443. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_agent_health_h3.py +0 -0
  444. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_agent_idle_restart.py +0 -0
  445. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_agent_push_failure.py +0 -0
  446. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_agent_reap.py +0 -0
  447. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_agent_repos_and_pull.py +0 -0
  448. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_agent_restart_services_endpoint.py +0 -0
  449. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_agent_skills_self_heal.py +0 -0
  450. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_agent_startup_diagnostics.py +0 -0
  451. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_agent_update.py +0 -0
  452. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_agent_update_bluegreen.py +0 -0
  453. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_agent_usage_limit.py +0 -0
  454. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_agent_zero_commit.py +0 -0
  455. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_ambient_home_isolation.py +0 -0
  456. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_approve_reject_plan.py +0 -0
  457. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_approve_usage_gate.py +0 -0
  458. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_approved_work_2532.py +0 -0
  459. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_assignment_already_recorded_daemon.py +0 -0
  460. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_audit_log.py +0 -0
  461. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_audit_outcome.py +0 -0
  462. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_audit_query.py +0 -0
  463. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_auto_loop.py +0 -0
  464. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_auto_release_publish_2035.py +0 -0
  465. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_base_checkout_restore.py +0 -0
  466. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_block_log.py +0 -0
  467. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_board_cap_762.py +0 -0
  468. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_board_fixture.py +0 -0
  469. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_board_read_path.py +0 -0
  470. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_board_service.py +0 -0
  471. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_board_state.py +0 -0
  472. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_board_wire.py +0 -0
  473. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_brain.py +0 -0
  474. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_branch_model.py +0 -0
  475. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_bug_intake.py +0 -0
  476. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_build_worker_image_env_update.py +0 -0
  477. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cargo_cache.py +0 -0
  478. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_check_gh_argv_containment.py +0 -0
  479. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_ci_acceptance_gate_1950.py +0 -0
  480. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_ci_fix.py +0 -0
  481. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_ci_gitlab.py +0 -0
  482. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_ci_parity_2091.py +0 -0
  483. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_ci_store.py +0 -0
  484. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_claim.py +0 -0
  485. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_acceptance.py +0 -0
  486. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_assign_interactive_oracle_gate.py +0 -0
  487. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_assign_interactive_remote.py +0 -0
  488. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_assign_provider.py +0 -0
  489. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_assign_repo_drift_2219.py +0 -0
  490. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_audit.py +0 -0
  491. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_chat_continue.py +0 -0
  492. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_decide.py +0 -0
  493. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_diagnose_config_provenance.py +0 -0
  494. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_diagnose_forge_availability.py +0 -0
  495. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_diagnose_graph.py +0 -0
  496. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_diagnose_self.py +0 -0
  497. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_doctor.py +0 -0
  498. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_doctor_config_free_1801.py +0 -0
  499. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_doctor_config_mismatch_1712.py +0 -0
  500. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_drive.py +0 -0
  501. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_drive_queue.py +0 -0
  502. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_escalate.py +0 -0
  503. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_fix_headless_review.py +0 -0
  504. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_gate_a.py +0 -0
  505. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_install_drift.py +0 -0
  506. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_install_skills.py +0 -0
  507. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_issue_create_label.py +0 -0
  508. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_issue_reopen.py +0 -0
  509. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_merge.py +0 -0
  510. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_milestone_assign.py +0 -0
  511. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_milestone_capture.py +0 -0
  512. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_milestone_chat_add_child.py +0 -0
  513. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_milestone_gate_b.py +0 -0
  514. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_milestone_gate_c.py +0 -0
  515. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_milestone_remove_and_issue_close.py +0 -0
  516. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_milestone_ship.py +0 -0
  517. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_network.py +0 -0
  518. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_new_issue_chat.py +0 -0
  519. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_plans.py +0 -0
  520. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_portal.py +0 -0
  521. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_pull_artifact.py +0 -0
  522. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_queue.py +0 -0
  523. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_refine_board.py +0 -0
  524. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_release_preflight.py +0 -0
  525. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_release_propagate.py +0 -0
  526. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_release_window.py +0 -0
  527. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_repo_2220.py +0 -0
  528. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_scorecard.py +0 -0
  529. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_set_review_findings.py +0 -0
  530. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_status_advisory_terminal.py +0 -0
  531. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_status_merge_queue.py +0 -0
  532. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_status_provider.py +0 -0
  533. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_status_review_finalizing.py +0 -0
  534. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_status_test_failed_tag.py +0 -0
  535. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_status_usage_limit.py +0 -0
  536. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_sync_comments_873.py +0 -0
  537. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_test_plan.py +0 -0
  538. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_track.py +0 -0
  539. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_tui_update.py +0 -0
  540. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cli_wait.py +0 -0
  541. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_client_base_install.py +0 -0
  542. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_comments.py +0 -0
  543. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_completion_summary.py +0 -0
  544. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_config.py +0 -0
  545. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_config_acceptance.py +0 -0
  546. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_config_audit.py +0 -0
  547. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_config_pricing.py +0 -0
  548. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_config_snapshot_noncanonical_2208.py +0 -0
  549. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_config_usage_gate.py +0 -0
  550. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_confirm_test.py +0 -0
  551. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_conflict_fix.py +0 -0
  552. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_conflict_fix_semantic.py +0 -0
  553. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_coord_test.py +0 -0
  554. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_coord_test_runner_baseline.py +0 -0
  555. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_coord_test_runner_populated_home.py +0 -0
  556. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_coord_test_runner_routing.py +0 -0
  557. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_coord_test_runner_toolchain.py +0 -0
  558. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_coord_web_sse_restart_live.py +0 -0
  559. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_coordinator_machine.py +0 -0
  560. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_cross_platform_imports.py +0 -0
  561. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_dashboard.py +0 -0
  562. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_dashboard_fixture.py +0 -0
  563. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_dashboard_terminal.py +0 -0
  564. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_dashboard_terminal_live.py +0 -0
  565. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_db.py +0 -0
  566. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_dead_end.py +0 -0
  567. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_deploy_coord_db_backup.py +0 -0
  568. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_deploy_coord_web_dist.py +0 -0
  569. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_deploy_coord_web_rollback.py +0 -0
  570. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_deploy_drive_queue_unit.py +0 -0
  571. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_deploy_manifest.py +0 -0
  572. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_deploy_notify_unit.py +0 -0
  573. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_deploy_units_lane.py +0 -0
  574. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_deploy_web_unit.py +0 -0
  575. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_deps.py +0 -0
  576. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_dispatch.py +0 -0
  577. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_dispatch_target_validation.py +0 -0
  578. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_dist_name.py +0 -0
  579. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_done_housekeeping.py +0 -0
  580. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_drive.py +0 -0
  581. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_drive_queue.py +0 -0
  582. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_drive_state.py +0 -0
  583. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_drive_tmux.py +0 -0
  584. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_epic_up_capability_detection.py +0 -0
  585. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_epic_up_down_symlinked_config_1887.py +0 -0
  586. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_epic_up_image_provenance.py +0 -0
  587. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_errors.py +0 -0
  588. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_events.py +0 -0
  589. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_failure_class.py +0 -0
  590. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_filelock.py +0 -0
  591. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_finalize_interactive_exit_test_verdict.py +0 -0
  592. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_fix_of_force_override.py +0 -0
  593. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_fleet_config_health.py +0 -0
  594. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_fleet_health_probes.py +0 -0
  595. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_fleet_health_snapshot.py +0 -0
  596. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_forge_availability.py +0 -0
  597. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_freshness.py +0 -0
  598. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_gate_a.py +0 -0
  599. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_gate_b.py +0 -0
  600. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_gate_snapshot_staleness.py +0 -0
  601. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_gates.py +0 -0
  602. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_gather_fleet_tmux_sessions.py +0 -0
  603. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_gen_mock_index.py +0 -0
  604. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_generated_types_fixture.py +0 -0
  605. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_github_ops.py +0 -0
  606. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_goal.py +0 -0
  607. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_graph_health.py +0 -0
  608. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_graph_selfheal_absent_2237.py +0 -0
  609. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_handoff.py +0 -0
  610. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_health_checks.py +0 -0
  611. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_health_cli.py +0 -0
  612. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_health_cli_graph.py +0 -0
  613. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_health_config.py +0 -0
  614. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_health_context.py +0 -0
  615. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_health_coord_web_ci_pin.py +0 -0
  616. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_health_deploy_lane_facts.py +0 -0
  617. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_health_incident_regression.py +0 -0
  618. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_health_pypi.py +0 -0
  619. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_health_registry.py +0 -0
  620. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_health_timer_active.py +0 -0
  621. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_health_toolchain.py +0 -0
  622. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_health_unit_drift.py +0 -0
  623. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_health_unit_enablement.py +0 -0
  624. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_hooks.py +0 -0
  625. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_human_attended_437.py +0 -0
  626. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_init.py +0 -0
  627. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_integration.py +0 -0
  628. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_interactive_briefing_echo.py +0 -0
  629. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_interactive_prefill_state.py +0 -0
  630. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_interactive_session_relaunch.py +0 -0
  631. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_interactive_test_verdict_backstop.py +0 -0
  632. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_interactive_token_attribution.py +0 -0
  633. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_interactive_worktree.py +0 -0
  634. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_issue_store_seam.py +0 -0
  635. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_liveness_auditor.py +0 -0
  636. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_liveness_notify.py +0 -0
  637. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_machine_pause.py +0 -0
  638. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_merge_queue.py +0 -0
  639. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_merge_verify.py +0 -0
  640. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_milestone_chat.py +0 -0
  641. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_milestone_seam.py +0 -0
  642. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_mock_author.py +0 -0
  643. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_model_tiering.py +0 -0
  644. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_models.py +0 -0
  645. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_models_config_labels.py +0 -0
  646. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_needs_attention.py +0 -0
  647. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_network.py +0 -0
  648. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_new_issue_chat.py +0 -0
  649. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_next_release_tag.py +0 -0
  650. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_node_shim.py +0 -0
  651. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_notifier_baseline.py +0 -0
  652. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_notifier_cli.py +0 -0
  653. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_notifier_collect.py +0 -0
  654. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_notifier_config.py +0 -0
  655. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_notifier_drive_seam.py +0 -0
  656. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_notifier_isolation.py +0 -0
  657. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_notifier_predicate.py +0 -0
  658. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_notifier_quiet_hours.py +0 -0
  659. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_notifier_service.py +0 -0
  660. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_notify.py +0 -0
  661. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_notify_drain.py +0 -0
  662. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_openapi.py +0 -0
  663. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_operational_defaults.py +0 -0
  664. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_overlap_fence.py +0 -0
  665. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_overlap_predict.py +0 -0
  666. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_packaged_deploy_units.py +0 -0
  667. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_parentage.py +0 -0
  668. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_pipeline.py +0 -0
  669. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_plan_followup_approve_plan_command.py +0 -0
  670. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_plan_followup_pr_command.py +0 -0
  671. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_plan_followup_review_command.py +0 -0
  672. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_plan_only.py +0 -0
  673. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_plan_parser.py +0 -0
  674. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_platform_paths.py +0 -0
  675. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_portal_bridge.py +0 -0
  676. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_portal_config.py +0 -0
  677. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_portal_store.py +0 -0
  678. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_portal_sync.py +0 -0
  679. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_pr_body_lint.py +0 -0
  680. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_prereqs.py +0 -0
  681. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_production_db_guard.py +0 -0
  682. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_progress.py +0 -0
  683. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_provider_seam.py +0 -0
  684. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_providers.py +0 -0
  685. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_providers_config_labels.py +0 -0
  686. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_providers_pty.py +0 -0
  687. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_quiet_hours.py +0 -0
  688. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_quiet_hours_store_2146.py +0 -0
  689. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_reap_merged_sessions.py +0 -0
  690. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_reap_stale_interactive_tick.py +0 -0
  691. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_reconcile.py +0 -0
  692. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_reconcile_branch.py +0 -0
  693. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_reconcile_completions.py +0 -0
  694. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_reconcile_merges.py +0 -0
  695. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_reconcile_no_agent_record.py +0 -0
  696. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_reconcile_tick.py +0 -0
  697. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_reconcile_usage_limit_done.py +0 -0
  698. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_refine_chat.py +0 -0
  699. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_release_cordon_2101.py +0 -0
  700. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_release_cordon_daemon_leads_2176.py +0 -0
  701. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_release_cordon_deadlock_2240.py +0 -0
  702. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_release_cordon_stuck_2490.py +0 -0
  703. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_release_propagate.py +0 -0
  704. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_release_unified_1242.py +0 -0
  705. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_release_verify.py +0 -0
  706. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_release_window.py +0 -0
  707. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_remote_auto_prune.py +0 -0
  708. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_repo_edit_2220.py +0 -0
  709. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_repo_graph_fleet_2237.py +0 -0
  710. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_repo_onboard_2220.py +0 -0
  711. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_report_result_push.py +0 -0
  712. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_reports.py +0 -0
  713. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_retry.py +0 -0
  714. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_retry_advisory_1606.py +0 -0
  715. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_retry_type_1636.py +0 -0
  716. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_revalidate.py +0 -0
  717. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_review.py +0 -0
  718. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_review_end_review_without_verdict.py +0 -0
  719. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_review_parse_failure_diagnostic.py +0 -0
  720. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_review_reaffirm.py +0 -0
  721. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_review_state.py +0 -0
  722. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_review_verdict_backstop.py +0 -0
  723. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_review_verdict_override_audit.py +0 -0
  724. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_review_verdict_relay.py +0 -0
  725. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_review_zero_commits.py +0 -0
  726. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_scoped_review_wiring.py +0 -0
  727. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_scorecard.py +0 -0
  728. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_self_health.py +0 -0
  729. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_serve.py +0 -0
  730. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_serve_app_board_trim.py +0 -0
  731. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_session.py +0 -0
  732. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_slice_issue_attribution.py +0 -0
  733. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_smoke.py +0 -0
  734. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_smoke_live_checkout_restore.py +0 -0
  735. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_smoke_workflow.py +0 -0
  736. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_spend_ceiling.py +0 -0
  737. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_spend_ceiling_coordinator.py +0 -0
  738. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_split.py +0 -0
  739. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_split_work.py +0 -0
  740. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_stage_projection.py +0 -0
  741. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_stalled_pipeline.py +0 -0
  742. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_state.py +0 -0
  743. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_state_review_findings_daemon.py +0 -0
  744. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_status_fleet_footer.py +0 -0
  745. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_stop_1567.py +0 -0
  746. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_stuck.py +0 -0
  747. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_terminal_command.py +0 -0
  748. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_test_author.py +0 -0
  749. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_test_chat.py +0 -0
  750. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_test_orchestrator.py +0 -0
  751. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_test_report.py +0 -0
  752. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_test_verdict_parsing.py +0 -0
  753. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_test_verdict_transcript_floor.py +0 -0
  754. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_thin_client_board_audit.py +0 -0
  755. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_thin_client_config_load_1080.py +0 -0
  756. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_thin_client_daemon_routing_906.py +0 -0
  757. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_tmux_host.py +0 -0
  758. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_transcript_floor.py +0 -0
  759. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_usage.py +0 -0
  760. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_usage_limits.py +0 -0
  761. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_usage_rollup.py +0 -0
  762. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_venv_live_install_2121.py +0 -0
  763. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_version_single_source.py +0 -0
  764. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_watch.py +0 -0
  765. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_windows_job_is_a_real_gate_2000.py +0 -0
  766. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_worker_events.py +0 -0
  767. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_worker_image_pin_sync.py +0 -0
  768. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_worker_safety.py +0 -0
  769. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_worker_test_scoping.py +0 -0
  770. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_worktree.py +0 -0
  771. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tests/test_worktree_rmtree_chokepoint.py +0 -0
  772. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/Cargo.lock +0 -0
  773. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/Cargo.toml +0 -0
  774. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/cargo-config-local-quadraui.toml.example +0 -0
  775. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/src/app/approved.rs +0 -0
  776. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/src/app/audit.rs +0 -0
  777. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/src/app/chat.rs +0 -0
  778. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/src/app/data.rs +0 -0
  779. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/src/app/dialogs.rs +0 -0
  780. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/src/app/doc_tabs.rs +0 -0
  781. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/src/app/drive.rs +0 -0
  782. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/src/app/drive_queue.rs +0 -0
  783. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/src/app/escalation.rs +0 -0
  784. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/src/app/events.rs +0 -0
  785. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/src/app/fixtures.rs +0 -0
  786. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/src/app/fleet_health.rs +0 -0
  787. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/src/app/fleet_sessions.rs +0 -0
  788. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/src/app/fleet_terminals.rs +0 -0
  789. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/src/app/format.rs +0 -0
  790. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/src/app/milestone_dag.rs +0 -0
  791. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/src/app/mod.rs +0 -0
  792. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/src/app/msv.rs +0 -0
  793. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/src/app/pipeline.rs +0 -0
  794. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/src/app/plans.rs +0 -0
  795. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/src/app/render.rs +0 -0
  796. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/src/app/reports.rs +0 -0
  797. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/src/app/sessions.rs +0 -0
  798. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/src/app/settings_ui.rs +0 -0
  799. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/src/app/sidebar.rs +0 -0
  800. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/src/app/terminal.rs +0 -0
  801. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/src/app/tests.rs +0 -0
  802. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/src/app/types.rs +0 -0
  803. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/src/app/workspace.rs +0 -0
  804. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/src/bin/gtk.rs +0 -0
  805. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/src/commands.rs +0 -0
  806. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/src/lib.rs +0 -0
  807. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/src/main.rs +0 -0
  808. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/src/settings.rs +0 -0
  809. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/tests/acceptance.rs +0 -0
  810. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/tests/cli.rs +0 -0
  811. {code_coordinator-0.5.229 → code_coordinator-0.5.231}/tui/tests/fixtures/board_sample.json +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: code-coordinator
3
- Version: 0.5.229
3
+ Version: 0.5.231
4
4
  Summary: Coordinate Claude Code workers across multiple machines and repos.
5
5
  Author-email: John Donaghy <johnfdonaghy@gmail.com>
6
6
  License-Expression: LicenseRef-FSL-1.1-MIT
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: code-coordinator
3
- Version: 0.5.229
3
+ Version: 0.5.231
4
4
  Summary: Coordinate Claude Code workers across multiple machines and repos.
5
5
  Author-email: John Donaghy <johnfdonaghy@gmail.com>
6
6
  License-Expression: LicenseRef-FSL-1.1-MIT
@@ -541,6 +541,7 @@ tests/test_human_attended_437.py
541
541
  tests/test_init.py
542
542
  tests/test_integration.py
543
543
  tests/test_interactive_briefing_echo.py
544
+ tests/test_interactive_pane_log_2541.py
544
545
  tests/test_interactive_prefill_state.py
545
546
  tests/test_interactive_session_relaunch.py
546
547
  tests/test_interactive_test_verdict_backstop.py
@@ -611,6 +611,7 @@
611
611
  "tests/test_init.py",
612
612
  "tests/test_integration.py",
613
613
  "tests/test_interactive_briefing_echo.py",
614
+ "tests/test_interactive_pane_log_2541.py",
614
615
  "tests/test_interactive_prefill_state.py",
615
616
  "tests/test_interactive_session_relaunch.py",
616
617
  "tests/test_interactive_test_verdict_backstop.py",
@@ -1,7 +1,7 @@
1
1
  {
2
- "tag": "0.5.229",
2
+ "tag": "0.5.231",
3
3
  "distance": 0,
4
- "node": "gc425ec07e071d15ed23c72606aaa805685c13e0e",
4
+ "node": "g9bcc6d2ee8084e339463aeb3572a47a58b9b1657",
5
5
  "dirty": false,
6
6
  "branch": "HEAD",
7
7
  "node_date": "2026-08-22"
@@ -5762,7 +5762,8 @@ class AgentServer:
5762
5762
 
5763
5763
  @staticmethod
5764
5764
  def _tmux_session_alive(assignment_id: str) -> bool:
5765
- """Return True when a ``coord-<assignment_id>`` tmux session is up.
5765
+ """Return True when a ``coord-<assignment_id>`` tmux session is
5766
+ genuinely still in use — alive AND its pane is not dead.
5766
5767
 
5767
5768
  Load-bearing guard for :meth:`clean_worktrees` (#1295): an
5768
5769
  interactive Test/Review/Merge/Work pane keeps its tmux session
@@ -5772,11 +5773,16 @@ class AgentServer:
5772
5773
  is the only reliable "someone is still using this worktree"
5773
5774
  signal.
5774
5775
 
5775
- Uses ``tmux has-session -t coord-<assignment_id>``; exit 0 means
5776
- the session exists. Delegates to
5777
- :func:`coord.interactive.tmux_session_alive` so a single
5778
- implementation handles the subprocess and error-swallowing
5779
- semantics. When ``tmux`` is not installed / not running / the
5776
+ Delegates to :func:`coord.interactive.tmux_session_running` (a bare
5777
+ ``tmux has-session`` alone is NOT enough — #2541 set
5778
+ ``remain-on-exit on`` on every freshly-created coord tmux session so
5779
+ a crashed pane's screen stays inspectable, which means
5780
+ ``has-session`` now stays ``True`` after ANY pane exit, clean
5781
+ success or crash, until a reaper notices and kills it. Without the
5782
+ pane-dead check this guard would keep protecting — and thus never
5783
+ cleaning up — a worktree whose interactive session has already
5784
+ finished, for as long as the now-longer-lived dead session
5785
+ lingers). When ``tmux`` is not installed / not running / the
5780
5786
  subprocess errors, we return ``False`` — "no live session, keep
5781
5787
  sweeping" — rather than raising, so one broken tmux install
5782
5788
  never aborts a fleet sweep across the rest of an agent's
@@ -5788,15 +5794,15 @@ class AgentServer:
5788
5794
  try:
5789
5795
  from coord.interactive import ( # noqa: PLC0415
5790
5796
  tmux_available,
5791
- tmux_session_alive,
5792
5797
  tmux_session_name,
5798
+ tmux_session_running,
5793
5799
  )
5794
5800
  except Exception: # noqa: BLE001 — defensive; module missing → no guard
5795
5801
  return False
5796
5802
  try:
5797
5803
  if not tmux_available():
5798
5804
  return False
5799
- return tmux_session_alive(tmux_session_name(assignment_id))
5805
+ return tmux_session_running(tmux_session_name(assignment_id))
5800
5806
  except Exception: # noqa: BLE001 — never propagate out of the sweep
5801
5807
  return False
5802
5808
 
@@ -1231,11 +1231,41 @@ def build_app(
1231
1231
  async def logs(request: Request) -> Response:
1232
1232
  assignment_id = request.path_params["id"]
1233
1233
  assignment = server.get(assignment_id)
1234
- if assignment is None or assignment.log_path is None:
1235
- return JSONResponse(
1236
- {"error": f"unknown assignment {assignment_id}"}, status_code=404
1237
- )
1238
- log_path = Path(assignment.log_path)
1234
+ status = assignment.status if assignment is not None else "unknown"
1235
+ if assignment is not None and assignment.log_path is not None:
1236
+ log_path = Path(assignment.log_path)
1237
+ else:
1238
+ # #2541: the human-attended ssh+tmux interactive launcher
1239
+ # (`coord assign --interactive ...`) never goes through this
1240
+ # agent's `/assign` — it SSHes in directly from the
1241
+ # coordinator and drives `claude` inside a tmux session, so
1242
+ # `server.get()` has no record of it. Those sessions still
1243
+ # persist a best-effort pane-capture snapshot at the SAME
1244
+ # conventional per-assignment path
1245
+ # (`coord.interactive._persist_interactive_pane_log`) so a
1246
+ # launch failure is diagnosable via `coord log <id>` without a
1247
+ # manual SSH repro. Fall back to that path directly rather
1248
+ # than 404ing just because this agent never tracked the
1249
+ # assignment in memory.
1250
+ # assignment_id is attacker-controllable (raw path param) and,
1251
+ # unlike `assignment.log_path` above, is interpolated directly
1252
+ # into a filesystem path here — reject anything that isn't the
1253
+ # plain `[a-zA-Z0-9_-]+` shape every assignment_id generator in
1254
+ # this codebase actually produces, so a `../` can't escape
1255
+ # `logs/`.
1256
+ if not re.fullmatch(r"[A-Za-z0-9_-]+", assignment_id):
1257
+ return JSONResponse(
1258
+ {"error": f"invalid assignment id {assignment_id!r}"},
1259
+ status_code=400,
1260
+ )
1261
+
1262
+ # `server.log_dir` (not the module-level `DEFAULT_STATE_DIR`
1263
+ # default) so this honours a non-default `state_dir` exactly
1264
+ # like every other lookup in this handler would if the
1265
+ # assignment WERE tracked — production agents never override
1266
+ # it, but this keeps the fallback truthful to what this
1267
+ # specific server instance is actually configured with.
1268
+ log_path = server.log_dir / f"{assignment_id}.log"
1239
1269
  if not log_path.exists():
1240
1270
  return JSONResponse(
1241
1271
  {"error": f"no log file for assignment {assignment_id}"}, status_code=404
@@ -1255,7 +1285,7 @@ def build_app(
1255
1285
  total_size = log_path.stat().st_size
1256
1286
  headers = {
1257
1287
  "X-Coord-Log-Total": str(total_size),
1258
- "X-Coord-Log-Status": assignment.status,
1288
+ "X-Coord-Log-Status": status,
1259
1289
  }
1260
1290
  return PlainTextResponse(body.decode("utf-8", errors="replace"), headers=headers)
1261
1291
 
@@ -141,8 +141,8 @@ def _dispatch_review_of(
141
141
  finalize_interactive_exit,
142
142
  launch_human_attended_interactive,
143
143
  tmux_available as _tmux_avail,
144
- tmux_session_alive as _tmux_alive,
145
144
  tmux_session_name as _tmux_name,
145
+ tmux_session_running as _tmux_alive,
146
146
  )
147
147
 
148
148
  from coord.review import ( # noqa: PLC0415
@@ -648,8 +648,8 @@ def _dispatch_smoke_of(
648
648
  launch_human_attended_interactive,
649
649
  snapshot_live_checkout_for_smoke,
650
650
  tmux_available as _tmux_avail,
651
- tmux_session_alive as _tmux_alive,
652
651
  tmux_session_name as _tmux_name,
652
+ tmux_session_running as _tmux_alive,
653
653
  )
654
654
 
655
655
  from coord.models import Assignment as _AssignmentSm # noqa: PLC0415
@@ -1142,8 +1142,8 @@ def _dispatch_audit_of(
1142
1142
  finalize_interactive_exit,
1143
1143
  launch_human_attended_interactive,
1144
1144
  tmux_available as _tmux_avail,
1145
- tmux_session_alive as _tmux_alive,
1146
1145
  tmux_session_name as _tmux_name,
1146
+ tmux_session_running as _tmux_alive,
1147
1147
  )
1148
1148
  from coord.models import Assignment as _AssignmentAu # noqa: PLC0415
1149
1149
  from coord.state import record_dispatched_assignment as _record_au # noqa: PLC0415
@@ -1486,8 +1486,8 @@ def _dispatch_milestone_chat_of(
1486
1486
  finalize_interactive_exit,
1487
1487
  launch_human_attended_interactive,
1488
1488
  tmux_available as _tmux_avail,
1489
- tmux_session_alive as _tmux_alive,
1490
1489
  tmux_session_name as _tmux_name,
1490
+ tmux_session_running as _tmux_alive,
1491
1491
  )
1492
1492
  from coord.milestone_chat import resolve_milestone_chat_briefing # noqa: PLC0415
1493
1493
  from coord.board_service import read_board as _read_board_mc # noqa: PLC0415
@@ -1682,8 +1682,8 @@ def _run_troubleshoot_or_chat(
1682
1682
  finalize_interactive_exit,
1683
1683
  launch_human_attended_interactive,
1684
1684
  tmux_available as _tmux_avail,
1685
- tmux_session_alive as _tmux_alive,
1686
1685
  tmux_session_name as _tmux_name,
1686
+ tmux_session_running as _tmux_alive,
1687
1687
  )
1688
1688
 
1689
1689
  from coord.board_service import read_board as _read_board_ts # noqa: PLC0415
@@ -2044,8 +2044,8 @@ def _dispatch_fix_of(
2044
2044
  launch_human_attended_interactive,
2045
2045
  remote_worktree_exists as _remote_wt_exists,
2046
2046
  tmux_available as _tmux_avail,
2047
- tmux_session_alive as _tmux_alive,
2048
2047
  tmux_session_name as _tmux_name,
2048
+ tmux_session_running as _tmux_alive,
2049
2049
  )
2050
2050
 
2051
2051
  from coord.auto_loop import ( # noqa: PLC0415
@@ -2731,8 +2731,8 @@ def _dispatch_rework_of(
2731
2731
  launch_human_attended_interactive,
2732
2732
  remote_worktree_exists as _remote_wt_exists,
2733
2733
  tmux_available as _tmux_avail,
2734
- tmux_session_alive as _tmux_alive,
2735
2734
  tmux_session_name as _tmux_name,
2735
+ tmux_session_running as _tmux_alive,
2736
2736
  )
2737
2737
 
2738
2738
  from coord.agent import ( # noqa: PLC0415
@@ -3294,8 +3294,8 @@ def _dispatch_merge_of(
3294
3294
  launch_human_attended_interactive,
3295
3295
  remote_worktree_exists as _remote_wt_exists,
3296
3296
  tmux_available as _tmux_avail,
3297
- tmux_session_alive as _tmux_alive,
3298
3297
  tmux_session_name as _tmux_name,
3298
+ tmux_session_running as _tmux_alive,
3299
3299
  )
3300
3300
 
3301
3301
  from coord.agent import ( # noqa: PLC0415
@@ -3932,8 +3932,8 @@ def _dispatch_interactive_work(
3932
3932
  launch_human_attended_interactive,
3933
3933
  remote_worktree_exists as _remote_wt_exists,
3934
3934
  tmux_available as _tmux_avail,
3935
- tmux_session_alive as _tmux_alive,
3936
3935
  tmux_session_name as _tmux_name,
3936
+ tmux_session_running as _tmux_alive,
3937
3937
  )
3938
3938
 
3939
3939
  if _is_local:
@@ -48,6 +48,7 @@ from coord.milestone_order import (
48
48
  replace_sub_issues_section,
49
49
  replace_work_order_section,
50
50
  validate_milestone_membership,
51
+ validate_no_shared_oracle_group,
51
52
  )
52
53
 
53
54
 
@@ -1088,7 +1089,15 @@ def milestone_dispatch_cmd(
1088
1089
  # issue as its pre-reqs land; that also makes `register_milestone_drain`
1089
1090
  # redundant here (the queue IS the durable drain, and registering would
1090
1091
  # have the daemon's direct-dispatch drain racing it).
1091
- queue_plan = plan_queue(ctx.work_order, ctx.terminal_issues, repo_entry.name)
1092
+ # #2542: under oracle-loop control (Gate A already checked above), chain
1093
+ # the whole milestone's drive-queue entries so the tick can never launch
1094
+ # two of them at once — see plan_queue's own docstring for why.
1095
+ queue_plan = plan_queue(
1096
+ ctx.work_order,
1097
+ ctx.terminal_issues,
1098
+ repo_entry.name,
1099
+ oracle_loop=cfg.acceptance.has_driver(repo_entry.name),
1100
+ )
1092
1101
 
1093
1102
  if not queue_plan:
1094
1103
  click.echo("Nothing to queue — every work-order node is already closed.")
@@ -1277,18 +1286,25 @@ def milestone_drive_cmd(
1277
1286
 
1278
1287
  # The frontier half of the dry-run report. Computed for both modes so the
1279
1288
  # non-dry-run confirmation shows what the first `work` tick will do.
1289
+ # #2542: pass the same `oracle_loop` the gate tick itself will use, so
1290
+ # this preview never shows more than the one entry the actual `work`
1291
+ # gate would dispatch for an oracle-loop milestone.
1280
1292
  if ctx.work_order.nodes:
1281
1293
  plan = plan_dispatch(
1282
- ctx.work_order, board, cfg, repo_entry, ctx.terminal_issues
1294
+ ctx.work_order, board, cfg, repo_entry, ctx.terminal_issues,
1295
+ oracle_loop=cfg.acceptance.has_driver(repo_entry.name),
1296
+ )
1297
+ to_dispatch, skipped, waiting, deferred = (
1298
+ plan.to_dispatch, plan.skipped, plan.waiting, plan.deferred,
1283
1299
  )
1284
- to_dispatch, skipped, waiting = plan.to_dispatch, plan.skipped, plan.waiting
1285
1300
  else:
1286
- to_dispatch, skipped, waiting = [], [], []
1301
+ to_dispatch, skipped, waiting, deferred = [], [], [], []
1287
1302
 
1288
1303
  if dry_run:
1289
1304
  for line in mg.format_plan(
1290
1305
  record, steps,
1291
1306
  to_dispatch=to_dispatch, skipped=skipped, waiting=waiting,
1307
+ deferred=deferred,
1292
1308
  ):
1293
1309
  click.echo(line)
1294
1310
  return
@@ -1311,7 +1327,7 @@ def milestone_drive_cmd(
1311
1327
  state.save_milestone_gate(record.to_dict())
1312
1328
  for line in mg.format_plan(
1313
1329
  record, steps, to_dispatch=to_dispatch, skipped=skipped, waiting=waiting,
1314
- footer=False,
1330
+ deferred=deferred, footer=False,
1315
1331
  ):
1316
1332
  click.echo(line)
1317
1333
  click.echo()
@@ -1448,6 +1464,22 @@ def milestone_write_order_cmd(
1448
1464
  click.echo(f"error: {e}", err=True)
1449
1465
  sys.exit(1)
1450
1466
 
1467
+ # #2542: refuse a proposed work order that puts two issues in the same
1468
+ # `{group: ...}` cohort when this milestone is under oracle-loop control
1469
+ # — every group member's JIT acceptance slice would additively append to
1470
+ # the SAME tests/acceptance/ms-N/manifest.yml, a manifest race that
1471
+ # exists regardless of whether the issues' actual feature work overlaps
1472
+ # (coord-portal#122). Cheap/early check for the explicit-group case only
1473
+ # — see validate_no_shared_oracle_group's docstring for what it can't
1474
+ # catch.
1475
+ try:
1476
+ validate_no_shared_oracle_group(
1477
+ work_order, oracle_loop=cfg.acceptance.has_driver(repo_entry.name)
1478
+ )
1479
+ except WorkOrderError as e:
1480
+ click.echo(f"error: {e}", err=True)
1481
+ sys.exit(1)
1482
+
1451
1483
  # #1057: a valid `## Work order` block alone doesn't make this issue
1452
1484
  # findable as the milestone's tracking epic — `coord plans`/the TUI
1453
1485
  # Plans panel key off the `epic` label (TRACKING_ISSUE_LABEL). Ensure it
@@ -1084,6 +1084,7 @@ def reattach(assignment_id: str, config_path: Path) -> None:
1084
1084
  tmux_available,
1085
1085
  tmux_session_alive,
1086
1086
  tmux_session_name,
1087
+ tmux_session_running,
1087
1088
  )
1088
1089
 
1089
1090
  if not tmux_available():
@@ -1609,7 +1610,12 @@ def reattach(assignment_id: str, config_path: Path) -> None:
1609
1610
  exit_code = 1
1610
1611
 
1611
1612
  # After attach returns: check if session ended or user detached.
1612
- if tmux_session_alive(sname, host=_tmux_host):
1613
+ # #2541: use tmux_session_running (alive AND pane not dead), not the
1614
+ # bare has-session check — remain-on-exit means a session whose claude
1615
+ # already exited (crash OR a clean, successful completion) stays
1616
+ # has-session-alive until a reaper notices, so a bare check here would
1617
+ # misreport a finished session as "still running" and skip finalize.
1618
+ if tmux_session_running(sname, host=_tmux_host):
1613
1619
  click.echo(
1614
1620
  f"\n Session is still running. "
1615
1621
  f"Reattach later with: coord reattach {assignment_id}"
@@ -1951,7 +1951,7 @@ def _diagnose_orphan_worktrees(config_path: Path, *, dry_run: bool) -> None:
1951
1951
  from coord.interactive import ( # noqa: PLC0415
1952
1952
  tmux_available,
1953
1953
  tmux_session_name,
1954
- tmux_session_alive,
1954
+ tmux_session_running,
1955
1955
  )
1956
1956
  from coord.agent import check_worktree_writable, find_blocking_deny_rule # noqa: PLC0415
1957
1957
  from coord.board_service import read_board # noqa: PLC0415
@@ -2002,6 +2002,11 @@ def _diagnose_orphan_worktrees(config_path: Path, *, dry_run: bool) -> None:
2002
2002
  return
2003
2003
 
2004
2004
  # Collect all assignment_ids with live tmux sessions.
2005
+ # #2541: tmux_session_running (alive AND pane not dead) — remain-on-exit
2006
+ # keeps a session's has-session bit True after ANY pane exit (clean
2007
+ # success or crash) until a reaper notices, so the bare alive check
2008
+ # would count a finished session's worktree as still in use and skip it
2009
+ # in this sweep.
2005
2010
  tmux_ok = tmux_available()
2006
2011
  live_tmux: set[str] = set()
2007
2012
  if tmux_ok:
@@ -2009,7 +2014,7 @@ def _diagnose_orphan_worktrees(config_path: Path, *, dry_run: bool) -> None:
2009
2014
  if not entry.is_dir():
2010
2015
  continue
2011
2016
  aid = entry.name
2012
- if tmux_session_alive(tmux_session_name(aid)):
2017
+ if tmux_session_running(tmux_session_name(aid)):
2013
2018
  live_tmux.add(aid)
2014
2019
 
2015
2020
  # All running/pending assignment_ids from the board (includes live tmux ones
@@ -254,8 +254,8 @@ def _session_state(assignment: "Assignment", config: "Config") -> str:
254
254
 
255
255
  from coord.interactive import ( # noqa: PLC0415
256
256
  TmuxHost,
257
- tmux_session_alive,
258
257
  tmux_session_name,
258
+ tmux_session_running,
259
259
  )
260
260
 
261
261
  if not assignment.assignment_id:
@@ -276,7 +276,14 @@ def _session_state(assignment: "Assignment", config: "Config") -> str:
276
276
  host = TmuxHost(ssh_target=ssh_target)
277
277
  sname = tmux_session_name(assignment.assignment_id)
278
278
  try:
279
- if tmux_session_alive(sname, host=host):
279
+ # #2541: tmux_session_running (alive AND pane not dead), not the
280
+ # bare has-session check this used to make — remain-on-exit keeps
281
+ # has-session True after ANY pane exit (clean success or crash)
282
+ # until a reaper notices, so a bare check here would report a
283
+ # crashed/finished --merge-of session as "live" and never fall
284
+ # through to the agent cross-check below, undermining exactly the
285
+ # diagnosability this probe exists for (#1658).
286
+ if tmux_session_running(sname, host=host):
280
287
  return "live"
281
288
  except Exception: # noqa: BLE001 — never let a probe error finalize a session
282
289
  return "unknown"