code-coordinator 0.5.753__tar.gz → 0.5.755__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 (1005) hide show
  1. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/CLAUDE.md +3 -1
  2. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/PKG-INFO +1 -1
  3. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/code_coordinator.egg-info/PKG-INFO +1 -1
  4. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/code_coordinator.egg-info/scm_version.json +2 -2
  5. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/agent.py +15 -1
  6. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/claim.py +1 -1
  7. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/drive_queue.py +74 -0
  8. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/decomposition_chat.py +40 -6
  9. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/dispatch.py +12 -1
  10. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/drive_queue.py +76 -0
  11. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/gates.py +16 -1
  12. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/notify.py +26 -0
  13. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/stage_projection.py +13 -0
  14. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_push_failure.py +56 -0
  15. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_claim.py +33 -5
  16. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_drive_queue.py +209 -0
  17. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_decomposition_chat.py +41 -0
  18. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dispatch.py +26 -4
  19. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_drive_queue.py +81 -0
  20. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_gates.py +32 -0
  21. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_notify.py +34 -0
  22. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_stage_projection.py +22 -0
  23. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/.claude/commands/board.md +0 -0
  24. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/.claude/commands/complete-session.md +0 -0
  25. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/.claude/commands/coordinator.md +0 -0
  26. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/.githooks/_lib.sh +0 -0
  27. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/.githooks/post-checkout +0 -0
  28. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/.githooks/post-commit +0 -0
  29. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/.githooks/post-merge +0 -0
  30. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  31. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/.github/coord-ci-acceptance.yml +0 -0
  32. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/.github/workflows/auto-release.yml +0 -0
  33. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/.github/workflows/publish.yml +0 -0
  34. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/.github/workflows/test.yml +0 -0
  35. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/.gitignore +0 -0
  36. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/GOAL.md +0 -0
  37. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/LICENSE +0 -0
  38. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/MANIFEST.in +0 -0
  39. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/README.md +0 -0
  40. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/code_coordinator.egg-info/SOURCES.txt +0 -0
  41. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/code_coordinator.egg-info/dependency_links.txt +0 -0
  42. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/code_coordinator.egg-info/entry_points.txt +0 -0
  43. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/code_coordinator.egg-info/requires.txt +0 -0
  44. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/code_coordinator.egg-info/scm_file_list.json +0 -0
  45. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/code_coordinator.egg-info/top_level.txt +0 -0
  46. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/__init__.py +0 -0
  47. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/_board_mapping.py +0 -0
  48. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/acceptance.py +0 -0
  49. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/acceptance_drivers.py +0 -0
  50. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/agent_app.py +0 -0
  51. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/agent_update.py +0 -0
  52. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/agents/opencode/.gitignore +0 -0
  53. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/agents/opencode/agents/work.md +0 -0
  54. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/agents/opencode/routing.jsonc +0 -0
  55. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/app_drive.py +0 -0
  56. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/app_drive_daemon.py +0 -0
  57. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/approved_work.py +0 -0
  58. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/audit.py +0 -0
  59. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/auto_loop.py +0 -0
  60. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/backup.py +0 -0
  61. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/block_log.py +0 -0
  62. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/board_doctor.py +0 -0
  63. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/board_doctor_followthrough.py +0 -0
  64. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/board_doctor_permissions.py +0 -0
  65. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/board_doctor_policy.py +0 -0
  66. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/board_schema.py +0 -0
  67. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/board_service.py +0 -0
  68. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/board_wire.py +0 -0
  69. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/brain.py +0 -0
  70. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/branch_model.py +0 -0
  71. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/briefing_lessons.py +0 -0
  72. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/bug_intake.py +0 -0
  73. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/bugbash.py +0 -0
  74. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/cargo_cache.py +0 -0
  75. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/ci_fix.py +0 -0
  76. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/ci_github.py +0 -0
  77. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/ci_gitlab.py +0 -0
  78. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/ci_store.py +0 -0
  79. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/claude_setup_token.py +0 -0
  80. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/cli.py +0 -0
  81. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/client.py +0 -0
  82. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/codegen.py +0 -0
  83. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/__init__.py +0 -0
  84. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/_common.py +0 -0
  85. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/acceptance.py +0 -0
  86. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/agent_ops.py +0 -0
  87. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/app_drive.py +0 -0
  88. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/audit.py +0 -0
  89. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/backup.py +0 -0
  90. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/bugbash.py +0 -0
  91. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/chat.py +0 -0
  92. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/ci.py +0 -0
  93. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/codegen.py +0 -0
  94. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/dispatch.py +0 -0
  95. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/dispatch_workers.py +0 -0
  96. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/dr.py +0 -0
  97. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/drive.py +0 -0
  98. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/gate_a.py +0 -0
  99. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/gates.py +0 -0
  100. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/issues.py +0 -0
  101. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/lifecycle.py +0 -0
  102. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/machine.py +0 -0
  103. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/merge.py +0 -0
  104. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/milestone.py +0 -0
  105. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/plan_followup.py +0 -0
  106. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/plans.py +0 -0
  107. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/portal.py +0 -0
  108. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/pr.py +0 -0
  109. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/release.py +0 -0
  110. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/repo.py +0 -0
  111. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/report.py +0 -0
  112. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/review.py +0 -0
  113. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/scorecard.py +0 -0
  114. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/sessions.py +0 -0
  115. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/setup.py +0 -0
  116. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/smoke.py +0 -0
  117. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/status.py +0 -0
  118. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/store_migrate.py +0 -0
  119. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/terminal.py +0 -0
  120. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/test_gate.py +0 -0
  121. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/tui.py +0 -0
  122. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/comments.py +0 -0
  123. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/config.py +0 -0
  124. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/config_reload.py +0 -0
  125. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/confirm_test.py +0 -0
  126. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/conflict_fix.py +0 -0
  127. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/dao.py +0 -0
  128. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/dashboard/__init__.py +0 -0
  129. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/dashboard/fixture.py +0 -0
  130. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/dashboard/index.html +0 -0
  131. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/dashboard/reports.html +0 -0
  132. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/dashboard/server.py +0 -0
  133. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/dashboard/terminal.py +0 -0
  134. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/db.py +0 -0
  135. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/dead_end.py +0 -0
  136. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/README.md +0 -0
  137. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-agent.service +0 -0
  138. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-backup.service +0 -0
  139. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-backup.timer +0 -0
  140. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-board-doctor.service +0 -0
  141. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-board-doctor.timer +0 -0
  142. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-db-backup.service +0 -0
  143. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-db-backup.sh +0 -0
  144. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-db-backup.timer +0 -0
  145. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-dr-verify.service +0 -0
  146. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-dr-verify.timer +0 -0
  147. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-drive-queue.service +0 -0
  148. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-drive-queue.timer +0 -0
  149. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-failure-notify.service +0 -0
  150. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-fleet-watchdog.service +0 -0
  151. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-fleet-watchdog.timer +0 -0
  152. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-nightly-smoke.service +0 -0
  153. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-nightly-smoke.timer +0 -0
  154. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-notify.service +0 -0
  155. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-notify.timer +0 -0
  156. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-release-propagate.service +0 -0
  157. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-release-propagate.timer +0 -0
  158. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-release-window.service +0 -0
  159. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-release-window.timer +0 -0
  160. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-serve.service +0 -0
  161. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-web-dist-build.service +0 -0
  162. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-web-dist-build.timer +0 -0
  163. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-web.service +0 -0
  164. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy_manifest.py +0 -0
  165. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy_units.py +0 -0
  166. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deprecation_telemetry.py +0 -0
  167. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deps.py +0 -0
  168. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/diagnose.py +0 -0
  169. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/dirlink.py +0 -0
  170. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/dispatch_liveness.py +0 -0
  171. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/dist_name.py +0 -0
  172. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/dr_promote.py +0 -0
  173. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/dr_verify.py +0 -0
  174. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/drive.py +0 -0
  175. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/drive_sessions_snapshot.py +0 -0
  176. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/drive_state.py +0 -0
  177. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/entry_truth.py +0 -0
  178. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/events.py +0 -0
  179. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/failure_class.py +0 -0
  180. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/failure_classifier.py +0 -0
  181. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/filelock.py +0 -0
  182. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/fleet_config_health.py +0 -0
  183. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/forge_availability.py +0 -0
  184. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/freshness.py +0 -0
  185. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/gate_a.py +0 -0
  186. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/gate_b.py +0 -0
  187. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/gate_snapshot.py +0 -0
  188. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/gen_board_fixture.py +0 -0
  189. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/github_ops.py +0 -0
  190. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/github_throttle.py +0 -0
  191. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/goal.py +0 -0
  192. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/graph_health.py +0 -0
  193. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/gtk_native_driver.py +0 -0
  194. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/__init__.py +0 -0
  195. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/aggregate.py +0 -0
  196. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/__init__.py +0 -0
  197. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/_ci_pin.py +0 -0
  198. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/agent_install.py +0 -0
  199. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/cargo_targets.py +0 -0
  200. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/claude_binary.py +0 -0
  201. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/config_drift.py +0 -0
  202. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/coord_tui_ci_pin.py +0 -0
  203. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/coord_web_ci_pin.py +0 -0
  204. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/deploy_lane_facts.py +0 -0
  205. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/disk.py +0 -0
  206. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/fleet_board.py +0 -0
  207. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/fleet_deploy_lanes.py +0 -0
  208. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/fleet_phantom.py +0 -0
  209. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/fleet_unit_drift.py +0 -0
  210. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/graph.py +0 -0
  211. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/graphify_cli.py +0 -0
  212. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/gui_lane_preflight.py +0 -0
  213. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/index_lock.py +0 -0
  214. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/issues_sync_staleness.py +0 -0
  215. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/local_machine_identity.py +0 -0
  216. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/plan_usage.py +0 -0
  217. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/pr_churn.py +0 -0
  218. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/release_cordon.py +0 -0
  219. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/repo_state.py +0 -0
  220. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/spawned_coord.py +0 -0
  221. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/stalled_pipeline.py +0 -0
  222. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/sustained_cpu.py +0 -0
  223. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/timer_active.py +0 -0
  224. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/toolchain.py +0 -0
  225. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/unit_drift.py +0 -0
  226. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/unit_enablement.py +0 -0
  227. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/wedged_drive_queue.py +0 -0
  228. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/worktrees.py +0 -0
  229. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/cli.py +0 -0
  230. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/context.py +0 -0
  231. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/fleet_snapshot.py +0 -0
  232. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/models.py +0 -0
  233. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/pypi.py +0 -0
  234. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/registry.py +0 -0
  235. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/render.py +0 -0
  236. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/units.py +0 -0
  237. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/hooks.py +0 -0
  238. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/housekeeping.py +0 -0
  239. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/interactive.py +0 -0
  240. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/invariant_alarms.py +0 -0
  241. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/issue_store.py +0 -0
  242. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/issues_sync_status.py +0 -0
  243. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/key_spec.py +0 -0
  244. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/liveness_auditor.py +0 -0
  245. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/mac_native_driver.py +0 -0
  246. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/machine_fault.py +0 -0
  247. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/machine_metrics.py +0 -0
  248. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/machine_onboard.py +0 -0
  249. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/machine_pause.py +0 -0
  250. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/machine_stats.py +0 -0
  251. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/merge_queue.py +0 -0
  252. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/milestone_chat.py +0 -0
  253. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/milestone_dispatch.py +0 -0
  254. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/milestone_gate.py +0 -0
  255. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/milestone_order.py +0 -0
  256. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/mock_author.py +0 -0
  257. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/models.py +0 -0
  258. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/native_fs_wait.py +0 -0
  259. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/native_pixels.py +0 -0
  260. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/network.py +0 -0
  261. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/new_issue_chat.py +0 -0
  262. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/nightly_runner.py +0 -0
  263. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/nightly_smoke.py +0 -0
  264. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/nightly_status.py +0 -0
  265. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/nightly_store.py +0 -0
  266. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/notifier/__init__.py +0 -0
  267. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/notifier/baseline.py +0 -0
  268. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/notifier/cli.py +0 -0
  269. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/notifier/collect.py +0 -0
  270. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/notifier/digest.py +0 -0
  271. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/notifier/models.py +0 -0
  272. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/notifier/predicate.py +0 -0
  273. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/notifier/service.py +0 -0
  274. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/notifier/store.py +0 -0
  275. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/notifier/transport.py +0 -0
  276. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/openapi.py +0 -0
  277. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/overlap_fence.py +0 -0
  278. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/overlap_predict.py +0 -0
  279. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/parentage.py +0 -0
  280. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/parentage_github.py +0 -0
  281. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/pipeline.py +0 -0
  282. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/plan_parser.py +0 -0
  283. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/plans.py +0 -0
  284. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/platform_paths.py +0 -0
  285. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/portal_bridge.py +0 -0
  286. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/portal_store.py +0 -0
  287. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/portal_sync.py +0 -0
  288. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/pr_body_lint.py +0 -0
  289. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/preflight_size.py +0 -0
  290. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/prereqs.py +0 -0
  291. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/prereview_gate.py +0 -0
  292. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/progress.py +0 -0
  293. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/providers/__init__.py +0 -0
  294. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/providers/base.py +0 -0
  295. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/providers/claude.py +0 -0
  296. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/providers/claude_pty.py +0 -0
  297. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/providers/opencode.py +0 -0
  298. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/queue_diagnose.py +0 -0
  299. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/reconcile.py +0 -0
  300. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/reconcile_tick.py +0 -0
  301. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/refine_chat.py +0 -0
  302. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/release_cordon.py +0 -0
  303. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/release_gate.py +0 -0
  304. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/release_propagate.py +0 -0
  305. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/release_verify.py +0 -0
  306. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/release_window.py +0 -0
  307. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/repo_dormancy.py +0 -0
  308. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/repo_edit.py +0 -0
  309. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/repo_onboard.py +0 -0
  310. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/reports.py +0 -0
  311. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/rest_schema.py +0 -0
  312. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/restart_cmd.py +0 -0
  313. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/revalidate.py +0 -0
  314. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/review.py +0 -0
  315. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/scorecard.py +0 -0
  316. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/self_health.py +0 -0
  317. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/serve_app.py +0 -0
  318. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/shell_exec_wrap.py +0 -0
  319. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/skills/coord-dispatch-verbs/SKILL.md +0 -0
  320. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/skills/drive-queue-preflight/SKILL.md +0 -0
  321. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/skills/fleet-restart-safety/SKILL.md +0 -0
  322. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/skills/merge-stuck-triage/SKILL.md +0 -0
  323. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/skills/pipeline-limbo-triage/SKILL.md +0 -0
  324. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/skills/portal-followup/SKILL.md +0 -0
  325. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/skills/release-now/SKILL.md +0 -0
  326. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/skills/review-verdict-recovery/SKILL.md +0 -0
  327. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/skills/tui-quadraui-workflow/SKILL.md +0 -0
  328. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/skills/update-issue/SKILL.md +0 -0
  329. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/smoke.py +0 -0
  330. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/smoke_tags.py +0 -0
  331. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/spend_ceiling.py +0 -0
  332. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/split_work.py +0 -0
  333. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/sql.py +0 -0
  334. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/state.py +0 -0
  335. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/store_migrate.py +0 -0
  336. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/store_parity.py +0 -0
  337. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/templates/deploy-cloudflare.node.yml +0 -0
  338. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/test_author.py +0 -0
  339. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/test_chat.py +0 -0
  340. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/test_orchestrator.py +0 -0
  341. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/test_report.py +0 -0
  342. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/tui_pty_driver.py +0 -0
  343. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/tui_release.py +0 -0
  344. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/uat_checks.py +0 -0
  345. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/upstream_gaps.py +0 -0
  346. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/usage.py +0 -0
  347. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/usage_limits.py +0 -0
  348. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/usage_rollup.py +0 -0
  349. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/win_native_bridge.py +0 -0
  350. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/win_native_driver.py +0 -0
  351. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/worker_events.py +0 -0
  352. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coordinator.example.yml +0 -0
  353. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-agent.service +0 -0
  354. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-backup.service +0 -0
  355. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-backup.timer +0 -0
  356. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-board-doctor.service +0 -0
  357. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-board-doctor.timer +0 -0
  358. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-db-backup.service +0 -0
  359. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-db-backup.sh +0 -0
  360. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-db-backup.timer +0 -0
  361. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-dr-verify.service +0 -0
  362. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-dr-verify.timer +0 -0
  363. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-drive-queue.service +0 -0
  364. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-drive-queue.timer +0 -0
  365. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-failure-notify.service +0 -0
  366. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-failure-notify.sh +0 -0
  367. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-fleet-watchdog.service +0 -0
  368. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-fleet-watchdog.timer +0 -0
  369. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-nightly-smoke.service +0 -0
  370. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-nightly-smoke.timer +0 -0
  371. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-notify.service +0 -0
  372. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-notify.timer +0 -0
  373. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-release-propagate.service +0 -0
  374. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-release-propagate.timer +0 -0
  375. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-release-window.service +0 -0
  376. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-release-window.timer +0 -0
  377. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-serve.service +0 -0
  378. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-web-dist-build.service +0 -0
  379. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-web-dist-build.sh +0 -0
  380. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-web-dist-build.timer +0 -0
  381. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-web-rollback.sh +0 -0
  382. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-web.service +0 -0
  383. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/node-shim.sh +0 -0
  384. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/ADR_COORD_TUI_CI.md +0 -0
  385. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/ADR_COORD_WEB_ACCEPTANCE_SUITE.md +0 -0
  386. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/ADR_COORD_WEB_CI.md +0 -0
  387. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/ADR_COORD_WEB_DIST.md +0 -0
  388. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/ADR_PY_RUST_MIRRORS.md +0 -0
  389. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/AGENT_OPERATIONS.md +0 -0
  390. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/ARCHITECTURE.md +0 -0
  391. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/ARCH_SECURITY_GATES.md +0 -0
  392. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/COCKPIT.md +0 -0
  393. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/CONTROL_CENTER.md +0 -0
  394. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/COST_DISCIPLINE.md +0 -0
  395. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/CROSS_PLATFORM.md +0 -0
  396. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/CUSTOMER_FACING_APPS.md +0 -0
  397. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/CUSTOMER_PORTAL.md +0 -0
  398. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/DATA_STORE_SELECTION.md +0 -0
  399. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/DISASTER_RECOVERY.md +0 -0
  400. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/DRIVE_QUEUE.md +0 -0
  401. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/EPHEMERAL_WORKERS.md +0 -0
  402. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/FORGE_MIGRATION.md +0 -0
  403. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/GRAPHIFY_SETUP.md +0 -0
  404. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/ISSUE_GUIDANCE.md +0 -0
  405. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/MAC_MINI.md +0 -0
  406. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/MERGE_AUTO_DRAIN_TRUST_BAR.md +0 -0
  407. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/NOTIFIER.md +0 -0
  408. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/OPENCODE_VERIFICATION.md +0 -0
  409. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/OPERATING_GOTCHAS.md +0 -0
  410. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/OPERATOR_GUIDES.md +0 -0
  411. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/ORACLE_LOOP.md +0 -0
  412. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/PHONE_WEBAPP.md +0 -0
  413. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/PIPELINE_V2.md +0 -0
  414. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/PLATFORM_EVOLUTION.md +0 -0
  415. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/SECOND_BACKEND.md +0 -0
  416. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/STORE_SERVICE.md +0 -0
  417. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/TEST_FIRST_BUG_LANE.md +0 -0
  418. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/WEB_CONTROL_CENTER.md +0 -0
  419. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/WSL_WINDOWS_WORKER.md +0 -0
  420. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/mocks/web/README.md +0 -0
  421. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/mocks/web/_tokens.css +0 -0
  422. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/mocks/web/issue-detail.html +0 -0
  423. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/mocks/web/pipeline-narrow.html +0 -0
  424. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/mocks/web/pipeline-wide.html +0 -0
  425. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/graphify-out/.gitignore +0 -0
  426. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/install-agent.sh +0 -0
  427. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/pyproject.toml +0 -0
  428. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/audit_review_verdict_overrides.py +0 -0
  429. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/azure-workers/bootstrap-shared.sh +0 -0
  430. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/azure-workers/build-worker-image.sh +0 -0
  431. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/azure-workers/coordinator-machine.py +0 -0
  432. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/azure-workers/dr-down.sh +0 -0
  433. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/azure-workers/dr-up.sh +0 -0
  434. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/azure-workers/epic-down.sh +0 -0
  435. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/azure-workers/epic-up.sh +0 -0
  436. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/azure-workers/preflight.sh +0 -0
  437. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/azure-workers/provision-server.sh +0 -0
  438. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/azure-workers/provision-worker.sh +0 -0
  439. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/azure-workers/scrub-and-generalize.sh +0 -0
  440. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/azure-workers/tailnet-acl.hujson +0 -0
  441. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/azure-workers/throwaway-vm.sh +0 -0
  442. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/azure-workers/verify-github-token.sh +0 -0
  443. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/check_gh_argv_containment.py +0 -0
  444. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/codegen.py +0 -0
  445. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/comment_cruft.py +0 -0
  446. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/coord-test-runner.sh +0 -0
  447. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/coord-tui-scaffold/.github/coord-ci-acceptance.yml +0 -0
  448. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/coord-tui-scaffold/.github/workflows/cargo-test.yml +0 -0
  449. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/coord-tui-scaffold/.github/workflows/codegen-drift.yml +0 -0
  450. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/coord-tui-scaffold/CLAUDE.md +0 -0
  451. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/coord-venv-rollback.sh +0 -0
  452. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/drive-batch.sh +0 -0
  453. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/extract-coord-tui.sh +0 -0
  454. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/fleet_watchdog.py +0 -0
  455. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/gen_board_fixture.py +0 -0
  456. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/gen_mock_index.py +0 -0
  457. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/lib/provision-core.sh +0 -0
  458. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/next_release_tag.py +0 -0
  459. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/provision-machine.sh +0 -0
  460. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/run_tests_in_populated_home.sh +0 -0
  461. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/run_tests_without_gh.sh +0 -0
  462. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/setup-macmini.sh +0 -0
  463. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/smoke_437_interactive.py +0 -0
  464. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/verify-provision-noble.sh +0 -0
  465. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/verify_878_review_capture.py +0 -0
  466. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/verify_release_published.py +0 -0
  467. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/verify_release_wheel.py +0 -0
  468. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/setup.cfg +0 -0
  469. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/SMOKE_SET.md +0 -0
  470. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/__init__.py +0 -0
  471. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/acceptance/ms-37/conftest.py +0 -0
  472. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/acceptance/ms-37/contract.md +0 -0
  473. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/acceptance/ms-37/manifest.yml +0 -0
  474. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/acceptance/ms-37/test_usage_cli_1115.py +0 -0
  475. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/acceptance/ms-37/test_usage_core_1118.py +0 -0
  476. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/acceptance/ms-51/contract.md +0 -0
  477. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/acceptance/ms-51/home-active-extended.spec.ts +0 -0
  478. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/acceptance/ms-51/home-active.spec.ts +0 -0
  479. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/acceptance/ms-51/manifest.yml +0 -0
  480. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/acceptance/ms-51/mocks/home-active.html +0 -0
  481. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/acceptance/ms-51/tsconfig.json +0 -0
  482. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/acceptance/ms-example/mocks/home-active.html +0 -0
  483. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/backends.py +0 -0
  484. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/conftest.py +0 -0
  485. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/board-pipeline-basic.json +0 -0
  486. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/board-pipeline-terminal-gates.json +0 -0
  487. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/opencode_run_failure_sample.jsonl +0 -0
  488. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/opencode_run_length_sample.jsonl +0 -0
  489. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/opencode_run_sample.jsonl +0 -0
  490. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/playwright/all_pass.json +0 -0
  491. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/playwright/global_setup_crash.json +0 -0
  492. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/playwright/mixed_fail.json +0 -0
  493. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/playwright/retry_then_pass.json +0 -0
  494. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/playwright/retry_then_pass.junit.xml +0 -0
  495. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/playwright/skip.json +0 -0
  496. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/playwright/truncated.json +0 -0
  497. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/test_report/cargo_compile_error.txt +0 -0
  498. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/test_report/cargo_multi_target_failures.txt +0 -0
  499. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/test_report/cargo_no_parseable_failures.txt +0 -0
  500. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/test_report/pytest_collection_error.txt +0 -0
  501. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/test_report/pytest_error_log_record.txt +0 -0
  502. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/test_report/pytest_error_string_in_body.txt +0 -0
  503. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/test_report/pytest_internal_error.txt +0 -0
  504. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/test_report/pytest_mixed_failures.txt +0 -0
  505. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/test_report/pytest_no_parseable_failures.txt +0 -0
  506. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_acceptance.py +0 -0
  507. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_acceptance_drivers.py +0 -0
  508. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent.py +0 -0
  509. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_api_error.py +0 -0
  510. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_app.py +0 -0
  511. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_branch_base.py +0 -0
  512. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_branch_capture.py +0 -0
  513. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_config_free_1712.py +0 -0
  514. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_deploy_units_endpoint.py +0 -0
  515. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_dirty_worktree.py +0 -0
  516. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_drive_queue_reconcile_2373.py +0 -0
  517. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_graceful_shutdown_3649.py +0 -0
  518. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_graph_refresh.py +0 -0
  519. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_graph_self_heal.py +0 -0
  520. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_health_h3.py +0 -0
  521. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_idle_restart.py +0 -0
  522. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_reap.py +0 -0
  523. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_repos_and_pull.py +0 -0
  524. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_restart_services_endpoint.py +0 -0
  525. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_skills_self_heal.py +0 -0
  526. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_startup_diagnostics.py +0 -0
  527. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_update.py +0 -0
  528. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_update_bluegreen.py +0 -0
  529. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_usage_limit.py +0 -0
  530. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_zero_commit.py +0 -0
  531. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_ambient_home_isolation.py +0 -0
  532. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_app_drive.py +0 -0
  533. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_approve_capability_reroute_3241.py +0 -0
  534. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_approve_dependency_busy_2804.py +0 -0
  535. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_approve_reject_plan.py +0 -0
  536. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_approve_usage_gate.py +0 -0
  537. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_approved_work_2532.py +0 -0
  538. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_approved_work_2996.py +0 -0
  539. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_assignment_already_recorded_daemon.py +0 -0
  540. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_audit_log.py +0 -0
  541. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_audit_outcome.py +0 -0
  542. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_audit_query.py +0 -0
  543. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_auto_loop.py +0 -0
  544. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_auto_release_publish_2035.py +0 -0
  545. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_backend_selection.py +0 -0
  546. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_backup.py +0 -0
  547. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_base_checkout_restore.py +0 -0
  548. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_block_log.py +0 -0
  549. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_board_cap_762.py +0 -0
  550. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_board_doctor.py +0 -0
  551. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_board_doctor_followthrough.py +0 -0
  552. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_board_doctor_permissions.py +0 -0
  553. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_board_doctor_policy.py +0 -0
  554. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_board_fixture.py +0 -0
  555. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_board_nightly_status.py +0 -0
  556. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_board_read_path.py +0 -0
  557. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_board_schema.py +0 -0
  558. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_board_service.py +0 -0
  559. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_board_state.py +0 -0
  560. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_board_wire.py +0 -0
  561. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_brain.py +0 -0
  562. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_branch_model.py +0 -0
  563. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_briefing_lessons.py +0 -0
  564. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_bug_intake.py +0 -0
  565. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_bugbash.py +0 -0
  566. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_build_worker_image_env_update.py +0 -0
  567. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cargo_cache.py +0 -0
  568. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_check_gh_argv_containment.py +0 -0
  569. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_ci_acceptance_gate_1950.py +0 -0
  570. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_ci_fix.py +0 -0
  571. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_ci_github.py +0 -0
  572. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_ci_gitlab.py +0 -0
  573. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_ci_parity_2091.py +0 -0
  574. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_ci_store.py +0 -0
  575. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_claude_md_budget.py +0 -0
  576. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_claude_setup_token.py +0 -0
  577. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_acceptance.py +0 -0
  578. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_assign.py +0 -0
  579. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_assign_interactive_oracle_gate.py +0 -0
  580. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_assign_interactive_remote.py +0 -0
  581. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_assign_provider.py +0 -0
  582. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_assign_repo_drift_2219.py +0 -0
  583. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_audit.py +0 -0
  584. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_chat_continue.py +0 -0
  585. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_ci.py +0 -0
  586. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_codegen.py +0 -0
  587. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_decide.py +0 -0
  588. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_diagnose_capability_rules.py +0 -0
  589. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_diagnose_config_provenance.py +0 -0
  590. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_diagnose_forge_availability.py +0 -0
  591. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_diagnose_graph.py +0 -0
  592. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_diagnose_self.py +0 -0
  593. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_diagnose_test_coverage.py +0 -0
  594. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_doctor.py +0 -0
  595. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_doctor_config_free_1801.py +0 -0
  596. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_doctor_config_mismatch_1712.py +0 -0
  597. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_doctor_store_backend_3084.py +0 -0
  598. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_drive.py +0 -0
  599. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_drive_queue_investigate.py +0 -0
  600. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_drive_queue_stranded_prereq.py +0 -0
  601. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_escalate.py +0 -0
  602. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_fix_headless_review.py +0 -0
  603. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_gate_a.py +0 -0
  604. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_gates_next_action.py +0 -0
  605. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_inject_board_less.py +0 -0
  606. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_install_drift.py +0 -0
  607. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_install_skills.py +0 -0
  608. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_issue_close_wrong_repo.py +0 -0
  609. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_issue_comment.py +0 -0
  610. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_issue_create_label.py +0 -0
  611. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_issue_reopen.py +0 -0
  612. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_issue_view_list.py +0 -0
  613. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_issues.py +0 -0
  614. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_merge.py +0 -0
  615. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_milestone_assign.py +0 -0
  616. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_milestone_capture.py +0 -0
  617. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_milestone_chat_add_child.py +0 -0
  618. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_milestone_dispatch.py +0 -0
  619. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_milestone_gate_b.py +0 -0
  620. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_milestone_gate_c.py +0 -0
  621. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_milestone_order.py +0 -0
  622. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_milestone_remove_and_issue_close.py +0 -0
  623. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_milestone_ship.py +0 -0
  624. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_network.py +0 -0
  625. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_new_issue_chat.py +0 -0
  626. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_plans.py +0 -0
  627. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_portal.py +0 -0
  628. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_pr.py +0 -0
  629. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_pull_artifact.py +0 -0
  630. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_queue.py +0 -0
  631. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_reattach_sessions.py +0 -0
  632. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_refine_board.py +0 -0
  633. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_release_preflight.py +0 -0
  634. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_release_propagate.py +0 -0
  635. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_release_window.py +0 -0
  636. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_repo_2220.py +0 -0
  637. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_review_test_author_tracking_epic_2639.py +0 -0
  638. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_scorecard.py +0 -0
  639. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_serve_store_backend_3084.py +0 -0
  640. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_set_review_findings.py +0 -0
  641. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_smoke_nightly.py +0 -0
  642. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_smoke_nightly_sweep.py +0 -0
  643. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_status_advisory_terminal.py +0 -0
  644. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_status_contested_tag.py +0 -0
  645. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_status_invariant_alarms.py +0 -0
  646. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_status_machine_fault.py +0 -0
  647. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_status_merge_queue.py +0 -0
  648. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_status_nightly.py +0 -0
  649. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_status_provider.py +0 -0
  650. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_status_retried_3340.py +0 -0
  651. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_status_review_finalizing.py +0 -0
  652. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_status_supervisor_3366.py +0 -0
  653. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_status_test_failed_tag.py +0 -0
  654. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_status_usage_limit.py +0 -0
  655. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_sync_comments_873.py +0 -0
  656. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_test_plan.py +0 -0
  657. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_track.py +0 -0
  658. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_tui_update.py +0 -0
  659. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_wait.py +0 -0
  660. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_client.py +0 -0
  661. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_client_base_install.py +0 -0
  662. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_client_config_cache_atomic_3052.py +0 -0
  663. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_client_resource_migration_1946.py +0 -0
  664. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_commands_common.py +0 -0
  665. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_comment_cruft.py +0 -0
  666. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_comments.py +0 -0
  667. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_completion_summary.py +0 -0
  668. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_config.py +0 -0
  669. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_config_acceptance.py +0 -0
  670. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_config_audit.py +0 -0
  671. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_config_drift_check.py +0 -0
  672. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_config_effective.py +0 -0
  673. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_config_prereview_gate.py +0 -0
  674. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_config_pricing.py +0 -0
  675. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_config_snapshot_noncanonical_2208.py +0 -0
  676. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_config_usage_gate.py +0 -0
  677. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_confirm_test.py +0 -0
  678. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_conflict_fix.py +0 -0
  679. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_conflict_fix_semantic.py +0 -0
  680. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_coord_log_daemon_fallback_2547.py +0 -0
  681. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_coord_test.py +0 -0
  682. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_coord_test_runner_acceptance_toolchain_2936.py +0 -0
  683. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_coord_test_runner_baseline.py +0 -0
  684. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_coord_test_runner_populated_home.py +0 -0
  685. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_coord_test_runner_routing.py +0 -0
  686. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_coord_test_runner_toolchain.py +0 -0
  687. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_coord_test_runner_venv_setup.py +0 -0
  688. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_coord_uat.py +0 -0
  689. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_coord_web_sse_restart_live.py +0 -0
  690. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_coordinator_machine.py +0 -0
  691. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cross_platform_imports.py +0 -0
  692. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dao.py +0 -0
  693. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dashboard.py +0 -0
  694. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dashboard_api.py +0 -0
  695. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dashboard_fixture.py +0 -0
  696. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dashboard_reports.py +0 -0
  697. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dashboard_server.py +0 -0
  698. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dashboard_terminal.py +0 -0
  699. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dashboard_terminal_live.py +0 -0
  700. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_db.py +0 -0
  701. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dead_end.py +0 -0
  702. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_deploy_coord_db_backup.py +0 -0
  703. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_deploy_coord_web_dist.py +0 -0
  704. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_deploy_coord_web_rollback.py +0 -0
  705. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_deploy_db_backup_unit.py +0 -0
  706. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_deploy_drive_queue_unit.py +0 -0
  707. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_deploy_failure_notify_unit.py +0 -0
  708. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_deploy_manifest.py +0 -0
  709. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_deploy_notify_unit.py +0 -0
  710. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_deploy_units_lane.py +0 -0
  711. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_deploy_web_unit.py +0 -0
  712. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_deprecation_telemetry.py +0 -0
  713. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_deps.py +0 -0
  714. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_diagnose.py +0 -0
  715. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dirlink.py +0 -0
  716. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dispatch_liveness.py +0 -0
  717. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dispatch_target_validation.py +0 -0
  718. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dispatch_workers.py +0 -0
  719. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dist_name.py +0 -0
  720. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_done_housekeeping.py +0 -0
  721. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dr_azure_scripts.py +0 -0
  722. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dr_promote.py +0 -0
  723. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dr_verify.py +0 -0
  724. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_drive.py +0 -0
  725. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_drive_machine_fault.py +0 -0
  726. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_drive_queue_blocked_rendering.py +0 -0
  727. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_drive_queue_launch_argv.py +0 -0
  728. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_drive_queue_max_parallel_config.py +0 -0
  729. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_drive_queue_max_parallel_per_repo_config.py +0 -0
  730. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_drive_queue_roll_pending.py +0 -0
  731. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_drive_queue_self_cordon_escalation.py +0 -0
  732. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_drive_sessions_snapshot.py +0 -0
  733. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_drive_state.py +0 -0
  734. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_drive_tmux.py +0 -0
  735. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_entry_truth.py +0 -0
  736. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_epic_up_capability_detection.py +0 -0
  737. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_epic_up_down_symlinked_config_1887.py +0 -0
  738. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_epic_up_image_provenance.py +0 -0
  739. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_errors.py +0 -0
  740. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_events.py +0 -0
  741. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_failure_class.py +0 -0
  742. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_failure_classifier.py +0 -0
  743. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_filelock.py +0 -0
  744. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_finalize_interactive_exit_test_verdict.py +0 -0
  745. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_fix_escalation_classifier.py +0 -0
  746. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_fix_of_force_override.py +0 -0
  747. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_fleet_config_health.py +0 -0
  748. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_fleet_health_probes.py +0 -0
  749. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_fleet_health_snapshot.py +0 -0
  750. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_fleet_watchdog.py +0 -0
  751. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_forge_availability.py +0 -0
  752. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_freshness.py +0 -0
  753. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_gate_a.py +0 -0
  754. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_gate_b.py +0 -0
  755. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_gate_snapshot_staleness.py +0 -0
  756. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_gather_fleet_tmux_sessions.py +0 -0
  757. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_gen_mock_index.py +0 -0
  758. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_generated_rust_fixture.py +0 -0
  759. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_generated_rust_requests.py +0 -0
  760. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_generated_types_fixture.py +0 -0
  761. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_github_ops.py +0 -0
  762. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_github_throttle.py +0 -0
  763. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_goal.py +0 -0
  764. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_graph_health.py +0 -0
  765. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_graph_selfheal_absent_2237.py +0 -0
  766. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_gtk_native_driver.py +0 -0
  767. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_handoff.py +0 -0
  768. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_checks.py +0 -0
  769. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_cli.py +0 -0
  770. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_cli_graph.py +0 -0
  771. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_config.py +0 -0
  772. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_context.py +0 -0
  773. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_coord_tui_ci_pin.py +0 -0
  774. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_coord_web_ci_pin.py +0 -0
  775. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_deploy_lane_facts.py +0 -0
  776. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_fix.py +0 -0
  777. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_incident_regression.py +0 -0
  778. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_issues_sync_staleness.py +0 -0
  779. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_pr_churn.py +0 -0
  780. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_pypi.py +0 -0
  781. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_registry.py +0 -0
  782. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_release_cordon_probe.py +0 -0
  783. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_sustained_cpu.py +0 -0
  784. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_timer_active.py +0 -0
  785. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_toolchain.py +0 -0
  786. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_unit_drift.py +0 -0
  787. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_unit_enablement.py +0 -0
  788. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_wedged_drive_queue.py +0 -0
  789. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_hooks.py +0 -0
  790. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_housekeeping.py +0 -0
  791. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_human_attended_437.py +0 -0
  792. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_init.py +0 -0
  793. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_install_agent_capabilities_3515.py +0 -0
  794. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_install_agent_venv_2911.py +0 -0
  795. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_install_agent_wsl_bridge_3515.py +0 -0
  796. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_integration.py +0 -0
  797. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_interactive.py +0 -0
  798. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_interactive_briefing_echo.py +0 -0
  799. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_interactive_pane_log_2541.py +0 -0
  800. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_interactive_prefill_state.py +0 -0
  801. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_interactive_session_relaunch.py +0 -0
  802. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_interactive_test_verdict_backstop.py +0 -0
  803. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_interactive_token_attribution.py +0 -0
  804. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_interactive_worktree.py +0 -0
  805. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_invariant_alarms.py +0 -0
  806. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_issue_store_seam.py +0 -0
  807. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_issues_sync_status.py +0 -0
  808. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_key_spec.py +0 -0
  809. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_liveness_auditor.py +0 -0
  810. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_liveness_notify.py +0 -0
  811. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_lock_contention_ratchet.py +0 -0
  812. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_mac_native_driver.py +0 -0
  813. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_machine_fault.py +0 -0
  814. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_machine_metrics.py +0 -0
  815. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_machine_onboard.py +0 -0
  816. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_machine_pause.py +0 -0
  817. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_machine_stats.py +0 -0
  818. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_merge_queue.py +0 -0
  819. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_merge_verification.py +0 -0
  820. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_merge_verify.py +0 -0
  821. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_milestone_chat.py +0 -0
  822. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_milestone_dispatch.py +0 -0
  823. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_milestone_gate.py +0 -0
  824. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_milestone_order.py +0 -0
  825. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_milestone_seam.py +0 -0
  826. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_mock_author.py +0 -0
  827. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_model_tiering.py +0 -0
  828. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_models.py +0 -0
  829. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_models_config_labels.py +0 -0
  830. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_models_pinned_1650.py +0 -0
  831. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_native_fs_wait.py +0 -0
  832. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_native_pixels.py +0 -0
  833. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_needs_attention.py +0 -0
  834. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_network.py +0 -0
  835. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_new_issue_chat.py +0 -0
  836. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_next_release_tag.py +0 -0
  837. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_nightly_runner.py +0 -0
  838. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_nightly_smoke.py +0 -0
  839. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_nightly_status.py +0 -0
  840. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_nightly_store.py +0 -0
  841. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_no_eligible_host_3600.py +0 -0
  842. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_node_shim.py +0 -0
  843. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_notifier_baseline.py +0 -0
  844. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_notifier_cli.py +0 -0
  845. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_notifier_collect.py +0 -0
  846. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_notifier_config.py +0 -0
  847. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_notifier_drive_seam.py +0 -0
  848. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_notifier_isolation.py +0 -0
  849. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_notifier_predicate.py +0 -0
  850. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_notifier_quiet_hours.py +0 -0
  851. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_notifier_service.py +0 -0
  852. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_notify_drain.py +0 -0
  853. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_openapi.py +0 -0
  854. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_operational_defaults.py +0 -0
  855. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_overlap_fence.py +0 -0
  856. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_overlap_predict.py +0 -0
  857. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_packaged_deploy_units.py +0 -0
  858. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_parentage.py +0 -0
  859. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_paste_landed.py +0 -0
  860. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_pause_store_guard_recursion_3789.py +0 -0
  861. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_phantom_heal_venv_independence_2570.py +0 -0
  862. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_pipeline.py +0 -0
  863. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_plain_runner_smoke_3673.py +0 -0
  864. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_plan_followup_approve_plan_command.py +0 -0
  865. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_plan_followup_pr_command.py +0 -0
  866. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_plan_followup_review_command.py +0 -0
  867. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_plan_only.py +0 -0
  868. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_plan_parser.py +0 -0
  869. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_platform_paths.py +0 -0
  870. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_portal_bridge.py +0 -0
  871. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_portal_config.py +0 -0
  872. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_portal_store.py +0 -0
  873. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_portal_sync.py +0 -0
  874. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_pr_body_lint.py +0 -0
  875. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_preflight_size.py +0 -0
  876. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_prereqs.py +0 -0
  877. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_prereview_gate.py +0 -0
  878. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_production_db_guard.py +0 -0
  879. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_progress.py +0 -0
  880. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_provider_seam.py +0 -0
  881. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_providers.py +0 -0
  882. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_providers_config_labels.py +0 -0
  883. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_providers_pty.py +0 -0
  884. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_provision_core.py +0 -0
  885. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_provision_machine.py +0 -0
  886. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_py_rust_mirror_inventory.py +0 -0
  887. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_queue_diagnose.py +0 -0
  888. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_quiet_hours.py +0 -0
  889. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_quiet_hours_store_2146.py +0 -0
  890. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_reap_merged_sessions.py +0 -0
  891. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_reap_stale_interactive_tick.py +0 -0
  892. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_reconcile.py +0 -0
  893. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_reconcile_branch.py +0 -0
  894. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_reconcile_completions.py +0 -0
  895. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_reconcile_late_agent_reports_2547.py +0 -0
  896. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_reconcile_merges.py +0 -0
  897. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_reconcile_no_agent_record.py +0 -0
  898. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_reconcile_tick.py +0 -0
  899. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_reconcile_usage_limit_done.py +0 -0
  900. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_refine_chat.py +0 -0
  901. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_release_cordon_2101.py +0 -0
  902. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_release_cordon_daemon_leads_2176.py +0 -0
  903. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_release_cordon_deadlock_2240.py +0 -0
  904. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_release_cordon_drain_stall_3336.py +0 -0
  905. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_release_cordon_stuck_2490.py +0 -0
  906. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_release_gate.py +0 -0
  907. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_release_propagate.py +0 -0
  908. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_release_propagate_threshold.py +0 -0
  909. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_release_roll_between_legs_2854.py +0 -0
  910. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_release_roll_window_handoff.py +0 -0
  911. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_release_unified_1242.py +0 -0
  912. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_release_verify.py +0 -0
  913. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_release_window.py +0 -0
  914. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_remote_auto_prune.py +0 -0
  915. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_remote_interactive_reaper.py +0 -0
  916. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_repo_add.py +0 -0
  917. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_repo_dormancy.py +0 -0
  918. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_repo_edit_2220.py +0 -0
  919. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_repo_graph_fleet_2237.py +0 -0
  920. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_repo_max_parallel_3423.py +0 -0
  921. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_repo_onboard_2220.py +0 -0
  922. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_report_public_export.py +0 -0
  923. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_report_result_push.py +0 -0
  924. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_reports.py +0 -0
  925. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_restart_cmd.py +0 -0
  926. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_retry.py +0 -0
  927. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_retry_advisory_1606.py +0 -0
  928. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_retry_escalation_classify_3360.py +0 -0
  929. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_retry_type_1636.py +0 -0
  930. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_revalidate.py +0 -0
  931. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_review.py +0 -0
  932. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_review_end_review_without_verdict.py +0 -0
  933. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_review_parse_failure_diagnostic.py +0 -0
  934. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_review_reaffirm.py +0 -0
  935. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_review_state.py +0 -0
  936. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_review_verdict_backstop.py +0 -0
  937. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_review_verdict_override_audit.py +0 -0
  938. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_review_verdict_relay.py +0 -0
  939. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_review_zero_commits.py +0 -0
  940. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_scoped_review_wiring.py +0 -0
  941. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_scorecard.py +0 -0
  942. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_self_health.py +0 -0
  943. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_serve.py +0 -0
  944. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_serve_app.py +0 -0
  945. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_serve_app_board_trim.py +0 -0
  946. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_serve_rest_routes.py +0 -0
  947. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_session.py +0 -0
  948. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_slice_issue_attribution.py +0 -0
  949. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_smoke.py +0 -0
  950. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_smoke_fanout_manifest_3333.py +0 -0
  951. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_smoke_live_checkout_restore.py +0 -0
  952. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_smoke_plain_runner_3673.py +0 -0
  953. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_smoke_workflow.py +0 -0
  954. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_spend_ceiling.py +0 -0
  955. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_spend_ceiling_coordinator.py +0 -0
  956. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_split.py +0 -0
  957. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_split_work.py +0 -0
  958. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_sql_dialect.py +0 -0
  959. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_sqlite_connect_ratchet.py +0 -0
  960. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_stale_busy_reviewer_697.py +0 -0
  961. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_stalled_pipeline.py +0 -0
  962. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_state.py +0 -0
  963. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_state_review_findings_daemon.py +0 -0
  964. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_status_fleet_footer.py +0 -0
  965. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_stop_1567.py +0 -0
  966. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_store_contract.py +0 -0
  967. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_store_migrate.py +0 -0
  968. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_stuck.py +0 -0
  969. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_stuck_test_state_watchdog_2803.py +0 -0
  970. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_terminal_command.py +0 -0
  971. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_test_author.py +0 -0
  972. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_test_chat.py +0 -0
  973. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_test_orchestrator.py +0 -0
  974. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_test_report.py +0 -0
  975. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_test_verdict_parsing.py +0 -0
  976. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_test_verdict_transcript_floor.py +0 -0
  977. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_text_io_encoding_audit.py +0 -0
  978. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_thin_client_board_audit.py +0 -0
  979. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_thin_client_config_load_1080.py +0 -0
  980. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_thin_client_daemon_routing_906.py +0 -0
  981. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_throwaway_vm.py +0 -0
  982. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_tmux_host.py +0 -0
  983. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_tmux_session.py +0 -0
  984. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_transcript_floor.py +0 -0
  985. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_tui_pty_driver.py +0 -0
  986. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_uat_checks.py +0 -0
  987. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_upstream_gaps.py +0 -0
  988. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_usage.py +0 -0
  989. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_usage_limits.py +0 -0
  990. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_usage_rollup.py +0 -0
  991. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_venv_live_install_2121.py +0 -0
  992. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_version_single_source.py +0 -0
  993. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_watch.py +0 -0
  994. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_win_native_bridge.py +0 -0
  995. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_win_native_driver.py +0 -0
  996. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_windows_job_is_a_real_gate_2000.py +0 -0
  997. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_worker_env_venv_isolation.py +0 -0
  998. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_worker_events.py +0 -0
  999. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_worker_image_pin_sync.py +0 -0
  1000. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_worker_safety.py +0 -0
  1001. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_worker_test_scoping.py +0 -0
  1002. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_worktree.py +0 -0
  1003. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_worktree_rmtree_chokepoint.py +0 -0
  1004. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_write_parity.py +0 -0
  1005. {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/write_parity.py +0 -0
@@ -140,7 +140,9 @@ in [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md#design-decisions--the-settled-r
140
140
  session on a *different* machine reviews your diff against this file, with **zero shared
141
141
  context with you** — so your diff and final message must stand on their own. Put the
142
142
  *why* of a fix in the commit message and final message, not in code comments: comments
143
- describe the code as it is, with no issue numbers or "used to" history.
143
+ describe the code as it is, with no issue numbers or "used to" history. **An unplanned
144
+ `ISSUE_RESOLUTION: partial` is a blocking finding** (scope you cut yourself, or a call
145
+ site left unwired); only an upstream blocker or a tranche the issue defines is allowed.
144
146
 
145
147
  ## Rules for workers
146
148
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: code-coordinator
3
- Version: 0.5.753
3
+ Version: 0.5.755
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.753
3
+ Version: 0.5.755
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.753",
2
+ "tag": "0.5.755",
3
3
  "distance": 0,
4
- "node": "g543afc164f9f6d8411574fa781b778d6f50b5d56",
4
+ "node": "g7b46fbb3e62c0f7e3e7d877b23ebe7bbf4cfdf34",
5
5
  "dirty": false,
6
6
  "branch": "HEAD",
7
7
  "node_date": "2026-11-10"
@@ -30,6 +30,7 @@ from typing import TYPE_CHECKING, Any, Callable, Iterable
30
30
  from coord import cargo_cache
31
31
  from coord.claude_setup_token import inject_setup_token
32
32
  from coord.config_reload import reload_config_if_stale
33
+ from coord.decomposition_chat import is_size_triage_review_target
33
34
  from coord.models import DELIVERABLE_ANALYSIS_LABEL
34
35
  from coord.platform_paths import default_coord_dir
35
36
  from coord.smoke_tags import smoke_leg_capabilities
@@ -11971,7 +11972,20 @@ class AgentServer:
11971
11972
  # timeout (60 s) but MUST NOT let a hung push block the
11972
11973
  # status update — so we catch both _GitError *and*
11973
11974
  # subprocess.TimeoutExpired and treat both as non-fatal.
11974
- if assignment.worktree_path:
11975
+ # #3975: a size-triage leg is read-only by its own system prompt
11976
+ # (`build_size_triage_briefing` forbids commits) and its branch
11977
+ # is cut fresh from the default branch's tip with zero commits
11978
+ # of its own. Pushing that branch anyway gives #3376's
11979
+ # issue-scoped `any_matching_branch_merged` fallback a
11980
+ # zero-commit `issue-N-size-triage-*` branch to mis-read as
11981
+ # "already merged" (it's an ancestor of the default branch),
11982
+ # which refuses the very Work dispatch the triage verdict just
11983
+ # unblocked. Skip the push entirely for this leg shape — there
11984
+ # is nothing of this leg's own to push, so there's nothing lost.
11985
+ _is_size_triage_leg = is_size_triage_review_target(
11986
+ getattr(assignment.spec, "review_target", None)
11987
+ )
11988
+ if assignment.worktree_path and not _is_size_triage_leg:
11975
11989
  wt_path = Path(assignment.worktree_path)
11976
11990
  if wt_path.exists() and exit_code == 0:
11977
11991
  # #3869: a history-rewrite leg (today, only
@@ -478,7 +478,7 @@ def _default_branch_lookup(repo_github: str, issue_number: int) -> list[str]:
478
478
  # distinction has to be verified per-dispatcher, not assumed; see the
479
479
  # issue's suggested structural alternative (branch never had commits, ever)
480
480
  # for a fix that wouldn't require keeping this list exhaustive by hand.
481
- _OBSERVER_LEG_TAGS = ("review", "scoped-review", "smoke", "gate-b")
481
+ _OBSERVER_LEG_TAGS = ("review", "scoped-review", "smoke", "gate-b", "size-triage")
482
482
 
483
483
 
484
484
  def _is_observer_leg_branch(branch: str, issue_number: int) -> bool:
@@ -5842,6 +5842,72 @@ def _fetch_gate_a_pending(entries: list) -> dict[str, bool]:
5842
5842
  return pending
5843
5843
 
5844
5844
 
5845
+ def _fetch_size_triage_pending(entries: list) -> dict[str, bool]:
5846
+ """``{entry_key: still_waiting_on_the_triage_leg}`` for every entry
5847
+ parked on `coord.dispatch.enforce_preflight_guard`'s size-triage-pending
5848
+ refusal (#3971, `coord.decomposition_chat.SIZE_TRIAGE_PENDING_MARKER`).
5849
+
5850
+ Re-derives the SAME evidence `enforce_preflight_guard` itself consults
5851
+ on its next real invocation — a matching `review_target` row's own
5852
+ `status` column (#2096: one question, one answer) — rather than a
5853
+ second, independent notion of "is the triage done". Board read only, no
5854
+ `gh` call, and no work at all on a tick where nothing is parked this
5855
+ way (the common case).
5856
+
5857
+ Reads the raw ``assignments`` rows out of :func:`_fetch_board_payload`
5858
+ rather than `coord.state.build_board`, for the #615 reason every other
5859
+ reader in this module routes: that fetch answers from the daemon's
5860
+ ``GET /board`` when ``board_service`` is configured and from the local
5861
+ DB only when it is not, so a thin client sees the real rows instead of
5862
+ an empty board. `BoardView` cannot answer this one — it reduces the
5863
+ board to per-issue facts and carries no ``review_target`` at all — and
5864
+ the triage row is keyed by ``review_target``, not by its issue.
5865
+
5866
+ Fails **closed**, same posture as :func:`_fetch_gate_a_pending`: an
5867
+ entry whose triage status can't be confirmed stays parked. Being wrong
5868
+ that way costs a parked row an operator can see and release; being
5869
+ wrong the other way resumes Work dispatch while a paid triage session
5870
+ might still be about to propose splitting this issue into pieces no
5871
+ single worker should touch at once. A board the fetch CAN read that
5872
+ simply carries no row for this ``review_target`` is a different
5873
+ answer, not an unreadable one — nothing is in flight, so the entry
5874
+ resumes and the relaunch's own guard call re-derives the verdict.
5875
+ """
5876
+ from coord.decomposition_chat import ( # noqa: PLC0415
5877
+ is_size_triage_pending_reason,
5878
+ size_triage_review_target_for,
5879
+ )
5880
+ from coord.drive_state import TERMINAL_STATUSES # noqa: PLC0415
5881
+
5882
+ targets = [
5883
+ e for e in entries
5884
+ if e.state == STATE_PARKED
5885
+ and is_size_triage_pending_reason(getattr(e, "last_reason", "") or "")
5886
+ ]
5887
+ if not targets:
5888
+ return {}
5889
+
5890
+ try:
5891
+ payload = _fetch_board_payload()
5892
+ except Exception: # noqa: BLE001 — fail closed, stay parked
5893
+ return {e.key: True for e in targets}
5894
+
5895
+ rows = payload.get("assignments") or []
5896
+ pending: dict[str, bool] = {}
5897
+ for e in targets:
5898
+ review_target = size_triage_review_target_for(e.issue)
5899
+ matches = [
5900
+ r for r in rows
5901
+ if (r.get("review_target") or "") == review_target
5902
+ and (r.get("repo_name") or "") == e.repo
5903
+ ]
5904
+ pending[e.key] = any(
5905
+ str(r.get("status") or "").lower() not in TERMINAL_STATUSES
5906
+ for r in matches
5907
+ )
5908
+ return pending
5909
+
5910
+
5845
5911
  def _fetch_live_ci_gate(
5846
5912
  entries: list, config_path: Path | None
5847
5913
  ) -> tuple[dict[str, bool], dict[str, str]]:
@@ -8509,6 +8575,13 @@ def drive_queue_tick(
8509
8575
  # tick when no entry is parked that way — which is the common case.
8510
8576
  gate_a_pending = _fetch_gate_a_pending(entries)
8511
8577
 
8578
+ # #3971: the same live re-read, for every entry parked on a size-
8579
+ # triage review still in flight — see `_fetch_size_triage_pending`'s
8580
+ # docstring for the incident this closes (a flagged issue's
8581
+ # drive-queue row, and every `after=` dependent behind it, stuck
8582
+ # `blocked` even after the triage leg posted `proceed`).
8583
+ size_triage_pending = _fetch_size_triage_pending(entries)
8584
+
8512
8585
  # #2182: for every entry parked on a CI reason, a fresh single-entry
8513
8586
  # re-derivation of its gate, taken live THIS tick — see
8514
8587
  # `_fetch_live_ci_gate`'s docstring for the gap this closes (a park
@@ -8614,6 +8687,7 @@ def drive_queue_tick(
8614
8687
  exit_refused=exit_refused,
8615
8688
  exit_dead_end=exit_dead_end,
8616
8689
  gate_a_pending=gate_a_pending,
8690
+ size_triage_pending=size_triage_pending,
8617
8691
  cordons=cordons,
8618
8692
  no_eligible_host=no_eligible_host,
8619
8693
  live_ci_gate=live_ci_gate,
@@ -1024,16 +1024,50 @@ def size_triage_review_target_for(issue_number: int) -> str:
1024
1024
 
1025
1025
  Mirrors `coord.gate_b.review_target_for`: keeping it non-int-parseable
1026
1026
  means `coord.notify._try_parse_and_post_review`'s `int(review_target)`
1027
- sniff falls through to "post as a plain issue comment" rather than
1028
- mistaking this for a per-issue code review of a real PR — and this
1029
- entry posts no comment at all (see `dispatch_size_triage_review`), so in
1030
- practice nothing ever reads this string back out of `coord.notify`; it
1031
- exists so `latest`-style lookups (if one is ever needed) can find this
1032
- assignment unambiguously among a repo's other `type="review"` rows.
1027
+ sniff falls through rather than mistaking this for a per-issue code
1028
+ review of a real PR. It also exists so `latest`-style lookups (if one
1029
+ is ever needed) can find this assignment unambiguously among a repo's
1030
+ other `type="review"` rows, and so `coord.notify.notify`'s own
1031
+ completion handler (#3971) can recognise this ONE `type="review"`
1032
+ shape and skip review-findings extraction / the "Review assignment
1033
+ completed" comment for it — a leg this dispatch-time sentinel marks is
1034
+ a read-only size triage, never a real code review, whatever its
1035
+ board-row `type` says.
1033
1036
  """
1034
1037
  return f"size-triage-{issue_number}"
1035
1038
 
1036
1039
 
1040
+ def is_size_triage_review_target(review_target: str | None) -> bool:
1041
+ """Whether *review_target* identifies a size-triage dispatch rather than
1042
+ a real code review (#3971) — the inverse of
1043
+ :func:`size_triage_review_target_for`, for a caller holding only the
1044
+ string back out of an `Assignment` row.
1045
+ """
1046
+ return bool(review_target) and str(review_target).startswith("size-triage-")
1047
+
1048
+
1049
+ # #3971: a TEMPORARY wait, not a permanent pre-dispatch guard refusal
1050
+ # (#1844) — unlike `enforce_oracle_readiness`/`enforce_epic_dispatch_guard`'s
1051
+ # refusals, `enforce_preflight_guard`'s "a size-triage review is running —
1052
+ # retry once it posts its verdict" refusal clears on its own the moment that
1053
+ # leg reaches a terminal status, no operator action needed. Embedded in that
1054
+ # refusal's text so `coord.drive_queue._reconcile_running` can recognise it
1055
+ # BEFORE the generic `exit_refused` → `blocked` branch (#1844) every other
1056
+ # `DispatchRefused` falls into, and park instead — the same precedent
1057
+ # `coord.gate_a.is_gate_a_refusal_reason`'s own marker set for a refusal with
1058
+ # a self-clearing condition. Lives here, not in `coord.dispatch`, because
1059
+ # this module already owns every other size-triage-shaped sentinel
1060
+ # (`size_triage_review_target_for`, `is_size_triage_review_target`) and
1061
+ # `coord.dispatch`/`coord.drive_queue` both already import from it.
1062
+ SIZE_TRIAGE_PENDING_MARKER = "[size-triage-pending]"
1063
+
1064
+
1065
+ def is_size_triage_pending_reason(text: str | None) -> bool:
1066
+ """Whether *text* is `enforce_preflight_guard`'s triage-in-flight
1067
+ refusal (#3971) — see :data:`SIZE_TRIAGE_PENDING_MARKER`."""
1068
+ return bool(text) and SIZE_TRIAGE_PENDING_MARKER in text
1069
+
1070
+
1037
1071
  SIZE_TRIAGE_SYSTEM_PROMPT = """You are an independent triage agent dispatched by the coordinator to \
1038
1072
  decide whether a single GitHub issue, already flagged by a heuristic size \
1039
1073
  scorer as plausibly too large for one worker, should be split into smaller \
@@ -450,6 +450,7 @@ def enforce_preflight_guard(
450
450
  return
451
451
 
452
452
  from coord.decomposition_chat import ( # noqa: PLC0415
453
+ SIZE_TRIAGE_PENDING_MARKER,
453
454
  SizeTriageError,
454
455
  dispatch_size_triage_review,
455
456
  size_triage_review_target_for,
@@ -540,12 +541,22 @@ def enforce_preflight_guard(
540
541
  # follow-up in flight to ever clear the refusal.
541
542
  return
542
543
 
544
+ # #3971: this refusal is TEMPORARY — the triage leg just dispatched (or
545
+ # already in flight) clears it on its own the moment it posts a
546
+ # verdict, unlike `enforce_oracle_readiness`/`enforce_epic_dispatch_
547
+ # guard`'s refusals above, which nothing but an operator action can
548
+ # clear. `SIZE_TRIAGE_PENDING_MARKER` lets `coord.drive_queue.
549
+ # _reconcile_running` tell this ONE `DispatchRefused` shape apart from
550
+ # every other one sharing the same `EXIT_DISPATCH_REFUSED` exit code
551
+ # (#1844) and park the drive-queue row instead of blocking it forever —
552
+ # see that function's #3971 comment for the quadraui#2304 incident this
553
+ # closes.
543
554
  raise DispatchRefused(
544
555
  f"issue #{issue_number} flagged by the preflight size scorer "
545
556
  f"(score {score.total:g}/{score.threshold:g}): {score.reason}. "
546
557
  f"A size-triage review is {'already ' if in_flight is not None else ''}"
547
558
  f"running on {machine.name!r} (review_target={review_target!r}) — "
548
- "retry once it posts its verdict."
559
+ f"retry once it posts its verdict. {SIZE_TRIAGE_PENDING_MARKER}"
549
560
  )
550
561
 
551
562
 
@@ -91,6 +91,7 @@ from dataclasses import dataclass, field, replace
91
91
  from pathlib import Path
92
92
  from typing import Any, Iterable, Mapping, Sequence
93
93
 
94
+ from coord.decomposition_chat import is_size_triage_pending_reason
94
95
  from coord.drive_state import TERMINAL_STATUSES, WORK_LIKE
95
96
  from coord.entry_truth import (
96
97
  EntryTruth,
@@ -5804,6 +5805,45 @@ def _reconcile_running(
5804
5805
  None,
5805
5806
  )
5806
5807
 
5808
+ # #3971 rides the SAME "pending verdict, not a standing refusal" shape
5809
+ # as #2063's Gate-A park immediately above: `coord.dispatch.
5810
+ # enforce_preflight_guard`'s "a size-triage review is running — retry
5811
+ # once it posts its verdict" refusal is TEMPORARY — the condition that
5812
+ # refused it (a non-terminal triage leg) clears on its own the moment
5813
+ # that leg finishes, no operator action needed — yet it reached here as
5814
+ # a PLAIN `EXIT_DISPATCH_REFUSED` (#1844's exit code for every
5815
+ # `DispatchRefused`, permanent or not) and would otherwise fall straight
5816
+ # into the `exit_refused` → `blocked` branch below and stay blocked
5817
+ # forever even after the verdict posts PROCEED (quadraui#2304, 2026-11-10
5818
+ # UTC: every dependent behind the row cascaded to `blocked` three minutes
5819
+ # before the triage leg itself returned `proceed`). Checked purely off
5820
+ # `own_reason`'s marker — independent of `exit_refused` — the same
5821
+ # "recognise this refusal by its own text, not by the exit code every
5822
+ # `DispatchRefused` shares" posture #2063/#2234 already established.
5823
+ # Parks rather than blocks; `plan_tick`'s pre-pass below un-parks it the
5824
+ # tick after the matching `review_target` assignment goes terminal, same
5825
+ # "no queue surgery needed" contract Gate-A's park gives.
5826
+ if own_reason and is_size_triage_pending_reason(own_reason):
5827
+ reason = (
5828
+ f"{own_reason} — parking without spending an attempt; the queue "
5829
+ "resumes it automatically once the size-triage review posts its "
5830
+ "verdict, no queue surgery needed (#3971)"
5831
+ )
5832
+ return (
5833
+ Reconcile(
5834
+ entry.key,
5835
+ "parked",
5836
+ reason,
5837
+ occupies=False,
5838
+ updates={
5839
+ "state": STATE_PARKED,
5840
+ "last_reason": reason,
5841
+ "session_name": None,
5842
+ },
5843
+ ),
5844
+ None,
5845
+ )
5846
+
5807
5847
  # #2234 rides the SAME evidence as `refused` below (the drive's own
5808
5848
  # `drive_exited` reason) but, like #2063 above, reaches the OPPOSITE
5809
5849
  # conclusion from a PLAIN `EXIT_TERMINAL_FAILURE` — `coord.drive.
@@ -7602,6 +7642,7 @@ def plan_tick(
7602
7642
  exit_refused: Mapping[str, bool] | None = None,
7603
7643
  exit_dead_end: Mapping[str, bool] | None = None,
7604
7644
  gate_a_pending: Mapping[str, bool] | None = None,
7645
+ size_triage_pending: Mapping[str, bool] | None = None,
7605
7646
  cordons: Mapping[str, str] | None = None,
7606
7647
  no_eligible_host: Mapping[str, str] | None = None,
7607
7648
  live_ci_gate: Mapping[str, bool] | None = None,
@@ -8656,6 +8697,41 @@ def plan_tick(
8656
8697
  states[entry.key] = STATE_WAITING
8657
8698
  effective_attempts[entry.key] = 0 # #2273: see #2182 branch above
8658
8699
  continue
8700
+ # #3971: the SAME "external verdict, re-check every tick" shape as
8701
+ # the Gate-A branch just above, for `enforce_preflight_guard`'s
8702
+ # size-triage-pending park. The shell resolves `size_triage_pending`
8703
+ # by re-reading the matching `review_target` assignment's own
8704
+ # `status` column — a local board read, no `gh` call per entry; an
8705
+ # entry it can't resolve stays parked, same fail-closed posture as
8706
+ # Gate-A's. Resuming does NOT itself decide proceed/split — it only
8707
+ # lets the next real `enforce_preflight_guard` call run again, which
8708
+ # is what actually consumes the verdict (falls through for PROCEED/
8709
+ # unparseable, raises a fresh — unmarked, permanent — refusal that
8710
+ # supersedes the original for SPLIT).
8711
+ if is_size_triage_pending_reason(entry.last_reason):
8712
+ if (size_triage_pending or {}).get(entry.key, True):
8713
+ continue
8714
+ reason = (
8715
+ f"the size-triage review for {entry.key} has posted its "
8716
+ "verdict — resuming from parked without spending an "
8717
+ "attempt (#3971)"
8718
+ )
8719
+ reconciles.append(
8720
+ Reconcile(
8721
+ entry.key,
8722
+ "resumed",
8723
+ reason,
8724
+ occupies=False,
8725
+ updates={
8726
+ "state": STATE_WAITING,
8727
+ "attempts": 0,
8728
+ "last_reason": reason,
8729
+ },
8730
+ )
8731
+ )
8732
+ states[entry.key] = STATE_WAITING
8733
+ effective_attempts[entry.key] = 0
8734
+ continue
8659
8735
  # #2234: a policy-refusal park has NO external verdict to poll for —
8660
8736
  # the rule it names is standing, not pending — so unlike the Gate-A
8661
8737
  # branch just above, this one never resumes itself. Without this
@@ -201,9 +201,24 @@ class GateReport:
201
201
 
202
202
 
203
203
  def _row_from_assignment(a: "Assignment") -> AssignmentGateRow:
204
+ from coord.decomposition_chat import is_size_triage_review_target # noqa: PLC0415
205
+
206
+ # #3975: a size-triage leg is dispatched with `type="review"` only to
207
+ # reuse coord.agent's read-only deny-list for that type — it never
208
+ # produces a REVIEW_VERDICT and is not evidence toward the issue's
209
+ # review gate. Label the raw row "size-triage" instead of "review" so
210
+ # `coord gates`' row listing (and its `--json`/`report_to_dict` form)
211
+ # can't be mistaken for the issue's actual review stage — see
212
+ # `build_gate_report`'s `work_like` gate above, which already excludes
213
+ # this row from ever backing a "review" GateDecision.
214
+ row_type = (
215
+ "size-triage"
216
+ if a.type == "review" and is_size_triage_review_target(a.review_target)
217
+ else (a.type or "work")
218
+ )
204
219
  return AssignmentGateRow(
205
220
  assignment_id=a.assignment_id,
206
- type=a.type or "work",
221
+ type=row_type,
207
222
  status=a.status,
208
223
  branch=a.branch,
209
224
  machine_name=a.machine_name,
@@ -49,6 +49,7 @@ from coord.comments import (
49
49
  format_stuck,
50
50
  )
51
51
  from coord.config import Config
52
+ from coord.decomposition_chat import is_size_triage_review_target
52
53
  from coord.dispatch import (
53
54
  AGENT_PORT,
54
55
  post_advisory,
@@ -4452,6 +4453,31 @@ def post_transition(transition: Transition, record: dict, entry: dict) -> None:
4452
4453
  EVENT_PLAN if posted else EVENT_COMPLETION,
4453
4454
  branch=entry.get("branch"),
4454
4455
  )
4456
+ elif (
4457
+ transition.event == EVENT_COMPLETION
4458
+ and assignment_type == "review"
4459
+ and is_size_triage_review_target(record.get("review_target"))
4460
+ ):
4461
+ # #3971: a size-triage leg (`coord.decomposition_chat.
4462
+ # dispatch_size_triage_review`) is dispatched as `type="review"`
4463
+ # ONLY to reuse `coord.agent`'s CLI-enforced read-only deny-list for
4464
+ # that type (see that function's own comment) — it is never a real
4465
+ # code review, has no PR to review, and (per its own briefing) never
4466
+ # emits REVIEW_VERDICT/END_REVIEW. Before this branch existed, the
4467
+ # generic `assignment_type == "review"` arm below tried to extract
4468
+ # findings from a `SIZE_TRIAGE_VERDICT`-shaped log, failed, and
4469
+ # posted "Review assignment completed but findings could not be
4470
+ # extracted" to the issue (quadraui#2304, 2026-11-10 UTC) — a
4471
+ # confusing, actionable-looking comment about a leg that already
4472
+ # posts no comment at all by design (`dispatch_size_triage_review`'s
4473
+ # own docstring). `coord.dispatch.enforce_preflight_guard` is what
4474
+ # actually consumes this leg's verdict (fetching and parsing the
4475
+ # raw log itself the next time it runs) — nothing here needs to.
4476
+ mark_notified(
4477
+ transition.assignment_id,
4478
+ transition.event,
4479
+ branch=entry.get("branch"),
4480
+ )
4455
4481
  elif transition.event == EVENT_COMPLETION and assignment_type == "review":
4456
4482
  # For review assignments, parse the structured findings and post as a
4457
4483
  # PR review (or issue comment when no PR number is available). Fall
@@ -34,6 +34,7 @@ from __future__ import annotations
34
34
  import dataclasses
35
35
  from typing import Any, Protocol, runtime_checkable
36
36
 
37
+ from coord.decomposition_chat import is_size_triage_review_target
37
38
  from coord.models import CLOSES_ISSUE_TYPES, WORK_LIKE_TYPES, effective_issue_number
38
39
  # #3191: the two #3182 fan-out encodings this module has to PARSE to count
39
40
  # Test *rounds* rather than raw smoke rows — see `_test_stage_leg_count`.
@@ -167,6 +168,16 @@ def assignments_for_stage(
167
168
  ``require_plan`` and no ``type="plan"`` assignment for this issue),
168
169
  plan-typed assignments fold into "work" so a ``--plan-only`` dispatch
169
170
  without ``require_plan`` doesn't disappear from the Work stage.
171
+
172
+ #3975: a size-triage leg is dispatched with ``type="review"`` purely to
173
+ reuse ``coord.agent``'s read-only deny-list for that type (see
174
+ ``coord.decomposition_chat.dispatch_size_triage_review``'s own comment)
175
+ — it is not a code review and carries no ``review_verdict`` a real
176
+ review would. Counting it toward the "review" stage painted
177
+ quadraui#2304's board as "review" while Work hadn't even been
178
+ dispatched yet (a size-triage leg's ``status="running"`` trips the
179
+ ACTIVE check in ``stage_status_for`` before any work row exists). Drop
180
+ it here, once, rather than at every stage-status call site.
170
181
  """
171
182
  fold_plan_into_work = (
172
183
  stage == "work"
@@ -175,6 +186,8 @@ def assignments_for_stage(
175
186
  )
176
187
  out = []
177
188
  for a in assignments_for_issue:
189
+ if is_size_triage_review_target(getattr(a, "review_target", None)):
190
+ continue
178
191
  t = a.type or "work"
179
192
  if fold_plan_into_work:
180
193
  if t in ("work", "plan"):
@@ -22,6 +22,16 @@ history has actually been rewritten). `TestHistoryRewriteLegSafetyNetPush`
22
22
  below covers the `--force-with-lease` push this file's `_HISTORY_REWRITE_
23
23
  TYPES` leg now uses instead, and the promotion of a non-fast-forward/
24
24
  stale-lease rejection to the same FAILED outcome as an auth break.
25
+
26
+ #3975: a size-triage leg (`coord.decomposition_chat.dispatch_size_triage_
27
+ review`) is read-only by its own system prompt and its branch is cut fresh
28
+ from the default branch's tip, so this reap-time safety-net push has
29
+ nothing of the leg's own to push in the first place — and pushing the
30
+ empty branch anyway hands #3376's `any_matching_branch_merged` fallback a
31
+ zero-commit `issue-N-size-triage-*` branch to mis-read as "already
32
+ merged", refusing the Work dispatch the triage verdict just unblocked
33
+ (quadraui#2304). `test_size_triage_leg_reap_skips_the_push` below pins
34
+ down that this reap-time push is never even attempted for that leg shape.
25
35
  """
26
36
 
27
37
  from __future__ import annotations
@@ -508,6 +518,52 @@ def test_successful_push_leaves_push_failure_reason_none(
508
518
  server.shutdown()
509
519
 
510
520
 
521
+ def test_size_triage_leg_reap_skips_the_push(
522
+ tmp_path: Path, repo_with_rejecting_remote: tuple[Path, Path]
523
+ ) -> None:
524
+ """#3975: a size-triage leg's reap must never attempt the
525
+ belt-and-suspenders push at all — not even one that would otherwise
526
+ fail loudly. The rejecting remote proves the point: if reap attempted
527
+ the push, this leg would come back FAILED with an auth-shaped
528
+ `push_failure_reason`; since the leg is read-only, it must instead come
529
+ back DONE with no push attempted and no branch created on origin."""
530
+ clone, origin = repo_with_rejecting_remote
531
+ server = AgentServer(
532
+ machine_name="t",
533
+ repos=["api"],
534
+ repo_paths={"api": str(clone)},
535
+ state_dir=tmp_path / "state",
536
+ worker_command=lambda spec: ["/bin/sh", "-c", "true"], # read-only, no commits
537
+ )
538
+ spec = AssignmentSpec(
539
+ repo_name="api",
540
+ repo_path=str(clone),
541
+ issue_number=2304,
542
+ issue_title="[size-triage] shared app layer 2a widgetid",
543
+ briefing="b",
544
+ branch="main",
545
+ type="review",
546
+ review_target="size-triage-2304",
547
+ )
548
+ a = server.assign(spec)
549
+ final = server.wait_for(a.id, timeout=15)
550
+
551
+ assert final.status == DONE
552
+ assert final.push_failure_reason is None
553
+ log_text = Path(final.log_path).read_text()
554
+ assert "# reap: push starting" not in log_text
555
+ assert "# reap: push completed" not in log_text
556
+ # The branch the agent would have minted (`issue-2304-size-triage-...`)
557
+ # must never reach origin — the whole bug was that empty branch landing
558
+ # there and being misread as "this issue's work already merged".
559
+ refs = subprocess.run(
560
+ ["git", "ls-remote", "--heads", str(origin)],
561
+ capture_output=True, text=True, check=True,
562
+ ).stdout
563
+ assert "size-triage" not in refs
564
+ server.shutdown()
565
+
566
+
511
567
  @pytest.fixture
512
568
  def repo_with_existing_branch(tmp_path: Path) -> tuple[Path, Path]:
513
569
  """A clone with `origin` configured and a `feature` branch already
@@ -973,12 +973,37 @@ def test_any_matching_branch_merged_issue_scoped_ignores_gate_b_leg(
973
973
  assert claim_mod.any_matching_branch_merged("acme/vimcode", 900) is False
974
974
 
975
975
 
976
+ def test_any_matching_branch_merged_issue_scoped_ignores_size_triage_leg(
977
+ monkeypatch,
978
+ ) -> None:
979
+ """#3975: quadraui#2304's exact shape — a zero-commit
980
+ `issue-{N}-size-triage-*` branch (cut from the default branch's tip by
981
+ the read-only size-triage leg) sitting at `ahead_by == 0`, with no real
982
+ work branch dispatched yet. `any_matching_branch_merged` with no
983
+ *branch* (the dispatch-liveness fallback a re-queued Work dispatch
984
+ hits right after the triage leg says `proceed`) must not read the
985
+ triage branch as "this issue's work already merged" — that misread is
986
+ exactly what refused the Work dispatch in the incident."""
987
+ import coord.claim as claim_mod
988
+
989
+ monkeypatch.setattr(
990
+ "coord.github_ops._gh",
991
+ _gh_stub_with_matching_refs(
992
+ ["issue-2304-size-triage-shared-app-layer-2a-widgetid"],
993
+ "develop",
994
+ {"issue-2304-size-triage-shared-app-layer-2a-widgetid": 0},
995
+ ),
996
+ )
997
+ assert claim_mod.any_matching_branch_merged("acme/vimcode", 2304) is False
998
+
999
+
976
1000
  def test_is_observer_leg_branch_matches_review_scoped_review_smoke_and_gate_b() -> None:
977
- """#3442: the exact prefixes review/smoke/gate-b legs mint, and nothing
978
- else — a bare `issue-N-review` (no trailing content) and the slugified
979
- `issue-N-review-...`/`issue-N-scoped-review-...`/`issue-N-smoke-...`/
980
- `issue-N-gate-b-...` shapes all match; an unrelated branch, or one that
981
- merely CONTAINS "review" past the issue-number prefix, must not."""
1001
+ """#3442/#3975: the exact prefixes review/smoke/gate-b/size-triage legs
1002
+ mint, and nothing else — a bare `issue-N-review` (no trailing content)
1003
+ and the slugified `issue-N-review-...`/`issue-N-scoped-review-...`/
1004
+ `issue-N-smoke-...`/`issue-N-gate-b-...`/`issue-N-size-triage-...` shapes
1005
+ all match; an unrelated branch, or one that merely CONTAINS "review"
1006
+ past the issue-number prefix, must not."""
982
1007
  import coord.claim as claim_mod
983
1008
 
984
1009
  assert claim_mod._is_observer_leg_branch("issue-9-review", 9) is True
@@ -990,6 +1015,9 @@ def test_is_observer_leg_branch_matches_review_scoped_review_smoke_and_gate_b()
990
1015
  assert claim_mod._is_observer_leg_branch(
991
1016
  "issue-9-gate-b-ms-9-milestone-verdict", 9
992
1017
  ) is True
1018
+ assert claim_mod._is_observer_leg_branch(
1019
+ "issue-9-size-triage-shared-app-layer", 9
1020
+ ) is True
993
1021
  assert claim_mod._is_observer_leg_branch("issue-9-real-work", 9) is False
994
1022
  assert claim_mod._is_observer_leg_branch(
995
1023
  "issue-9-reviewer-onboarding", 9