code-coordinator 0.5.516__tar.gz → 0.5.518__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 (911) hide show
  1. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/PKG-INFO +1 -1
  2. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/code_coordinator.egg-info/PKG-INFO +1 -1
  3. code_coordinator-0.5.518/code_coordinator.egg-info/scm_version.json +8 -0
  4. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/claim.py +54 -8
  5. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/merge_queue.py +86 -22
  6. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_claim.py +100 -11
  7. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_merge.py +6 -3
  8. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_coord_test_runner_toolchain.py +9 -6
  9. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_gates.py +48 -6
  10. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_merge_queue.py +172 -39
  11. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_smoke.py +45 -7
  12. code_coordinator-0.5.516/code_coordinator.egg-info/scm_version.json +0 -8
  13. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/.claude/commands/board.md +0 -0
  14. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/.claude/commands/complete-session.md +0 -0
  15. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/.claude/commands/coordinator.md +0 -0
  16. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/.githooks/_lib.sh +0 -0
  17. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/.githooks/post-checkout +0 -0
  18. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/.githooks/post-commit +0 -0
  19. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/.githooks/post-merge +0 -0
  20. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  21. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/.github/coord-ci-acceptance.yml +0 -0
  22. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/.github/workflows/auto-release.yml +0 -0
  23. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/.github/workflows/publish.yml +0 -0
  24. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/.github/workflows/test.yml +0 -0
  25. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/.gitignore +0 -0
  26. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/CLAUDE.md +0 -0
  27. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/GOAL.md +0 -0
  28. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/LICENSE +0 -0
  29. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/MANIFEST.in +0 -0
  30. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/README.md +0 -0
  31. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/code_coordinator.egg-info/SOURCES.txt +0 -0
  32. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/code_coordinator.egg-info/dependency_links.txt +0 -0
  33. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/code_coordinator.egg-info/entry_points.txt +0 -0
  34. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/code_coordinator.egg-info/requires.txt +0 -0
  35. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/code_coordinator.egg-info/scm_file_list.json +0 -0
  36. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/code_coordinator.egg-info/top_level.txt +0 -0
  37. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/__init__.py +0 -0
  38. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/_board_mapping.py +0 -0
  39. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/acceptance.py +0 -0
  40. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/acceptance_drivers.py +0 -0
  41. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/agent.py +0 -0
  42. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/agent_app.py +0 -0
  43. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/agent_update.py +0 -0
  44. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/agents/opencode/.gitignore +0 -0
  45. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/agents/opencode/agents/work.md +0 -0
  46. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/agents/opencode/routing.jsonc +0 -0
  47. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/approved_work.py +0 -0
  48. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/audit.py +0 -0
  49. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/auto_loop.py +0 -0
  50. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/backup.py +0 -0
  51. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/block_log.py +0 -0
  52. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/board_schema.py +0 -0
  53. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/board_service.py +0 -0
  54. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/board_wire.py +0 -0
  55. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/brain.py +0 -0
  56. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/branch_model.py +0 -0
  57. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/bug_intake.py +0 -0
  58. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/cargo_cache.py +0 -0
  59. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/ci_fix.py +0 -0
  60. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/ci_github.py +0 -0
  61. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/ci_gitlab.py +0 -0
  62. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/ci_store.py +0 -0
  63. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/claude_setup_token.py +0 -0
  64. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/cli.py +0 -0
  65. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/client.py +0 -0
  66. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/codegen.py +0 -0
  67. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/__init__.py +0 -0
  68. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/_common.py +0 -0
  69. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/acceptance.py +0 -0
  70. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/agent_ops.py +0 -0
  71. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/audit.py +0 -0
  72. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/backup.py +0 -0
  73. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/chat.py +0 -0
  74. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/ci.py +0 -0
  75. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/codegen.py +0 -0
  76. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/dispatch.py +0 -0
  77. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/dispatch_workers.py +0 -0
  78. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/dr.py +0 -0
  79. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/drive.py +0 -0
  80. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/drive_queue.py +0 -0
  81. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/gate_a.py +0 -0
  82. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/gates.py +0 -0
  83. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/issues.py +0 -0
  84. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/lifecycle.py +0 -0
  85. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/machine.py +0 -0
  86. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/merge.py +0 -0
  87. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/milestone.py +0 -0
  88. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/plan_followup.py +0 -0
  89. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/plans.py +0 -0
  90. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/portal.py +0 -0
  91. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/pr.py +0 -0
  92. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/release.py +0 -0
  93. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/repo.py +0 -0
  94. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/report.py +0 -0
  95. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/review.py +0 -0
  96. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/scorecard.py +0 -0
  97. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/sessions.py +0 -0
  98. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/setup.py +0 -0
  99. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/status.py +0 -0
  100. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/store_migrate.py +0 -0
  101. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/terminal.py +0 -0
  102. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/test_gate.py +0 -0
  103. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/commands/tui.py +0 -0
  104. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/comments.py +0 -0
  105. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/config.py +0 -0
  106. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/config_reload.py +0 -0
  107. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/confirm_test.py +0 -0
  108. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/conflict_fix.py +0 -0
  109. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/dao.py +0 -0
  110. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/dashboard/__init__.py +0 -0
  111. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/dashboard/fixture.py +0 -0
  112. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/dashboard/index.html +0 -0
  113. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/dashboard/server.py +0 -0
  114. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/dashboard/terminal.py +0 -0
  115. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/db.py +0 -0
  116. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/dead_end.py +0 -0
  117. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/decomposition_chat.py +0 -0
  118. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/deploy/README.md +0 -0
  119. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/deploy/coord-agent.service +0 -0
  120. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/deploy/coord-backup.service +0 -0
  121. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/deploy/coord-backup.timer +0 -0
  122. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/deploy/coord-db-backup.service +0 -0
  123. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/deploy/coord-db-backup.sh +0 -0
  124. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/deploy/coord-db-backup.timer +0 -0
  125. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/deploy/coord-dr-verify.service +0 -0
  126. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/deploy/coord-dr-verify.timer +0 -0
  127. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/deploy/coord-drive-queue.service +0 -0
  128. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/deploy/coord-drive-queue.timer +0 -0
  129. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/deploy/coord-failure-notify.service +0 -0
  130. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/deploy/coord-fleet-watchdog.service +0 -0
  131. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/deploy/coord-fleet-watchdog.timer +0 -0
  132. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/deploy/coord-notify.service +0 -0
  133. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/deploy/coord-notify.timer +0 -0
  134. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/deploy/coord-release-propagate.service +0 -0
  135. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/deploy/coord-release-propagate.timer +0 -0
  136. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/deploy/coord-release-window.service +0 -0
  137. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/deploy/coord-release-window.timer +0 -0
  138. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/deploy/coord-serve.service +0 -0
  139. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/deploy/coord-web-dist-build.service +0 -0
  140. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/deploy/coord-web-dist-build.timer +0 -0
  141. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/deploy/coord-web.service +0 -0
  142. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/deploy_manifest.py +0 -0
  143. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/deploy_units.py +0 -0
  144. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/deprecation_telemetry.py +0 -0
  145. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/deps.py +0 -0
  146. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/diagnose.py +0 -0
  147. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/dispatch.py +0 -0
  148. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/dispatch_liveness.py +0 -0
  149. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/dist_name.py +0 -0
  150. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/dr_promote.py +0 -0
  151. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/dr_verify.py +0 -0
  152. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/drive.py +0 -0
  153. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/drive_queue.py +0 -0
  154. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/drive_sessions_snapshot.py +0 -0
  155. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/drive_state.py +0 -0
  156. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/events.py +0 -0
  157. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/failure_class.py +0 -0
  158. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/failure_classifier.py +0 -0
  159. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/filelock.py +0 -0
  160. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/fleet_config_health.py +0 -0
  161. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/forge_availability.py +0 -0
  162. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/freshness.py +0 -0
  163. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/gate_a.py +0 -0
  164. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/gate_b.py +0 -0
  165. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/gate_snapshot.py +0 -0
  166. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/gates.py +0 -0
  167. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/gen_board_fixture.py +0 -0
  168. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/github_ops.py +0 -0
  169. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/github_throttle.py +0 -0
  170. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/goal.py +0 -0
  171. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/graph_health.py +0 -0
  172. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/__init__.py +0 -0
  173. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/aggregate.py +0 -0
  174. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/checks/__init__.py +0 -0
  175. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/checks/_ci_pin.py +0 -0
  176. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/checks/agent_install.py +0 -0
  177. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/checks/cargo_targets.py +0 -0
  178. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/checks/claude_binary.py +0 -0
  179. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/checks/config_drift.py +0 -0
  180. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/checks/coord_tui_ci_pin.py +0 -0
  181. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/checks/coord_web_ci_pin.py +0 -0
  182. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/checks/deploy_lane_facts.py +0 -0
  183. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/checks/disk.py +0 -0
  184. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/checks/fleet_board.py +0 -0
  185. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/checks/fleet_deploy_lanes.py +0 -0
  186. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/checks/fleet_phantom.py +0 -0
  187. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/checks/fleet_unit_drift.py +0 -0
  188. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/checks/graph.py +0 -0
  189. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/checks/graphify_cli.py +0 -0
  190. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/checks/index_lock.py +0 -0
  191. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/checks/issues_sync_staleness.py +0 -0
  192. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/checks/local_machine_identity.py +0 -0
  193. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/checks/plan_usage.py +0 -0
  194. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/checks/pr_churn.py +0 -0
  195. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/checks/release_cordon.py +0 -0
  196. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/checks/repo_state.py +0 -0
  197. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/checks/spawned_coord.py +0 -0
  198. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/checks/stalled_pipeline.py +0 -0
  199. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/checks/timer_active.py +0 -0
  200. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/checks/toolchain.py +0 -0
  201. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/checks/unit_drift.py +0 -0
  202. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/checks/unit_enablement.py +0 -0
  203. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/checks/wedged_drive_queue.py +0 -0
  204. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/checks/worktrees.py +0 -0
  205. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/cli.py +0 -0
  206. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/context.py +0 -0
  207. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/fleet_snapshot.py +0 -0
  208. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/models.py +0 -0
  209. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/pypi.py +0 -0
  210. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/registry.py +0 -0
  211. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/render.py +0 -0
  212. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/health/units.py +0 -0
  213. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/hooks.py +0 -0
  214. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/housekeeping.py +0 -0
  215. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/interactive.py +0 -0
  216. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/invariant_alarms.py +0 -0
  217. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/issue_store.py +0 -0
  218. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/issues_sync_status.py +0 -0
  219. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/liveness_auditor.py +0 -0
  220. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/machine_fault.py +0 -0
  221. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/machine_metrics.py +0 -0
  222. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/machine_onboard.py +0 -0
  223. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/machine_pause.py +0 -0
  224. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/machine_stats.py +0 -0
  225. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/milestone_chat.py +0 -0
  226. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/milestone_dispatch.py +0 -0
  227. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/milestone_gate.py +0 -0
  228. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/milestone_order.py +0 -0
  229. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/mock_author.py +0 -0
  230. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/models.py +0 -0
  231. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/network.py +0 -0
  232. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/new_issue_chat.py +0 -0
  233. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/notifier/__init__.py +0 -0
  234. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/notifier/baseline.py +0 -0
  235. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/notifier/cli.py +0 -0
  236. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/notifier/collect.py +0 -0
  237. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/notifier/digest.py +0 -0
  238. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/notifier/models.py +0 -0
  239. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/notifier/predicate.py +0 -0
  240. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/notifier/service.py +0 -0
  241. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/notifier/store.py +0 -0
  242. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/notifier/transport.py +0 -0
  243. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/notify.py +0 -0
  244. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/openapi.py +0 -0
  245. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/overlap_fence.py +0 -0
  246. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/overlap_predict.py +0 -0
  247. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/parentage.py +0 -0
  248. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/parentage_github.py +0 -0
  249. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/pipeline.py +0 -0
  250. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/plan_parser.py +0 -0
  251. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/plans.py +0 -0
  252. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/platform_paths.py +0 -0
  253. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/portal_bridge.py +0 -0
  254. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/portal_store.py +0 -0
  255. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/portal_sync.py +0 -0
  256. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/pr_body_lint.py +0 -0
  257. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/prereqs.py +0 -0
  258. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/progress.py +0 -0
  259. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/providers/__init__.py +0 -0
  260. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/providers/base.py +0 -0
  261. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/providers/claude.py +0 -0
  262. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/providers/claude_pty.py +0 -0
  263. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/providers/opencode.py +0 -0
  264. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/queue_diagnose.py +0 -0
  265. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/reconcile.py +0 -0
  266. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/reconcile_tick.py +0 -0
  267. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/refine_chat.py +0 -0
  268. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/release_cordon.py +0 -0
  269. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/release_propagate.py +0 -0
  270. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/release_verify.py +0 -0
  271. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/release_window.py +0 -0
  272. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/repo_dormancy.py +0 -0
  273. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/repo_edit.py +0 -0
  274. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/repo_onboard.py +0 -0
  275. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/reports.py +0 -0
  276. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/rest_schema.py +0 -0
  277. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/restart_cmd.py +0 -0
  278. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/revalidate.py +0 -0
  279. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/review.py +0 -0
  280. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/scorecard.py +0 -0
  281. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/self_health.py +0 -0
  282. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/serve_app.py +0 -0
  283. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/skills/coord-dispatch-verbs/SKILL.md +0 -0
  284. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/skills/drive-queue-preflight/SKILL.md +0 -0
  285. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/skills/fleet-restart-safety/SKILL.md +0 -0
  286. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/skills/merge-stuck-triage/SKILL.md +0 -0
  287. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/skills/pipeline-limbo-triage/SKILL.md +0 -0
  288. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/skills/portal-followup/SKILL.md +0 -0
  289. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/skills/release-now/SKILL.md +0 -0
  290. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/skills/review-verdict-recovery/SKILL.md +0 -0
  291. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/skills/tui-quadraui-workflow/SKILL.md +0 -0
  292. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/skills/update-issue/SKILL.md +0 -0
  293. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/smoke.py +0 -0
  294. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/spend_ceiling.py +0 -0
  295. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/split_work.py +0 -0
  296. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/sql.py +0 -0
  297. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/stage_projection.py +0 -0
  298. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/state.py +0 -0
  299. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/store_migrate.py +0 -0
  300. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/store_parity.py +0 -0
  301. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/templates/deploy-cloudflare.node.yml +0 -0
  302. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/test_author.py +0 -0
  303. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/test_chat.py +0 -0
  304. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/test_orchestrator.py +0 -0
  305. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/test_report.py +0 -0
  306. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/tui_release.py +0 -0
  307. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/uat_checks.py +0 -0
  308. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/usage.py +0 -0
  309. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/usage_limits.py +0 -0
  310. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/usage_rollup.py +0 -0
  311. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coord/worker_events.py +0 -0
  312. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/coordinator.example.yml +0 -0
  313. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/deploy/coord-agent.service +0 -0
  314. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/deploy/coord-backup.service +0 -0
  315. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/deploy/coord-backup.timer +0 -0
  316. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/deploy/coord-db-backup.service +0 -0
  317. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/deploy/coord-db-backup.sh +0 -0
  318. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/deploy/coord-db-backup.timer +0 -0
  319. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/deploy/coord-dr-verify.service +0 -0
  320. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/deploy/coord-dr-verify.timer +0 -0
  321. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/deploy/coord-drive-queue.service +0 -0
  322. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/deploy/coord-drive-queue.timer +0 -0
  323. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/deploy/coord-failure-notify.service +0 -0
  324. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/deploy/coord-failure-notify.sh +0 -0
  325. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/deploy/coord-fleet-watchdog.service +0 -0
  326. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/deploy/coord-fleet-watchdog.timer +0 -0
  327. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/deploy/coord-notify.service +0 -0
  328. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/deploy/coord-notify.timer +0 -0
  329. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/deploy/coord-release-propagate.service +0 -0
  330. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/deploy/coord-release-propagate.timer +0 -0
  331. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/deploy/coord-release-window.service +0 -0
  332. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/deploy/coord-release-window.timer +0 -0
  333. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/deploy/coord-serve.service +0 -0
  334. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/deploy/coord-web-dist-build.service +0 -0
  335. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/deploy/coord-web-dist-build.sh +0 -0
  336. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/deploy/coord-web-dist-build.timer +0 -0
  337. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/deploy/coord-web-rollback.sh +0 -0
  338. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/deploy/coord-web.service +0 -0
  339. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/deploy/node-shim.sh +0 -0
  340. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/ADR_COORD_TUI_CI.md +0 -0
  341. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/ADR_COORD_WEB_ACCEPTANCE_SUITE.md +0 -0
  342. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/ADR_COORD_WEB_CI.md +0 -0
  343. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/ADR_COORD_WEB_DIST.md +0 -0
  344. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/ADR_PY_RUST_MIRRORS.md +0 -0
  345. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/AGENT_OPERATIONS.md +0 -0
  346. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/ARCHITECTURE.md +0 -0
  347. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/ARCH_SECURITY_GATES.md +0 -0
  348. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/COCKPIT.md +0 -0
  349. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/CONTROL_CENTER.md +0 -0
  350. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/COST_DISCIPLINE.md +0 -0
  351. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/CROSS_PLATFORM.md +0 -0
  352. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/CUSTOMER_FACING_APPS.md +0 -0
  353. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/CUSTOMER_PORTAL.md +0 -0
  354. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/DATA_STORE_SELECTION.md +0 -0
  355. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/DISASTER_RECOVERY.md +0 -0
  356. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/DRIVE_QUEUE.md +0 -0
  357. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/EPHEMERAL_WORKERS.md +0 -0
  358. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/FORGE_MIGRATION.md +0 -0
  359. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/GRAPHIFY_SETUP.md +0 -0
  360. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/ISSUE_GUIDANCE.md +0 -0
  361. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/MAC_MINI.md +0 -0
  362. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/MERGE_AUTO_DRAIN_TRUST_BAR.md +0 -0
  363. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/NOTIFIER.md +0 -0
  364. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/OPENCODE_VERIFICATION.md +0 -0
  365. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/OPERATING_GOTCHAS.md +0 -0
  366. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/OPERATOR_GUIDES.md +0 -0
  367. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/ORACLE_LOOP.md +0 -0
  368. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/PHONE_WEBAPP.md +0 -0
  369. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/PIPELINE_V2.md +0 -0
  370. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/PLATFORM_EVOLUTION.md +0 -0
  371. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/SECOND_BACKEND.md +0 -0
  372. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/STORE_SERVICE.md +0 -0
  373. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/TEST_FIRST_BUG_LANE.md +0 -0
  374. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/WEB_CONTROL_CENTER.md +0 -0
  375. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/WSL_WINDOWS_WORKER.md +0 -0
  376. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/mocks/web/README.md +0 -0
  377. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/mocks/web/_tokens.css +0 -0
  378. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/mocks/web/issue-detail.html +0 -0
  379. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/mocks/web/pipeline-narrow.html +0 -0
  380. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/docs/mocks/web/pipeline-wide.html +0 -0
  381. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/graphify-out/.gitignore +0 -0
  382. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/install-agent.sh +0 -0
  383. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/pyproject.toml +0 -0
  384. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/audit_review_verdict_overrides.py +0 -0
  385. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/azure-workers/bootstrap-shared.sh +0 -0
  386. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/azure-workers/build-worker-image.sh +0 -0
  387. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/azure-workers/coordinator-machine.py +0 -0
  388. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/azure-workers/dr-down.sh +0 -0
  389. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/azure-workers/dr-up.sh +0 -0
  390. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/azure-workers/epic-down.sh +0 -0
  391. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/azure-workers/epic-up.sh +0 -0
  392. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/azure-workers/preflight.sh +0 -0
  393. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/azure-workers/provision-server.sh +0 -0
  394. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/azure-workers/provision-worker.sh +0 -0
  395. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/azure-workers/scrub-and-generalize.sh +0 -0
  396. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/azure-workers/tailnet-acl.hujson +0 -0
  397. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/azure-workers/throwaway-vm.sh +0 -0
  398. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/azure-workers/verify-github-token.sh +0 -0
  399. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/check_gh_argv_containment.py +0 -0
  400. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/codegen.py +0 -0
  401. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/coord-test-runner.sh +0 -0
  402. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/coord-tui-scaffold/.github/coord-ci-acceptance.yml +0 -0
  403. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/coord-tui-scaffold/.github/workflows/cargo-test.yml +0 -0
  404. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/coord-tui-scaffold/.github/workflows/codegen-drift.yml +0 -0
  405. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/coord-tui-scaffold/CLAUDE.md +0 -0
  406. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/coord-venv-rollback.sh +0 -0
  407. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/drive-batch.sh +0 -0
  408. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/extract-coord-tui.sh +0 -0
  409. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/fleet_watchdog.py +0 -0
  410. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/gen_board_fixture.py +0 -0
  411. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/gen_mock_index.py +0 -0
  412. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/lib/provision-core.sh +0 -0
  413. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/next_release_tag.py +0 -0
  414. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/provision-machine.sh +0 -0
  415. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/run_tests_in_populated_home.sh +0 -0
  416. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/run_tests_without_gh.sh +0 -0
  417. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/setup-macmini.sh +0 -0
  418. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/smoke_437_interactive.py +0 -0
  419. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/verify-provision-noble.sh +0 -0
  420. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/verify_878_review_capture.py +0 -0
  421. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/verify_release_published.py +0 -0
  422. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/scripts/verify_release_wheel.py +0 -0
  423. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/setup.cfg +0 -0
  424. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/SMOKE_SET.md +0 -0
  425. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/__init__.py +0 -0
  426. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/acceptance/ms-37/conftest.py +0 -0
  427. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/acceptance/ms-37/contract.md +0 -0
  428. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/acceptance/ms-37/manifest.yml +0 -0
  429. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/acceptance/ms-37/test_usage_cli_1115.py +0 -0
  430. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/acceptance/ms-37/test_usage_core_1118.py +0 -0
  431. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/acceptance/ms-51/contract.md +0 -0
  432. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/acceptance/ms-51/home-active-extended.spec.ts +0 -0
  433. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/acceptance/ms-51/home-active.spec.ts +0 -0
  434. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/acceptance/ms-51/manifest.yml +0 -0
  435. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/acceptance/ms-51/mocks/home-active.html +0 -0
  436. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/acceptance/ms-51/tsconfig.json +0 -0
  437. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/acceptance/ms-example/mocks/home-active.html +0 -0
  438. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/backends.py +0 -0
  439. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/conftest.py +0 -0
  440. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/fixtures/board-pipeline-basic.json +0 -0
  441. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/fixtures/board-pipeline-terminal-gates.json +0 -0
  442. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/fixtures/opencode_run_failure_sample.jsonl +0 -0
  443. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/fixtures/opencode_run_length_sample.jsonl +0 -0
  444. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/fixtures/opencode_run_sample.jsonl +0 -0
  445. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/fixtures/playwright/all_pass.json +0 -0
  446. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/fixtures/playwright/global_setup_crash.json +0 -0
  447. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/fixtures/playwright/mixed_fail.json +0 -0
  448. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/fixtures/playwright/retry_then_pass.json +0 -0
  449. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/fixtures/playwright/retry_then_pass.junit.xml +0 -0
  450. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/fixtures/playwright/skip.json +0 -0
  451. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/fixtures/playwright/truncated.json +0 -0
  452. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/fixtures/test_report/cargo_compile_error.txt +0 -0
  453. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/fixtures/test_report/cargo_multi_target_failures.txt +0 -0
  454. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/fixtures/test_report/cargo_no_parseable_failures.txt +0 -0
  455. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/fixtures/test_report/pytest_collection_error.txt +0 -0
  456. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/fixtures/test_report/pytest_error_string_in_body.txt +0 -0
  457. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/fixtures/test_report/pytest_internal_error.txt +0 -0
  458. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/fixtures/test_report/pytest_mixed_failures.txt +0 -0
  459. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/fixtures/test_report/pytest_no_parseable_failures.txt +0 -0
  460. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_acceptance.py +0 -0
  461. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_acceptance_drivers.py +0 -0
  462. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_agent.py +0 -0
  463. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_agent_api_error.py +0 -0
  464. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_agent_app.py +0 -0
  465. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_agent_branch_base.py +0 -0
  466. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_agent_branch_capture.py +0 -0
  467. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_agent_config_free_1712.py +0 -0
  468. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_agent_deploy_units_endpoint.py +0 -0
  469. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_agent_dirty_worktree.py +0 -0
  470. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_agent_drive_queue_reconcile_2373.py +0 -0
  471. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_agent_graph_self_heal.py +0 -0
  472. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_agent_health_h3.py +0 -0
  473. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_agent_idle_restart.py +0 -0
  474. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_agent_push_failure.py +0 -0
  475. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_agent_reap.py +0 -0
  476. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_agent_repos_and_pull.py +0 -0
  477. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_agent_restart_services_endpoint.py +0 -0
  478. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_agent_skills_self_heal.py +0 -0
  479. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_agent_startup_diagnostics.py +0 -0
  480. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_agent_update.py +0 -0
  481. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_agent_update_bluegreen.py +0 -0
  482. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_agent_usage_limit.py +0 -0
  483. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_agent_zero_commit.py +0 -0
  484. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_ambient_home_isolation.py +0 -0
  485. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_approve_capability_reroute_3241.py +0 -0
  486. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_approve_dependency_busy_2804.py +0 -0
  487. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_approve_reject_plan.py +0 -0
  488. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_approve_usage_gate.py +0 -0
  489. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_approved_work_2532.py +0 -0
  490. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_approved_work_2996.py +0 -0
  491. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_assignment_already_recorded_daemon.py +0 -0
  492. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_audit_log.py +0 -0
  493. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_audit_outcome.py +0 -0
  494. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_audit_query.py +0 -0
  495. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_auto_loop.py +0 -0
  496. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_auto_release_publish_2035.py +0 -0
  497. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_backend_selection.py +0 -0
  498. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_backup.py +0 -0
  499. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_base_checkout_restore.py +0 -0
  500. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_block_log.py +0 -0
  501. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_board_cap_762.py +0 -0
  502. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_board_fixture.py +0 -0
  503. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_board_read_path.py +0 -0
  504. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_board_schema.py +0 -0
  505. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_board_service.py +0 -0
  506. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_board_state.py +0 -0
  507. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_board_wire.py +0 -0
  508. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_brain.py +0 -0
  509. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_branch_model.py +0 -0
  510. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_bug_intake.py +0 -0
  511. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_build_worker_image_env_update.py +0 -0
  512. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cargo_cache.py +0 -0
  513. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_check_gh_argv_containment.py +0 -0
  514. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_ci_acceptance_gate_1950.py +0 -0
  515. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_ci_fix.py +0 -0
  516. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_ci_github.py +0 -0
  517. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_ci_gitlab.py +0 -0
  518. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_ci_parity_2091.py +0 -0
  519. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_ci_store.py +0 -0
  520. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_claude_md_budget.py +0 -0
  521. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_claude_setup_token.py +0 -0
  522. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_acceptance.py +0 -0
  523. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_assign.py +0 -0
  524. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_assign_interactive_oracle_gate.py +0 -0
  525. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_assign_interactive_remote.py +0 -0
  526. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_assign_provider.py +0 -0
  527. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_assign_repo_drift_2219.py +0 -0
  528. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_audit.py +0 -0
  529. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_chat_continue.py +0 -0
  530. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_ci.py +0 -0
  531. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_codegen.py +0 -0
  532. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_decide.py +0 -0
  533. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_diagnose_capability_rules.py +0 -0
  534. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_diagnose_config_provenance.py +0 -0
  535. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_diagnose_forge_availability.py +0 -0
  536. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_diagnose_graph.py +0 -0
  537. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_diagnose_self.py +0 -0
  538. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_diagnose_test_coverage.py +0 -0
  539. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_doctor.py +0 -0
  540. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_doctor_config_free_1801.py +0 -0
  541. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_doctor_config_mismatch_1712.py +0 -0
  542. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_doctor_store_backend_3084.py +0 -0
  543. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_drive.py +0 -0
  544. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_drive_queue.py +0 -0
  545. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_escalate.py +0 -0
  546. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_fix_headless_review.py +0 -0
  547. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_gate_a.py +0 -0
  548. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_install_drift.py +0 -0
  549. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_install_skills.py +0 -0
  550. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_issue_comment.py +0 -0
  551. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_issue_create_label.py +0 -0
  552. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_issue_reopen.py +0 -0
  553. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_issue_view_list.py +0 -0
  554. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_issues.py +0 -0
  555. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_milestone_assign.py +0 -0
  556. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_milestone_capture.py +0 -0
  557. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_milestone_chat_add_child.py +0 -0
  558. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_milestone_dispatch.py +0 -0
  559. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_milestone_gate_b.py +0 -0
  560. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_milestone_gate_c.py +0 -0
  561. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_milestone_order.py +0 -0
  562. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_milestone_remove_and_issue_close.py +0 -0
  563. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_milestone_ship.py +0 -0
  564. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_network.py +0 -0
  565. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_new_issue_chat.py +0 -0
  566. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_plans.py +0 -0
  567. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_portal.py +0 -0
  568. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_pr.py +0 -0
  569. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_pull_artifact.py +0 -0
  570. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_queue.py +0 -0
  571. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_reattach_sessions.py +0 -0
  572. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_refine_board.py +0 -0
  573. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_release_preflight.py +0 -0
  574. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_release_propagate.py +0 -0
  575. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_release_window.py +0 -0
  576. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_repo_2220.py +0 -0
  577. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_review_test_author_tracking_epic_2639.py +0 -0
  578. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_scorecard.py +0 -0
  579. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_serve_store_backend_3084.py +0 -0
  580. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_set_review_findings.py +0 -0
  581. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_status_advisory_terminal.py +0 -0
  582. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_status_contested_tag.py +0 -0
  583. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_status_invariant_alarms.py +0 -0
  584. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_status_machine_fault.py +0 -0
  585. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_status_merge_queue.py +0 -0
  586. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_status_provider.py +0 -0
  587. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_status_retried_3340.py +0 -0
  588. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_status_review_finalizing.py +0 -0
  589. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_status_supervisor_3366.py +0 -0
  590. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_status_test_failed_tag.py +0 -0
  591. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_status_usage_limit.py +0 -0
  592. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_sync_comments_873.py +0 -0
  593. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_test_plan.py +0 -0
  594. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_track.py +0 -0
  595. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_tui_update.py +0 -0
  596. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cli_wait.py +0 -0
  597. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_client.py +0 -0
  598. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_client_base_install.py +0 -0
  599. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_client_config_cache_atomic_3052.py +0 -0
  600. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_client_resource_migration_1946.py +0 -0
  601. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_commands_common.py +0 -0
  602. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_comments.py +0 -0
  603. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_completion_summary.py +0 -0
  604. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_config.py +0 -0
  605. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_config_acceptance.py +0 -0
  606. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_config_audit.py +0 -0
  607. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_config_drift_check.py +0 -0
  608. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_config_effective.py +0 -0
  609. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_config_pricing.py +0 -0
  610. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_config_snapshot_noncanonical_2208.py +0 -0
  611. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_config_usage_gate.py +0 -0
  612. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_confirm_test.py +0 -0
  613. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_conflict_fix.py +0 -0
  614. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_conflict_fix_semantic.py +0 -0
  615. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_coord_log_daemon_fallback_2547.py +0 -0
  616. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_coord_test.py +0 -0
  617. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_coord_test_runner_acceptance_toolchain_2936.py +0 -0
  618. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_coord_test_runner_baseline.py +0 -0
  619. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_coord_test_runner_populated_home.py +0 -0
  620. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_coord_test_runner_routing.py +0 -0
  621. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_coord_uat.py +0 -0
  622. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_coord_web_sse_restart_live.py +0 -0
  623. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_coordinator_machine.py +0 -0
  624. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_cross_platform_imports.py +0 -0
  625. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_dao.py +0 -0
  626. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_dashboard.py +0 -0
  627. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_dashboard_api.py +0 -0
  628. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_dashboard_fixture.py +0 -0
  629. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_dashboard_server.py +0 -0
  630. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_dashboard_terminal.py +0 -0
  631. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_dashboard_terminal_live.py +0 -0
  632. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_db.py +0 -0
  633. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_dead_end.py +0 -0
  634. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_decomposition_chat.py +0 -0
  635. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_deploy_coord_db_backup.py +0 -0
  636. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_deploy_coord_web_dist.py +0 -0
  637. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_deploy_coord_web_rollback.py +0 -0
  638. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_deploy_db_backup_unit.py +0 -0
  639. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_deploy_drive_queue_unit.py +0 -0
  640. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_deploy_failure_notify_unit.py +0 -0
  641. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_deploy_manifest.py +0 -0
  642. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_deploy_notify_unit.py +0 -0
  643. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_deploy_units_lane.py +0 -0
  644. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_deploy_web_unit.py +0 -0
  645. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_deprecation_telemetry.py +0 -0
  646. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_deps.py +0 -0
  647. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_diagnose.py +0 -0
  648. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_dispatch.py +0 -0
  649. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_dispatch_liveness.py +0 -0
  650. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_dispatch_target_validation.py +0 -0
  651. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_dispatch_workers.py +0 -0
  652. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_dist_name.py +0 -0
  653. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_done_housekeeping.py +0 -0
  654. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_dr_azure_scripts.py +0 -0
  655. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_dr_promote.py +0 -0
  656. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_dr_verify.py +0 -0
  657. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_drive.py +0 -0
  658. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_drive_machine_fault.py +0 -0
  659. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_drive_queue.py +0 -0
  660. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_drive_queue_blocked_rendering.py +0 -0
  661. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_drive_queue_launch_argv.py +0 -0
  662. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_drive_queue_max_parallel_config.py +0 -0
  663. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_drive_queue_max_parallel_per_repo_config.py +0 -0
  664. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_drive_queue_roll_pending.py +0 -0
  665. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_drive_queue_self_cordon_escalation.py +0 -0
  666. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_drive_sessions_snapshot.py +0 -0
  667. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_drive_state.py +0 -0
  668. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_drive_tmux.py +0 -0
  669. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_epic_up_capability_detection.py +0 -0
  670. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_epic_up_down_symlinked_config_1887.py +0 -0
  671. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_epic_up_image_provenance.py +0 -0
  672. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_errors.py +0 -0
  673. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_events.py +0 -0
  674. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_failure_class.py +0 -0
  675. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_failure_classifier.py +0 -0
  676. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_filelock.py +0 -0
  677. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_finalize_interactive_exit_test_verdict.py +0 -0
  678. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_fix_escalation_classifier.py +0 -0
  679. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_fix_of_force_override.py +0 -0
  680. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_fleet_config_health.py +0 -0
  681. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_fleet_health_probes.py +0 -0
  682. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_fleet_health_snapshot.py +0 -0
  683. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_fleet_watchdog.py +0 -0
  684. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_forge_availability.py +0 -0
  685. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_freshness.py +0 -0
  686. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_gate_a.py +0 -0
  687. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_gate_b.py +0 -0
  688. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_gate_snapshot_staleness.py +0 -0
  689. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_gather_fleet_tmux_sessions.py +0 -0
  690. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_gen_mock_index.py +0 -0
  691. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_generated_rust_fixture.py +0 -0
  692. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_generated_rust_requests.py +0 -0
  693. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_generated_types_fixture.py +0 -0
  694. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_github_ops.py +0 -0
  695. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_github_throttle.py +0 -0
  696. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_goal.py +0 -0
  697. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_graph_health.py +0 -0
  698. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_graph_selfheal_absent_2237.py +0 -0
  699. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_handoff.py +0 -0
  700. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_health_checks.py +0 -0
  701. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_health_cli.py +0 -0
  702. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_health_cli_graph.py +0 -0
  703. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_health_config.py +0 -0
  704. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_health_context.py +0 -0
  705. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_health_coord_tui_ci_pin.py +0 -0
  706. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_health_coord_web_ci_pin.py +0 -0
  707. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_health_deploy_lane_facts.py +0 -0
  708. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_health_fix.py +0 -0
  709. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_health_incident_regression.py +0 -0
  710. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_health_issues_sync_staleness.py +0 -0
  711. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_health_pr_churn.py +0 -0
  712. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_health_pypi.py +0 -0
  713. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_health_registry.py +0 -0
  714. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_health_release_cordon_probe.py +0 -0
  715. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_health_timer_active.py +0 -0
  716. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_health_toolchain.py +0 -0
  717. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_health_unit_drift.py +0 -0
  718. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_health_unit_enablement.py +0 -0
  719. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_health_wedged_drive_queue.py +0 -0
  720. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_hooks.py +0 -0
  721. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_housekeeping.py +0 -0
  722. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_human_attended_437.py +0 -0
  723. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_init.py +0 -0
  724. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_install_agent_venv_2911.py +0 -0
  725. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_integration.py +0 -0
  726. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_interactive.py +0 -0
  727. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_interactive_briefing_echo.py +0 -0
  728. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_interactive_pane_log_2541.py +0 -0
  729. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_interactive_prefill_state.py +0 -0
  730. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_interactive_session_relaunch.py +0 -0
  731. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_interactive_test_verdict_backstop.py +0 -0
  732. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_interactive_token_attribution.py +0 -0
  733. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_interactive_worktree.py +0 -0
  734. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_invariant_alarms.py +0 -0
  735. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_issue_store_seam.py +0 -0
  736. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_issues_sync_status.py +0 -0
  737. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_liveness_auditor.py +0 -0
  738. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_liveness_notify.py +0 -0
  739. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_lock_contention_ratchet.py +0 -0
  740. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_machine_fault.py +0 -0
  741. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_machine_metrics.py +0 -0
  742. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_machine_onboard.py +0 -0
  743. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_machine_pause.py +0 -0
  744. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_machine_stats.py +0 -0
  745. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_merge_verify.py +0 -0
  746. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_milestone_chat.py +0 -0
  747. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_milestone_dispatch.py +0 -0
  748. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_milestone_gate.py +0 -0
  749. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_milestone_order.py +0 -0
  750. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_milestone_seam.py +0 -0
  751. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_mock_author.py +0 -0
  752. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_model_tiering.py +0 -0
  753. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_models.py +0 -0
  754. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_models_config_labels.py +0 -0
  755. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_needs_attention.py +0 -0
  756. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_network.py +0 -0
  757. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_new_issue_chat.py +0 -0
  758. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_next_release_tag.py +0 -0
  759. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_node_shim.py +0 -0
  760. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_notifier_baseline.py +0 -0
  761. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_notifier_cli.py +0 -0
  762. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_notifier_collect.py +0 -0
  763. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_notifier_config.py +0 -0
  764. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_notifier_drive_seam.py +0 -0
  765. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_notifier_isolation.py +0 -0
  766. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_notifier_predicate.py +0 -0
  767. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_notifier_quiet_hours.py +0 -0
  768. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_notifier_service.py +0 -0
  769. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_notify.py +0 -0
  770. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_notify_drain.py +0 -0
  771. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_openapi.py +0 -0
  772. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_operational_defaults.py +0 -0
  773. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_overlap_fence.py +0 -0
  774. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_overlap_predict.py +0 -0
  775. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_packaged_deploy_units.py +0 -0
  776. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_parentage.py +0 -0
  777. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_paste_landed.py +0 -0
  778. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_phantom_heal_venv_independence_2570.py +0 -0
  779. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_pipeline.py +0 -0
  780. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_plan_followup_approve_plan_command.py +0 -0
  781. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_plan_followup_pr_command.py +0 -0
  782. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_plan_followup_review_command.py +0 -0
  783. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_plan_only.py +0 -0
  784. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_plan_parser.py +0 -0
  785. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_platform_paths.py +0 -0
  786. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_portal_bridge.py +0 -0
  787. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_portal_config.py +0 -0
  788. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_portal_store.py +0 -0
  789. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_portal_sync.py +0 -0
  790. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_pr_body_lint.py +0 -0
  791. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_prereqs.py +0 -0
  792. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_production_db_guard.py +0 -0
  793. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_progress.py +0 -0
  794. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_provider_seam.py +0 -0
  795. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_providers.py +0 -0
  796. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_providers_config_labels.py +0 -0
  797. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_providers_pty.py +0 -0
  798. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_provision_core.py +0 -0
  799. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_provision_machine.py +0 -0
  800. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_py_rust_mirror_inventory.py +0 -0
  801. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_quiet_hours.py +0 -0
  802. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_quiet_hours_store_2146.py +0 -0
  803. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_reap_merged_sessions.py +0 -0
  804. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_reap_stale_interactive_tick.py +0 -0
  805. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_reconcile.py +0 -0
  806. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_reconcile_branch.py +0 -0
  807. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_reconcile_completions.py +0 -0
  808. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_reconcile_late_agent_reports_2547.py +0 -0
  809. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_reconcile_merges.py +0 -0
  810. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_reconcile_no_agent_record.py +0 -0
  811. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_reconcile_tick.py +0 -0
  812. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_reconcile_usage_limit_done.py +0 -0
  813. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_refine_chat.py +0 -0
  814. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_release_cordon_2101.py +0 -0
  815. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_release_cordon_daemon_leads_2176.py +0 -0
  816. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_release_cordon_deadlock_2240.py +0 -0
  817. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_release_cordon_drain_stall_3336.py +0 -0
  818. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_release_cordon_stuck_2490.py +0 -0
  819. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_release_propagate.py +0 -0
  820. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_release_propagate_threshold.py +0 -0
  821. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_release_roll_between_legs_2854.py +0 -0
  822. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_release_roll_window_handoff.py +0 -0
  823. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_release_unified_1242.py +0 -0
  824. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_release_verify.py +0 -0
  825. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_release_window.py +0 -0
  826. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_remote_auto_prune.py +0 -0
  827. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_remote_interactive_reaper.py +0 -0
  828. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_repo_add.py +0 -0
  829. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_repo_dormancy.py +0 -0
  830. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_repo_edit_2220.py +0 -0
  831. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_repo_graph_fleet_2237.py +0 -0
  832. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_repo_max_parallel_3423.py +0 -0
  833. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_repo_onboard_2220.py +0 -0
  834. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_report_result_push.py +0 -0
  835. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_reports.py +0 -0
  836. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_restart_cmd.py +0 -0
  837. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_retry.py +0 -0
  838. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_retry_advisory_1606.py +0 -0
  839. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_retry_escalation_classify_3360.py +0 -0
  840. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_retry_type_1636.py +0 -0
  841. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_revalidate.py +0 -0
  842. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_review.py +0 -0
  843. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_review_end_review_without_verdict.py +0 -0
  844. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_review_parse_failure_diagnostic.py +0 -0
  845. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_review_reaffirm.py +0 -0
  846. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_review_state.py +0 -0
  847. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_review_verdict_backstop.py +0 -0
  848. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_review_verdict_override_audit.py +0 -0
  849. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_review_verdict_relay.py +0 -0
  850. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_review_zero_commits.py +0 -0
  851. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_scoped_review_wiring.py +0 -0
  852. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_scorecard.py +0 -0
  853. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_self_health.py +0 -0
  854. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_serve.py +0 -0
  855. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_serve_app.py +0 -0
  856. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_serve_app_board_trim.py +0 -0
  857. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_serve_rest_routes.py +0 -0
  858. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_session.py +0 -0
  859. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_slice_issue_attribution.py +0 -0
  860. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_smoke_fanout_manifest_3333.py +0 -0
  861. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_smoke_live_checkout_restore.py +0 -0
  862. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_smoke_workflow.py +0 -0
  863. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_spend_ceiling.py +0 -0
  864. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_spend_ceiling_coordinator.py +0 -0
  865. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_split.py +0 -0
  866. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_split_work.py +0 -0
  867. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_sql_dialect.py +0 -0
  868. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_sqlite_connect_ratchet.py +0 -0
  869. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_stage_projection.py +0 -0
  870. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_stale_busy_reviewer_697.py +0 -0
  871. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_stalled_pipeline.py +0 -0
  872. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_state.py +0 -0
  873. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_state_review_findings_daemon.py +0 -0
  874. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_status_fleet_footer.py +0 -0
  875. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_stop_1567.py +0 -0
  876. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_store_contract.py +0 -0
  877. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_store_migrate.py +0 -0
  878. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_stuck.py +0 -0
  879. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_stuck_test_state_watchdog_2803.py +0 -0
  880. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_terminal_command.py +0 -0
  881. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_test_author.py +0 -0
  882. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_test_chat.py +0 -0
  883. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_test_orchestrator.py +0 -0
  884. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_test_report.py +0 -0
  885. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_test_verdict_parsing.py +0 -0
  886. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_test_verdict_transcript_floor.py +0 -0
  887. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_text_io_encoding_audit.py +0 -0
  888. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_thin_client_board_audit.py +0 -0
  889. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_thin_client_config_load_1080.py +0 -0
  890. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_thin_client_daemon_routing_906.py +0 -0
  891. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_throwaway_vm.py +0 -0
  892. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_tmux_host.py +0 -0
  893. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_tmux_session.py +0 -0
  894. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_transcript_floor.py +0 -0
  895. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_uat_checks.py +0 -0
  896. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_usage.py +0 -0
  897. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_usage_limits.py +0 -0
  898. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_usage_rollup.py +0 -0
  899. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_venv_live_install_2121.py +0 -0
  900. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_version_single_source.py +0 -0
  901. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_watch.py +0 -0
  902. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_windows_job_is_a_real_gate_2000.py +0 -0
  903. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_worker_env_venv_isolation.py +0 -0
  904. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_worker_events.py +0 -0
  905. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_worker_image_pin_sync.py +0 -0
  906. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_worker_safety.py +0 -0
  907. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_worker_test_scoping.py +0 -0
  908. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_worktree.py +0 -0
  909. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_worktree_rmtree_chokepoint.py +0 -0
  910. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/test_write_parity.py +0 -0
  911. {code_coordinator-0.5.516 → code_coordinator-0.5.518}/tests/write_parity.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: code-coordinator
