code-coordinator 0.5.294__tar.gz → 0.5.295__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 (898) hide show
  1. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/.github/coord-ci-acceptance.yml +8 -18
  2. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/.github/workflows/test.yml +22 -27
  3. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/.gitignore +0 -10
  4. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/CLAUDE.md +16 -20
  5. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/PKG-INFO +3 -2
  6. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/README.md +2 -1
  7. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/code_coordinator.egg-info/PKG-INFO +3 -2
  8. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/code_coordinator.egg-info/SOURCES.txt +6 -43
  9. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/code_coordinator.egg-info/scm_file_list.json +6 -43
  10. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/code_coordinator.egg-info/scm_version.json +2 -2
  11. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/commands/tui.py +4 -3
  12. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/config.py +13 -3
  13. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/health/checks/deploy_lane_facts.py +72 -13
  14. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/health/checks/fleet_deploy_lanes.py +5 -5
  15. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/health/checks/toolchain.py +10 -2
  16. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/prereqs.py +1 -1
  17. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/skills/tui-quadraui-workflow/SKILL.md +18 -18
  18. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/tui_release.py +2 -1
  19. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coordinator.example.yml +81 -36
  20. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/scripts/azure-workers/provision-worker.sh +12 -5
  21. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/scripts/codegen.py +23 -22
  22. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/scripts/coord-test-runner.sh +82 -230
  23. code_coordinator-0.5.295/scripts/coord-tui-scaffold/.github/coord-ci-acceptance.yml +55 -0
  24. code_coordinator-0.5.295/scripts/coord-tui-scaffold/.github/workflows/cargo-test.yml +75 -0
  25. code_coordinator-0.5.295/scripts/coord-tui-scaffold/.github/workflows/codegen-drift.yml +113 -0
  26. code_coordinator-0.5.295/scripts/coord-tui-scaffold/CLAUDE.md +102 -0
  27. code_coordinator-0.5.295/scripts/extract-coord-tui.sh +240 -0
  28. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/scripts/gen_board_fixture.py +79 -16
  29. code_coordinator-0.5.295/tests/test_board_fixture.py +103 -0
  30. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_board_schema.py +19 -11
  31. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_ci_acceptance_gate_1950.py +160 -36
  32. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_coord_test_runner_populated_home.py +3 -3
  33. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_coord_test_runner_routing.py +63 -4
  34. code_coordinator-0.5.295/tests/test_coord_test_runner_toolchain.py +314 -0
  35. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_drive.py +19 -32
  36. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_health_deploy_lane_facts.py +96 -2
  37. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_openapi.py +12 -8
  38. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_release_unified_1242.py +131 -105
  39. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_review.py +147 -0
  40. code_coordinator-0.5.294/.github/workflows/cargo-test.yml +0 -122
  41. code_coordinator-0.5.294/tests/test_board_fixture.py +0 -82
  42. code_coordinator-0.5.294/tests/test_coord_test_runner_toolchain.py +0 -336
  43. code_coordinator-0.5.294/tui/.github/workflows/release-tui.yml +0 -327
  44. code_coordinator-0.5.294/tui/Cargo.lock +0 -3198
  45. code_coordinator-0.5.294/tui/Cargo.toml +0 -62
  46. code_coordinator-0.5.294/tui/cargo-config-local-quadraui.toml.example +0 -21
  47. code_coordinator-0.5.294/tui/src/app/approved.rs +0 -1243
  48. code_coordinator-0.5.294/tui/src/app/audit.rs +0 -583
  49. code_coordinator-0.5.294/tui/src/app/chat.rs +0 -273
  50. code_coordinator-0.5.294/tui/src/app/data.rs +0 -3543
  51. code_coordinator-0.5.294/tui/src/app/dialogs.rs +0 -8501
  52. code_coordinator-0.5.294/tui/src/app/doc_tabs.rs +0 -3000
  53. code_coordinator-0.5.294/tui/src/app/drive.rs +0 -1655
  54. code_coordinator-0.5.294/tui/src/app/drive_queue.rs +0 -4238
  55. code_coordinator-0.5.294/tui/src/app/escalation.rs +0 -887
  56. code_coordinator-0.5.294/tui/src/app/events.rs +0 -7762
  57. code_coordinator-0.5.294/tui/src/app/fixtures.rs +0 -1226
  58. code_coordinator-0.5.294/tui/src/app/fleet_health.rs +0 -351
  59. code_coordinator-0.5.294/tui/src/app/fleet_sessions.rs +0 -474
  60. code_coordinator-0.5.294/tui/src/app/fleet_terminals.rs +0 -566
  61. code_coordinator-0.5.294/tui/src/app/format.rs +0 -438
  62. code_coordinator-0.5.294/tui/src/app/milestone_dag.rs +0 -1757
  63. code_coordinator-0.5.294/tui/src/app/mod.rs +0 -9930
  64. code_coordinator-0.5.294/tui/src/app/msv.rs +0 -140
  65. code_coordinator-0.5.294/tui/src/app/pipeline.rs +0 -10324
  66. code_coordinator-0.5.294/tui/src/app/plans.rs +0 -2262
  67. code_coordinator-0.5.294/tui/src/app/render.rs +0 -4349
  68. code_coordinator-0.5.294/tui/src/app/reports.rs +0 -2978
  69. code_coordinator-0.5.294/tui/src/app/sessions.rs +0 -3481
  70. code_coordinator-0.5.294/tui/src/app/settings_ui.rs +0 -2077
  71. code_coordinator-0.5.294/tui/src/app/sidebar.rs +0 -696
  72. code_coordinator-0.5.294/tui/src/app/terminal.rs +0 -1264
  73. code_coordinator-0.5.294/tui/src/app/tests.rs +0 -57678
  74. code_coordinator-0.5.294/tui/src/app/types/generated.rs +0 -747
  75. code_coordinator-0.5.294/tui/src/app/types.rs +0 -2316
  76. code_coordinator-0.5.294/tui/src/app/workspace.rs +0 -585
  77. code_coordinator-0.5.294/tui/src/bin/gtk.rs +0 -13
  78. code_coordinator-0.5.294/tui/src/commands.rs +0 -1446
  79. code_coordinator-0.5.294/tui/src/lib.rs +0 -20
  80. code_coordinator-0.5.294/tui/src/main.rs +0 -186
  81. code_coordinator-0.5.294/tui/src/settings.rs +0 -850
  82. code_coordinator-0.5.294/tui/tests/cli.rs +0 -58
  83. code_coordinator-0.5.294/tui/tests/fixtures/board_sample.json +0 -382
  84. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/.claude/commands/board.md +0 -0
  85. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/.claude/commands/complete-session.md +0 -0
  86. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/.claude/commands/coordinator.md +0 -0
  87. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/.githooks/_lib.sh +0 -0
  88. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/.githooks/post-checkout +0 -0
  89. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/.githooks/post-commit +0 -0
  90. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/.githooks/post-merge +0 -0
  91. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  92. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/.github/workflows/auto-release.yml +0 -0
  93. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/.github/workflows/publish.yml +0 -0
  94. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/GOAL.md +0 -0
  95. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/LICENSE +0 -0
  96. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/MANIFEST.in +0 -0
  97. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/code_coordinator.egg-info/dependency_links.txt +0 -0
  98. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/code_coordinator.egg-info/entry_points.txt +0 -0
  99. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/code_coordinator.egg-info/requires.txt +0 -0
  100. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/code_coordinator.egg-info/top_level.txt +0 -0
  101. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/__init__.py +0 -0
  102. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/_board_mapping.py +0 -0
  103. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/acceptance.py +0 -0
  104. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/acceptance_drivers.py +0 -0
  105. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/agent.py +0 -0
  106. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/agent_app.py +0 -0
  107. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/agent_update.py +0 -0
  108. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/agents/opencode/.gitignore +0 -0
  109. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/agents/opencode/agents/work.md +0 -0
  110. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/agents/opencode/routing.jsonc +0 -0
  111. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/approved_work.py +0 -0
  112. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/audit.py +0 -0
  113. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/auto_loop.py +0 -0
  114. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/block_log.py +0 -0
  115. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/board_schema.py +0 -0
  116. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/board_service.py +0 -0
  117. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/board_wire.py +0 -0
  118. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/brain.py +0 -0
  119. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/branch_model.py +0 -0
  120. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/bug_intake.py +0 -0
  121. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/cargo_cache.py +0 -0
  122. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/ci_fix.py +0 -0
  123. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/ci_github.py +0 -0
  124. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/ci_gitlab.py +0 -0
  125. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/ci_store.py +0 -0
  126. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/claim.py +0 -0
  127. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/cli.py +0 -0
  128. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/client.py +0 -0
  129. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/commands/__init__.py +0 -0
  130. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/commands/_common.py +0 -0
  131. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/commands/acceptance.py +0 -0
  132. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/commands/agent_ops.py +0 -0
  133. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/commands/audit.py +0 -0
  134. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/commands/chat.py +0 -0
  135. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/commands/dispatch.py +0 -0
  136. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/commands/dispatch_workers.py +0 -0
  137. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/commands/drive.py +0 -0
  138. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/commands/drive_queue.py +0 -0
  139. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/commands/gate_a.py +0 -0
  140. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/commands/gates.py +0 -0
  141. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/commands/issues.py +0 -0
  142. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/commands/lifecycle.py +0 -0
  143. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/commands/machine.py +0 -0
  144. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/commands/merge.py +0 -0
  145. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/commands/milestone.py +0 -0
  146. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/commands/plan_followup.py +0 -0
  147. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/commands/plans.py +0 -0
  148. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/commands/portal.py +0 -0
  149. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/commands/pr.py +0 -0
  150. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/commands/release.py +0 -0
  151. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/commands/repo.py +0 -0
  152. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/commands/report.py +0 -0
  153. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/commands/review.py +0 -0
  154. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/commands/scorecard.py +0 -0
  155. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/commands/sessions.py +0 -0
  156. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/commands/setup.py +0 -0
  157. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/commands/status.py +0 -0
  158. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/commands/store_migrate.py +0 -0
  159. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/commands/terminal.py +0 -0
  160. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/commands/test_gate.py +0 -0
  161. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/comments.py +0 -0
  162. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/config_reload.py +0 -0
  163. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/confirm_test.py +0 -0
  164. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/conflict_fix.py +0 -0
  165. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/dao.py +0 -0
  166. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/dashboard/__init__.py +0 -0
  167. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/dashboard/fixture.py +0 -0
  168. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/dashboard/index.html +0 -0
  169. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/dashboard/server.py +0 -0
  170. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/dashboard/terminal.py +0 -0
  171. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/db.py +0 -0
  172. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/dead_end.py +0 -0
  173. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/decomposition_chat.py +0 -0
  174. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/deploy/README.md +0 -0
  175. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/deploy/coord-agent.service +0 -0
  176. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/deploy/coord-db-backup.service +0 -0
  177. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/deploy/coord-db-backup.sh +0 -0
  178. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/deploy/coord-db-backup.timer +0 -0
  179. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/deploy/coord-drive-queue.service +0 -0
  180. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/deploy/coord-drive-queue.timer +0 -0
  181. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/deploy/coord-failure-notify.service +0 -0
  182. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/deploy/coord-fleet-watchdog.service +0 -0
  183. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/deploy/coord-fleet-watchdog.timer +0 -0
  184. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/deploy/coord-notify.service +0 -0
  185. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/deploy/coord-notify.timer +0 -0
  186. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/deploy/coord-release-propagate.service +0 -0
  187. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/deploy/coord-release-propagate.timer +0 -0
  188. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/deploy/coord-release-window.service +0 -0
  189. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/deploy/coord-release-window.timer +0 -0
  190. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/deploy/coord-serve.service +0 -0
  191. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/deploy/coord-web-dist-build.service +0 -0
  192. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/deploy/coord-web-dist-build.timer +0 -0
  193. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/deploy/coord-web.service +0 -0
  194. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/deploy_manifest.py +0 -0
  195. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/deploy_units.py +0 -0
  196. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/deprecation_telemetry.py +0 -0
  197. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/deps.py +0 -0
  198. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/diagnose.py +0 -0
  199. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/dispatch.py +0 -0
  200. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/dist_name.py +0 -0
  201. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/drive.py +0 -0
  202. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/drive_queue.py +0 -0
  203. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/drive_state.py +0 -0
  204. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/events.py +0 -0
  205. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/failure_class.py +0 -0
  206. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/filelock.py +0 -0
  207. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/fleet_config_health.py +0 -0
  208. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/forge_availability.py +0 -0
  209. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/freshness.py +0 -0
  210. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/gate_a.py +0 -0
  211. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/gate_b.py +0 -0
  212. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/gate_snapshot.py +0 -0
  213. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/gates.py +0 -0
  214. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/github_ops.py +0 -0
  215. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/github_throttle.py +0 -0
  216. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/goal.py +0 -0
  217. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/graph_health.py +0 -0
  218. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/health/__init__.py +0 -0
  219. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/health/aggregate.py +0 -0
  220. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/health/checks/__init__.py +0 -0
  221. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/health/checks/agent_install.py +0 -0
  222. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/health/checks/cargo_targets.py +0 -0
  223. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/health/checks/claude_binary.py +0 -0
  224. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/health/checks/coord_web_ci_pin.py +0 -0
  225. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/health/checks/disk.py +0 -0
  226. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/health/checks/fleet_board.py +0 -0
  227. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/health/checks/fleet_phantom.py +0 -0
  228. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/health/checks/fleet_unit_drift.py +0 -0
  229. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/health/checks/graph.py +0 -0
  230. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/health/checks/graphify_cli.py +0 -0
  231. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/health/checks/index_lock.py +0 -0
  232. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/health/checks/issues_sync_staleness.py +0 -0
  233. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/health/checks/plan_usage.py +0 -0
  234. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/health/checks/release_cordon.py +0 -0
  235. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/health/checks/repo_state.py +0 -0
  236. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/health/checks/spawned_coord.py +0 -0
  237. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/health/checks/stalled_pipeline.py +0 -0
  238. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/health/checks/timer_active.py +0 -0
  239. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/health/checks/unit_drift.py +0 -0
  240. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/health/checks/unit_enablement.py +0 -0
  241. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/health/checks/worktrees.py +0 -0
  242. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/health/cli.py +0 -0
  243. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/health/context.py +0 -0
  244. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/health/fleet_snapshot.py +0 -0
  245. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/health/models.py +0 -0
  246. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/health/pypi.py +0 -0
  247. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/health/registry.py +0 -0
  248. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/health/render.py +0 -0
  249. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/health/units.py +0 -0
  250. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/hooks.py +0 -0
  251. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/housekeeping.py +0 -0
  252. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/interactive.py +0 -0
  253. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/issue_store.py +0 -0
  254. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/issues_sync_status.py +0 -0
  255. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/liveness_auditor.py +0 -0
  256. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/machine_onboard.py +0 -0
  257. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/machine_pause.py +0 -0
  258. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/merge_queue.py +0 -0
  259. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/milestone_chat.py +0 -0
  260. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/milestone_dispatch.py +0 -0
  261. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/milestone_gate.py +0 -0
  262. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/milestone_order.py +0 -0
  263. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/mock_author.py +0 -0
  264. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/models.py +0 -0
  265. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/network.py +0 -0
  266. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/new_issue_chat.py +0 -0
  267. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/notifier/__init__.py +0 -0
  268. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/notifier/baseline.py +0 -0
  269. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/notifier/cli.py +0 -0
  270. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/notifier/collect.py +0 -0
  271. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/notifier/digest.py +0 -0
  272. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/notifier/models.py +0 -0
  273. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/notifier/predicate.py +0 -0
  274. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/notifier/service.py +0 -0
  275. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/notifier/store.py +0 -0
  276. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/notifier/transport.py +0 -0
  277. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/notify.py +0 -0
  278. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/openapi.py +0 -0
  279. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/overlap_fence.py +0 -0
  280. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/overlap_predict.py +0 -0
  281. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/parentage.py +0 -0
  282. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/parentage_github.py +0 -0
  283. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/pipeline.py +0 -0
  284. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/plan_parser.py +0 -0
  285. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/plans.py +0 -0
  286. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/platform_paths.py +0 -0
  287. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/portal_bridge.py +0 -0
  288. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/portal_store.py +0 -0
  289. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/portal_sync.py +0 -0
  290. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/pr_body_lint.py +0 -0
  291. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/progress.py +0 -0
  292. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/providers/__init__.py +0 -0
  293. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/providers/base.py +0 -0
  294. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/providers/claude.py +0 -0
  295. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/providers/claude_pty.py +0 -0
  296. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/providers/opencode.py +0 -0
  297. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/queue_diagnose.py +0 -0
  298. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/reconcile.py +0 -0
  299. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/reconcile_tick.py +0 -0
  300. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/refine_chat.py +0 -0
  301. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/release_cordon.py +0 -0
  302. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/release_propagate.py +0 -0
  303. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/release_verify.py +0 -0
  304. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/release_window.py +0 -0
  305. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/repo_edit.py +0 -0
  306. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/repo_onboard.py +0 -0
  307. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/reports.py +0 -0
  308. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/rest_schema.py +0 -0
  309. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/revalidate.py +0 -0
  310. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/review.py +0 -0
  311. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/scorecard.py +0 -0
  312. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/self_health.py +0 -0
  313. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/serve_app.py +0 -0
  314. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/skills/coord-dispatch-verbs/SKILL.md +0 -0
  315. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/skills/drive-queue-preflight/SKILL.md +0 -0
  316. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/skills/fleet-restart-safety/SKILL.md +0 -0
  317. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/skills/merge-stuck-triage/SKILL.md +0 -0
  318. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/skills/pipeline-limbo-triage/SKILL.md +0 -0
  319. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/skills/portal-followup/SKILL.md +0 -0
  320. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/skills/release-now/SKILL.md +0 -0
  321. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/skills/review-verdict-recovery/SKILL.md +0 -0
  322. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/skills/update-issue/SKILL.md +0 -0
  323. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/smoke.py +0 -0
  324. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/spend_ceiling.py +0 -0
  325. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/split_work.py +0 -0
  326. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/sql.py +0 -0
  327. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/stage_projection.py +0 -0
  328. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/state.py +0 -0
  329. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/store_migrate.py +0 -0
  330. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/test_author.py +0 -0
  331. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/test_chat.py +0 -0
  332. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/test_orchestrator.py +0 -0
  333. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/test_report.py +0 -0
  334. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/usage.py +0 -0
  335. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/usage_limits.py +0 -0
  336. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/usage_rollup.py +0 -0
  337. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/coord/worker_events.py +0 -0
  338. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/deploy/coord-agent.service +0 -0
  339. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/deploy/coord-db-backup.service +0 -0
  340. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/deploy/coord-db-backup.sh +0 -0
  341. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/deploy/coord-db-backup.timer +0 -0
  342. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/deploy/coord-drive-queue.service +0 -0
  343. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/deploy/coord-drive-queue.timer +0 -0
  344. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/deploy/coord-failure-notify.service +0 -0
  345. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/deploy/coord-failure-notify.sh +0 -0
  346. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/deploy/coord-fleet-watchdog.service +0 -0
  347. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/deploy/coord-fleet-watchdog.timer +0 -0
  348. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/deploy/coord-notify.service +0 -0
  349. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/deploy/coord-notify.timer +0 -0
  350. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/deploy/coord-release-propagate.service +0 -0
  351. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/deploy/coord-release-propagate.timer +0 -0
  352. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/deploy/coord-release-window.service +0 -0
  353. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/deploy/coord-release-window.timer +0 -0
  354. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/deploy/coord-serve.service +0 -0
  355. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/deploy/coord-web-dist-build.service +0 -0
  356. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/deploy/coord-web-dist-build.sh +0 -0
  357. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/deploy/coord-web-dist-build.timer +0 -0
  358. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/deploy/coord-web-rollback.sh +0 -0
  359. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/deploy/coord-web.service +0 -0
  360. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/deploy/node-shim.sh +0 -0
  361. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/ADR_COORD_TUI_CI.md +0 -0
  362. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/ADR_COORD_WEB_ACCEPTANCE_SUITE.md +0 -0
  363. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/ADR_COORD_WEB_CI.md +0 -0
  364. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/ADR_COORD_WEB_DIST.md +0 -0
  365. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/AGENT_OPERATIONS.md +0 -0
  366. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/ARCHITECTURE.md +0 -0
  367. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/ARCH_SECURITY_GATES.md +0 -0
  368. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/COCKPIT.md +0 -0
  369. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/CONTROL_CENTER.md +0 -0
  370. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/COST_DISCIPLINE.md +0 -0
  371. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/CROSS_PLATFORM.md +0 -0
  372. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/CUSTOMER_FACING_APPS.md +0 -0
  373. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/CUSTOMER_PORTAL.md +0 -0
  374. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/DRIVE_QUEUE.md +0 -0
  375. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/EPHEMERAL_WORKERS.md +0 -0
  376. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/FORGE_MIGRATION.md +0 -0
  377. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/GRAPHIFY_SETUP.md +0 -0
  378. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/ISSUE_GUIDANCE.md +0 -0
  379. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/MAC_MINI.md +0 -0
  380. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/MERGE_AUTO_DRAIN_TRUST_BAR.md +0 -0
  381. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/NOTIFIER.md +0 -0
  382. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/OPENCODE_VERIFICATION.md +0 -0
  383. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/OPERATING_GOTCHAS.md +0 -0
  384. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/OPERATOR_GUIDES.md +0 -0
  385. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/ORACLE_LOOP.md +0 -0
  386. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/PHONE_WEBAPP.md +0 -0
  387. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/PIPELINE_V2.md +0 -0
  388. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/PLATFORM_EVOLUTION.md +0 -0
  389. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/SECOND_BACKEND.md +0 -0
  390. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/STORE_SERVICE.md +0 -0
  391. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/TEST_FIRST_BUG_LANE.md +0 -0
  392. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/WEB_CONTROL_CENTER.md +0 -0
  393. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/WSL_WINDOWS_WORKER.md +0 -0
  394. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/mocks/web/README.md +0 -0
  395. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/mocks/web/_tokens.css +0 -0
  396. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/mocks/web/issue-detail.html +0 -0
  397. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/mocks/web/pipeline-narrow.html +0 -0
  398. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/docs/mocks/web/pipeline-wide.html +0 -0
  399. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/graphify-out/.gitignore +0 -0
  400. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/install-agent.sh +0 -0
  401. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/pyproject.toml +0 -0
  402. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/scripts/audit_review_verdict_overrides.py +0 -0
  403. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/scripts/azure-workers/bootstrap-shared.sh +0 -0
  404. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/scripts/azure-workers/build-worker-image.sh +0 -0
  405. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/scripts/azure-workers/coordinator-machine.py +0 -0
  406. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/scripts/azure-workers/epic-down.sh +0 -0
  407. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/scripts/azure-workers/epic-up.sh +0 -0
  408. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/scripts/azure-workers/preflight.sh +0 -0
  409. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/scripts/azure-workers/scrub-and-generalize.sh +0 -0
  410. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/scripts/azure-workers/tailnet-acl.hujson +0 -0
  411. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/scripts/azure-workers/verify-github-token.sh +0 -0
  412. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/scripts/check_gh_argv_containment.py +0 -0
  413. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/scripts/coord-venv-rollback.sh +0 -0
  414. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/scripts/drive-batch.sh +0 -0
  415. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/scripts/fleet_watchdog.py +0 -0
  416. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/scripts/gen_mock_index.py +0 -0
  417. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/scripts/next_release_tag.py +0 -0
  418. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/scripts/run_tests_in_populated_home.sh +0 -0
  419. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/scripts/run_tests_without_gh.sh +0 -0
  420. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/scripts/smoke_437_interactive.py +0 -0
  421. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/scripts/verify_878_review_capture.py +0 -0
  422. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/scripts/verify_release_published.py +0 -0
  423. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/scripts/verify_release_wheel.py +0 -0
  424. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/setup.cfg +0 -0
  425. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/SMOKE_SET.md +0 -0
  426. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/__init__.py +0 -0
  427. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/acceptance/ms-37/conftest.py +0 -0
  428. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/acceptance/ms-37/contract.md +0 -0
  429. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/acceptance/ms-37/manifest.yml +0 -0
  430. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/acceptance/ms-37/test_usage_cli_1115.py +0 -0
  431. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/acceptance/ms-37/test_usage_core_1118.py +0 -0
  432. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/acceptance/ms-51/contract.md +0 -0
  433. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/acceptance/ms-51/home-active-extended.spec.ts +0 -0
  434. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/acceptance/ms-51/home-active.spec.ts +0 -0
  435. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/acceptance/ms-51/manifest.yml +0 -0
  436. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/acceptance/ms-51/mocks/home-active.html +0 -0
  437. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/acceptance/ms-51/tsconfig.json +0 -0
  438. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/acceptance/ms-example/mocks/home-active.html +0 -0
  439. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/backends.py +0 -0
  440. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/conftest.py +0 -0
  441. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/fixtures/board-pipeline-basic.json +0 -0
  442. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/fixtures/board-pipeline-terminal-gates.json +0 -0
  443. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/fixtures/opencode_run_failure_sample.jsonl +0 -0
  444. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/fixtures/opencode_run_length_sample.jsonl +0 -0
  445. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/fixtures/opencode_run_sample.jsonl +0 -0
  446. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/fixtures/playwright/all_pass.json +0 -0
  447. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/fixtures/playwright/global_setup_crash.json +0 -0
  448. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/fixtures/playwright/mixed_fail.json +0 -0
  449. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/fixtures/playwright/retry_then_pass.json +0 -0
  450. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/fixtures/playwright/retry_then_pass.junit.xml +0 -0
  451. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/fixtures/playwright/skip.json +0 -0
  452. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/fixtures/playwright/truncated.json +0 -0
  453. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/fixtures/test_report/cargo_compile_error.txt +0 -0
  454. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/fixtures/test_report/cargo_multi_target_failures.txt +0 -0
  455. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/fixtures/test_report/cargo_no_parseable_failures.txt +0 -0
  456. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/fixtures/test_report/pytest_collection_error.txt +0 -0
  457. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/fixtures/test_report/pytest_error_string_in_body.txt +0 -0
  458. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/fixtures/test_report/pytest_internal_error.txt +0 -0
  459. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/fixtures/test_report/pytest_mixed_failures.txt +0 -0
  460. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/fixtures/test_report/pytest_no_parseable_failures.txt +0 -0
  461. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_acceptance.py +0 -0
  462. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_acceptance_drivers.py +0 -0
  463. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_agent.py +0 -0
  464. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_agent_api_error.py +0 -0
  465. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_agent_app.py +0 -0
  466. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_agent_branch_base.py +0 -0
  467. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_agent_branch_capture.py +0 -0
  468. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_agent_config_free_1712.py +0 -0
  469. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_agent_deploy_units_endpoint.py +0 -0
  470. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_agent_dirty_worktree.py +0 -0
  471. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_agent_drive_queue_reconcile_2373.py +0 -0
  472. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_agent_graph_self_heal.py +0 -0
  473. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_agent_health_h3.py +0 -0
  474. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_agent_idle_restart.py +0 -0
  475. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_agent_push_failure.py +0 -0
  476. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_agent_reap.py +0 -0
  477. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_agent_repos_and_pull.py +0 -0
  478. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_agent_restart_services_endpoint.py +0 -0
  479. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_agent_skills_self_heal.py +0 -0
  480. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_agent_startup_diagnostics.py +0 -0
  481. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_agent_update.py +0 -0
  482. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_agent_update_bluegreen.py +0 -0
  483. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_agent_usage_limit.py +0 -0
  484. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_agent_zero_commit.py +0 -0
  485. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_ambient_home_isolation.py +0 -0
  486. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_approve_dependency_busy_2804.py +0 -0
  487. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_approve_reject_plan.py +0 -0
  488. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_approve_usage_gate.py +0 -0
  489. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_approved_work_2532.py +0 -0
  490. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_assignment_already_recorded_daemon.py +0 -0
  491. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_audit_log.py +0 -0
  492. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_audit_outcome.py +0 -0
  493. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_audit_query.py +0 -0
  494. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_auto_loop.py +0 -0
  495. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_auto_release_publish_2035.py +0 -0
  496. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_backend_selection.py +0 -0
  497. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_base_checkout_restore.py +0 -0
  498. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_block_log.py +0 -0
  499. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_board_cap_762.py +0 -0
  500. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_board_read_path.py +0 -0
  501. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_board_service.py +0 -0
  502. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_board_state.py +0 -0
  503. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_board_wire.py +0 -0
  504. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_brain.py +0 -0
  505. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_branch_model.py +0 -0
  506. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_bug_intake.py +0 -0
  507. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_build_worker_image_env_update.py +0 -0
  508. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cargo_cache.py +0 -0
  509. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_check_gh_argv_containment.py +0 -0
  510. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_ci_fix.py +0 -0
  511. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_ci_gitlab.py +0 -0
  512. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_ci_parity_2091.py +0 -0
  513. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_ci_store.py +0 -0
  514. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_claim.py +0 -0
  515. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_claude_md_budget.py +0 -0
  516. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_acceptance.py +0 -0
  517. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_assign.py +0 -0
  518. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_assign_interactive_oracle_gate.py +0 -0
  519. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_assign_interactive_remote.py +0 -0
  520. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_assign_provider.py +0 -0
  521. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_assign_repo_drift_2219.py +0 -0
  522. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_audit.py +0 -0
  523. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_chat_continue.py +0 -0
  524. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_decide.py +0 -0
  525. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_diagnose_config_provenance.py +0 -0
  526. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_diagnose_forge_availability.py +0 -0
  527. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_diagnose_graph.py +0 -0
  528. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_diagnose_self.py +0 -0
  529. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_doctor.py +0 -0
  530. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_doctor_config_free_1801.py +0 -0
  531. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_doctor_config_mismatch_1712.py +0 -0
  532. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_drive.py +0 -0
  533. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_drive_queue.py +0 -0
  534. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_escalate.py +0 -0
  535. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_fix_headless_review.py +0 -0
  536. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_gate_a.py +0 -0
  537. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_install_drift.py +0 -0
  538. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_install_skills.py +0 -0
  539. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_issue_comment.py +0 -0
  540. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_issue_create_label.py +0 -0
  541. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_issue_reopen.py +0 -0
  542. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_issue_view_list.py +0 -0
  543. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_merge.py +0 -0
  544. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_milestone_assign.py +0 -0
  545. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_milestone_capture.py +0 -0
  546. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_milestone_chat_add_child.py +0 -0
  547. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_milestone_dispatch.py +0 -0
  548. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_milestone_gate_b.py +0 -0
  549. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_milestone_gate_c.py +0 -0
  550. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_milestone_order.py +0 -0
  551. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_milestone_remove_and_issue_close.py +0 -0
  552. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_milestone_ship.py +0 -0
  553. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_network.py +0 -0
  554. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_new_issue_chat.py +0 -0
  555. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_plans.py +0 -0
  556. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_portal.py +0 -0
  557. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_pr.py +0 -0
  558. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_pull_artifact.py +0 -0
  559. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_queue.py +0 -0
  560. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_reattach_sessions.py +0 -0
  561. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_refine_board.py +0 -0
  562. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_release_preflight.py +0 -0
  563. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_release_propagate.py +0 -0
  564. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_release_window.py +0 -0
  565. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_repo_2220.py +0 -0
  566. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_review_test_author_tracking_epic_2639.py +0 -0
  567. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_scorecard.py +0 -0
  568. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_set_review_findings.py +0 -0
  569. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_status_advisory_terminal.py +0 -0
  570. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_status_contested_tag.py +0 -0
  571. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_status_merge_queue.py +0 -0
  572. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_status_provider.py +0 -0
  573. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_status_review_finalizing.py +0 -0
  574. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_status_test_failed_tag.py +0 -0
  575. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_status_usage_limit.py +0 -0
  576. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_sync_comments_873.py +0 -0
  577. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_test_plan.py +0 -0
  578. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_track.py +0 -0
  579. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_tui_update.py +0 -0
  580. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cli_wait.py +0 -0
  581. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_client_base_install.py +0 -0
  582. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_client_resource_migration_1946.py +0 -0
  583. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_commands_common.py +0 -0
  584. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_comments.py +0 -0
  585. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_completion_summary.py +0 -0
  586. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_config.py +0 -0
  587. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_config_acceptance.py +0 -0
  588. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_config_audit.py +0 -0
  589. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_config_pricing.py +0 -0
  590. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_config_snapshot_noncanonical_2208.py +0 -0
  591. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_config_usage_gate.py +0 -0
  592. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_confirm_test.py +0 -0
  593. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_conflict_fix.py +0 -0
  594. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_conflict_fix_semantic.py +0 -0
  595. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_coord_log_daemon_fallback_2547.py +0 -0
  596. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_coord_test.py +0 -0
  597. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_coord_test_runner_baseline.py +0 -0
  598. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_coord_uat.py +0 -0
  599. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_coord_web_sse_restart_live.py +0 -0
  600. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_coordinator_machine.py +0 -0
  601. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_cross_platform_imports.py +0 -0
  602. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_dao.py +0 -0
  603. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_dashboard.py +0 -0
  604. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_dashboard_fixture.py +0 -0
  605. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_dashboard_terminal.py +0 -0
  606. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_dashboard_terminal_live.py +0 -0
  607. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_db.py +0 -0
  608. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_dead_end.py +0 -0
  609. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_decomposition_chat.py +0 -0
  610. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_deploy_coord_db_backup.py +0 -0
  611. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_deploy_coord_web_dist.py +0 -0
  612. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_deploy_coord_web_rollback.py +0 -0
  613. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_deploy_drive_queue_unit.py +0 -0
  614. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_deploy_failure_notify_unit.py +0 -0
  615. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_deploy_manifest.py +0 -0
  616. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_deploy_notify_unit.py +0 -0
  617. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_deploy_units_lane.py +0 -0
  618. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_deploy_web_unit.py +0 -0
  619. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_deprecation_telemetry.py +0 -0
  620. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_deps.py +0 -0
  621. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_diagnose.py +0 -0
  622. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_dispatch.py +0 -0
  623. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_dispatch_target_validation.py +0 -0
  624. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_dist_name.py +0 -0
  625. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_done_housekeeping.py +0 -0
  626. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_drive_queue.py +0 -0
  627. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_drive_queue_blocked_rendering.py +0 -0
  628. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_drive_queue_launch_argv.py +0 -0
  629. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_drive_queue_max_parallel_per_repo_config.py +0 -0
  630. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_drive_queue_roll_pending.py +0 -0
  631. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_drive_queue_self_cordon_escalation.py +0 -0
  632. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_drive_state.py +0 -0
  633. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_drive_tmux.py +0 -0
  634. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_epic_up_capability_detection.py +0 -0
  635. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_epic_up_down_symlinked_config_1887.py +0 -0
  636. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_epic_up_image_provenance.py +0 -0
  637. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_errors.py +0 -0
  638. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_events.py +0 -0
  639. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_failure_class.py +0 -0
  640. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_filelock.py +0 -0
  641. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_finalize_interactive_exit_test_verdict.py +0 -0
  642. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_fix_of_force_override.py +0 -0
  643. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_fleet_config_health.py +0 -0
  644. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_fleet_health_probes.py +0 -0
  645. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_fleet_health_snapshot.py +0 -0
  646. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_fleet_watchdog.py +0 -0
  647. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_forge_availability.py +0 -0
  648. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_freshness.py +0 -0
  649. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_gate_a.py +0 -0
  650. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_gate_b.py +0 -0
  651. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_gate_snapshot_staleness.py +0 -0
  652. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_gates.py +0 -0
  653. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_gather_fleet_tmux_sessions.py +0 -0
  654. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_gen_mock_index.py +0 -0
  655. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_generated_rust_fixture.py +0 -0
  656. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_generated_types_fixture.py +0 -0
  657. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_github_ops.py +0 -0
  658. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_github_throttle.py +0 -0
  659. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_goal.py +0 -0
  660. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_graph_health.py +0 -0
  661. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_graph_selfheal_absent_2237.py +0 -0
  662. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_handoff.py +0 -0
  663. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_health_checks.py +0 -0
  664. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_health_cli.py +0 -0
  665. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_health_cli_graph.py +0 -0
  666. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_health_config.py +0 -0
  667. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_health_context.py +0 -0
  668. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_health_coord_web_ci_pin.py +0 -0
  669. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_health_fix.py +0 -0
  670. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_health_incident_regression.py +0 -0
  671. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_health_issues_sync_staleness.py +0 -0
  672. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_health_pypi.py +0 -0
  673. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_health_registry.py +0 -0
  674. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_health_release_cordon_probe.py +0 -0
  675. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_health_timer_active.py +0 -0
  676. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_health_toolchain.py +0 -0
  677. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_health_unit_drift.py +0 -0
  678. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_health_unit_enablement.py +0 -0
  679. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_hooks.py +0 -0
  680. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_human_attended_437.py +0 -0
  681. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_init.py +0 -0
  682. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_install_agent_venv_2911.py +0 -0
  683. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_integration.py +0 -0
  684. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_interactive_briefing_echo.py +0 -0
  685. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_interactive_pane_log_2541.py +0 -0
  686. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_interactive_prefill_state.py +0 -0
  687. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_interactive_session_relaunch.py +0 -0
  688. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_interactive_test_verdict_backstop.py +0 -0
  689. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_interactive_token_attribution.py +0 -0
  690. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_interactive_worktree.py +0 -0
  691. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_issue_store_seam.py +0 -0
  692. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_issues_sync_status.py +0 -0
  693. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_liveness_auditor.py +0 -0
  694. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_liveness_notify.py +0 -0
  695. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_lock_contention_ratchet.py +0 -0
  696. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_machine_onboard.py +0 -0
  697. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_machine_pause.py +0 -0
  698. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_merge_queue.py +0 -0
  699. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_merge_verify.py +0 -0
  700. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_milestone_chat.py +0 -0
  701. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_milestone_dispatch.py +0 -0
  702. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_milestone_gate.py +0 -0
  703. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_milestone_order.py +0 -0
  704. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_milestone_seam.py +0 -0
  705. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_mock_author.py +0 -0
  706. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_model_tiering.py +0 -0
  707. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_models.py +0 -0
  708. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_models_config_labels.py +0 -0
  709. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_needs_attention.py +0 -0
  710. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_network.py +0 -0
  711. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_new_issue_chat.py +0 -0
  712. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_next_release_tag.py +0 -0
  713. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_node_shim.py +0 -0
  714. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_notifier_baseline.py +0 -0
  715. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_notifier_cli.py +0 -0
  716. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_notifier_collect.py +0 -0
  717. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_notifier_config.py +0 -0
  718. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_notifier_drive_seam.py +0 -0
  719. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_notifier_isolation.py +0 -0
  720. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_notifier_predicate.py +0 -0
  721. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_notifier_quiet_hours.py +0 -0
  722. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_notifier_service.py +0 -0
  723. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_notify.py +0 -0
  724. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_notify_drain.py +0 -0
  725. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_operational_defaults.py +0 -0
  726. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_overlap_fence.py +0 -0
  727. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_overlap_predict.py +0 -0
  728. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_packaged_deploy_units.py +0 -0
  729. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_parentage.py +0 -0
  730. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_paste_landed.py +0 -0
  731. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_phantom_heal_venv_independence_2570.py +0 -0
  732. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_pipeline.py +0 -0
  733. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_plan_followup_approve_plan_command.py +0 -0
  734. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_plan_followup_pr_command.py +0 -0
  735. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_plan_followup_review_command.py +0 -0
  736. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_plan_only.py +0 -0
  737. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_plan_parser.py +0 -0
  738. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_platform_paths.py +0 -0
  739. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_portal_bridge.py +0 -0
  740. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_portal_config.py +0 -0
  741. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_portal_store.py +0 -0
  742. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_portal_sync.py +0 -0
  743. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_pr_body_lint.py +0 -0
  744. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_prereqs.py +0 -0
  745. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_production_db_guard.py +0 -0
  746. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_progress.py +0 -0
  747. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_provider_seam.py +0 -0
  748. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_providers.py +0 -0
  749. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_providers_config_labels.py +0 -0
  750. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_providers_pty.py +0 -0
  751. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_quiet_hours.py +0 -0
  752. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_quiet_hours_store_2146.py +0 -0
  753. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_reap_merged_sessions.py +0 -0
  754. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_reap_stale_interactive_tick.py +0 -0
  755. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_reconcile.py +0 -0
  756. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_reconcile_branch.py +0 -0
  757. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_reconcile_completions.py +0 -0
  758. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_reconcile_late_agent_reports_2547.py +0 -0
  759. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_reconcile_merges.py +0 -0
  760. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_reconcile_no_agent_record.py +0 -0
  761. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_reconcile_tick.py +0 -0
  762. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_reconcile_usage_limit_done.py +0 -0
  763. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_refine_chat.py +0 -0
  764. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_release_cordon_2101.py +0 -0
  765. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_release_cordon_daemon_leads_2176.py +0 -0
  766. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_release_cordon_deadlock_2240.py +0 -0
  767. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_release_cordon_stuck_2490.py +0 -0
  768. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_release_propagate.py +0 -0
  769. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_release_propagate_threshold.py +0 -0
  770. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_release_roll_between_legs_2854.py +0 -0
  771. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_release_roll_window_handoff.py +0 -0
  772. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_release_verify.py +0 -0
  773. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_release_window.py +0 -0
  774. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_remote_auto_prune.py +0 -0
  775. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_remote_interactive_reaper.py +0 -0
  776. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_repo_add.py +0 -0
  777. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_repo_edit_2220.py +0 -0
  778. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_repo_graph_fleet_2237.py +0 -0
  779. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_repo_onboard_2220.py +0 -0
  780. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_report_result_push.py +0 -0
  781. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_reports.py +0 -0
  782. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_retry.py +0 -0
  783. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_retry_advisory_1606.py +0 -0
  784. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_retry_type_1636.py +0 -0
  785. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_revalidate.py +0 -0
  786. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_review_end_review_without_verdict.py +0 -0
  787. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_review_parse_failure_diagnostic.py +0 -0
  788. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_review_reaffirm.py +0 -0
  789. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_review_state.py +0 -0
  790. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_review_verdict_backstop.py +0 -0
  791. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_review_verdict_override_audit.py +0 -0
  792. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_review_verdict_relay.py +0 -0
  793. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_review_zero_commits.py +0 -0
  794. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_scoped_review_wiring.py +0 -0
  795. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_scorecard.py +0 -0
  796. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_self_health.py +0 -0
  797. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_serve.py +0 -0
  798. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_serve_app_board_trim.py +0 -0
  799. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_serve_rest_routes.py +0 -0
  800. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_session.py +0 -0
  801. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_slice_issue_attribution.py +0 -0
  802. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_smoke.py +0 -0
  803. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_smoke_live_checkout_restore.py +0 -0
  804. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_smoke_workflow.py +0 -0
  805. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_spend_ceiling.py +0 -0
  806. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_spend_ceiling_coordinator.py +0 -0
  807. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_split.py +0 -0
  808. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_split_work.py +0 -0
  809. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_sql_dialect.py +0 -0
  810. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_sqlite_connect_ratchet.py +0 -0
  811. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_stage_projection.py +0 -0
  812. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_stale_busy_reviewer_697.py +0 -0
  813. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_stalled_pipeline.py +0 -0
  814. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_state.py +0 -0
  815. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_state_review_findings_daemon.py +0 -0
  816. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_status_fleet_footer.py +0 -0
  817. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_stop_1567.py +0 -0
  818. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_store_contract.py +0 -0
  819. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_store_migrate.py +0 -0
  820. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_stuck.py +0 -0
  821. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_stuck_test_state_watchdog_2803.py +0 -0
  822. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_terminal_command.py +0 -0
  823. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_test_author.py +0 -0
  824. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_test_chat.py +0 -0
  825. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_test_orchestrator.py +0 -0
  826. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_test_report.py +0 -0
  827. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_test_verdict_parsing.py +0 -0
  828. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_test_verdict_transcript_floor.py +0 -0
  829. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_text_io_encoding_audit.py +0 -0
  830. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_thin_client_board_audit.py +0 -0
  831. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_thin_client_config_load_1080.py +0 -0
  832. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_thin_client_daemon_routing_906.py +0 -0
  833. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_tmux_host.py +0 -0
  834. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_tmux_session.py +0 -0
  835. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_transcript_floor.py +0 -0
  836. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_usage.py +0 -0
  837. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_usage_limits.py +0 -0
  838. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_usage_rollup.py +0 -0
  839. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_venv_live_install_2121.py +0 -0
  840. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_version_single_source.py +0 -0
  841. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_watch.py +0 -0
  842. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_windows_job_is_a_real_gate_2000.py +0 -0
  843. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_worker_env_venv_isolation.py +0 -0
  844. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_worker_events.py +0 -0
  845. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_worker_image_pin_sync.py +0 -0
  846. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_worker_safety.py +0 -0
  847. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_worker_test_scoping.py +0 -0
  848. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_worktree.py +0 -0
  849. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_worktree_rmtree_chokepoint.py +0 -0
  850. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/test_write_parity.py +0 -0
  851. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tests/write_parity.py +0 -0
  852. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-33/audit_1039.rs +0 -0
  853. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-33/contract.md +0 -0
  854. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-33/manifest.yml +0 -0
  855. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-33/mocks/audit-panel-detail.screen +0 -0
  856. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-33/mocks/audit-panel-empty.screen +0 -0
  857. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-33/mocks/audit-panel-filters.screen +0 -0
  858. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-33/mocks/audit-panel-populated.screen +0 -0
  859. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-38/contract.md +0 -0
  860. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-38/manifest.yml +0 -0
  861. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-38/mocks/plans-base.screen +0 -0
  862. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-38/mocks/plans-detail-pane.screen +0 -0
  863. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-38/mocks/plans-help-overlay.screen +0 -0
  864. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-38/mocks/plans-palette.screen +0 -0
  865. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-38/mocks/plans-rightclick-epic.screen +0 -0
  866. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-38/mocks/plans-rightclick-header.screen +0 -0
  867. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-38/mocks/plans-rightclick-stub.screen +0 -0
  868. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-38/plans_detail_1122.rs +0 -0
  869. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-38/plans_help_1124.rs +0 -0
  870. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-38/plans_rightclick_1123.rs +0 -0
  871. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-65/board_split_2288.rs +0 -0
  872. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-65/board_tabs_2282.rs +0 -0
  873. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-65/board_tabs_close_2283.rs +0 -0
  874. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-65/contract.md +0 -0
  875. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-65/detail_substate_2285.rs +0 -0
  876. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-65/manifest.yml +0 -0
  877. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-65/mocks/board-baseline-no-tabs.screen +0 -0
  878. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-65/mocks/board-pinned-3-tabs.screen +0 -0
  879. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-65/mocks/board-preview-tab.screen +0 -0
  880. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-65/mocks/board-split-side-by-side.screen +0 -0
  881. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-65/mocks/board-tab-context-menu.screen +0 -0
  882. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-65/mocks/board-tabs-help-overlay.screen +0 -0
  883. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-65/mocks/board-tabs-overflow.screen +0 -0
  884. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-65/mocks/pipeline-tabs-independent.screen +0 -0
  885. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-65/pipeline_tabs_2284.rs +0 -0
  886. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-65/tabs_discoverability_2287.rs +0 -0
  887. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-65/tabs_persistence_2286.rs +0 -0
  888. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-67/approved_items_2532.rs +0 -0
  889. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-67/contract.md +0 -0
  890. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-67/manifest.d/2533.yml +0 -0
  891. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-67/manifest.yml +0 -0
  892. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-67/mocks/approved-items-chat-opened.screen +0 -0
  893. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-67/mocks/approved-items-context-menu.screen +0 -0
  894. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-67/mocks/approved-items-detail.screen +0 -0
  895. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-67/mocks/approved-items-empty.screen +0 -0
  896. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-67/mocks/approved-items-populated.screen +0 -0
  897. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance/ms-67/pull_decomposition_2533.rs +0 -0
  898. {code_coordinator-0.5.294 → code_coordinator-0.5.295}/tui/tests/acceptance.rs +0 -0
