code-coordinator 0.5.648__tar.gz → 0.5.650__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 (980) hide show
  1. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/PKG-INFO +1 -1
  2. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/code_coordinator.egg-info/PKG-INFO +1 -1
  3. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/code_coordinator.egg-info/scm_version.json +2 -2
  4. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/drive_queue.py +199 -1
  5. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/drive_queue.py +33 -2
  6. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/notifier/collect.py +26 -0
  7. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/notifier/predicate.py +11 -5
  8. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_drive_queue.py +267 -0
  9. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_notifier_cli.py +59 -0
  10. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_notifier_collect.py +91 -0
  11. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/.claude/commands/board.md +0 -0
  12. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/.claude/commands/complete-session.md +0 -0
  13. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/.claude/commands/coordinator.md +0 -0
  14. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/.githooks/_lib.sh +0 -0
  15. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/.githooks/post-checkout +0 -0
  16. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/.githooks/post-commit +0 -0
  17. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/.githooks/post-merge +0 -0
  18. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  19. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/.github/coord-ci-acceptance.yml +0 -0
  20. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/.github/workflows/auto-release.yml +0 -0
  21. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/.github/workflows/publish.yml +0 -0
  22. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/.github/workflows/test.yml +0 -0
  23. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/.gitignore +0 -0
  24. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/CLAUDE.md +0 -0
  25. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/GOAL.md +0 -0
  26. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/LICENSE +0 -0
  27. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/MANIFEST.in +0 -0
  28. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/README.md +0 -0
  29. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/code_coordinator.egg-info/SOURCES.txt +0 -0
  30. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/code_coordinator.egg-info/dependency_links.txt +0 -0
  31. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/code_coordinator.egg-info/entry_points.txt +0 -0
  32. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/code_coordinator.egg-info/requires.txt +0 -0
  33. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/code_coordinator.egg-info/scm_file_list.json +0 -0
  34. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/code_coordinator.egg-info/top_level.txt +0 -0
  35. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/__init__.py +0 -0
  36. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/_board_mapping.py +0 -0
  37. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/acceptance.py +0 -0
  38. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/acceptance_drivers.py +0 -0
  39. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/agent.py +0 -0
  40. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/agent_app.py +0 -0
  41. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/agent_update.py +0 -0
  42. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/agents/opencode/.gitignore +0 -0
  43. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/agents/opencode/agents/work.md +0 -0
  44. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/agents/opencode/routing.jsonc +0 -0
  45. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/app_drive.py +0 -0
  46. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/app_drive_daemon.py +0 -0
  47. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/approved_work.py +0 -0
  48. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/audit.py +0 -0
  49. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/auto_loop.py +0 -0
  50. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/backup.py +0 -0
  51. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/block_log.py +0 -0
  52. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/board_schema.py +0 -0
  53. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/board_service.py +0 -0
  54. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/board_wire.py +0 -0
  55. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/brain.py +0 -0
  56. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/branch_model.py +0 -0
  57. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/briefing_lessons.py +0 -0
  58. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/bug_intake.py +0 -0
  59. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/bugbash.py +0 -0
  60. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/cargo_cache.py +0 -0
  61. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/ci_fix.py +0 -0
  62. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/ci_github.py +0 -0
  63. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/ci_gitlab.py +0 -0
  64. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/ci_store.py +0 -0
  65. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/claim.py +0 -0
  66. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/claude_setup_token.py +0 -0
  67. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/cli.py +0 -0
  68. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/client.py +0 -0
  69. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/codegen.py +0 -0
  70. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/__init__.py +0 -0
  71. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/_common.py +0 -0
  72. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/acceptance.py +0 -0
  73. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/agent_ops.py +0 -0
  74. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/app_drive.py +0 -0
  75. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/audit.py +0 -0
  76. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/backup.py +0 -0
  77. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/bugbash.py +0 -0
  78. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/chat.py +0 -0
  79. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/ci.py +0 -0
  80. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/codegen.py +0 -0
  81. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/dispatch.py +0 -0
  82. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/dispatch_workers.py +0 -0
  83. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/dr.py +0 -0
  84. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/drive.py +0 -0
  85. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/gate_a.py +0 -0
  86. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/gates.py +0 -0
  87. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/issues.py +0 -0
  88. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/lifecycle.py +0 -0
  89. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/machine.py +0 -0
  90. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/merge.py +0 -0
  91. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/milestone.py +0 -0
  92. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/plan_followup.py +0 -0
  93. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/plans.py +0 -0
  94. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/portal.py +0 -0
  95. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/pr.py +0 -0
  96. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/release.py +0 -0
  97. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/repo.py +0 -0
  98. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/report.py +0 -0
  99. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/review.py +0 -0
  100. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/scorecard.py +0 -0
  101. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/sessions.py +0 -0
  102. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/setup.py +0 -0
  103. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/smoke.py +0 -0
  104. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/status.py +0 -0
  105. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/store_migrate.py +0 -0
  106. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/terminal.py +0 -0
  107. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/test_gate.py +0 -0
  108. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/commands/tui.py +0 -0
  109. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/comments.py +0 -0
  110. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/config.py +0 -0
  111. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/config_reload.py +0 -0
  112. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/confirm_test.py +0 -0
  113. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/conflict_fix.py +0 -0
  114. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/dao.py +0 -0
  115. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/dashboard/__init__.py +0 -0
  116. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/dashboard/fixture.py +0 -0
  117. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/dashboard/index.html +0 -0
  118. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/dashboard/reports.html +0 -0
  119. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/dashboard/server.py +0 -0
  120. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/dashboard/terminal.py +0 -0
  121. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/db.py +0 -0
  122. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/dead_end.py +0 -0
  123. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/decomposition_chat.py +0 -0
  124. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/deploy/README.md +0 -0
  125. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/deploy/coord-agent.service +0 -0
  126. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/deploy/coord-backup.service +0 -0
  127. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/deploy/coord-backup.timer +0 -0
  128. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/deploy/coord-db-backup.service +0 -0
  129. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/deploy/coord-db-backup.sh +0 -0
  130. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/deploy/coord-db-backup.timer +0 -0
  131. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/deploy/coord-dr-verify.service +0 -0
  132. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/deploy/coord-dr-verify.timer +0 -0
  133. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/deploy/coord-drive-queue.service +0 -0
  134. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/deploy/coord-drive-queue.timer +0 -0
  135. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/deploy/coord-failure-notify.service +0 -0
  136. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/deploy/coord-fleet-watchdog.service +0 -0
  137. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/deploy/coord-fleet-watchdog.timer +0 -0
  138. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/deploy/coord-nightly-smoke.service +0 -0
  139. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/deploy/coord-nightly-smoke.timer +0 -0
  140. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/deploy/coord-notify.service +0 -0
  141. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/deploy/coord-notify.timer +0 -0
  142. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/deploy/coord-release-propagate.service +0 -0
  143. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/deploy/coord-release-propagate.timer +0 -0
  144. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/deploy/coord-release-window.service +0 -0
  145. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/deploy/coord-release-window.timer +0 -0
  146. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/deploy/coord-serve.service +0 -0
  147. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/deploy/coord-web-dist-build.service +0 -0
  148. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/deploy/coord-web-dist-build.timer +0 -0
  149. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/deploy/coord-web.service +0 -0
  150. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/deploy_manifest.py +0 -0
  151. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/deploy_units.py +0 -0
  152. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/deprecation_telemetry.py +0 -0
  153. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/deps.py +0 -0
  154. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/diagnose.py +0 -0
  155. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/dirlink.py +0 -0
  156. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/dispatch.py +0 -0
  157. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/dispatch_liveness.py +0 -0
  158. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/dist_name.py +0 -0
  159. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/dr_promote.py +0 -0
  160. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/dr_verify.py +0 -0
  161. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/drive.py +0 -0
  162. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/drive_sessions_snapshot.py +0 -0
  163. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/drive_state.py +0 -0
  164. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/events.py +0 -0
  165. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/failure_class.py +0 -0
  166. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/failure_classifier.py +0 -0
  167. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/filelock.py +0 -0
  168. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/fleet_config_health.py +0 -0
  169. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/forge_availability.py +0 -0
  170. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/freshness.py +0 -0
  171. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/gate_a.py +0 -0
  172. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/gate_b.py +0 -0
  173. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/gate_snapshot.py +0 -0
  174. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/gates.py +0 -0
  175. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/gen_board_fixture.py +0 -0
  176. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/github_ops.py +0 -0
  177. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/github_throttle.py +0 -0
  178. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/goal.py +0 -0
  179. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/graph_health.py +0 -0
  180. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/gtk_native_driver.py +0 -0
  181. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/__init__.py +0 -0
  182. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/aggregate.py +0 -0
  183. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/checks/__init__.py +0 -0
  184. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/checks/_ci_pin.py +0 -0
  185. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/checks/agent_install.py +0 -0
  186. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/checks/cargo_targets.py +0 -0
  187. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/checks/claude_binary.py +0 -0
  188. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/checks/config_drift.py +0 -0
  189. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/checks/coord_tui_ci_pin.py +0 -0
  190. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/checks/coord_web_ci_pin.py +0 -0
  191. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/checks/deploy_lane_facts.py +0 -0
  192. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/checks/disk.py +0 -0
  193. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/checks/fleet_board.py +0 -0
  194. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/checks/fleet_deploy_lanes.py +0 -0
  195. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/checks/fleet_phantom.py +0 -0
  196. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/checks/fleet_unit_drift.py +0 -0
  197. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/checks/graph.py +0 -0
  198. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/checks/graphify_cli.py +0 -0
  199. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/checks/gui_lane_preflight.py +0 -0
  200. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/checks/index_lock.py +0 -0
  201. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/checks/issues_sync_staleness.py +0 -0
  202. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/checks/local_machine_identity.py +0 -0
  203. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/checks/plan_usage.py +0 -0
  204. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/checks/pr_churn.py +0 -0
  205. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/checks/release_cordon.py +0 -0
  206. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/checks/repo_state.py +0 -0
  207. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/checks/spawned_coord.py +0 -0
  208. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/checks/stalled_pipeline.py +0 -0
  209. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/checks/timer_active.py +0 -0
  210. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/checks/toolchain.py +0 -0
  211. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/checks/unit_drift.py +0 -0
  212. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/checks/unit_enablement.py +0 -0
  213. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/checks/wedged_drive_queue.py +0 -0
  214. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/checks/worktrees.py +0 -0
  215. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/cli.py +0 -0
  216. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/context.py +0 -0
  217. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/fleet_snapshot.py +0 -0
  218. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/models.py +0 -0
  219. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/pypi.py +0 -0
  220. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/registry.py +0 -0
  221. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/render.py +0 -0
  222. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/health/units.py +0 -0
  223. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/hooks.py +0 -0
  224. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/housekeeping.py +0 -0
  225. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/interactive.py +0 -0
  226. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/invariant_alarms.py +0 -0
  227. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/issue_store.py +0 -0
  228. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/issues_sync_status.py +0 -0
  229. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/key_spec.py +0 -0
  230. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/liveness_auditor.py +0 -0
  231. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/mac_native_driver.py +0 -0
  232. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/machine_fault.py +0 -0
  233. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/machine_metrics.py +0 -0
  234. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/machine_onboard.py +0 -0
  235. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/machine_pause.py +0 -0
  236. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/machine_stats.py +0 -0
  237. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/merge_queue.py +0 -0
  238. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/milestone_chat.py +0 -0
  239. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/milestone_dispatch.py +0 -0
  240. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/milestone_gate.py +0 -0
  241. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/milestone_order.py +0 -0
  242. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/mock_author.py +0 -0
  243. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/models.py +0 -0
  244. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/native_fs_wait.py +0 -0
  245. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/native_pixels.py +0 -0
  246. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/network.py +0 -0
  247. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/new_issue_chat.py +0 -0
  248. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/nightly_runner.py +0 -0
  249. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/nightly_smoke.py +0 -0
  250. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/nightly_status.py +0 -0
  251. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/nightly_store.py +0 -0
  252. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/notifier/__init__.py +0 -0
  253. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/notifier/baseline.py +0 -0
  254. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/notifier/cli.py +0 -0
  255. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/notifier/digest.py +0 -0
  256. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/notifier/models.py +0 -0
  257. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/notifier/service.py +0 -0
  258. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/notifier/store.py +0 -0
  259. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/notifier/transport.py +0 -0
  260. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/notify.py +0 -0
  261. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/openapi.py +0 -0
  262. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/overlap_fence.py +0 -0
  263. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/overlap_predict.py +0 -0
  264. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/parentage.py +0 -0
  265. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/parentage_github.py +0 -0
  266. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/pipeline.py +0 -0
  267. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/plan_parser.py +0 -0
  268. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/plans.py +0 -0
  269. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/platform_paths.py +0 -0
  270. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/portal_bridge.py +0 -0
  271. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/portal_store.py +0 -0
  272. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/portal_sync.py +0 -0
  273. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/pr_body_lint.py +0 -0
  274. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/prereqs.py +0 -0
  275. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/prereview_gate.py +0 -0
  276. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/progress.py +0 -0
  277. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/providers/__init__.py +0 -0
  278. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/providers/base.py +0 -0
  279. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/providers/claude.py +0 -0
  280. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/providers/claude_pty.py +0 -0
  281. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/providers/opencode.py +0 -0
  282. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/queue_diagnose.py +0 -0
  283. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/reconcile.py +0 -0
  284. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/reconcile_tick.py +0 -0
  285. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/refine_chat.py +0 -0
  286. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/release_cordon.py +0 -0
  287. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/release_gate.py +0 -0
  288. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/release_propagate.py +0 -0
  289. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/release_verify.py +0 -0
  290. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/release_window.py +0 -0
  291. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/repo_dormancy.py +0 -0
  292. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/repo_edit.py +0 -0
  293. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/repo_onboard.py +0 -0
  294. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/reports.py +0 -0
  295. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/rest_schema.py +0 -0
  296. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/restart_cmd.py +0 -0
  297. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/revalidate.py +0 -0
  298. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/review.py +0 -0
  299. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/scorecard.py +0 -0
  300. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/self_health.py +0 -0
  301. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/serve_app.py +0 -0
  302. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/shell_exec_wrap.py +0 -0
  303. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/skills/coord-dispatch-verbs/SKILL.md +0 -0
  304. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/skills/drive-queue-preflight/SKILL.md +0 -0
  305. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/skills/fleet-restart-safety/SKILL.md +0 -0
  306. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/skills/merge-stuck-triage/SKILL.md +0 -0
  307. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/skills/pipeline-limbo-triage/SKILL.md +0 -0
  308. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/skills/portal-followup/SKILL.md +0 -0
  309. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/skills/release-now/SKILL.md +0 -0
  310. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/skills/review-verdict-recovery/SKILL.md +0 -0
  311. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/skills/tui-quadraui-workflow/SKILL.md +0 -0
  312. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/skills/update-issue/SKILL.md +0 -0
  313. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/smoke.py +0 -0
  314. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/smoke_tags.py +0 -0
  315. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/spend_ceiling.py +0 -0
  316. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/split_work.py +0 -0
  317. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/sql.py +0 -0
  318. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/stage_projection.py +0 -0
  319. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/state.py +0 -0
  320. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/store_migrate.py +0 -0
  321. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/store_parity.py +0 -0
  322. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/templates/deploy-cloudflare.node.yml +0 -0
  323. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/test_author.py +0 -0
  324. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/test_chat.py +0 -0
  325. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/test_orchestrator.py +0 -0
  326. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/test_report.py +0 -0
  327. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/tui_pty_driver.py +0 -0
  328. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/tui_release.py +0 -0
  329. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/uat_checks.py +0 -0
  330. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/upstream_gaps.py +0 -0
  331. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/usage.py +0 -0
  332. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/usage_limits.py +0 -0
  333. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/usage_rollup.py +0 -0
  334. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/win_native_bridge.py +0 -0
  335. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/win_native_driver.py +0 -0
  336. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coord/worker_events.py +0 -0
  337. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/coordinator.example.yml +0 -0
  338. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/deploy/coord-agent.service +0 -0
  339. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/deploy/coord-backup.service +0 -0
  340. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/deploy/coord-backup.timer +0 -0
  341. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/deploy/coord-db-backup.service +0 -0
  342. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/deploy/coord-db-backup.sh +0 -0
  343. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/deploy/coord-db-backup.timer +0 -0
  344. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/deploy/coord-dr-verify.service +0 -0
  345. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/deploy/coord-dr-verify.timer +0 -0
  346. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/deploy/coord-drive-queue.service +0 -0
  347. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/deploy/coord-drive-queue.timer +0 -0
  348. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/deploy/coord-failure-notify.service +0 -0
  349. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/deploy/coord-failure-notify.sh +0 -0
  350. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/deploy/coord-fleet-watchdog.service +0 -0
  351. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/deploy/coord-fleet-watchdog.timer +0 -0
  352. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/deploy/coord-nightly-smoke.service +0 -0
  353. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/deploy/coord-nightly-smoke.timer +0 -0
  354. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/deploy/coord-notify.service +0 -0
  355. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/deploy/coord-notify.timer +0 -0
  356. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/deploy/coord-release-propagate.service +0 -0
  357. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/deploy/coord-release-propagate.timer +0 -0
  358. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/deploy/coord-release-window.service +0 -0
  359. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/deploy/coord-release-window.timer +0 -0
  360. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/deploy/coord-serve.service +0 -0
  361. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/deploy/coord-web-dist-build.service +0 -0
  362. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/deploy/coord-web-dist-build.sh +0 -0
  363. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/deploy/coord-web-dist-build.timer +0 -0
  364. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/deploy/coord-web-rollback.sh +0 -0
  365. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/deploy/coord-web.service +0 -0
  366. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/deploy/node-shim.sh +0 -0
  367. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/ADR_COORD_TUI_CI.md +0 -0
  368. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/ADR_COORD_WEB_ACCEPTANCE_SUITE.md +0 -0
  369. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/ADR_COORD_WEB_CI.md +0 -0
  370. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/ADR_COORD_WEB_DIST.md +0 -0
  371. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/ADR_PY_RUST_MIRRORS.md +0 -0
  372. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/AGENT_OPERATIONS.md +0 -0
  373. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/ARCHITECTURE.md +0 -0
  374. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/ARCH_SECURITY_GATES.md +0 -0
  375. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/COCKPIT.md +0 -0
  376. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/CONTROL_CENTER.md +0 -0
  377. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/COST_DISCIPLINE.md +0 -0
  378. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/CROSS_PLATFORM.md +0 -0
  379. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/CUSTOMER_FACING_APPS.md +0 -0
  380. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/CUSTOMER_PORTAL.md +0 -0
  381. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/DATA_STORE_SELECTION.md +0 -0
  382. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/DISASTER_RECOVERY.md +0 -0
  383. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/DRIVE_QUEUE.md +0 -0
  384. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/EPHEMERAL_WORKERS.md +0 -0
  385. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/FORGE_MIGRATION.md +0 -0
  386. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/GRAPHIFY_SETUP.md +0 -0
  387. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/ISSUE_GUIDANCE.md +0 -0
  388. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/MAC_MINI.md +0 -0
  389. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/MERGE_AUTO_DRAIN_TRUST_BAR.md +0 -0
  390. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/NOTIFIER.md +0 -0
  391. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/OPENCODE_VERIFICATION.md +0 -0
  392. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/OPERATING_GOTCHAS.md +0 -0
  393. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/OPERATOR_GUIDES.md +0 -0
  394. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/ORACLE_LOOP.md +0 -0
  395. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/PHONE_WEBAPP.md +0 -0
  396. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/PIPELINE_V2.md +0 -0
  397. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/PLATFORM_EVOLUTION.md +0 -0
  398. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/SECOND_BACKEND.md +0 -0
  399. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/STORE_SERVICE.md +0 -0
  400. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/TEST_FIRST_BUG_LANE.md +0 -0
  401. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/WEB_CONTROL_CENTER.md +0 -0
  402. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/WSL_WINDOWS_WORKER.md +0 -0
  403. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/mocks/web/README.md +0 -0
  404. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/mocks/web/_tokens.css +0 -0
  405. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/mocks/web/issue-detail.html +0 -0
  406. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/mocks/web/pipeline-narrow.html +0 -0
  407. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/docs/mocks/web/pipeline-wide.html +0 -0
  408. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/graphify-out/.gitignore +0 -0
  409. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/install-agent.sh +0 -0
  410. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/pyproject.toml +0 -0
  411. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/audit_review_verdict_overrides.py +0 -0
  412. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/azure-workers/bootstrap-shared.sh +0 -0
  413. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/azure-workers/build-worker-image.sh +0 -0
  414. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/azure-workers/coordinator-machine.py +0 -0
  415. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/azure-workers/dr-down.sh +0 -0
  416. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/azure-workers/dr-up.sh +0 -0
  417. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/azure-workers/epic-down.sh +0 -0
  418. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/azure-workers/epic-up.sh +0 -0
  419. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/azure-workers/preflight.sh +0 -0
  420. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/azure-workers/provision-server.sh +0 -0
  421. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/azure-workers/provision-worker.sh +0 -0
  422. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/azure-workers/scrub-and-generalize.sh +0 -0
  423. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/azure-workers/tailnet-acl.hujson +0 -0
  424. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/azure-workers/throwaway-vm.sh +0 -0
  425. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/azure-workers/verify-github-token.sh +0 -0
  426. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/check_gh_argv_containment.py +0 -0
  427. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/codegen.py +0 -0
  428. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/comment_cruft.py +0 -0
  429. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/coord-test-runner.sh +0 -0
  430. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/coord-tui-scaffold/.github/coord-ci-acceptance.yml +0 -0
  431. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/coord-tui-scaffold/.github/workflows/cargo-test.yml +0 -0
  432. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/coord-tui-scaffold/.github/workflows/codegen-drift.yml +0 -0
  433. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/coord-tui-scaffold/CLAUDE.md +0 -0
  434. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/coord-venv-rollback.sh +0 -0
  435. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/drive-batch.sh +0 -0
  436. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/extract-coord-tui.sh +0 -0
  437. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/fleet_watchdog.py +0 -0
  438. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/gen_board_fixture.py +0 -0
  439. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/gen_mock_index.py +0 -0
  440. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/lib/provision-core.sh +0 -0
  441. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/next_release_tag.py +0 -0
  442. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/provision-machine.sh +0 -0
  443. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/run_tests_in_populated_home.sh +0 -0
  444. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/run_tests_without_gh.sh +0 -0
  445. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/setup-macmini.sh +0 -0
  446. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/smoke_437_interactive.py +0 -0
  447. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/verify-provision-noble.sh +0 -0
  448. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/verify_878_review_capture.py +0 -0
  449. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/verify_release_published.py +0 -0
  450. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/scripts/verify_release_wheel.py +0 -0
  451. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/setup.cfg +0 -0
  452. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/SMOKE_SET.md +0 -0
  453. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/__init__.py +0 -0
  454. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/acceptance/ms-37/conftest.py +0 -0
  455. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/acceptance/ms-37/contract.md +0 -0
  456. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/acceptance/ms-37/manifest.yml +0 -0
  457. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/acceptance/ms-37/test_usage_cli_1115.py +0 -0
  458. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/acceptance/ms-37/test_usage_core_1118.py +0 -0
  459. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/acceptance/ms-51/contract.md +0 -0
  460. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/acceptance/ms-51/home-active-extended.spec.ts +0 -0
  461. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/acceptance/ms-51/home-active.spec.ts +0 -0
  462. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/acceptance/ms-51/manifest.yml +0 -0
  463. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/acceptance/ms-51/mocks/home-active.html +0 -0
  464. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/acceptance/ms-51/tsconfig.json +0 -0
  465. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/acceptance/ms-example/mocks/home-active.html +0 -0
  466. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/backends.py +0 -0
  467. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/conftest.py +0 -0
  468. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/fixtures/board-pipeline-basic.json +0 -0
  469. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/fixtures/board-pipeline-terminal-gates.json +0 -0
  470. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/fixtures/opencode_run_failure_sample.jsonl +0 -0
  471. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/fixtures/opencode_run_length_sample.jsonl +0 -0
  472. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/fixtures/opencode_run_sample.jsonl +0 -0
  473. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/fixtures/playwright/all_pass.json +0 -0
  474. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/fixtures/playwright/global_setup_crash.json +0 -0
  475. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/fixtures/playwright/mixed_fail.json +0 -0
  476. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/fixtures/playwright/retry_then_pass.json +0 -0
  477. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/fixtures/playwright/retry_then_pass.junit.xml +0 -0
  478. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/fixtures/playwright/skip.json +0 -0
  479. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/fixtures/playwright/truncated.json +0 -0
  480. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/fixtures/test_report/cargo_compile_error.txt +0 -0
  481. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/fixtures/test_report/cargo_multi_target_failures.txt +0 -0
  482. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/fixtures/test_report/cargo_no_parseable_failures.txt +0 -0
  483. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/fixtures/test_report/pytest_collection_error.txt +0 -0
  484. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/fixtures/test_report/pytest_error_log_record.txt +0 -0
  485. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/fixtures/test_report/pytest_error_string_in_body.txt +0 -0
  486. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/fixtures/test_report/pytest_internal_error.txt +0 -0
  487. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/fixtures/test_report/pytest_mixed_failures.txt +0 -0
  488. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/fixtures/test_report/pytest_no_parseable_failures.txt +0 -0
  489. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_acceptance.py +0 -0
  490. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_acceptance_drivers.py +0 -0
  491. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_agent.py +0 -0
  492. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_agent_api_error.py +0 -0
  493. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_agent_app.py +0 -0
  494. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_agent_branch_base.py +0 -0
  495. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_agent_branch_capture.py +0 -0
  496. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_agent_config_free_1712.py +0 -0
  497. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_agent_deploy_units_endpoint.py +0 -0
  498. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_agent_dirty_worktree.py +0 -0
  499. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_agent_drive_queue_reconcile_2373.py +0 -0
  500. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_agent_graph_refresh.py +0 -0
  501. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_agent_graph_self_heal.py +0 -0
  502. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_agent_health_h3.py +0 -0
  503. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_agent_idle_restart.py +0 -0
  504. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_agent_push_failure.py +0 -0
  505. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_agent_reap.py +0 -0
  506. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_agent_repos_and_pull.py +0 -0
  507. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_agent_restart_services_endpoint.py +0 -0
  508. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_agent_skills_self_heal.py +0 -0
  509. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_agent_startup_diagnostics.py +0 -0
  510. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_agent_update.py +0 -0
  511. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_agent_update_bluegreen.py +0 -0
  512. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_agent_usage_limit.py +0 -0
  513. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_agent_zero_commit.py +0 -0
  514. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_ambient_home_isolation.py +0 -0
  515. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_app_drive.py +0 -0
  516. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_approve_capability_reroute_3241.py +0 -0
  517. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_approve_dependency_busy_2804.py +0 -0
  518. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_approve_reject_plan.py +0 -0
  519. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_approve_usage_gate.py +0 -0
  520. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_approved_work_2532.py +0 -0
  521. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_approved_work_2996.py +0 -0
  522. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_assignment_already_recorded_daemon.py +0 -0
  523. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_audit_log.py +0 -0
  524. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_audit_outcome.py +0 -0
  525. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_audit_query.py +0 -0
  526. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_auto_loop.py +0 -0
  527. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_auto_release_publish_2035.py +0 -0
  528. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_backend_selection.py +0 -0
  529. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_backup.py +0 -0
  530. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_base_checkout_restore.py +0 -0
  531. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_block_log.py +0 -0
  532. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_board_cap_762.py +0 -0
  533. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_board_fixture.py +0 -0
  534. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_board_nightly_status.py +0 -0
  535. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_board_read_path.py +0 -0
  536. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_board_schema.py +0 -0
  537. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_board_service.py +0 -0
  538. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_board_state.py +0 -0
  539. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_board_wire.py +0 -0
  540. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_brain.py +0 -0
  541. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_branch_model.py +0 -0
  542. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_briefing_lessons.py +0 -0
  543. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_bug_intake.py +0 -0
  544. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_bugbash.py +0 -0
  545. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_build_worker_image_env_update.py +0 -0
  546. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cargo_cache.py +0 -0
  547. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_check_gh_argv_containment.py +0 -0
  548. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_ci_acceptance_gate_1950.py +0 -0
  549. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_ci_fix.py +0 -0
  550. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_ci_github.py +0 -0
  551. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_ci_gitlab.py +0 -0
  552. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_ci_parity_2091.py +0 -0
  553. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_ci_store.py +0 -0
  554. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_claim.py +0 -0
  555. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_claude_md_budget.py +0 -0
  556. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_claude_setup_token.py +0 -0
  557. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_acceptance.py +0 -0
  558. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_assign.py +0 -0
  559. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_assign_interactive_oracle_gate.py +0 -0
  560. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_assign_interactive_remote.py +0 -0
  561. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_assign_provider.py +0 -0
  562. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_assign_repo_drift_2219.py +0 -0
  563. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_audit.py +0 -0
  564. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_chat_continue.py +0 -0
  565. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_ci.py +0 -0
  566. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_codegen.py +0 -0
  567. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_decide.py +0 -0
  568. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_diagnose_capability_rules.py +0 -0
  569. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_diagnose_config_provenance.py +0 -0
  570. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_diagnose_forge_availability.py +0 -0
  571. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_diagnose_graph.py +0 -0
  572. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_diagnose_self.py +0 -0
  573. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_diagnose_test_coverage.py +0 -0
  574. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_doctor.py +0 -0
  575. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_doctor_config_free_1801.py +0 -0
  576. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_doctor_config_mismatch_1712.py +0 -0
  577. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_doctor_store_backend_3084.py +0 -0
  578. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_drive.py +0 -0
  579. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_escalate.py +0 -0
  580. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_fix_headless_review.py +0 -0
  581. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_gate_a.py +0 -0
  582. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_inject_board_less.py +0 -0
  583. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_install_drift.py +0 -0
  584. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_install_skills.py +0 -0
  585. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_issue_close_wrong_repo.py +0 -0
  586. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_issue_comment.py +0 -0
  587. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_issue_create_label.py +0 -0
  588. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_issue_reopen.py +0 -0
  589. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_issue_view_list.py +0 -0
  590. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_issues.py +0 -0
  591. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_merge.py +0 -0
  592. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_milestone_assign.py +0 -0
  593. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_milestone_capture.py +0 -0
  594. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_milestone_chat_add_child.py +0 -0
  595. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_milestone_dispatch.py +0 -0
  596. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_milestone_gate_b.py +0 -0
  597. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_milestone_gate_c.py +0 -0
  598. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_milestone_order.py +0 -0
  599. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_milestone_remove_and_issue_close.py +0 -0
  600. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_milestone_ship.py +0 -0
  601. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_network.py +0 -0
  602. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_new_issue_chat.py +0 -0
  603. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_plans.py +0 -0
  604. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_portal.py +0 -0
  605. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_pr.py +0 -0
  606. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_pull_artifact.py +0 -0
  607. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_queue.py +0 -0
  608. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_reattach_sessions.py +0 -0
  609. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_refine_board.py +0 -0
  610. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_release_preflight.py +0 -0
  611. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_release_propagate.py +0 -0
  612. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_release_window.py +0 -0
  613. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_repo_2220.py +0 -0
  614. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_review_test_author_tracking_epic_2639.py +0 -0
  615. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_scorecard.py +0 -0
  616. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_serve_store_backend_3084.py +0 -0
  617. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_set_review_findings.py +0 -0
  618. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_smoke_nightly.py +0 -0
  619. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_smoke_nightly_sweep.py +0 -0
  620. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_status_advisory_terminal.py +0 -0
  621. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_status_contested_tag.py +0 -0
  622. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_status_invariant_alarms.py +0 -0
  623. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_status_machine_fault.py +0 -0
  624. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_status_merge_queue.py +0 -0
  625. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_status_nightly.py +0 -0
  626. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_status_provider.py +0 -0
  627. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_status_retried_3340.py +0 -0
  628. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_status_review_finalizing.py +0 -0
  629. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_status_supervisor_3366.py +0 -0
  630. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_status_test_failed_tag.py +0 -0
  631. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_status_usage_limit.py +0 -0
  632. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_sync_comments_873.py +0 -0
  633. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_test_plan.py +0 -0
  634. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_track.py +0 -0
  635. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_tui_update.py +0 -0
  636. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cli_wait.py +0 -0
  637. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_client.py +0 -0
  638. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_client_base_install.py +0 -0
  639. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_client_config_cache_atomic_3052.py +0 -0
  640. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_client_resource_migration_1946.py +0 -0
  641. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_commands_common.py +0 -0
  642. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_comment_cruft.py +0 -0
  643. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_comments.py +0 -0
  644. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_completion_summary.py +0 -0
  645. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_config.py +0 -0
  646. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_config_acceptance.py +0 -0
  647. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_config_audit.py +0 -0
  648. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_config_drift_check.py +0 -0
  649. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_config_effective.py +0 -0
  650. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_config_prereview_gate.py +0 -0
  651. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_config_pricing.py +0 -0
  652. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_config_snapshot_noncanonical_2208.py +0 -0
  653. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_config_usage_gate.py +0 -0
  654. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_confirm_test.py +0 -0
  655. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_conflict_fix.py +0 -0
  656. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_conflict_fix_semantic.py +0 -0
  657. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_coord_log_daemon_fallback_2547.py +0 -0
  658. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_coord_test.py +0 -0
  659. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_coord_test_runner_acceptance_toolchain_2936.py +0 -0
  660. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_coord_test_runner_baseline.py +0 -0
  661. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_coord_test_runner_populated_home.py +0 -0
  662. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_coord_test_runner_routing.py +0 -0
  663. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_coord_test_runner_toolchain.py +0 -0
  664. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_coord_uat.py +0 -0
  665. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_coord_web_sse_restart_live.py +0 -0
  666. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_coordinator_machine.py +0 -0
  667. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_cross_platform_imports.py +0 -0
  668. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_dao.py +0 -0
  669. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_dashboard.py +0 -0
  670. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_dashboard_api.py +0 -0
  671. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_dashboard_fixture.py +0 -0
  672. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_dashboard_reports.py +0 -0
  673. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_dashboard_server.py +0 -0
  674. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_dashboard_terminal.py +0 -0
  675. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_dashboard_terminal_live.py +0 -0
  676. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_db.py +0 -0
  677. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_dead_end.py +0 -0
  678. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_decomposition_chat.py +0 -0
  679. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_deploy_coord_db_backup.py +0 -0
  680. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_deploy_coord_web_dist.py +0 -0
  681. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_deploy_coord_web_rollback.py +0 -0
  682. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_deploy_db_backup_unit.py +0 -0
  683. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_deploy_drive_queue_unit.py +0 -0
  684. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_deploy_failure_notify_unit.py +0 -0
  685. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_deploy_manifest.py +0 -0
  686. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_deploy_notify_unit.py +0 -0
  687. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_deploy_units_lane.py +0 -0
  688. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_deploy_web_unit.py +0 -0
  689. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_deprecation_telemetry.py +0 -0
  690. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_deps.py +0 -0
  691. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_diagnose.py +0 -0
  692. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_dirlink.py +0 -0
  693. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_dispatch.py +0 -0
  694. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_dispatch_liveness.py +0 -0
  695. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_dispatch_target_validation.py +0 -0
  696. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_dispatch_workers.py +0 -0
  697. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_dist_name.py +0 -0
  698. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_done_housekeeping.py +0 -0
  699. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_dr_azure_scripts.py +0 -0
  700. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_dr_promote.py +0 -0
  701. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_dr_verify.py +0 -0
  702. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_drive.py +0 -0
  703. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_drive_machine_fault.py +0 -0
  704. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_drive_queue.py +0 -0
  705. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_drive_queue_blocked_rendering.py +0 -0
  706. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_drive_queue_launch_argv.py +0 -0
  707. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_drive_queue_max_parallel_config.py +0 -0
  708. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_drive_queue_max_parallel_per_repo_config.py +0 -0
  709. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_drive_queue_roll_pending.py +0 -0
  710. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_drive_queue_self_cordon_escalation.py +0 -0
  711. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_drive_sessions_snapshot.py +0 -0
  712. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_drive_state.py +0 -0
  713. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_drive_tmux.py +0 -0
  714. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_epic_up_capability_detection.py +0 -0
  715. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_epic_up_down_symlinked_config_1887.py +0 -0
  716. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_epic_up_image_provenance.py +0 -0
  717. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_errors.py +0 -0
  718. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_events.py +0 -0
  719. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_failure_class.py +0 -0
  720. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_failure_classifier.py +0 -0
  721. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_filelock.py +0 -0
  722. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_finalize_interactive_exit_test_verdict.py +0 -0
  723. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_fix_escalation_classifier.py +0 -0
  724. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_fix_of_force_override.py +0 -0
  725. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_fleet_config_health.py +0 -0
  726. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_fleet_health_probes.py +0 -0
  727. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_fleet_health_snapshot.py +0 -0
  728. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_fleet_watchdog.py +0 -0
  729. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_forge_availability.py +0 -0
  730. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_freshness.py +0 -0
  731. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_gate_a.py +0 -0
  732. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_gate_b.py +0 -0
  733. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_gate_snapshot_staleness.py +0 -0
  734. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_gates.py +0 -0
  735. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_gather_fleet_tmux_sessions.py +0 -0
  736. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_gen_mock_index.py +0 -0
  737. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_generated_rust_fixture.py +0 -0
  738. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_generated_rust_requests.py +0 -0
  739. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_generated_types_fixture.py +0 -0
  740. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_github_ops.py +0 -0
  741. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_github_throttle.py +0 -0
  742. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_goal.py +0 -0
  743. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_graph_health.py +0 -0
  744. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_graph_selfheal_absent_2237.py +0 -0
  745. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_gtk_native_driver.py +0 -0
  746. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_handoff.py +0 -0
  747. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_health_checks.py +0 -0
  748. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_health_cli.py +0 -0
  749. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_health_cli_graph.py +0 -0
  750. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_health_config.py +0 -0
  751. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_health_context.py +0 -0
  752. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_health_coord_tui_ci_pin.py +0 -0
  753. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_health_coord_web_ci_pin.py +0 -0
  754. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_health_deploy_lane_facts.py +0 -0
  755. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_health_fix.py +0 -0
  756. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_health_incident_regression.py +0 -0
  757. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_health_issues_sync_staleness.py +0 -0
  758. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_health_pr_churn.py +0 -0
  759. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_health_pypi.py +0 -0
  760. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_health_registry.py +0 -0
  761. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_health_release_cordon_probe.py +0 -0
  762. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_health_timer_active.py +0 -0
  763. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_health_toolchain.py +0 -0
  764. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_health_unit_drift.py +0 -0
  765. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_health_unit_enablement.py +0 -0
  766. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_health_wedged_drive_queue.py +0 -0
  767. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_hooks.py +0 -0
  768. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_housekeeping.py +0 -0
  769. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_human_attended_437.py +0 -0
  770. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_init.py +0 -0
  771. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_install_agent_capabilities_3515.py +0 -0
  772. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_install_agent_venv_2911.py +0 -0
  773. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_install_agent_wsl_bridge_3515.py +0 -0
  774. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_integration.py +0 -0
  775. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_interactive.py +0 -0
  776. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_interactive_briefing_echo.py +0 -0
  777. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_interactive_pane_log_2541.py +0 -0
  778. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_interactive_prefill_state.py +0 -0
  779. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_interactive_session_relaunch.py +0 -0
  780. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_interactive_test_verdict_backstop.py +0 -0
  781. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_interactive_token_attribution.py +0 -0
  782. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_interactive_worktree.py +0 -0
  783. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_invariant_alarms.py +0 -0
  784. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_issue_store_seam.py +0 -0
  785. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_issues_sync_status.py +0 -0
  786. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_key_spec.py +0 -0
  787. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_liveness_auditor.py +0 -0
  788. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_liveness_notify.py +0 -0
  789. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_lock_contention_ratchet.py +0 -0
  790. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_mac_native_driver.py +0 -0
  791. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_machine_fault.py +0 -0
  792. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_machine_metrics.py +0 -0
  793. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_machine_onboard.py +0 -0
  794. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_machine_pause.py +0 -0
  795. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_machine_stats.py +0 -0
  796. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_merge_queue.py +0 -0
  797. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_merge_verification.py +0 -0
  798. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_merge_verify.py +0 -0
  799. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_milestone_chat.py +0 -0
  800. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_milestone_dispatch.py +0 -0
  801. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_milestone_gate.py +0 -0
  802. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_milestone_order.py +0 -0
  803. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_milestone_seam.py +0 -0
  804. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_mock_author.py +0 -0
  805. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_model_tiering.py +0 -0
  806. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_models.py +0 -0
  807. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_models_config_labels.py +0 -0
  808. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_models_pinned_1650.py +0 -0
  809. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_native_fs_wait.py +0 -0
  810. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_native_pixels.py +0 -0
  811. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_needs_attention.py +0 -0
  812. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_network.py +0 -0
  813. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_new_issue_chat.py +0 -0
  814. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_next_release_tag.py +0 -0
  815. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_nightly_runner.py +0 -0
  816. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_nightly_smoke.py +0 -0
  817. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_nightly_status.py +0 -0
  818. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_nightly_store.py +0 -0
  819. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_no_eligible_host_3600.py +0 -0
  820. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_node_shim.py +0 -0
  821. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_notifier_baseline.py +0 -0
  822. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_notifier_config.py +0 -0
  823. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_notifier_drive_seam.py +0 -0
  824. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_notifier_isolation.py +0 -0
  825. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_notifier_predicate.py +0 -0
  826. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_notifier_quiet_hours.py +0 -0
  827. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_notifier_service.py +0 -0
  828. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_notify.py +0 -0
  829. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_notify_drain.py +0 -0
  830. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_openapi.py +0 -0
  831. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_operational_defaults.py +0 -0
  832. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_overlap_fence.py +0 -0
  833. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_overlap_predict.py +0 -0
  834. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_packaged_deploy_units.py +0 -0
  835. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_parentage.py +0 -0
  836. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_paste_landed.py +0 -0
  837. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_phantom_heal_venv_independence_2570.py +0 -0
  838. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_pipeline.py +0 -0
  839. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_plain_runner_smoke_3673.py +0 -0
  840. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_plan_followup_approve_plan_command.py +0 -0
  841. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_plan_followup_pr_command.py +0 -0
  842. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_plan_followup_review_command.py +0 -0
  843. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_plan_only.py +0 -0
  844. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_plan_parser.py +0 -0
  845. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_platform_paths.py +0 -0
  846. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_portal_bridge.py +0 -0
  847. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_portal_config.py +0 -0
  848. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_portal_store.py +0 -0
  849. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_portal_sync.py +0 -0
  850. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_pr_body_lint.py +0 -0
  851. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_prereqs.py +0 -0
  852. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_prereview_gate.py +0 -0
  853. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_production_db_guard.py +0 -0
  854. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_progress.py +0 -0
  855. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_provider_seam.py +0 -0
  856. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_providers.py +0 -0
  857. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_providers_config_labels.py +0 -0
  858. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_providers_pty.py +0 -0
  859. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_provision_core.py +0 -0
  860. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_provision_machine.py +0 -0
  861. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_py_rust_mirror_inventory.py +0 -0
  862. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_quiet_hours.py +0 -0
  863. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_quiet_hours_store_2146.py +0 -0
  864. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_reap_merged_sessions.py +0 -0
  865. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_reap_stale_interactive_tick.py +0 -0
  866. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_reconcile.py +0 -0
  867. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_reconcile_branch.py +0 -0
  868. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_reconcile_completions.py +0 -0
  869. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_reconcile_late_agent_reports_2547.py +0 -0
  870. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_reconcile_merges.py +0 -0
  871. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_reconcile_no_agent_record.py +0 -0
  872. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_reconcile_tick.py +0 -0
  873. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_reconcile_usage_limit_done.py +0 -0
  874. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_refine_chat.py +0 -0
  875. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_release_cordon_2101.py +0 -0
  876. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_release_cordon_daemon_leads_2176.py +0 -0
  877. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_release_cordon_deadlock_2240.py +0 -0
  878. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_release_cordon_drain_stall_3336.py +0 -0
  879. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_release_cordon_stuck_2490.py +0 -0
  880. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_release_gate.py +0 -0
  881. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_release_propagate.py +0 -0
  882. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_release_propagate_threshold.py +0 -0
  883. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_release_roll_between_legs_2854.py +0 -0
  884. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_release_roll_window_handoff.py +0 -0
  885. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_release_unified_1242.py +0 -0
  886. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_release_verify.py +0 -0
  887. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_release_window.py +0 -0
  888. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_remote_auto_prune.py +0 -0
  889. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_remote_interactive_reaper.py +0 -0
  890. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_repo_add.py +0 -0
  891. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_repo_dormancy.py +0 -0
  892. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_repo_edit_2220.py +0 -0
  893. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_repo_graph_fleet_2237.py +0 -0
  894. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_repo_max_parallel_3423.py +0 -0
  895. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_repo_onboard_2220.py +0 -0
  896. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_report_public_export.py +0 -0
  897. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_report_result_push.py +0 -0
  898. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_reports.py +0 -0
  899. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_restart_cmd.py +0 -0
  900. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_retry.py +0 -0
  901. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_retry_advisory_1606.py +0 -0
  902. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_retry_escalation_classify_3360.py +0 -0
  903. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_retry_type_1636.py +0 -0
  904. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_revalidate.py +0 -0
  905. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_review.py +0 -0
  906. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_review_end_review_without_verdict.py +0 -0
  907. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_review_parse_failure_diagnostic.py +0 -0
  908. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_review_reaffirm.py +0 -0
  909. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_review_state.py +0 -0
  910. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_review_verdict_backstop.py +0 -0
  911. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_review_verdict_override_audit.py +0 -0
  912. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_review_verdict_relay.py +0 -0
  913. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_review_zero_commits.py +0 -0
  914. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_scoped_review_wiring.py +0 -0
  915. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_scorecard.py +0 -0
  916. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_self_health.py +0 -0
  917. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_serve.py +0 -0
  918. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_serve_app.py +0 -0
  919. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_serve_app_board_trim.py +0 -0
  920. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_serve_rest_routes.py +0 -0
  921. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_session.py +0 -0
  922. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_slice_issue_attribution.py +0 -0
  923. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_smoke.py +0 -0
  924. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_smoke_fanout_manifest_3333.py +0 -0
  925. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_smoke_live_checkout_restore.py +0 -0
  926. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_smoke_plain_runner_3673.py +0 -0
  927. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_smoke_workflow.py +0 -0
  928. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_spend_ceiling.py +0 -0
  929. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_spend_ceiling_coordinator.py +0 -0
  930. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_split.py +0 -0
  931. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_split_work.py +0 -0
  932. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_sql_dialect.py +0 -0
  933. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_sqlite_connect_ratchet.py +0 -0
  934. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_stage_projection.py +0 -0
  935. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_stale_busy_reviewer_697.py +0 -0
  936. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_stalled_pipeline.py +0 -0
  937. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_state.py +0 -0
  938. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_state_review_findings_daemon.py +0 -0
  939. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_status_fleet_footer.py +0 -0
  940. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_stop_1567.py +0 -0
  941. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_store_contract.py +0 -0
  942. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_store_migrate.py +0 -0
  943. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_stuck.py +0 -0
  944. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_stuck_test_state_watchdog_2803.py +0 -0
  945. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_terminal_command.py +0 -0
  946. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_test_author.py +0 -0
  947. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_test_chat.py +0 -0
  948. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_test_orchestrator.py +0 -0
  949. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_test_report.py +0 -0
  950. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_test_verdict_parsing.py +0 -0
  951. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_test_verdict_transcript_floor.py +0 -0
  952. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_text_io_encoding_audit.py +0 -0
  953. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_thin_client_board_audit.py +0 -0
  954. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_thin_client_config_load_1080.py +0 -0
  955. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_thin_client_daemon_routing_906.py +0 -0
  956. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_throwaway_vm.py +0 -0
  957. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_tmux_host.py +0 -0
  958. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_tmux_session.py +0 -0
  959. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_transcript_floor.py +0 -0
  960. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_tui_pty_driver.py +0 -0
  961. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_uat_checks.py +0 -0
  962. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_upstream_gaps.py +0 -0
  963. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_usage.py +0 -0
  964. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_usage_limits.py +0 -0
  965. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_usage_rollup.py +0 -0
  966. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_venv_live_install_2121.py +0 -0
  967. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_version_single_source.py +0 -0
  968. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_watch.py +0 -0
  969. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_win_native_bridge.py +0 -0
  970. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_win_native_driver.py +0 -0
  971. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_windows_job_is_a_real_gate_2000.py +0 -0
  972. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_worker_env_venv_isolation.py +0 -0
  973. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_worker_events.py +0 -0
  974. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_worker_image_pin_sync.py +0 -0
  975. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_worker_safety.py +0 -0
  976. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_worker_test_scoping.py +0 -0
  977. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_worktree.py +0 -0
  978. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_worktree_rmtree_chokepoint.py +0 -0
  979. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/tests/test_write_parity.py +0 -0
  980. {code_coordinator-0.5.648 → code_coordinator-0.5.650}/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.648