3
- Version: 0.5.516
3
+ Version: 0.5.518
4
4
  Summary: Coordinate Claude Code workers across multiple machines and repos.
5
5
  Author-email: John Donaghy <johnfdonaghy@gmail.com>
6
6
  License-Expression: LicenseRef-FSL-1.1-MIT
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: code-coordinator
3
- Version: 0.5.516
3
+ Version: 0.5.518
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
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "0.5.518",
3
+ "distance": 0,
4
+ "node": "gdba4bd13008ab845617ff22df60d1009a4ce15b9",
5
+ "dirty": false,
6
+ "branch": "HEAD",
7
+ "node_date": "2026-09-26"
8
+ }
@@ -454,6 +454,40 @@ def _default_branch_lookup(repo_github: str, issue_number: int) -> list[str]:
454
454
  return _drop_merged_branches(repo_github, branches)
455
455
 
456
456
 
457
+ # #3442: bracket-tag issue_title prefixes (`f"[{tag}] {title}"`, see
458
+ # `coord.review.dispatch_review` / `coord.review._dispatch_scoped_review` /
459
+ # `coord.smoke.dispatch_pending_smoke` / `coord.gate_b`'s tracking-issue
460
+ # dispatch) that a review/smoke/gate-b leg dispatch uses when it does NOT
461
+ # pin `target_branch` to the real work branch — the agent then derives its
462
+ # own throwaway branch name by slugifying that bracketed title
463
+ # (`coord.agent._slugify`), landing on `issue-{N}-{tag}-...`. These legs
464
+ # are read-only observers: a review posts a verdict comment, a smoke run
465
+ # executes a command, gate-b posts a milestone verdict — none of them ever
466
+ # commits to its own checkout, so that branch sits at `ahead_by == 0`
467
+ # against the default branch from the moment it's created, forever,
468
+ # regardless of whether the issue's REAL work has landed. It is not
469
+ # evidence of anything. Every OTHER dispatcher that continues real work on
470
+ # an issue (conflict-fix, retry, fix-N) pins `target_branch` to the actual
471
+ # work branch instead of letting one of these get minted, so this list is
472
+ # deliberately just the observer legs, not every bracket tag in the
473
+ # codebase — though as #3442's own review round found for gate-b, that
474
+ # distinction has to be verified per-dispatcher, not assumed; see the
475
+ # issue's suggested structural alternative (branch never had commits, ever)
476
+ # for a fix that wouldn't require keeping this list exhaustive by hand.
477
+ _OBSERVER_LEG_TAGS = ("review", "scoped-review", "smoke", "gate-b")
478
+
479
+
480
+ def _is_observer_leg_branch(branch: str, issue_number: int) -> bool:
481
+ """True when *branch* is a review/smoke leg's own throwaway checkout,
482
+ not a branch that could ever carry real work (see `_OBSERVER_LEG_TAGS`).
483
+ """
484
+ for tag in _OBSERVER_LEG_TAGS:
485
+ prefix = f"issue-{issue_number}-{tag}"
486
+ if branch == prefix or branch.startswith(prefix + "-"):
487
+ return True
488
+ return False
489
+
490
+
457
491
  def any_matching_branch_merged(
458
492
  repo_github: str, issue_number: int, *, branch: str | None = None
459
493
  ) -> bool:
@@ -476,17 +510,29 @@ def any_matching_branch_merged(
476
510
  merged" behaviour only when *branch* is `None` — a caller with nothing
477
511
  assigned yet (a pre-dispatch check before any branch exists) has no
478
512
  single branch to ask about, so the issue-scoped signal is the best one
479
- available. Reuses the exact merge-detection `_drop_merged_branches`
480
- already performs for claim detection (PR-merged OR `ahead_by == 0`
481
- ancestry, survives squash merges — #3103): this is just "did filtering
482
- drop anything", with the fail-open direction flipped to match a
483
- REFUSAL predicate rather than a claim-signal — no matching branch at
484
- all, or any lookup failure, returns `False` ("not merged, don't refuse
485
- dispatch on this"), never `True`.
513
+ available. #3442: that fallback first drops every known
514
+ `_is_observer_leg_branch` candidate — #3436 only fixed the case where
515
+ the dispatch's OWN branch was already known; a plain `coord assign`
516
+ (or any other caller with no branch recorded yet, which is exactly when
517
+ this fallback runs) has no branch of its own to scope to, so without
518
+ this filter a single zero-commit `issue-{N}-review-*`/`issue-{N}-smoke-
519
+ *` leg branch still reads the WHOLE issue as merged and permanently
520
+ refuses dispatch — the same bug #3436 fixed for the branch-known case,
521
+ reopened for the branch-unknown one. Reuses the exact merge-detection
522
+ `_drop_merged_branches` already performs for claim detection (PR-merged
523
+ OR `ahead_by == 0` ancestry, survives squash merges — #3103): this is
524
+ just "did filtering drop anything", with the fail-open direction
525
+ flipped to match a REFUSAL predicate rather than a claim-signal — no
526
+ matching branch at all, or any lookup failure, returns `False` ("not
527
+ merged, don't refuse dispatch on this"), never `True`.
486
528
  """
487
529
  if branch is not None:
488
530
  return not _drop_merged_branches(repo_github, [branch])
489
- branches = list_matching_remote_branches(repo_github, issue_number)
531
+ branches = [
532
+ b
533
+ for b in list_matching_remote_branches(repo_github, issue_number)
534
+ if not _is_observer_leg_branch(b, issue_number)
535
+ ]
490
536
  if not branches:
491
537
  return False
492
538
  unmerged = set(_drop_merged_branches(repo_github, branches))
@@ -3169,6 +3169,19 @@ def evaluate_smoke_verdict(
3169
3169
  #821/#1475's existing convention), so rows/entries predating this
3170
3170
  feature behave exactly as before.
3171
3171
 
3172
+ #3443: "the merge base moved" is not, by itself, "a rebase happened" —
3173
+ the smoke runner tests the branch checked out as-is, never a merge with
3174
+ the base, so a base that merely advanced underneath an UNREBASED branch
3175
+ changed nothing the suite could see. Before consulting the #1738/#1778/
3176
+ #1847 file-compare escape hatches below, a confirmed-unchanged branch
3177
+ head (``test_head_sha == current_branch_sha``) spares the base move
3178
+ outright — cheaper than any file compare, and exactly the signal that a
3179
+ rebase (which always changes the branch's head SHA) did *not* happen.
3180
+ Without it, `dispatch_pending_smoke` (#3309) re-tested an identical,
3181
+ un-rebased branch head on every single commit landing on an active
3182
+ target branch, converging on nothing but flakiness (vimcode#523/#526,
3183
+ 2026-09-24/25: ~20 re-runs of an unchanged branch head in a few hours).
3184
+
3172
3185
  #1732: ``skipped`` is deliberately excluded from all of the above. It is
3173
3186
  not a measurement of code at a SHA the way ``passed`` is — it is a
3174
3187
  structural claim about the diff itself ("contract/fixture-only, nothing
@@ -3385,6 +3398,7 @@ def evaluate_smoke_verdict(
3385
3398
 
3386
3399
  base_move_spare_reason: str | None = None
3387
3400
  test_base_sha = getattr(a, "test_base_sha", None)
3401
+ test_head_sha = getattr(a, "test_head_sha", None)
3388
3402
  if test_state == "passed":
3389
3403
  # Merge base moved: the tested combination (this branch + that
3390
3404
  # base) no longer exists, even if the branch's own diff is
@@ -3425,32 +3439,78 @@ def evaluate_smoke_verdict(
3425
3439
  )
3426
3440
  continue
3427
3441
 
3428
- # #1738/#1778/#1847: the base moved, but a moved SHA doesn't
3429
- # necessarily mean a content change that could affect a test
3430
- # result. `_base_move_spared` tries, in order: is the base move
3431
- # itself provably inert content (docs/scripts/issue-template
3432
- # only, #1738); failing that, is *this branch*'s entire diff (as
3433
- # actually tested, test_base_sha..test_head_sha) provably inert
3434
- # (#1778); failing that, do the two diffs simply touch disjoint
3435
- # files (#1847) — a substantive base move and a substantive
3436
- # branch that have nothing to do with each other. Any one being
3437
- # true means the tested combination is still covered — fall
3438
- # through to the branch-content check below instead of staling
3439
- # here. If the branch has since gained real content, that check
3440
- # still catches it independently via the patch-id compare
3441
- # (#1847 doesn't short-circuit it).
3442
+ # #3443: before even asking whether the base move is content-
3443
+ # relevant, ask the cheaper, load-bearing question first — did
3444
+ # THIS branch actually move? The smoke runner checks the branch
3445
+ # out as-is; it does not merge or rebase onto the base before
3446
+ # testing (see the module-level #1479 note above), so a moved
3447
+ # target tip only invalidates a `passed` verdict when the
3448
+ # branch itself picked up new commits since the test ran (a
3449
+ # rebase). A branch head confirmed identical to what was tested
3450
+ # means its merge-base with the target cannot have changed
3451
+ # either — the target only grows forward; it never rewrites the
3452
+ # history the branch forked from — so re-dispatching a
3453
+ # byte-identical branch head every time the target advances
3454
+ # (#3309 looping against develop, vimcode#523/#526) is pure
3455
+ # spend, not a re-test of anything new. Probed here, ahead of
3456
+ # the base-move check, so a confirmed-unchanged branch spares it
3457
+ # before `_base_move_spared`'s file-compare hatches even run;
3458
+ # those stay as the fallback for what this can't confirm (probe
3459
+ # unavailable) or the case where the branch genuinely moved.
3460
+ if (
3461
+ test_head_sha is not None
3462
+ and current_branch_sha is None
3463
+ and not branch_sha_attempted
3464
+ and gh_ops is not None
3465
+ and repo_github
3466
+ and entry_branch
3467
+ ):
3468
+ current_branch_sha, branch_sha_probe_failed, branch_sha_probe_error = (
3469
+ _gh_get_branch_sha(gh_ops, repo_github, entry_branch)
3470
+ )
3471
+ branch_sha_attempted = True
3472
+
3442
3473
  if (
3443
3474
  test_base_sha is not None
3444
3475
  and current_base_sha is not None
3445
3476
  and test_base_sha != current_base_sha
3446
3477
  ):
3447
- spared, base_move_spare_reason = _base_move_spared(
3448
- gh_ops,
3449
- repo_github,
3450
- test_base_sha,
3451
- current_base_sha,
3452
- getattr(a, "test_head_sha", None),
3453
- )
3478
+ if (
3479
+ test_head_sha is not None
3480
+ and current_branch_sha is not None
3481
+ and test_head_sha == current_branch_sha
3482
+ ):
3483
+ spared, base_move_spare_reason = (
3484
+ True,
3485
+ "branch head unchanged since test — no rebase, "
3486
+ "base move alone does not stale (#3443)",
3487
+ )
3488
+ else:
3489
+ # #1738/#1778/#1847: the base moved AND the branch head
3490
+ # also moved (or couldn't be confirmed unchanged), but a
3491
+ # moved base SHA still doesn't necessarily mean a content
3492
+ # change that could affect a test result.
3493
+ # `_base_move_spared` tries, in order: is the base move
3494
+ # itself provably inert content (docs/scripts/issue-
3495
+ # template only, #1738); failing that, is *this
3496
+ # branch*'s entire diff (as actually tested,
3497
+ # test_base_sha..test_head_sha) provably inert (#1778);
3498
+ # failing that, do the two diffs simply touch disjoint
3499
+ # files (#1847) — a substantive base move and a
3500
+ # substantive branch that have nothing to do with each
3501
+ # other. Any one being true means the tested combination
3502
+ # is still covered — fall through to the branch-content
3503
+ # check below instead of staling here. If the branch has
3504
+ # since gained real content, that check still catches it
3505
+ # independently via the patch-id compare (#1847 doesn't
3506
+ # short-circuit it).
3507
+ spared, base_move_spare_reason = _base_move_spared(
3508
+ gh_ops,
3509
+ repo_github,
3510
+ test_base_sha,
3511
+ current_base_sha,
3512
+ test_head_sha,
3513
+ )
3454
3514
  if not spared:
3455
3515
  # stale: re-verify against the new base
3456
3516
  if stale is None:
@@ -3467,7 +3527,11 @@ def evaluate_smoke_verdict(
3467
3527
  # Branch content changed since the test ran. Same SHA-then-patch-id
3468
3528
  # fallback as has_approved_review: a content-identical rebase (SHA
3469
3529
  # moved, patch-id didn't) does not invalidate the verdict.
3470
- test_head_sha = getattr(a, "test_head_sha", None)
3530
+ # `test_head_sha` was already read above (#3443's branch-probe
3531
+ # reordering); the probe below is a no-op here whenever the
3532
+ # `passed` branch already ran it (`branch_sha_attempted` guards it),
3533
+ # and is the FIRST attempt for a `skipped`/`baseline_red` row, which
3534
+ # never enters that block.
3471
3535
  if (
3472
3536
  test_head_sha is not None
3473
3537
  and current_branch_sha is None
@@ -876,14 +876,15 @@ def test_any_matching_branch_merged_false_on_gh_error(monkeypatch) -> None:
876
876
  def test_any_matching_branch_merged_scoped_branch_ignores_merged_siblings(
877
877
  monkeypatch,
878
878
  ) -> None:
879
- """#3436: reproduces vimcode#1156's shape — several MERGED, zero-commit
880
- `issue-{N}-*` review-leg branches (cut from the default-branch tip,
881
- never diverged) alongside the one real, unmerged work branch. The
882
- issue-scoped (no ``branch=``) check is tripped by the merged siblings —
883
- the documented fallback behaviour for a caller with nothing dispatched
884
- yet — but a caller that names the ACTUAL branch in play must get an
879
+ """#3436/#3442: reproduces vimcode#1156's shape — several MERGED,
880
+ zero-commit `issue-{N}-*` review-leg branches (cut from the
881
+ default-branch tip, never diverged) alongside the one real, unmerged
882
+ work branch. A caller that names the ACTUAL branch in play must get an
885
883
  answer scoped to just that branch, not "did anything for this issue
886
- ever merge"."""
884
+ ever merge" — and #3442: the issue-scoped fallback (no ``branch=``)
885
+ must ALSO see past a review-leg sibling now, since it's the fallback a
886
+ plain `coord assign` (nothing dispatched yet, no branch to scope to)
887
+ actually hits."""
887
888
  import coord.claim as claim_mod
888
889
 
889
890
  monkeypatch.setattr(
@@ -894,19 +895,107 @@ def test_any_matching_branch_merged_scoped_branch_ignores_merged_siblings(
894
895
  {"issue-1156-review-fix-1": 0, "issue-1156-real-work": 5},
895
896
  ),
896
897
  )
897
- # No branch named: falls back to the issue-scoped check, which still
898
- # trips on the merged sibling (unchanged pre-#3436 fallback behaviour).
899
- assert claim_mod.any_matching_branch_merged("acme/api", 1156) is True
898
+ # No branch named: falls back to the issue-scoped check, which now
899
+ # excludes the review-leg sibling as not-evidence-of-anything (#3442)
900
+ # and finds the real work branch unmerged.
901
+ assert claim_mod.any_matching_branch_merged("acme/api", 1156) is False
900
902
  # Scoped to the real, unmerged work branch: must NOT report merged.
901
903
  assert claim_mod.any_matching_branch_merged(
902
904
  "acme/api", 1156, branch="issue-1156-real-work"
903
905
  ) is False
904
- # Scoped to the merged sibling itself: correctly reports merged.
906
+ # Scoped to the merged sibling itself: correctly reports merged (an
907
+ # explicit ask about that exact branch is unaffected by the leg-branch
908
+ # exclusion the issue-scoped fallback applies).
905
909
  assert claim_mod.any_matching_branch_merged(
906
910
  "acme/api", 1156, branch="issue-1156-review-fix-1"
907
911
  ) is True
908
912
 
909
913
 
914
+ def test_any_matching_branch_merged_issue_scoped_ignores_review_and_smoke_legs(
915
+ monkeypatch,
916
+ ) -> None:
917
+ """#3442: vimcode#523/#526's exact shape — an `issue-{N}-review-*` leg
918
+ branch (and an `issue-{N}-smoke-*` leg branch) at `ahead_by == 0`,
919
+ alongside the real, unmerged work branch. `any_matching_branch_merged`
920
+ with no *branch* (the `coord assign`/dispatch-liveness fallback that
921
+ trips before any branch is known) must refuse to treat either leg as
922
+ evidence the issue's real work merged."""
923
+ import coord.claim as claim_mod
924
+
925
+ monkeypatch.setattr(
926
+ "coord.github_ops._gh",
927
+ _gh_stub_with_matching_refs(
928
+ [
929
+ "issue-523-review-track-a-phase-0b-wire-board-actio",
930
+ "issue-523-smoke-track-a-phase-0b-wire-board-action",
931
+ "issue-523-track-a-phase-0b-wire-board-actions-to-p",
932
+ ],
933
+ "develop",
934
+ {
935
+ "issue-523-review-track-a-phase-0b-wire-board-actio": 0,
936
+ "issue-523-smoke-track-a-phase-0b-wire-board-action": 2,
937
+ "issue-523-track-a-phase-0b-wire-board-actions-to-p": 2,
938
+ },
939
+ ),
940
+ )
941
+ assert claim_mod.any_matching_branch_merged("acme/vimcode", 523) is False
942
+
943
+
944
+ def test_any_matching_branch_merged_issue_scoped_ignores_gate_b_leg(
945
+ monkeypatch,
946
+ ) -> None:
947
+ """#3442 review follow-up: a milestone tracking issue with a completed
948
+ Gate B verdict (`coord.gate_b`'s dispatch is `type="review"`, doesn't
949
+ pin `target_branch`, and mints its own throwaway
950
+ `issue-{N}-gate-b-...` branch exactly like a `[review]`/`[smoke]`
951
+ leg) sitting at `ahead_by == 0` alongside the real, unmerged
952
+ milestone work branch. `any_matching_branch_merged` with no *branch*
953
+ (the `coord assign`/dispatch-liveness fallback that trips before any
954
+ branch is known — the exact path a fresh dispatch on a tracking issue
955
+ hits) must not treat the gate-b leg as evidence the real work
956
+ merged."""
957
+ import coord.claim as claim_mod
958
+
959
+ monkeypatch.setattr(
960
+ "coord.github_ops._gh",
961
+ _gh_stub_with_matching_refs(
962
+ [
963
+ "issue-900-gate-b-ms-900-milestone-verdict",
964
+ "issue-900-track-a-phase-1-milestone-work",
965
+ ],
966
+ "develop",
967
+ {
968
+ "issue-900-gate-b-ms-900-milestone-verdict": 0,
969
+ "issue-900-track-a-phase-1-milestone-work": 3,
970
+ },
971
+ ),
972
+ )
973
+ assert claim_mod.any_matching_branch_merged("acme/vimcode", 900) is False
974
+
975
+
976
+ def test_is_observer_leg_branch_matches_review_scoped_review_smoke_and_gate_b() -> None:
977
+ """#3442: the exact prefixes review/smoke/gate-b legs mint, and nothing
978
+ else — a bare `issue-N-review` (no trailing content) and the slugified
979
+ `issue-N-review-...`/`issue-N-scoped-review-...`/`issue-N-smoke-...`/
980
+ `issue-N-gate-b-...` shapes all match; an unrelated branch, or one that
981
+ merely CONTAINS "review" past the issue-number prefix, must not."""
982
+ import coord.claim as claim_mod
983
+
984
+ assert claim_mod._is_observer_leg_branch("issue-9-review", 9) is True
985
+ assert claim_mod._is_observer_leg_branch("issue-9-review-fix-1", 9) is True
986
+ assert claim_mod._is_observer_leg_branch(
987
+ "issue-9-scoped-review-sealed-path", 9
988
+ ) is True
989
+ assert claim_mod._is_observer_leg_branch("issue-9-smoke-track-a", 9) is True
990
+ assert claim_mod._is_observer_leg_branch(
991
+ "issue-9-gate-b-ms-9-milestone-verdict", 9
992
+ ) is True
993
+ assert claim_mod._is_observer_leg_branch("issue-9-real-work", 9) is False
994
+ assert claim_mod._is_observer_leg_branch(
995
+ "issue-9-reviewer-onboarding", 9
996
+ ) is False
997
+
998
+
910
999
  # ── #1553: has_active_work_followup keys on the EFFECTIVE issue ─────────────
911
1000
 
912
1001
 
@@ -2887,9 +2887,12 @@ class TestGateBlockedRowEntersQueueBlocked:
2887
2887
  assert mq.load_queue() == []
2888
2888
 
2889
2889
  def fake_get_branch_sha(repo, branch):
2890
- # The base moved since the verdict was recorded; the branch
2891
- # itself did not.
2892
- return "newbase111" if branch == "main" else "branchsha000"
2890
+ # The base moved since the verdict was recorded, AND the branch
2891
+ # itself was rebased (its head moved too) — #3443: a base move
2892
+ # alone, with the branch head confirmed unchanged, no longer
2893
+ # stales the verdict, so this needs both to still exercise a
2894
+ # genuine STALE for the #1926 fallback-agreement check below.
2895
+ return "newbase111" if branch == "main" else "branchsha111"
2893
2896
 
2894
2897
  with patch(
2895
2898
  "coord.github_ops.get_branch_sha", side_effect=fake_get_branch_sha
@@ -279,7 +279,7 @@ def test_a_genuinely_failing_fallback_suite_is_still_a_failure(
279
279
 
280
280
 
281
281
  def test_coordinator_route_never_invokes_cargo_or_a_quadraui_sibling(
282
- tui_repo: Path, tmp_path: Path, full_bin: Path
282
+ tui_repo: Path, tmp_path: Path
283
283
  ) -> None:
284
284
  """#2899 (keeping #2804's guard alive after the arm it guarded left).
285
285
 
@@ -294,14 +294,17 @@ def test_coordinator_route_never_invokes_cargo_or_a_quadraui_sibling(
294
294
  runner does not call one it *could* have found is stronger than proving it
295
295
  fails without one.
296
296
  """
297
+ # A private mirror with any real `cargo` omitted: on a host with a system
298
+ # cargo (dell64's /usr/bin/cargo -> rustup) the shared `full_bin` already
299
+ # holds a symlink named `cargo`, and write_text() would follow it into the
300
+ # real binary — PermissionError when root owns it, a clobbered toolchain
301
+ # when the user does.
302
+ bin_dir = _mirror_bin_dir(tmp_path / "bin", omit_prefixes=("cargo",))
297
303
  marker = tmp_path / "cargo-was-invoked"
298
- cargo = full_bin / "cargo"
304
+ cargo = bin_dir / "cargo"
299
305
  cargo.write_text(f"#!/bin/sh\ntouch {marker}\nexit 0\n")
300
306
  cargo.chmod(0o755)
301
- try:
302
- result = _run(tui_repo, tmp_path, full_bin, "--repo", "claude-coordinator")
303
- finally:
304
- cargo.unlink()
307
+ result = _run(tui_repo, tmp_path, bin_dir, "--repo", "claude-coordinator")
305
308
 
306
309
  out = result.stdout + result.stderr
307
310
  assert result.returncode == 0, out
@@ -353,9 +353,15 @@ class TestDecision:
353
353
  assert by_gate["test"].anchor is None # MISSING, not STALE
354
354
  assert by_gate["merge"].reason == SMOKE_REQUIRED
355
355
 
356
- def test_stale_base_names_1479_and_shas(self, config: Config) -> None:
357
- # #1479: the verdict was recorded against an old base SHA; the base
358
- # has since moved. The branch's own head/patch-id are unchanged.
356
+ def test_base_move_alone_does_not_stale_1479(self, config: Config) -> None:
357
+ """#3443: the verdict was recorded against an old base SHA and the
358
+ base has since moved, but the branch's own head/patch-id are
359
+ CONFIRMED unchanged — no rebase happened, so the base move alone
360
+ must not stale a `passed` verdict (see
361
+ ``test_stale_base_names_1479_and_shas_when_branch_also_moved``
362
+ below for the case where the branch DID move). Superseded
363
+ ``test_stale_base_names_1479_and_shas``, which asserted the
364
+ opposite (the #3443 bug itself) before this fix."""
359
365
  work = _work(
360
366
  test_state="passed", test_reason="headless smoke",
361
367
  test_head_sha="branchsha", test_base_sha="oldbase",
@@ -365,6 +371,36 @@ class TestDecision:
365
371
  gh = FakeGh(branch_sha="branchsha", base_sha="newbase", patch_id="samepatch")
366
372
  report = build_gate_report(board, config, "api", 42, gh_ops=gh)
367
373
 
374
+ by_gate = {d.gate: d for d in report.decisions}
375
+ test_decision = by_gate["test"]
376
+ assert test_decision.ok is True
377
+ assert by_gate["merge"].reason != SMOKE_REQUIRED
378
+ # gh_ops was actually consulted for both the branch and the base —
379
+ # the #3443 spare is a POSITIVE confirmation, not a skipped check.
380
+ assert ("acme/api", "issue-42-foo") in gh.sha_calls
381
+ assert ("acme/api", "main") in gh.sha_calls
382
+
383
+ def test_stale_base_names_1479_and_shas_when_branch_also_moved(
384
+ self, config: Config,
385
+ ) -> None:
386
+ # #1479: the verdict was recorded against an old base SHA; the base
387
+ # has since moved, AND the branch itself was rebased (its head moved
388
+ # too) — #3443 spares a base move alone, so this needs both to still
389
+ # exercise the stale-verdict report.
390
+ work = _work(
391
+ test_state="passed", test_reason="headless smoke",
392
+ test_head_sha="branchsha-old", test_base_sha="oldbase",
393
+ )
394
+ # review_head_sha matches the CURRENT (post-rebase) branch head, so
395
+ # the review gate stays fresh and only the test/smoke gate is under
396
+ # test here.
397
+ review = _review("w1", verdict="approve", review_head_sha="branchsha-new")
398
+ board = Board(active=[], completed=[work, review])
399
+ gh = FakeGh(
400
+ branch_sha="branchsha-new", base_sha="newbase", patch_id="samepatch",
401
+ )
402
+ report = build_gate_report(board, config, "api", 42, gh_ops=gh)
403
+
368
404
  by_gate = {d.gate: d for d in report.decisions}
369
405
  test_decision = by_gate["test"]
370
406
  assert test_decision.ok is False
@@ -813,12 +849,18 @@ class TestIsInteractive:
813
849
 
814
850
  class TestFormatting:
815
851
  def test_format_includes_stale_wording(self, config: Config) -> None:
852
+ """#3443: the branch must also have moved (a rebase) — a base move
853
+ alone, with the branch head confirmed unchanged, no longer stales
854
+ the verdict at all, so this has nothing to render as STALE."""
816
855
  work = _work(
817
- test_state="passed", test_head_sha="branchsha", test_base_sha="oldbase",
856
+ test_state="passed",
857
+ test_head_sha="branchsha-old", test_base_sha="oldbase",
818
858
  )
819
- review = _review("w1", verdict="approve", review_head_sha="branchsha")
859
+ review = _review("w1", verdict="approve", review_head_sha="branchsha-new")
820
860
  board = Board(active=[], completed=[work, review])
821
- gh = FakeGh(branch_sha="branchsha", base_sha="newbase", patch_id="samepatch")
861
+ gh = FakeGh(
862
+ branch_sha="branchsha-new", base_sha="newbase", patch_id="samepatch",
863
+ )
822
864
  report = build_gate_report(board, config, "api", 42, gh_ops=gh)
823
865
 
824
866
  text = format_gate_report(report)