@@ -73,21 +73,11 @@ acceptance:
73
73
  run: "pytest tests/acceptance"
74
74
  mock: "*.out"
75
75
  capability: python
76
- - match: tui/**
77
- kind: tui-tuidriver
78
- # Unlike the two routes above, this one is identical to the
79
- # fleet's real route: it never referenced `{ms}` even for
80
- # `--issue` scoping, since `cargo test --test acceptance` always
81
- # runs the whole tui/tests/acceptance.rs entrypoint (which
82
- # `include!`s every ms-NN/*.rs slice) regardless of `{ms}`.
83
- # RUSTC_BOOTSTRAP=1 + -Z unstable-options: --format json is
84
- # nightly-gated; verified working on stable rustc (#1042).
85
- # --features test-support: tui/Cargo.toml's `acceptance` test
86
- # target has `required-features = ["test-support"]`, so a plain
87
- # `cargo test` (no flag) silently skips building/running it
88
- # altogether -- that gap is exactly what made this route
89
- # unreachable from CI before #2180.
90
- run: "cd tui && RUSTC_BOOTSTRAP=1 cargo test --test acceptance --features test-support -- -Z unstable-options --format json"
91
- mock: "*.screen"
92
- capability: rust
93
- entrypoint: tui/tests/acceptance.rs
76
+ # #2899: the `tui/**` -> tui-tuidriver route is GONE from this file.
77
+ # The crate moved to the standalone `coord-tui` repo, taking its
78
+ # sealed entrypoint (`tui/tests/acceptance.rs` -> `tests/acceptance.rs`)
79
+ # and the `tui/tests/acceptance/ms-NN/` slices with it. coord-tui
80
+ # carries its own copy of this CI stand-in, keyed on its own repo
81
+ # name, so the route did not disappear -- it changed repos. This
82
+ # file is now single-route, and this repo's sealed set is exactly
83
+ # `tests/acceptance/**` again.
@@ -31,17 +31,15 @@ jobs:
31
31
  # testpaths=["tests"]) was the one accidental gap. (ms-51 — Playwright,
32
32
  # never .py either — left this repo entirely with the webapp, #2009.)
33
33
  - run: pytest --ignore=tests/acceptance
34
- # #2897: the Rust drift gate `tests/test_generated_rust_fixture.py`
35
- # no longer byte-compares the committed `tui/src/app/types/generated.rs`
36
- # (see docs/ADR_COORD_TUI_CI.md and the header comment further down
37
- # this file) — this explicit step stands in for that comparison while
38
- # `tui/` still lives here. `$COORD_TUI_SRC=.` names this checkout as
39
- # the coord-tui root (`RUST_OUTPUT_RELPATH` keeps the `tui/` prefix for
40
- # exactly this reason). One matrix leg only: the generator's output
41
- # depends on `coord.serve_app.openapi_spec()`, not the Python version.
42
- - name: python scripts/codegen.py --rust --check
43
- if: matrix.python-version == '3.12'
44
- run: COORD_TUI_SRC=. python scripts/codegen.py --rust --check
34
+ # #2899: the `COORD_TUI_SRC=. python scripts/codegen.py --rust --check`
35
+ # step that used to live here is GONE. It was #2897's explicit stand-in
36
+ # for the byte-comparison, held here only for as long as the crate did
37
+ # — that ADR (docs/ADR_COORD_TUI_CI.md) says in terms: "the day
38
+ # coord-tui gets its own checkout + CI, delete the step below (its
39
+ # replacement lives in that CI, installing `code-coordinator[server]`
40
+ # from PyPI exactly as `coord-web`'s does)". This is that day. There is
41
+ # no `generated.rs` in this checkout to compare against, so the step
42
+ # could only fail or — worse — pass vacuously.
45
43
  # #2180: the cli-pytest sealed route (acceptance.drivers routes
46
44
  # "coord/**" -> cli-pytest -> tests/acceptance/ms-37) run through the
47
45
  # #2164 CI wrapper instead of a raw `pytest tests/acceptance` call, so
@@ -321,24 +319,21 @@ jobs:
321
319
  # for it to run against, and a job that installs Node to build nothing is
322
320
  # how the previous `acceptance`-on-every-push waste (#2389) started.
323
321
  #
324
- # #1941/#2897: `scripts/codegen.py` also generates coord-tui's RUST wire
325
- # types (`--rust`). #2897 gave that half the SAME cross-repo shape as the
326
- # TS half above (`--out PATH` / `$COORD_TUI_SRC`, no fallback default,
327
- # docs/ADR_COORD_TUI_CI.md) — but `tui/` has not actually moved out of
328
- # this repo yet, so unlike the TS byte-comparison (which is now
329
- # exclusively `coord-web`'s CI job), the Rust byte-comparison has nowhere
330
- # else to run yet and stays HERE, as an explicit step below rather than a
331
- # pytest test:
332
- #
333
- # COORD_TUI_SRC=. python scripts/codegen.py --rust --check
322
+ # #1941/#2897/#2899: `scripts/codegen.py` also generates coord-tui's RUST
323
+ # wire types (`--rust`). #2897 gave that half the SAME cross-repo shape as
324
+ # the TS half above (`--out PATH` / `$COORD_TUI_SRC`, no fallback default,
325
+ # docs/ADR_COORD_TUI_CI.md), and #2899 moved the crate out — so the Rust
326
+ # byte-comparison is now, exactly like the TS one, EXCLUSIVELY the
327
+ # downstream repo's CI job. coord-tui's `.github/workflows/codegen-drift.yml`
328
+ # installs `code-coordinator[server]` from PyPI and runs
329
+ # `COORD_TUI_SRC=. python -m ... codegen --rust --check` against its own
330
+ # committed `src/app/types/generated.rs`.
334
331
  #
335
- # `tests/test_generated_rust_fixture.py` itself is narrowed to what one
332
+ # Nothing about that gate can run here: this checkout has no `generated.rs`
333
+ # to compare against. What stays is
334
+ # `tests/test_generated_rust_fixture.py`, narrowed by #2897 to what one
336
335
  # checkout can prove — the generator runs and covers every schema — same
337
- # as `tests/test_generated_types_fixture.py`; it no longer byte-compares
338
- # the committed `tui/src/app/types/generated.rs`. The day coord-tui gets
339
- # its own checkout + CI, delete the step below (its replacement lives in
340
- # that CI, installing `code-coordinator[server]` from PyPI exactly as
341
- # `coord-web`'s does) — no pytest file to un-narrow.
336
+ # as `tests/test_generated_types_fixture.py`.
342
337
  #
343
338
  # The consumer-side INTEGER-backed-bool text-scraping guard
344
339
  # (`coord/board_bool_guard.py`) that used to also read Rust source text
@@ -9,11 +9,6 @@ board_state.json
9
9
  agent_setup.json
10
10
  coordinator.yml
11
11
 
12
- # Rust build artifacts (coord-tui)
13
- tui/target/
14
- tui/*.err
15
- tui/*.out
16
-
17
12
  # scripts/coord-test-runner.sh scratch output, written into the worktree it
18
13
  # is pointed at. Harmless in the throwaway worktree the Test stage uses, but
19
14
  # a worker who runs the runner against its own checkout and then `git add -A`
@@ -33,11 +28,6 @@ tui/*.out
33
28
  .fallback.out
34
29
  .coord-ci-home/
35
30
 
36
- # #1973: opt-in local quadraui path override (see
37
- # tui/cargo-config-local-quadraui.toml.example) — never commit a
38
- # machine-local co-development override.
39
- tui/.cargo/config.toml
40
-
41
31
  # scratch $HOME created inside disposable worktrees by the CI-mode
42
32
  # acceptance runner (scripts/coord-test-runner.sh) — never meant to
43
33
  # leave the throwaway worktree, let alone land in git history (#2527).
@@ -111,23 +111,25 @@ activation from an earlier command carried forward.
111
111
  The full suite exceeds Claude Code's 600s Bash ceiling on this repo and
112
112
  duplicates the Test stage + CI, which both run it against your pushed SHA
113
113
  regardless. Run just the file(s) that mirror what you changed — `pytest
114
- tests/test_<module>.py` for a `coord/<module>.py` change, `cargo test` from
115
- `tui/` scoped with a test-name filter for a `tui/**` change. To see what
114
+ tests/test_<module>.py` for a `coord/<module>.py` change. To see what
116
115
  the Test stage itself would run for your diff (and confirm you're not
117
116
  missing a suite), `scripts/coord-test-runner.sh <worktree> --print-routing`
118
117
  computes the routing without actually building or testing anything.
119
118
 
120
- ## Working on `tui/` — the `quadraui` pin
121
-
122
- **`coord-tui` pins `quadraui` to a git rev in `tui/Cargo.toml`**
123
- (`quadraui = { git = "https://github.com/JDonaghy/quadraui", rev = "<sha>" }`, #1973) —
124
- never edit that `rev` as a shortcut for co-development, and never build `tui/` against
125
- whatever happens to be checked out in `~/src/quadraui`; a quadraui merge broke coord-tui's
126
- build with zero coord-tui commits and no warning once already, which is exactly what the pin
127
- prevents. Bumping the pin deliberately, and building against an unmerged quadraui branch/PR
128
- without touching the pin, are both procedures — see the `tui-quadraui-workflow` skill
129
- (`coord/skills/tui-quadraui-workflow/SKILL.md`) for the steps; install it with `coord
130
- install-skills` if it isn't already on this machine.
119
+ > **#2899: the TUI is not in this repo.** The `coord-tui` crate that used to live
120
+ > under `tui/` is now the standalone [`JDonaghy/coord-tui`](https://github.com/JDonaghy/coord-tui)
121
+ > repo, checked out at `~/src/coord-tui`. Its rules — the `quadraui` git-rev pin, the
122
+ > `TuiDriver` harness, its sealed `tests/acceptance.rs` — live in **its** CLAUDE.md,
123
+ > per this file's own scope rule above: a rule that does not change what someone
124
+ > editing *this* repo does, does not belong here. If your briefing asks you to change
125
+ > Rust, you are in the wrong checkout — say so rather than recreating `tui/`.
126
+ >
127
+ > Two seams still cross the split, and both run **from coord-tui's CI, pulling
128
+ > `code-coordinator` from PyPI** — never the other way round: `scripts/codegen.py --rust`
129
+ > (its `src/app/types/generated.rs` wire types) and `scripts/gen_board_fixture.py`
130
+ > (its `tests/fixtures/board_sample.json`). Both take `--out PATH` or `$COORD_TUI_SRC`
131
+ > and deliberately have **no fallback default**, so a missing checkout is an error
132
+ > rather than a gate that passes against nothing.
131
133
 
132
134
  ## Key Design Decisions
133
135
 
@@ -163,7 +165,7 @@ The reviewer reads the rules and enforces them against the diff. It does not hav
163
165
  ## Rules for workers
164
166
 
165
167
  - **Only the coordinator writes docs.** Workers must **not** update README, CHANGELOG, or shared documentation files — parallel doc edits cause merge conflicts. If a briefing lists docs in `files_forbidden`, respect it. An issue whose *entire* deliverable is a doc edit is coordinator work and should never have been dispatched; say so and stop rather than editing the doc.
166
- - **Never edit the sealed suite — which is `tests/acceptance/**` *plus every declared driver entrypoint*.** Those suites are delivered read-only / run-only; write your own unit and internal tests instead. **In this repo the sealed set includes `tui/tests/acceptance.rs`** — it is the `tui-tuidriver` driver's `entrypoint:`, and an entrypoint is sealed as a whole file, so it is sealed despite living nowhere near `tests/acceptance/`. Do not be reassured by its prologue calling itself "a seam smoke test": *any* `type="work"` diff touching a sealed path is an **unconditional, mandatory `request-changes`** (`coord/review.py`), and the additive-only carve-out applies only to `test-author` / `mock-author` dispatches. TuiDriver tests belong **in-crate** under `#[cfg(test)]` anyway — see the coord-tui section below. The authoritative list is `AcceptanceConfig.sealed_paths()` in `coord/config.py`; if a briefing's `## Files` names a sealed path, that briefing is wrong — say so and put the test somewhere else rather than following it.
168
+ - **Never edit the sealed suite — which is `tests/acceptance/**` *plus every declared driver entrypoint*.** Those suites are delivered read-only / run-only; write your own unit and internal tests instead. **In this repo, since #2899 moved `tui/` out, the sealed set is exactly `tests/acceptance/**`** — the `tui-tuidriver` `entrypoint:` that used to widen it (`tui/tests/acceptance.rs`, sealed as a whole file despite living nowhere near `tests/acceptance/`) went to the coord-tui repo with the crate, and is sealed *there*. The entrypoint rule itself has not changed, so do not assume a one-directory sealed set in any other repo. *Any* `type="work"` diff touching a sealed path is an **unconditional, mandatory `request-changes`** (`coord/review.py`), and the additive-only carve-out applies only to `test-author` / `mock-author` dispatches. The authoritative list is `AcceptanceConfig.sealed_paths()` in `coord/config.py` — it is derived from the configured driver `entrypoint:`, never hardcoded, which is why it followed the crate automatically; if a briefing's `## Files` names a sealed path, that briefing is wrong — say so and put the test somewhere else rather than following it.
167
169
  - **Stay in file scope.** If you must touch a file outside your briefing, note it in your final message.
168
170
  - **Commit and push before your final message** — even if the build is broken or you ran out of time. Uncommitted work is destroyed when the session ends.
169
171
  - **`gh` is on the deny-list.** The coordinator owns all GitHub interaction; use plain `git`.
@@ -189,12 +191,6 @@ versus keep in the coordinator session, and the coordinator session's own
189
191
 
190
192
  **How it runs:** black-box tests are part of the repo's normal test command, so the **Test stage** executes them on a capability-matched machine — `smoke_tests.capability_rules` route platform-specific suites to capable hardware (a GTK box; a machine with a browser). Favor the automated pre-review gate; the point is to trust the suite so manual/interactive smoke (incl. driving from a phone) is rarely needed.
191
193
 
192
- ### coord-tui — quadraui `TuiDriver` (harness shipped: #690 / #691)
193
- - Drives the whole app through the real `event → handle → render` path against ratatui's headless `TestBackend` and asserts on the screen grid. `cargo test`-native, deterministic, no TTY.
194
- - `CoordApp` implements quadraui's `ShellApp`, so use `quadraui::tui::testing::driver_with_shell(app, CoordApp::shell_config(), w, h)`. API: `find("text")` → coords, `click(x, y)`, `press`, `type_char`, `screen()`, `screen_contains(needle)`. **Locate targets with `find` — never hardcode coordinates.**
195
- - **Reuse the existing fixtures** — `make_test_app(data: BoardData) -> CoordApp` (and `make_app_with_assignments`, `make_app_with_one_completed_issue`, …) in `tui/src/app.rs` build a full app from in-memory `BoardData`, no live daemon. Put the tests **in-crate** (`#[cfg(test)]`), **not** in `tui/tests/` — the fixtures are `#[cfg(test)]`/private and an integration-test crate can't see them.
196
- - Limit: `TuiDriver` renders to `TestBackend`, so it does **not** parse real ANSI — terminal-protocol bugs (raw-mode, SGR mouse, the embedded `claude` PTY pane) are out of reach and still need a live smoke. A native pty + vt100 tier is tracked in quadraui#302 (unbuilt).
197
-
198
194
  ### coord web (Phone Control Center)
199
195
  - The phone web app lives in `coord/dashboard/webapp/` (React / Vite / TS PWA, served by `coord/dashboard/server.py`). **Build the bundle before first use** — `dist/` is gitignored: `npm install && npm run build` from `coord/dashboard/webapp/`, re-run after pulling changes to `src/`. The server falls back to the legacy `index.html` when `dist/` is absent.
200
196
  - **Vitest unit tests** live in `coord/dashboard/webapp/src/components/__tests__/` (`npm test`). **Playwright E2E** specs live in `coord/dashboard/webapp/e2e/` (`npm run test:e2e`) and are the acceptance bar — browsers headless-test more cleanly than terminals, so lean on this gate rather than interactive smoke.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: code-coordinator
3
- Version: 0.5.294
3
+ Version: 0.5.295
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
@@ -282,7 +282,8 @@ coord tui update # downloads the release binary matching `coord --version`
282
282
  coord tui status # check the installed version against the coordinator's
283
283
  ```
284
284
 
285
- (Building from source is only for developing the TUI itself: `cd tui && cargo build`.)
285
+ (Building from source is only for developing the TUI itself, and it lives in its own
286
+ repo since #2899: `git clone https://github.com/JDonaghy/coord-tui && cd coord-tui && cargo build`.)
286
287
 
287
288
  The whole lifecycle can also be driven as **human-attended interactive sessions** launched from
288
289
  a pipeline row's right-click menu — a testing agent, a reviewer, a merge agent, or a fix worker,
@@ -240,7 +240,8 @@ coord tui update # downloads the release binary matching `coord --version`
240
240
  coord tui status # check the installed version against the coordinator's
241
241
  ```
242
242
 
243
- (Building from source is only for developing the TUI itself: `cd tui && cargo build`.)
243
+ (Building from source is only for developing the TUI itself, and it lives in its own
244
+ repo since #2899: `git clone https://github.com/JDonaghy/coord-tui && cd coord-tui && cargo build`.)
244
245
 
245
246
  The whole lifecycle can also be driven as **human-attended interactive sessions** launched from
246
247
  a pipeline row's right-click menu — a testing agent, a reviewer, a merge agent, or a fix worker,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: code-coordinator
3
- Version: 0.5.294
3
+ Version: 0.5.295
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
@@ -282,7 +282,8 @@ coord tui update # downloads the release binary matching `coord --version`
282
282
  coord tui status # check the installed version against the coordinator's
283
283
  ```
284
284
 
285
- (Building from source is only for developing the TUI itself: `cd tui && cargo build`.)
285
+ (Building from source is only for developing the TUI itself, and it lives in its own
286
+ repo since #2899: `git clone https://github.com/JDonaghy/coord-tui && cd coord-tui && cargo build`.)
286
287
 
287
288
  The whole lifecycle can also be driven as **human-attended interactive sessions** launched from
288
289
  a pipeline row's right-click menu — a testing agent, a reviewer, a merge agent, or a fix worker,
@@ -17,7 +17,6 @@ pyproject.toml
17
17
  .github/coord-ci-acceptance.yml
18
18
  .github/ISSUE_TEMPLATE/bug_report.md
19
19
  .github/workflows/auto-release.yml
20
- .github/workflows/cargo-test.yml
21
20
  .github/workflows/publish.yml
22
21
  .github/workflows/test.yml
23
22
  code_coordinator.egg-info/PKG-INFO
@@ -341,6 +340,7 @@ scripts/codegen.py
341
340
  scripts/coord-test-runner.sh
342
341
  scripts/coord-venv-rollback.sh
343
342
  scripts/drive-batch.sh
343
+ scripts/extract-coord-tui.sh
344
344
  scripts/fleet_watchdog.py
345
345
  scripts/gen_board_fixture.py
346
346
  scripts/gen_mock_index.py
@@ -361,6 +361,10 @@ scripts/azure-workers/provision-worker.sh
361
361
  scripts/azure-workers/scrub-and-generalize.sh
362
362
  scripts/azure-workers/tailnet-acl.hujson
363
363
  scripts/azure-workers/verify-github-token.sh
364
+ scripts/coord-tui-scaffold/CLAUDE.md
365
+ scripts/coord-tui-scaffold/.github/coord-ci-acceptance.yml
366
+ scripts/coord-tui-scaffold/.github/workflows/cargo-test.yml
367
+ scripts/coord-tui-scaffold/.github/workflows/codegen-drift.yml
364
368
  tests/SMOKE_SET.md
365
369
  tests/__init__.py
366
370
  tests/backends.py
@@ -799,47 +803,7 @@ tests/fixtures/test_report/pytest_error_string_in_body.txt
799
803
  tests/fixtures/test_report/pytest_internal_error.txt
800
804
  tests/fixtures/test_report/pytest_mixed_failures.txt
801
805
  tests/fixtures/test_report/pytest_no_parseable_failures.txt
802
- tui/Cargo.lock
803
- tui/Cargo.toml
804
- tui/cargo-config-local-quadraui.toml.example
805
- tui/.github/workflows/release-tui.yml
806
- tui/src/commands.rs
807
- tui/src/lib.rs
808
- tui/src/main.rs
809
- tui/src/settings.rs
810
- tui/src/app/approved.rs
811
- tui/src/app/audit.rs
812
- tui/src/app/chat.rs
813
- tui/src/app/data.rs
814
- tui/src/app/dialogs.rs
815
- tui/src/app/doc_tabs.rs
816
- tui/src/app/drive.rs
817
- tui/src/app/drive_queue.rs
818
- tui/src/app/escalation.rs
819
- tui/src/app/events.rs
820
- tui/src/app/fixtures.rs
821
- tui/src/app/fleet_health.rs
822
- tui/src/app/fleet_sessions.rs
823
- tui/src/app/fleet_terminals.rs
824
- tui/src/app/format.rs
825
- tui/src/app/milestone_dag.rs
826
- tui/src/app/mod.rs
827
- tui/src/app/msv.rs
828
- tui/src/app/pipeline.rs
829
- tui/src/app/plans.rs
830
- tui/src/app/render.rs
831
- tui/src/app/reports.rs
832
- tui/src/app/sessions.rs
833
- tui/src/app/settings_ui.rs
834
- tui/src/app/sidebar.rs
835
- tui/src/app/terminal.rs
836
- tui/src/app/tests.rs
837
- tui/src/app/types.rs
838
- tui/src/app/workspace.rs
839
- tui/src/app/types/generated.rs
840
- tui/src/bin/gtk.rs
841
806
  tui/tests/acceptance.rs
842
- tui/tests/cli.rs
843
807
  tui/tests/acceptance/ms-33/audit_1039.rs
844
808
  tui/tests/acceptance/ms-33/contract.md
845
809
  tui/tests/acceptance/ms-33/manifest.yml
@@ -885,5 +849,4 @@ tui/tests/acceptance/ms-67/mocks/approved-items-chat-opened.screen
885
849
  tui/tests/acceptance/ms-67/mocks/approved-items-context-menu.screen
886
850
  tui/tests/acceptance/ms-67/mocks/approved-items-detail.screen
887
851
  tui/tests/acceptance/ms-67/mocks/approved-items-empty.screen
888
- tui/tests/acceptance/ms-67/mocks/approved-items-populated.screen
889
- tui/tests/fixtures/board_sample.json
852
+ tui/tests/acceptance/ms-67/mocks/approved-items-populated.screen
@@ -10,7 +10,6 @@
10
10
  ".github/ISSUE_TEMPLATE/bug_report.md",
11
11
  ".github/coord-ci-acceptance.yml",
12
12
  ".github/workflows/auto-release.yml",
13
- ".github/workflows/cargo-test.yml",
14
13
  ".github/workflows/publish.yml",
15
14
  ".github/workflows/test.yml",
16
15
  ".gitignore",
@@ -343,8 +342,13 @@
343
342
  "scripts/check_gh_argv_containment.py",
344
343
  "scripts/codegen.py",
345
344
  "scripts/coord-test-runner.sh",
345
+ "scripts/coord-tui-scaffold/.github/coord-ci-acceptance.yml",
346
+ "scripts/coord-tui-scaffold/.github/workflows/cargo-test.yml",
347
+ "scripts/coord-tui-scaffold/.github/workflows/codegen-drift.yml",
348
+ "scripts/coord-tui-scaffold/CLAUDE.md",
346
349
  "scripts/coord-venv-rollback.sh",
347
350
  "scripts/drive-batch.sh",
351
+ "scripts/extract-coord-tui.sh",
348
352
  "scripts/fleet_watchdog.py",
349
353
  "scripts/gen_board_fixture.py",
350
354
  "scripts/gen_mock_index.py",
@@ -793,45 +797,6 @@
793
797
  "tests/test_worktree_rmtree_chokepoint.py",
794
798
  "tests/test_write_parity.py",
795
799
  "tests/write_parity.py",
796
- "tui/.github/workflows/release-tui.yml",
797
- "tui/Cargo.lock",
798
- "tui/Cargo.toml",
799
- "tui/cargo-config-local-quadraui.toml.example",
800
- "tui/src/app/approved.rs",
801
- "tui/src/app/audit.rs",
802
- "tui/src/app/chat.rs",
803
- "tui/src/app/data.rs",
804
- "tui/src/app/dialogs.rs",
805
- "tui/src/app/doc_tabs.rs",
806
- "tui/src/app/drive.rs",
807
- "tui/src/app/drive_queue.rs",
808
- "tui/src/app/escalation.rs",
809
- "tui/src/app/events.rs",
810
- "tui/src/app/fixtures.rs",
811
- "tui/src/app/fleet_health.rs",
812
- "tui/src/app/fleet_sessions.rs",
813
- "tui/src/app/fleet_terminals.rs",
814
- "tui/src/app/format.rs",
815
- "tui/src/app/milestone_dag.rs",
816
- "tui/src/app/mod.rs",
817
- "tui/src/app/msv.rs",
818
- "tui/src/app/pipeline.rs",
819
- "tui/src/app/plans.rs",
820
- "tui/src/app/render.rs",
821
- "tui/src/app/reports.rs",
822
- "tui/src/app/sessions.rs",
823
- "tui/src/app/settings_ui.rs",
824
- "tui/src/app/sidebar.rs",
825
- "tui/src/app/terminal.rs",
826
- "tui/src/app/tests.rs",
827
- "tui/src/app/types.rs",
828
- "tui/src/app/types/generated.rs",
829
- "tui/src/app/workspace.rs",
830
- "tui/src/bin/gtk.rs",
831
- "tui/src/commands.rs",
832
- "tui/src/lib.rs",
833
- "tui/src/main.rs",
834
- "tui/src/settings.rs",
835
800
  "tui/tests/acceptance.rs",
836
801
  "tui/tests/acceptance/ms-33/audit_1039.rs",
837
802
  "tui/tests/acceptance/ms-33/contract.md",
@@ -878,8 +843,6 @@
878
843
  "tui/tests/acceptance/ms-67/mocks/approved-items-detail.screen",
879
844
  "tui/tests/acceptance/ms-67/mocks/approved-items-empty.screen",
880
845
  "tui/tests/acceptance/ms-67/mocks/approved-items-populated.screen",
881
- "tui/tests/acceptance/ms-67/pull_decomposition_2533.rs",
882
- "tui/tests/cli.rs",
883
- "tui/tests/fixtures/board_sample.json"
846
+ "tui/tests/acceptance/ms-67/pull_decomposition_2533.rs"
884
847
  ]
885
848
  }
@@ -1,7 +1,7 @@
1
1
  {
2
- "tag": "0.5.294",
2
+ "tag": "0.5.295",
3
3
  "distance": 0,
4
- "node": "gad3ed43a4b2310f6ef6968a7676f11e2deaca61f",
4
+ "node": "g6f3f2c4c263d6bd9620eee9c2030c0ed984ee448",
5
5
  "dirty": false,
6
6
  "branch": "HEAD",
7
7
  "node_date": "2026-08-29"
@@ -325,12 +325,13 @@ def tui_update(
325
325
  click.echo(
326
326
  f"refusing to overwrite {dest_path}: it reports version "
327
327
  f"{DEV_BUILD_SENTINEL_VERSION!r}, the sentinel a locally "
328
- "`cargo build`'d coord-tui always carries (tui/Cargo.toml's "
328
+ "`cargo build`'d coord-tui always carries (coord-tui's "
329
+ "Cargo.toml "
329
330
  "committed version is only stamped for real in CI release "
330
331
  "builds). This looks like a dev build someone is iterating "
331
332
  "on -- pass --force to overwrite it anyway, or keep "
332
- "building it yourself: cd tui && cargo build && cp "
333
- f"target/debug/coord-tui {dest_path}",
333
+ "building it yourself: from a coord-tui checkout, "
334
+ f"cargo build && cp target/debug/coord-tui {dest_path}",
334
335
  err=True,
335
336
  )
336
337
  sys.exit(3)
@@ -1984,14 +1984,23 @@ class HealthConfig:
1984
1984
  # exists because it was found three releases stale on 2026-07-29.
1985
1985
  cli_venv_python: str | None = None
1986
1986
  # Absolute path to the built coord-tui binary. None → ~/.local/bin/coord-tui
1987
- # (README: `cd tui && cargo build && cp target/debug/coord-tui
1987
+ # (coord-tui's README: `cargo build && cp target/debug/coord-tui
1988
1988
  # ~/.local/bin/coord-tui`).
1989
1989
  tui_binary_path: str | None = None
1990
- # Directory holding the tui/ Rust sources the binary was built from. None →
1991
- # `<checkout>/tui/src` for the first configured local checkout that has one.
1990
+ # Directory holding the coord-tui Rust sources the binary was built from
1991
+ # (#2899; before that split the crate lived at `tui/` inside THIS repo).
1992
+ # None → `<checkout>/src` for this machine's `coord-tui` checkout,
1993
+ # discovered the same way `coord_tui_checkout` is (see
1994
+ # `coord.health.checks.deploy_lane_facts.resolve_coord_tui_checkout`),
1995
+ # falling back to the pre-split `<checkout>/tui/src`.
1992
1996
  # Deliberately points at `src/`, not the crate root: rooting the mtime walk
1993
1997
  # above `target/` would sweep a multi-GB build dir on every refresh.
1994
1998
  tui_source_dir: str | None = None
1999
+ # Root of a local `coord-tui` checkout (#2899). None → discover it from
2000
+ # `repo_paths`/`ctx.checkouts` (a checkout named `coord-tui`, else one
2001
+ # carrying `src/app/data.rs`). Same convention as the lanes above: None
2002
+ # means "discover it", never "disable the lane".
2003
+ coord_tui_checkout: str | None = None
1995
2004
  # Absolute path to the live `coord web --dist` bundle (#1834 lane 5).
1996
2005
  # None → ~/coord-web-dist — the symlink `deploy/coord-web-dist-build.timer`
1997
2006
  # atomically repoints at each new release (#1543).
@@ -3601,6 +3610,7 @@ _HEALTH_OPT_STR_FIELDS: tuple[str, ...] = (
3601
3610
  "cli_venv_python",
3602
3611
  "tui_binary_path",
3603
3612
  "tui_source_dir",
3613
+ "coord_tui_checkout",
3604
3614
  "deploy_dir",
3605
3615
  "systemd_user_dir",
3606
3616
  "webapp_dist_path",
@@ -15,7 +15,7 @@ UNKNOWN "no data" while the operator's real CLI venv was on the release
15
15
  everyone believed was live).
16
16
 
17
17
  These two **machine-scope** checks report the same two raw facts (CLI-venv
18
- version; tui-binary mtime vs. newest ``tui/`` source mtime) from wherever
18
+ version; tui-binary mtime vs. newest ``coord-tui`` source mtime) from wherever
19
19
  they actually run — every agent's own ``/health`` poll, the transport #1630
20
20
  already built for exactly this "measure locally, judge centrally" split.
21
21
  `coord.health.checks.fleet_deploy_lanes` aggregates these across every
@@ -23,7 +23,7 @@ already built for exactly this "measure locally, judge centrally" split.
23
23
  ``os.stat`` to answer a fleet-wide question.
24
24
 
25
25
  Absence is the *common* case here — most machines in a fleet have neither
26
- an operator's CLI venv nor a local ``tui/`` checkout+build — so both probes
26
+ an operator's CLI venv nor a local ``coord-tui`` checkout+build — so both probes
27
27
  report that plainly as ``OK`` ("not present on this machine") rather than
28
28
  ``UNKNOWN``/``WARN``: a box that was never meant to have either lane must
29
29
  not read as faulty just because it doesn't.
@@ -73,7 +73,7 @@ _DEFAULT_WEBAPP_DIST = "~/coord-web-dist"
73
73
  # default `$RELEASES_DIR` sibling to `$BLOCKED_SHA_FILE`.
74
74
  _DEFAULT_WEBAPP_BUILD_HEARTBEAT = "~/.coord-web-releases/.last-run-at"
75
75
 
76
- # Cap on the tui/ source walk, mirroring the old daemon-side walk: the tree
76
+ # Cap on the coord-tui source walk, mirroring the old daemon-side walk: the tree
77
77
  # is a few hundred .rs files, so anything past this is a misconfigured
78
78
  # `tui_source_dir` pointed at something huge, and a machine's own /health
79
79
  # tick must not spend its budget discovering that. A partial walk still
@@ -105,8 +105,62 @@ def resolve_tui_binary_path(ctx: HealthContext):
105
105
  return expand(_DEFAULT_TUI_BINARY, ctx.home)
106
106
 
107
107
 
108
+ #: The repo name a `coord-tui` checkout is expected to carry, plus a
109
+ #: structural marker that identifies one even if it is checked out under some
110
+ #: other directory name. The marker is a file unique to THIS crate, not a bare
111
+ #: ``Cargo.toml``: every Rust checkout on the machine (``quadraui``,
112
+ #: ``vimcode``) has one of those, so matching on it would point this lane at
113
+ #: the wrong tree — the "manufacture staleness rather than report it" failure
114
+ #: :func:`resolve_tui_source_dir` warns about. It is also not shared with the
115
+ #: pre-#2899 in-repo layout, whose copy lives at ``tui/src/app/data.rs``, so
116
+ #: the marker can never make a `claude-coordinator` checkout answer here.
117
+ COORD_TUI_REPO_NAME = "coord-tui"
118
+ COORD_TUI_MARKER = "src/app/data.rs"
119
+
120
+
121
+ def _norm_repo_name(raw: str) -> str:
122
+ """Mirror of ``coord_web_ci_pin._norm_dist`` — a checkout directory named
123
+ ``coord_tui`` or ``Coord-TUI`` is still a coord-tui checkout."""
124
+ return raw.strip().lower().replace("_", "-")
125
+
126
+
127
+ def resolve_coord_tui_checkout(ctx: HealthContext):
128
+ """This machine's `coord-tui` checkout, if it has one.
129
+
130
+ Same convention as :func:`coord.health.checks.coord_web_ci_pin.
131
+ resolve_coord_web_checkout`: a configured ``health.coord_tui_checkout``
132
+ wins outright, ``None`` means "discover it", never "disable the lane".
133
+ """
134
+ configured = getattr(ctx.thresholds, "coord_tui_checkout", None)
135
+ if configured:
136
+ return expand(configured, ctx.home)
137
+ for checkout in ctx.checkouts:
138
+ if _norm_repo_name(checkout.name) == COORD_TUI_REPO_NAME:
139
+ return checkout.path
140
+ # Fall back to the structural marker so a rename of the repo doesn't
141
+ # silently turn this lane off — an off lane is indistinguishable from a
142
+ # healthy one, which is the whole failure mode being guarded against.
143
+ for checkout in ctx.checkouts:
144
+ if (checkout.path / COORD_TUI_MARKER).is_file():
145
+ return checkout.path
146
+ return None
147
+
148
+
108
149
  def resolve_tui_source_dir(ctx: HealthContext):
109
- """``<checkout>/tui/src`` for the first local checkout that has one.
150
+ """The coord-tui source tree in the first local checkout that has one.
151
+
152
+ Prefers a `coord-tui` checkout (#2899), discovered via
153
+ :func:`resolve_coord_tui_checkout`. That checkout's ``src/`` is the crate
154
+ root, not the checkout root — same ``src/``-not-root reasoning as
155
+ :func:`resolve_webapp_source_dir`: rooting the walk at the checkout would
156
+ sweep ``target/`` (multi-GB) and ``.git/``, which
157
+ :func:`_newest_rust_source_mtime`'s budget is not sized for.
158
+
159
+ Falls back to ``<checkout>/tui/src`` — the pre-#2899 in-repo layout. Kept
160
+ for the same reason the webapp lane kept its pre-#2009 fallback: a machine
161
+ can legitimately still have an older ``claude-coordinator`` checkout parked
162
+ on a pre-split commit, and this lane reporting UNKNOWN there would be a
163
+ regression in signal for no gain.
110
164
 
111
165
  Derived from ``ctx.checkouts`` (the same locally-existing checkouts
112
166
  every other checkout-scope probe sees) rather than guessed relative to
@@ -118,8 +172,13 @@ def resolve_tui_source_dir(ctx: HealthContext):
118
172
  configured = getattr(ctx.thresholds, "tui_source_dir", None)
119
173
  if configured:
120
174
  return expand(configured, ctx.home)
121
- for checkout in ctx.checkouts:
122
- candidate = checkout.path / "tui" / "src"
175
+ checkout = resolve_coord_tui_checkout(ctx)
176
+ if checkout is not None:
177
+ candidate = checkout / "src"
178
+ if candidate.is_dir():
179
+ return candidate
180
+ for checkout_entry in ctx.checkouts:
181
+ candidate = checkout_entry.path / "tui" / "src"
123
182
  if candidate.is_dir():
124
183
  return candidate
125
184
  return None
@@ -329,7 +388,7 @@ def probe_cli_venv(ctx: HealthContext) -> CheckResult:
329
388
  title="tui binary",
330
389
  order=43,
331
390
  description=(
332
- "This machine's locally-built tui/ binary vs. the tui/ source tree "
391
+ "This machine's locally-built coord-tui binary vs. the coord-tui source tree "
333
392
  "it was built from — feeds the fleet_tui_binary check (#1806)."
334
393
  ),
335
394
  )
@@ -356,7 +415,7 @@ def probe_tui_binary(ctx: HealthContext) -> CheckResult:
356
415
  binary_mtime = None
357
416
 
358
417
  if binary_mtime is None:
359
- # Most machines never built a local tui/ binary — absent, not stale.
418
+ # Most machines never built a local coord-tui binary — absent, not stale.
360
419
  return CheckResult(
361
420
  check_id="tui_binary",
362
421
  scope="machine",
@@ -374,7 +433,7 @@ def probe_tui_binary(ctx: HealthContext) -> CheckResult:
374
433
  check_id="tui_binary",
375
434
  scope="machine",
376
435
  severity=Severity.OK,
377
- headroom="binary present (tui/ source tree not found to compare)",
436
+ headroom="binary present (coord-tui source tree not found to compare)",
378
437
  values=values,
379
438
  )
380
439
 
@@ -385,7 +444,7 @@ def probe_tui_binary(ctx: HealthContext) -> CheckResult:
385
444
  check_id="tui_binary",
386
445
  scope="machine",
387
446
  severity=Severity.OK,
388
- headroom="binary present (tui/ source tree not found to compare)",
447
+ headroom="binary present (coord-tui source tree not found to compare)",
389
448
  values=values,
390
449
  )
391
450
 
@@ -396,8 +455,8 @@ def probe_tui_binary(ctx: HealthContext) -> CheckResult:
396
455
  check_id="tui_binary",
397
456
  scope="machine",
398
457
  severity=Severity.WARN,
399
- headroom=f"binary is {stale_hours:.1f}h older than tui/ source",
400
- detail="rebuild the tui/ binary — source changed since the last local build",
458
+ headroom=f"binary is {stale_hours:.1f}h older than coord-tui source",
459
+ detail="rebuild the coord-tui binary — source changed since the last local build",
401
460
  threshold="warn when source/ is newer than the built binary",
402
461
  values=values,
403
462
  )
@@ -406,7 +465,7 @@ def probe_tui_binary(ctx: HealthContext) -> CheckResult:
406
465
  check_id="tui_binary",
407
466
  scope="machine",
408
467
  severity=Severity.OK,
409
- headroom="up to date with tui/ source",
468
+ headroom="up to date with coord-tui source",
410
469
  values=values,
411
470
  )
412
471