3
+ Version: 0.5.650
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.648
3
+ Version: 0.5.650
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,7 +1,7 @@
1
1
  {
2
- "tag": "0.5.648",
2
+ "tag": "0.5.650",
3
3
  "distance": 0,
4
- "node": "g24bda09de37c4892fe2faaad63b17e81bfcba919",
4
+ "node": "gf6c0cf969776e35085b65dc340c118b19733079d",
5
5
  "dirty": false,
6
6
  "branch": "HEAD",
7
7
  "node_date": "2026-10-18"
@@ -31,6 +31,7 @@ from __future__ import annotations
31
31
 
32
32
  import json as _json
33
33
  import logging
34
+ import re
34
35
  import socket
35
36
  import subprocess
36
37
  import time
@@ -95,7 +96,9 @@ from coord.drive_queue import (
95
96
  is_fix_round_ceiling_blocked,
96
97
  is_merge_gate_block_reason,
97
98
  is_permanent_block_reason,
99
+ is_policy_refusal_reason,
98
100
  is_pre_dispatch_block_reason,
101
+ is_premise_refusal_reason,
99
102
  is_test_stage_routing_dead_end_reason,
100
103
  is_unsatisfiable_prereq_reason,
101
104
  merge_gate_remedy_command,
@@ -2304,6 +2307,36 @@ def drive_queue_remove(repo: str, issue: int, config_path: Path) -> None:
2304
2307
  )
2305
2308
 
2306
2309
 
2310
+ #: Shapes an un-filled-in ``--reason`` template takes: an angle-bracketed
2311
+ #: prompt (``<describe why the premise now holds>``) or a bare ellipsis
2312
+ #: (``"..."``) — the two forms this repo's own remediation strings use.
2313
+ _TEMPLATED_REASON_RE = re.compile(r"<[^<>]*>|^[.…\s]+$")
2314
+
2315
+
2316
+ def _is_templated_reason(reason: str) -> bool:
2317
+ """True when *reason* is still a copy-pasted placeholder, not an assertion.
2318
+
2319
+ #3339's premise recheck is "a human's explicit, auditable assertion …
2320
+ its mere presence — never inferred, never re-derived" (`coord/drive.py`'s
2321
+ `decide()`), so the one thing `--reason` must never accept is the template
2322
+ text out of a remediation string. Several surfaces print that chain with a
2323
+ placeholder in it — `coord diagnose`'s `refused_premise` finding, the
2324
+ premise park reason, and the `proposed_command` on the #3719 refusal-park
2325
+ escalation, which `coord escalate run` executes blind with no confirmation
2326
+ prompt. Rejecting the placeholder is what makes such a blind run exit
2327
+ non-zero (so nothing is requeued and the escalation is not dismissed)
2328
+ instead of recording a fabricated assertion and dispatching paid work at
2329
+ a premise nobody rechecked.
2330
+
2331
+ The angle-bracket arm over-matches: a genuine reason that quotes a
2332
+ bracketed URL (`PR <https://…> landed`) is rejected too. That is the
2333
+ deliberate direction to err in — the rejection names the offending
2334
+ string and shows a usable example, so the cost is one retyped sentence,
2335
+ whereas the other direction records an assertion nobody made.
2336
+ """
2337
+ return bool(_TEMPLATED_REASON_RE.search(reason))
2338
+
2339
+
2307
2340
  @drive_queue_group.command("clear-refusal")
2308
2341
  @click.argument("repo")
2309
2342
  @click.argument("issue", type=int)
@@ -2336,6 +2369,13 @@ def drive_queue_clear_refusal(
2336
2369
  row that will actually tick. Re-scope the issue FIRST if the remaining
2337
2370
  work has changed — this command only unblocks dispatch, it does not
2338
2371
  touch the issue body.
2372
+
2373
+ `--reason` must be your own words. A still-templated placeholder — the
2374
+ `<...>`/`"..."` text the remediation chains printed by `coord diagnose`,
2375
+ the premise park reason and the #3719 refusal-park escalation all carry
2376
+ — is rejected, so running one of those chains verbatim (including blind,
2377
+ via `coord escalate run`) fails here rather than fabricating the
2378
+ assertion and redispatching paid work at an unverified premise.
2339
2379
  """
2340
2380
  from coord.drive_state import WORK_LIKE # noqa: PLC0415
2341
2381
  from coord.state import mark_premise_rechecked # noqa: PLC0415
@@ -2343,6 +2383,16 @@ def drive_queue_clear_refusal(
2343
2383
  reason = reason.strip()
2344
2384
  if not reason:
2345
2385
  raise click.ClickException("--reason must not be empty")
2386
+ if _is_templated_reason(reason):
2387
+ raise click.ClickException(
2388
+ f"--reason is still the placeholder text ({reason!r}) — it must be "
2389
+ "your own assertion of why the premise now holds (e.g. "
2390
+ '--reason "quadraui#971 landed, re-scoped to a pin move"). This '
2391
+ "is recorded as a human's explicit, auditable claim that the "
2392
+ "prerequisite exists now, and `coord drive` dispatches fresh "
2393
+ "paid work off its mere presence, so it is never inferred and "
2394
+ "never filled in from a template."
2395
+ )
2346
2396
 
2347
2397
  aid, status, _machine = _latest_work_assignment(repo, issue)
2348
2398
  if not aid:
@@ -6759,7 +6809,15 @@ def _apply_writes(plan: TickPlan) -> None:
6759
6809
  update_drive_queue_entry(parsed[0], parsed[1], **updates)
6760
6810
 
6761
6811
 
6762
- def _escalate(repo: str, issue: int, *, reason: str, gates: str, command: str) -> None:
6812
+ def _escalate(
6813
+ repo: str,
6814
+ issue: int,
6815
+ *,
6816
+ reason: str,
6817
+ gates: str,
6818
+ command: str,
6819
+ assignment_id: str | None = None,
6820
+ ) -> None:
6763
6821
  from coord.state import record_drive_escalation # noqa: PLC0415
6764
6822
 
6765
6823
  record_drive_escalation(
@@ -6769,6 +6827,7 @@ def _escalate(repo: str, issue: int, *, reason: str, gates: str, command: str) -
6769
6827
  reason=reason,
6770
6828
  gate_readings=gates,
6771
6829
  proposed_command=command,
6830
+ assignment_id=assignment_id,
6772
6831
  )
6773
6832
 
6774
6833
 
@@ -6801,6 +6860,77 @@ def _requeue_command(entry: QueueEntry | None, key: str) -> str:
6801
6860
  )
6802
6861
 
6803
6862
 
6863
+ def _refusal_park_escalation_command(
6864
+ entry: QueueEntry | None,
6865
+ key: str,
6866
+ reason: str,
6867
+ kind: str,
6868
+ *,
6869
+ config_path: Path | None = None,
6870
+ ) -> str:
6871
+ """The command a #3719 policy-/premise-refusal `parked` escalation
6872
+ proposes.
6873
+
6874
+ Both causes need a human DECISION first — retarget the issue (policy,
6875
+ #2234) or confirm the premise now holds (premise, #3164) — and neither
6876
+ decision is itself expressible as a blind CLI command: retargeting means
6877
+ rewriting the GitHub issue title by hand, and `clear-refusal` takes a
6878
+ free-text `--reason` only a human can write. `reason` (passed through
6879
+ verbatim as this escalation's own `reason=`) already states which
6880
+ decision is needed and why, so this only has to supply the mechanical
6881
+ half that runs once that decision is made.
6882
+
6883
+ A parked `refused_premise`/`refused_policy` row IS a completed
6884
+ Work-stage assignment (that is what those statuses mean), so it gets
6885
+ the mechanical half from `_blocked_escalation_command` — the same
6886
+ function every other parked/blocked escalation uses — instead of a
6887
+ bespoke requeue: #2377's open-PR check (never propose a blind requeue
6888
+ when an out-of-band PR already exists for this entry) and #3539's
6889
+ plain-`add` carve-out (a green PR missing only its recorded gates)
6890
+ both apply here as they do for any other parked entry. One corner is
6891
+ inherited from #3539's own design rather than chosen here: it reasons
6892
+ from `state.work_aid` being unset, which for a refusal park it is not,
6893
+ so on a premise refusal whose issue has acquired a green out-of-band PR
6894
+ the plain `add` restarts the Work stage over that PR rather than
6895
+ running only the missing stages forward.
6896
+
6897
+ For `kind == "premise"`, `coord drive`'s `decide()` reads the latest
6898
+ work assignment's own `work_status` column directly — independent of
6899
+ the drive-queue row or any PR — so ANY redispatch (the blind requeue
6900
+ OR the #3539 plain `add`) dies on the same refusal again unless
6901
+ `clear-refusal` first records that the premise now holds. Prepend
6902
+ that step whenever the delegated command would actually redispatch
6903
+ (still names `drive-queue add`); the inspect/merge-existing remedies
6904
+ propose no redispatch at all, so they need no such prefix. The policy
6905
+ case has no `clear-refusal` equivalent — #2234's refusal is cleared by
6906
+ retargeting the GitHub issue by hand, which a redispatch neither needs
6907
+ nor can bypass.
6908
+
6909
+ The `--reason` this emits is a PLACEHOLDER, and this field is executed
6910
+ blind: `coord escalate run` shells the whole string out with no
6911
+ confirmation prompt, and `coord/reports.py` offers it as the card's
6912
+ "Recommended" option. That is safe only because
6913
+ :func:`_is_templated_reason` makes `clear-refusal` reject the
6914
+ placeholder, so a one-key run fails on the FIRST step — nothing is
6915
+ requeued, no premise assertion is recorded, and `escalate run` reports
6916
+ the failure instead of dismissing the escalation as resolved. Keep the
6917
+ two in step: an edit here that produces a reason `clear-refusal` would
6918
+ accept turns this into a blind command that fabricates the one value
6919
+ #3339 says must never be inferred.
6920
+ """
6921
+ tail = _blocked_escalation_command(entry, key, reason, config_path=config_path)
6922
+ if kind != "premise" or "drive-queue add" not in tail:
6923
+ return tail
6924
+ parsed = parse_key(key)
6925
+ if parsed is None:
6926
+ return tail
6927
+ repo, issue = parsed
6928
+ return (
6929
+ f"coord drive-queue clear-refusal {repo} {issue} "
6930
+ f'--reason "<describe why the premise now holds>" && {tail}'
6931
+ )
6932
+
6933
+
6804
6934
  def _blocked_escalation_command(
6805
6935
  entry: QueueEntry | None,
6806
6936
  key: str,
@@ -7771,6 +7901,74 @@ def drive_queue_tick(
7771
7901
  command=merge_plan_inspect_command(parsed[0]),
7772
7902
  )
7773
7903
 
7904
+ # #3719: a `parked` entry whose park reason names a policy (#2234)
7905
+ # or premise (#3164) refusal never resumes on its own — see
7906
+ # `plan_tick`'s pre-pass above (`is_policy_refusal_reason`/
7907
+ # `is_premise_refusal_reason` both just `continue`, leaving the
7908
+ # entry parked rather than falling through to the CI-park auto-
7909
+ # resume) — so without this it sits invisible until an operator
7910
+ # happens to notice it in `coord drive-queue list`. Gate-A
7911
+ # (#2063), throttle-skip (#2977), `merge_ci_pending` (#1891), and
7912
+ # the issue-cache-stale (#2858) parks are deliberately NOT swept
7913
+ # here: all four are documented, by the same pre-pass, to clear
7914
+ # themselves with no human decision needed — exactly the
7915
+ # auto-resolvable half #3719 says must NOT be escalated.
7916
+ #
7917
+ # This fires once: `plan.reconciles` only carries a `"parked"`
7918
+ # entry for *this* key on the single tick `_reconcile_running`
7919
+ # first parks it (a running entry hitting the refusal) — every
7920
+ # later tick the entry stays parked, the pre-pass above `continue`s
7921
+ # without emitting a `Reconcile` for it at all, so there is no
7922
+ # repeat entry here to re-escalate on.
7923
+ for item in plan.reconciles:
7924
+ if item.outcome != "parked":
7925
+ continue
7926
+ if not (
7927
+ is_policy_refusal_reason(item.reason)
7928
+ or is_premise_refusal_reason(item.reason)
7929
+ ):
7930
+ continue
7931
+ parsed = parse_key(item.key)
7932
+ if parsed is None:
7933
+ continue
7934
+ entry = by_key.get(item.key)
7935
+ kind = "premise" if is_premise_refusal_reason(item.reason) else "policy"
7936
+ # Best-effort, matching `_record_checks_stale_escalation`'s own
7937
+ # posture: the write above (`_apply_writes(plan)`) already
7938
+ # landed, so a failure recording the escalation itself must not
7939
+ # turn an otherwise-successful tick into a reported CLI failure.
7940
+ # The stdout line is the floor, and here it is load-bearing: the
7941
+ # sweep fires once per park, so a failure anywhere in this block
7942
+ # (including inside `_refusal_park_escalation_command`, which
7943
+ # reaches `gh` for #2377's open-PR check) loses this entry's ONLY
7944
+ # escalation permanently — it must at least leave a trace.
7945
+ try:
7946
+ aid, _status, _machine = _latest_work_assignment(
7947
+ parsed[0], parsed[1]
7948
+ )
7949
+ _escalate(
7950
+ parsed[0],
7951
+ parsed[1],
7952
+ reason=item.reason,
7953
+ gates=(
7954
+ f"queue_state=parked | refusal={kind} | position="
7955
+ f"{entry.position if entry else '?'}"
7956
+ ),
7957
+ command=_refusal_park_escalation_command(
7958
+ entry,
7959
+ item.key,
7960
+ item.reason,
7961
+ kind,
7962
+ config_path=config_path,
7963
+ ),
7964
+ assignment_id=aid or None,
7965
+ )
7966
+ except Exception as exc: # noqa: BLE001 — the stdout line is the floor
7967
+ click.echo(
7968
+ f" (could not record the {kind}-refusal park escalation "
7969
+ f"for {item.key}: {exc})"
7970
+ )
7971
+
7774
7972
  # #3695 review finding 1: `_apply_writes(plan)` above only ever
7775
7973
  # touches `_DRIVE_QUEUE_UPDATABLE` columns on the DRIVE QUEUE row
7776
7974
  # itself (`update_drive_queue_entry`) — it has no way to reach the
@@ -1376,6 +1376,16 @@ QUEUE_ALERT_REPO = "(drive-queue)"
1376
1376
  QUEUE_ALERT_ISSUE = 0
1377
1377
  QUEUE_ALERT_STAGE = "drive-queue"
1378
1378
 
1379
+ #: #3720: the sentinel ``QueueAlert.command`` value meaning "no one-key
1380
+ #: remedy exists — there is nothing for a human to run." The step-4 "nothing
1381
+ #: eligible to launch" alert below is the only `QueueAlert` that omits
1382
+ #: ``command``, so it is the only one that carries this value; the notifier
1383
+ #: (`coord/notifier/collect.py`'s `halted_drives`) matches on it to tell that
1384
+ #: routine, self-healing condition apart from a genuine hold/cordon/drift
1385
+ #: escalation (each of which names its own real fix) without a DB schema
1386
+ #: change — `coord drive-queue status` still reads the record unchanged.
1387
+ QUEUE_ALERT_NO_REMEDY_COMMAND = "coord drive-queue list"
1388
+
1379
1389
  #: #3413: a DISPLAY hint only — production's `coord-drive-queue.timer` fires
1380
1390
  #: every 3 minutes (`OnUnitActiveSec=3min`, `deploy/coord-drive-queue.timer`),
1381
1391
  #: not a value this module reads from the deployed unit (there is no seam to
@@ -2767,12 +2777,15 @@ class QueueAlert:
2767
2777
  ``command`` is the proposed fix written into the escalation record. It is
2768
2778
  carried here rather than derived in the shell so the alert's prose and its
2769
2779
  one-key remedy are decided together — a "HELD" alert whose command says
2770
- ``coord drive-queue list`` teaches the operator to ignore the field.
2780
+ ``coord drive-queue list`` teaches the operator to ignore the field. Left
2781
+ at its ``QUEUE_ALERT_NO_REMEDY_COMMAND`` default, it also doubles as the
2782
+ signal the notifier uses to tell a routine, self-healing alert (nothing
2783
+ names a real fix) apart from one that does.
2771
2784
  """
2772
2785
 
2773
2786
  reason: str
2774
2787
  details: tuple[str, ...] = ()
2775
- command: str = "coord drive-queue list"
2788
+ command: str = QUEUE_ALERT_NO_REMEDY_COMMAND
2776
2789
 
2777
2790
 
2778
2791
  @dataclass(frozen=True)
@@ -8463,6 +8476,23 @@ def plan_tick(
8463
8476
  if launch is None and stalled:
8464
8477
  details = [f"{item.key}: {item.reason}" for item in deferrals]
8465
8478
  details += [f"{item.key}: BLOCKED — {item.reason}" for item in blocked]
8479
+ # A tick where every stalled entry is a benign deferral has no
8480
+ # one-key remedy — nothing is wedged, the fleet is just busy, and the
8481
+ # next tick that finds capacity self-heals it — so `command` stays at
8482
+ # `QueueAlert`'s `QUEUE_ALERT_NO_REMEDY_COMMAND` default, which is
8483
+ # also the signal the notifier reads to treat the alert as routine.
8484
+ # The moment even one entry is genuinely `blocked`, though, there IS
8485
+ # a remedy (the same remove+add this module already surfaces for
8486
+ # #2944's guaranteed-false waits), so the alert must carry it
8487
+ # explicitly rather than let it fall through to the "nothing to do
8488
+ # here" sentinel — a gate's failure must still be able to page.
8489
+ command = QUEUE_ALERT_NO_REMEDY_COMMAND
8490
+ if blocked:
8491
+ command = (
8492
+ "coord drive-queue remove <repo> <issue> && "
8493
+ "coord drive-queue add <repo> <issue> — for each BLOCKED "
8494
+ "entry named above"
8495
+ )
8466
8496
  alert = QueueAlert(
8467
8497
  # "considered N" rather than "N waiting": some of those entries are
8468
8498
  # blocked by the time this line is written, and an alert that
@@ -8474,6 +8504,7 @@ def plan_tick(
8474
8504
  f"{capacity - occupied} free slot(s)"
8475
8505
  ),
8476
8506
  details=tuple(details),
8507
+ command=command,
8477
8508
  )
8478
8509
 
8479
8510
  return TickPlan(
@@ -271,7 +271,25 @@ def halted_drives(*, notifier_state: NotifierState, now: float) -> list[HaltedDr
271
271
  A ``drive_escalations`` row is exactly the condition this feature
272
272
  exists for: the drive reached a decision it cannot make, exited, and
273
273
  nothing will tick that issue again until a human looks.
274
+
275
+ One queue-level row is the exception: `plan_tick`'s step 4 writes a
276
+ "nothing eligible to launch" record on an ordinary quiet tick whenever
277
+ every stalled entry is a benign deferral rather than an actual block —
278
+ self-healing (the next tick that finds something to launch clears it)
279
+ and carrying no real fix, which is exactly why its ``proposed_command``
280
+ is left at ``QUEUE_ALERT_NO_REMEDY_COMMAND`` instead of naming one (see
281
+ that constant). `coord drive-queue status` still shows it on request;
282
+ this function just stops it from becoming a push. A queue-level alert
283
+ that DOES carry a real ``proposed_command`` (because step 4 found at
284
+ least one genuinely blocked entry) is never a sentinel match here, so it
285
+ pages like any other halted drive.
274
286
  """
287
+ from coord.drive_queue import ( # noqa: PLC0415
288
+ QUEUE_ALERT_ISSUE,
289
+ QUEUE_ALERT_NO_REMEDY_COMMAND,
290
+ QUEUE_ALERT_REPO,
291
+ )
292
+
275
293
  try:
276
294
  from coord.state import list_drive_escalations # noqa: PLC0415
277
295
 
@@ -288,6 +306,13 @@ def halted_drives(*, notifier_state: NotifierState, now: float) -> list[HaltedDr
288
306
  issue = int(record.get("issue_number"))
289
307
  except (TypeError, ValueError):
290
308
  continue
309
+ command = str(record.get("proposed_command") or "").strip()
310
+ if (
311
+ repo == QUEUE_ALERT_REPO
312
+ and issue == QUEUE_ALERT_ISSUE
313
+ and command == QUEUE_ALERT_NO_REMEDY_COMMAND
314
+ ):
315
+ continue
291
316
  stage = str(record.get("stage") or "").strip()
292
317
  reason = str(record.get("reason") or "").strip()
293
318
  out.append(
@@ -296,6 +321,7 @@ def halted_drives(*, notifier_state: NotifierState, now: float) -> list[HaltedDr
296
321
  issue=issue,
297
322
  reason=f"{stage + ': ' if stage else ''}{reason}".strip(),
298
323
  urgent=urgent_key(repo, issue) in urgent,
324
+ proposed_command=command or None,
299
325
  )
300
326
  )
301
327
  return out
@@ -124,6 +124,7 @@ class HaltedDrive:
124
124
  reason: str = ""
125
125
  exit_code: int | None = None
126
126
  urgent: bool = False
127
+ proposed_command: str | None = None
127
128
 
128
129
 
129
130
  @dataclass(frozen=True)
@@ -361,20 +362,25 @@ def _parked_event(gate: ParkedGate, snapshot: PipelineSnapshot) -> NotifyEvent:
361
362
 
362
363
  def _halted_event(drive: HaltedDrive, snapshot: PipelineSnapshot) -> NotifyEvent:
363
364
  where = f"{drive.repo}#{drive.issue}"
365
+ command = (drive.proposed_command or "").strip() or None
366
+ body = f"The drive reached a terminal state and will not tick again. {drive.reason.strip()}".strip()
367
+ if command:
368
+ body = f"{body} Fix: {command}"
364
369
  return NotifyEvent(
365
370
  subject=f"drive:{where}",
366
371
  condition=CONDITION_DRIVE_HALTED,
367
372
  title=f"{where} — {CONDITION_LABELS[CONDITION_DRIVE_HALTED]}",
368
- body=(
369
- f"The drive reached a terminal state and will not tick again. "
370
- f"{drive.reason.strip()}".strip()
371
- ),
373
+ body=body,
372
374
  created_at=snapshot.now,
373
375
  repo=drive.repo,
374
376
  issue=drive.issue,
375
377
  urgent=drive.urgent,
376
378
  link=deep_link(snapshot.web_base_url, drive.repo, drive.issue),
377
- detail={"reason": drive.reason, "exit_code": drive.exit_code},
379
+ detail={
380
+ "reason": drive.reason,
381
+ "exit_code": drive.exit_code,
382
+ "proposed_command": command,
383
+ },
378
384
  )
379
385
 
380
386