code-coordinator 0.5.752__tar.gz → 0.5.753__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.752 → code_coordinator-0.5.753}/PKG-INFO +1 -1
  2. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/code_coordinator.egg-info/PKG-INFO +1 -1
  3. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/code_coordinator.egg-info/scm_version.json +2 -2
  4. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/merge_queue.py +99 -19
  5. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/models.py +24 -1
  6. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/review.py +155 -12
  7. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_merge_queue.py +314 -4
  8. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_models.py +6 -2
  9. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_review.py +198 -0
  10. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/.claude/commands/board.md +0 -0
  11. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/.claude/commands/complete-session.md +0 -0
  12. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/.claude/commands/coordinator.md +0 -0
  13. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/.githooks/_lib.sh +0 -0
  14. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/.githooks/post-checkout +0 -0
  15. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/.githooks/post-commit +0 -0
  16. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/.githooks/post-merge +0 -0
  17. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  18. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/.github/coord-ci-acceptance.yml +0 -0
  19. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/.github/workflows/auto-release.yml +0 -0
  20. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/.github/workflows/publish.yml +0 -0
  21. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/.github/workflows/test.yml +0 -0
  22. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/.gitignore +0 -0
  23. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/CLAUDE.md +0 -0
  24. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/GOAL.md +0 -0
  25. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/LICENSE +0 -0
  26. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/MANIFEST.in +0 -0
  27. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/README.md +0 -0
  28. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/code_coordinator.egg-info/SOURCES.txt +0 -0
  29. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/code_coordinator.egg-info/dependency_links.txt +0 -0
  30. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/code_coordinator.egg-info/entry_points.txt +0 -0
  31. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/code_coordinator.egg-info/requires.txt +0 -0
  32. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/code_coordinator.egg-info/scm_file_list.json +0 -0
  33. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/code_coordinator.egg-info/top_level.txt +0 -0
  34. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/__init__.py +0 -0
  35. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/_board_mapping.py +0 -0
  36. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/acceptance.py +0 -0
  37. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/acceptance_drivers.py +0 -0
  38. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/agent.py +0 -0
  39. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/agent_app.py +0 -0
  40. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/agent_update.py +0 -0
  41. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/agents/opencode/.gitignore +0 -0
  42. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/agents/opencode/agents/work.md +0 -0
  43. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/agents/opencode/routing.jsonc +0 -0
  44. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/app_drive.py +0 -0
  45. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/app_drive_daemon.py +0 -0
  46. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/approved_work.py +0 -0
  47. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/audit.py +0 -0
  48. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/auto_loop.py +0 -0
  49. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/backup.py +0 -0
  50. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/block_log.py +0 -0
  51. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/board_doctor.py +0 -0
  52. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/board_doctor_followthrough.py +0 -0
  53. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/board_doctor_permissions.py +0 -0
  54. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/board_doctor_policy.py +0 -0
  55. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/board_schema.py +0 -0
  56. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/board_service.py +0 -0
  57. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/board_wire.py +0 -0
  58. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/brain.py +0 -0
  59. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/branch_model.py +0 -0
  60. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/briefing_lessons.py +0 -0
  61. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/bug_intake.py +0 -0
  62. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/bugbash.py +0 -0
  63. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/cargo_cache.py +0 -0
  64. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/ci_fix.py +0 -0
  65. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/ci_github.py +0 -0
  66. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/ci_gitlab.py +0 -0
  67. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/ci_store.py +0 -0
  68. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/claim.py +0 -0
  69. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/claude_setup_token.py +0 -0
  70. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/cli.py +0 -0
  71. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/client.py +0 -0
  72. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/codegen.py +0 -0
  73. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/__init__.py +0 -0
  74. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/_common.py +0 -0
  75. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/acceptance.py +0 -0
  76. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/agent_ops.py +0 -0
  77. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/app_drive.py +0 -0
  78. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/audit.py +0 -0
  79. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/backup.py +0 -0
  80. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/bugbash.py +0 -0
  81. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/chat.py +0 -0
  82. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/ci.py +0 -0
  83. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/codegen.py +0 -0
  84. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/dispatch.py +0 -0
  85. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/dispatch_workers.py +0 -0
  86. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/dr.py +0 -0
  87. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/drive.py +0 -0
  88. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/drive_queue.py +0 -0
  89. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/gate_a.py +0 -0
  90. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/gates.py +0 -0
  91. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/issues.py +0 -0
  92. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/lifecycle.py +0 -0
  93. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/machine.py +0 -0
  94. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/merge.py +0 -0
  95. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/milestone.py +0 -0
  96. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/plan_followup.py +0 -0
  97. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/plans.py +0 -0
  98. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/portal.py +0 -0
  99. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/pr.py +0 -0
  100. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/release.py +0 -0
  101. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/repo.py +0 -0
  102. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/report.py +0 -0
  103. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/review.py +0 -0
  104. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/scorecard.py +0 -0
  105. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/sessions.py +0 -0
  106. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/setup.py +0 -0
  107. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/smoke.py +0 -0
  108. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/status.py +0 -0
  109. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/store_migrate.py +0 -0
  110. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/terminal.py +0 -0
  111. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/test_gate.py +0 -0
  112. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/commands/tui.py +0 -0
  113. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/comments.py +0 -0
  114. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/config.py +0 -0
  115. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/config_reload.py +0 -0
  116. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/confirm_test.py +0 -0
  117. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/conflict_fix.py +0 -0
  118. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/dao.py +0 -0
  119. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/dashboard/__init__.py +0 -0
  120. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/dashboard/fixture.py +0 -0
  121. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/dashboard/index.html +0 -0
  122. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/dashboard/reports.html +0 -0
  123. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/dashboard/server.py +0 -0
  124. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/dashboard/terminal.py +0 -0
  125. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/db.py +0 -0
  126. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/dead_end.py +0 -0
  127. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/decomposition_chat.py +0 -0
  128. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/deploy/README.md +0 -0
  129. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/deploy/coord-agent.service +0 -0
  130. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/deploy/coord-backup.service +0 -0
  131. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/deploy/coord-backup.timer +0 -0
  132. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/deploy/coord-board-doctor.service +0 -0
  133. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/deploy/coord-board-doctor.timer +0 -0
  134. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/deploy/coord-db-backup.service +0 -0
  135. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/deploy/coord-db-backup.sh +0 -0
  136. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/deploy/coord-db-backup.timer +0 -0
  137. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/deploy/coord-dr-verify.service +0 -0
  138. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/deploy/coord-dr-verify.timer +0 -0
  139. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/deploy/coord-drive-queue.service +0 -0
  140. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/deploy/coord-drive-queue.timer +0 -0
  141. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/deploy/coord-failure-notify.service +0 -0
  142. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/deploy/coord-fleet-watchdog.service +0 -0
  143. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/deploy/coord-fleet-watchdog.timer +0 -0
  144. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/deploy/coord-nightly-smoke.service +0 -0
  145. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/deploy/coord-nightly-smoke.timer +0 -0
  146. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/deploy/coord-notify.service +0 -0
  147. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/deploy/coord-notify.timer +0 -0
  148. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/deploy/coord-release-propagate.service +0 -0
  149. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/deploy/coord-release-propagate.timer +0 -0
  150. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/deploy/coord-release-window.service +0 -0
  151. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/deploy/coord-release-window.timer +0 -0
  152. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/deploy/coord-serve.service +0 -0
  153. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/deploy/coord-web-dist-build.service +0 -0
  154. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/deploy/coord-web-dist-build.timer +0 -0
  155. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/deploy/coord-web.service +0 -0
  156. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/deploy_manifest.py +0 -0
  157. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/deploy_units.py +0 -0
  158. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/deprecation_telemetry.py +0 -0
  159. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/deps.py +0 -0
  160. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/diagnose.py +0 -0
  161. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/dirlink.py +0 -0
  162. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/dispatch.py +0 -0
  163. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/dispatch_liveness.py +0 -0
  164. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/dist_name.py +0 -0
  165. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/dr_promote.py +0 -0
  166. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/dr_verify.py +0 -0
  167. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/drive.py +0 -0
  168. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/drive_queue.py +0 -0
  169. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/drive_sessions_snapshot.py +0 -0
  170. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/drive_state.py +0 -0
  171. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/entry_truth.py +0 -0
  172. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/events.py +0 -0
  173. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/failure_class.py +0 -0
  174. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/failure_classifier.py +0 -0
  175. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/filelock.py +0 -0
  176. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/fleet_config_health.py +0 -0
  177. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/forge_availability.py +0 -0
  178. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/freshness.py +0 -0
  179. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/gate_a.py +0 -0
  180. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/gate_b.py +0 -0
  181. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/gate_snapshot.py +0 -0
  182. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/gates.py +0 -0
  183. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/gen_board_fixture.py +0 -0
  184. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/github_ops.py +0 -0
  185. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/github_throttle.py +0 -0
  186. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/goal.py +0 -0
  187. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/graph_health.py +0 -0
  188. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/gtk_native_driver.py +0 -0
  189. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/__init__.py +0 -0
  190. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/aggregate.py +0 -0
  191. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/checks/__init__.py +0 -0
  192. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/checks/_ci_pin.py +0 -0
  193. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/checks/agent_install.py +0 -0
  194. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/checks/cargo_targets.py +0 -0
  195. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/checks/claude_binary.py +0 -0
  196. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/checks/config_drift.py +0 -0
  197. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/checks/coord_tui_ci_pin.py +0 -0
  198. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/checks/coord_web_ci_pin.py +0 -0
  199. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/checks/deploy_lane_facts.py +0 -0
  200. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/checks/disk.py +0 -0
  201. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/checks/fleet_board.py +0 -0
  202. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/checks/fleet_deploy_lanes.py +0 -0
  203. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/checks/fleet_phantom.py +0 -0
  204. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/checks/fleet_unit_drift.py +0 -0
  205. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/checks/graph.py +0 -0
  206. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/checks/graphify_cli.py +0 -0
  207. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/checks/gui_lane_preflight.py +0 -0
  208. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/checks/index_lock.py +0 -0
  209. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/checks/issues_sync_staleness.py +0 -0
  210. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/checks/local_machine_identity.py +0 -0
  211. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/checks/plan_usage.py +0 -0
  212. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/checks/pr_churn.py +0 -0
  213. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/checks/release_cordon.py +0 -0
  214. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/checks/repo_state.py +0 -0
  215. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/checks/spawned_coord.py +0 -0
  216. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/checks/stalled_pipeline.py +0 -0
  217. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/checks/sustained_cpu.py +0 -0
  218. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/checks/timer_active.py +0 -0
  219. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/checks/toolchain.py +0 -0
  220. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/checks/unit_drift.py +0 -0
  221. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/checks/unit_enablement.py +0 -0
  222. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/checks/wedged_drive_queue.py +0 -0
  223. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/checks/worktrees.py +0 -0
  224. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/cli.py +0 -0
  225. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/context.py +0 -0
  226. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/fleet_snapshot.py +0 -0
  227. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/models.py +0 -0
  228. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/pypi.py +0 -0
  229. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/registry.py +0 -0
  230. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/render.py +0 -0
  231. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/health/units.py +0 -0
  232. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/hooks.py +0 -0
  233. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/housekeeping.py +0 -0
  234. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/interactive.py +0 -0
  235. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/invariant_alarms.py +0 -0
  236. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/issue_store.py +0 -0
  237. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/issues_sync_status.py +0 -0
  238. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/key_spec.py +0 -0
  239. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/liveness_auditor.py +0 -0
  240. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/mac_native_driver.py +0 -0
  241. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/machine_fault.py +0 -0
  242. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/machine_metrics.py +0 -0
  243. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/machine_onboard.py +0 -0
  244. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/machine_pause.py +0 -0
  245. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/machine_stats.py +0 -0
  246. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/milestone_chat.py +0 -0
  247. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/milestone_dispatch.py +0 -0
  248. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/milestone_gate.py +0 -0
  249. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/milestone_order.py +0 -0
  250. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/mock_author.py +0 -0
  251. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/native_fs_wait.py +0 -0
  252. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/native_pixels.py +0 -0
  253. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/network.py +0 -0
  254. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/new_issue_chat.py +0 -0
  255. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/nightly_runner.py +0 -0
  256. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/nightly_smoke.py +0 -0
  257. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/nightly_status.py +0 -0
  258. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/nightly_store.py +0 -0
  259. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/notifier/__init__.py +0 -0
  260. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/notifier/baseline.py +0 -0
  261. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/notifier/cli.py +0 -0
  262. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/notifier/collect.py +0 -0
  263. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/notifier/digest.py +0 -0
  264. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/notifier/models.py +0 -0
  265. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/notifier/predicate.py +0 -0
  266. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/notifier/service.py +0 -0
  267. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/notifier/store.py +0 -0
  268. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/notifier/transport.py +0 -0
  269. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/notify.py +0 -0
  270. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/openapi.py +0 -0
  271. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/overlap_fence.py +0 -0
  272. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/overlap_predict.py +0 -0
  273. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/parentage.py +0 -0
  274. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/parentage_github.py +0 -0
  275. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/pipeline.py +0 -0
  276. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/plan_parser.py +0 -0
  277. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/plans.py +0 -0
  278. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/platform_paths.py +0 -0
  279. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/portal_bridge.py +0 -0
  280. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/portal_store.py +0 -0
  281. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/portal_sync.py +0 -0
  282. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/pr_body_lint.py +0 -0
  283. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/preflight_size.py +0 -0
  284. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/prereqs.py +0 -0
  285. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/prereview_gate.py +0 -0
  286. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/progress.py +0 -0
  287. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/providers/__init__.py +0 -0
  288. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/providers/base.py +0 -0
  289. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/providers/claude.py +0 -0
  290. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/providers/claude_pty.py +0 -0
  291. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/providers/opencode.py +0 -0
  292. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/queue_diagnose.py +0 -0
  293. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/reconcile.py +0 -0
  294. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/reconcile_tick.py +0 -0
  295. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/refine_chat.py +0 -0
  296. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/release_cordon.py +0 -0
  297. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/release_gate.py +0 -0
  298. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/release_propagate.py +0 -0
  299. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/release_verify.py +0 -0
  300. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/release_window.py +0 -0
  301. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/repo_dormancy.py +0 -0
  302. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/repo_edit.py +0 -0
  303. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/repo_onboard.py +0 -0
  304. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/reports.py +0 -0
  305. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/rest_schema.py +0 -0
  306. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/restart_cmd.py +0 -0
  307. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/revalidate.py +0 -0
  308. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/scorecard.py +0 -0
  309. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/self_health.py +0 -0
  310. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/serve_app.py +0 -0
  311. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/shell_exec_wrap.py +0 -0
  312. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/skills/coord-dispatch-verbs/SKILL.md +0 -0
  313. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/skills/drive-queue-preflight/SKILL.md +0 -0
  314. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/skills/fleet-restart-safety/SKILL.md +0 -0
  315. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/skills/merge-stuck-triage/SKILL.md +0 -0
  316. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/skills/pipeline-limbo-triage/SKILL.md +0 -0
  317. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/skills/portal-followup/SKILL.md +0 -0
  318. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/skills/release-now/SKILL.md +0 -0
  319. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/skills/review-verdict-recovery/SKILL.md +0 -0
  320. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/skills/tui-quadraui-workflow/SKILL.md +0 -0
  321. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/skills/update-issue/SKILL.md +0 -0
  322. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/smoke.py +0 -0
  323. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/smoke_tags.py +0 -0
  324. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/spend_ceiling.py +0 -0
  325. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/split_work.py +0 -0
  326. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/sql.py +0 -0
  327. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/stage_projection.py +0 -0
  328. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/state.py +0 -0
  329. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/store_migrate.py +0 -0
  330. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/store_parity.py +0 -0
  331. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/templates/deploy-cloudflare.node.yml +0 -0
  332. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/test_author.py +0 -0
  333. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/test_chat.py +0 -0
  334. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/test_orchestrator.py +0 -0
  335. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/test_report.py +0 -0
  336. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/tui_pty_driver.py +0 -0
  337. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/tui_release.py +0 -0
  338. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/uat_checks.py +0 -0
  339. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/upstream_gaps.py +0 -0
  340. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/usage.py +0 -0
  341. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/usage_limits.py +0 -0
  342. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/usage_rollup.py +0 -0
  343. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/win_native_bridge.py +0 -0
  344. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/win_native_driver.py +0 -0
  345. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coord/worker_events.py +0 -0
  346. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/coordinator.example.yml +0 -0
  347. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/deploy/coord-agent.service +0 -0
  348. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/deploy/coord-backup.service +0 -0
  349. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/deploy/coord-backup.timer +0 -0
  350. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/deploy/coord-board-doctor.service +0 -0
  351. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/deploy/coord-board-doctor.timer +0 -0
  352. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/deploy/coord-db-backup.service +0 -0
  353. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/deploy/coord-db-backup.sh +0 -0
  354. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/deploy/coord-db-backup.timer +0 -0
  355. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/deploy/coord-dr-verify.service +0 -0
  356. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/deploy/coord-dr-verify.timer +0 -0
  357. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/deploy/coord-drive-queue.service +0 -0
  358. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/deploy/coord-drive-queue.timer +0 -0
  359. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/deploy/coord-failure-notify.service +0 -0
  360. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/deploy/coord-failure-notify.sh +0 -0
  361. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/deploy/coord-fleet-watchdog.service +0 -0
  362. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/deploy/coord-fleet-watchdog.timer +0 -0
  363. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/deploy/coord-nightly-smoke.service +0 -0
  364. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/deploy/coord-nightly-smoke.timer +0 -0
  365. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/deploy/coord-notify.service +0 -0
  366. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/deploy/coord-notify.timer +0 -0
  367. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/deploy/coord-release-propagate.service +0 -0
  368. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/deploy/coord-release-propagate.timer +0 -0
  369. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/deploy/coord-release-window.service +0 -0
  370. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/deploy/coord-release-window.timer +0 -0
  371. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/deploy/coord-serve.service +0 -0
  372. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/deploy/coord-web-dist-build.service +0 -0
  373. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/deploy/coord-web-dist-build.sh +0 -0
  374. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/deploy/coord-web-dist-build.timer +0 -0
  375. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/deploy/coord-web-rollback.sh +0 -0
  376. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/deploy/coord-web.service +0 -0
  377. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/deploy/node-shim.sh +0 -0
  378. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/ADR_COORD_TUI_CI.md +0 -0
  379. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/ADR_COORD_WEB_ACCEPTANCE_SUITE.md +0 -0
  380. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/ADR_COORD_WEB_CI.md +0 -0
  381. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/ADR_COORD_WEB_DIST.md +0 -0
  382. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/ADR_PY_RUST_MIRRORS.md +0 -0
  383. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/AGENT_OPERATIONS.md +0 -0
  384. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/ARCHITECTURE.md +0 -0
  385. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/ARCH_SECURITY_GATES.md +0 -0
  386. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/COCKPIT.md +0 -0
  387. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/CONTROL_CENTER.md +0 -0
  388. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/COST_DISCIPLINE.md +0 -0
  389. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/CROSS_PLATFORM.md +0 -0
  390. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/CUSTOMER_FACING_APPS.md +0 -0
  391. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/CUSTOMER_PORTAL.md +0 -0
  392. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/DATA_STORE_SELECTION.md +0 -0
  393. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/DISASTER_RECOVERY.md +0 -0
  394. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/DRIVE_QUEUE.md +0 -0
  395. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/EPHEMERAL_WORKERS.md +0 -0
  396. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/FORGE_MIGRATION.md +0 -0
  397. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/GRAPHIFY_SETUP.md +0 -0
  398. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/ISSUE_GUIDANCE.md +0 -0
  399. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/MAC_MINI.md +0 -0
  400. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/MERGE_AUTO_DRAIN_TRUST_BAR.md +0 -0
  401. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/NOTIFIER.md +0 -0
  402. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/OPENCODE_VERIFICATION.md +0 -0
  403. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/OPERATING_GOTCHAS.md +0 -0
  404. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/OPERATOR_GUIDES.md +0 -0
  405. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/ORACLE_LOOP.md +0 -0
  406. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/PHONE_WEBAPP.md +0 -0
  407. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/PIPELINE_V2.md +0 -0
  408. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/PLATFORM_EVOLUTION.md +0 -0
  409. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/SECOND_BACKEND.md +0 -0
  410. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/STORE_SERVICE.md +0 -0
  411. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/TEST_FIRST_BUG_LANE.md +0 -0
  412. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/WEB_CONTROL_CENTER.md +0 -0
  413. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/WSL_WINDOWS_WORKER.md +0 -0
  414. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/mocks/web/README.md +0 -0
  415. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/mocks/web/_tokens.css +0 -0
  416. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/mocks/web/issue-detail.html +0 -0
  417. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/mocks/web/pipeline-narrow.html +0 -0
  418. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/docs/mocks/web/pipeline-wide.html +0 -0
  419. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/graphify-out/.gitignore +0 -0
  420. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/install-agent.sh +0 -0
  421. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/pyproject.toml +0 -0
  422. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/audit_review_verdict_overrides.py +0 -0
  423. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/azure-workers/bootstrap-shared.sh +0 -0
  424. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/azure-workers/build-worker-image.sh +0 -0
  425. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/azure-workers/coordinator-machine.py +0 -0
  426. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/azure-workers/dr-down.sh +0 -0
  427. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/azure-workers/dr-up.sh +0 -0
  428. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/azure-workers/epic-down.sh +0 -0
  429. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/azure-workers/epic-up.sh +0 -0
  430. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/azure-workers/preflight.sh +0 -0
  431. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/azure-workers/provision-server.sh +0 -0
  432. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/azure-workers/provision-worker.sh +0 -0
  433. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/azure-workers/scrub-and-generalize.sh +0 -0
  434. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/azure-workers/tailnet-acl.hujson +0 -0
  435. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/azure-workers/throwaway-vm.sh +0 -0
  436. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/azure-workers/verify-github-token.sh +0 -0
  437. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/check_gh_argv_containment.py +0 -0
  438. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/codegen.py +0 -0
  439. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/comment_cruft.py +0 -0
  440. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/coord-test-runner.sh +0 -0
  441. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/coord-tui-scaffold/.github/coord-ci-acceptance.yml +0 -0
  442. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/coord-tui-scaffold/.github/workflows/cargo-test.yml +0 -0
  443. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/coord-tui-scaffold/.github/workflows/codegen-drift.yml +0 -0
  444. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/coord-tui-scaffold/CLAUDE.md +0 -0
  445. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/coord-venv-rollback.sh +0 -0
  446. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/drive-batch.sh +0 -0
  447. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/extract-coord-tui.sh +0 -0
  448. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/fleet_watchdog.py +0 -0
  449. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/gen_board_fixture.py +0 -0
  450. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/gen_mock_index.py +0 -0
  451. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/lib/provision-core.sh +0 -0
  452. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/next_release_tag.py +0 -0
  453. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/provision-machine.sh +0 -0
  454. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/run_tests_in_populated_home.sh +0 -0
  455. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/run_tests_without_gh.sh +0 -0
  456. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/setup-macmini.sh +0 -0
  457. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/smoke_437_interactive.py +0 -0
  458. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/verify-provision-noble.sh +0 -0
  459. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/verify_878_review_capture.py +0 -0
  460. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/verify_release_published.py +0 -0
  461. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/scripts/verify_release_wheel.py +0 -0
  462. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/setup.cfg +0 -0
  463. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/SMOKE_SET.md +0 -0
  464. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/__init__.py +0 -0
  465. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/acceptance/ms-37/conftest.py +0 -0
  466. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/acceptance/ms-37/contract.md +0 -0
  467. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/acceptance/ms-37/manifest.yml +0 -0
  468. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/acceptance/ms-37/test_usage_cli_1115.py +0 -0
  469. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/acceptance/ms-37/test_usage_core_1118.py +0 -0
  470. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/acceptance/ms-51/contract.md +0 -0
  471. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/acceptance/ms-51/home-active-extended.spec.ts +0 -0
  472. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/acceptance/ms-51/home-active.spec.ts +0 -0
  473. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/acceptance/ms-51/manifest.yml +0 -0
  474. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/acceptance/ms-51/mocks/home-active.html +0 -0
  475. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/acceptance/ms-51/tsconfig.json +0 -0
  476. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/acceptance/ms-example/mocks/home-active.html +0 -0
  477. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/backends.py +0 -0
  478. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/conftest.py +0 -0
  479. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/fixtures/board-pipeline-basic.json +0 -0
  480. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/fixtures/board-pipeline-terminal-gates.json +0 -0
  481. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/fixtures/opencode_run_failure_sample.jsonl +0 -0
  482. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/fixtures/opencode_run_length_sample.jsonl +0 -0
  483. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/fixtures/opencode_run_sample.jsonl +0 -0
  484. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/fixtures/playwright/all_pass.json +0 -0
  485. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/fixtures/playwright/global_setup_crash.json +0 -0
  486. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/fixtures/playwright/mixed_fail.json +0 -0
  487. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/fixtures/playwright/retry_then_pass.json +0 -0
  488. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/fixtures/playwright/retry_then_pass.junit.xml +0 -0
  489. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/fixtures/playwright/skip.json +0 -0
  490. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/fixtures/playwright/truncated.json +0 -0
  491. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/fixtures/test_report/cargo_compile_error.txt +0 -0
  492. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/fixtures/test_report/cargo_multi_target_failures.txt +0 -0
  493. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/fixtures/test_report/cargo_no_parseable_failures.txt +0 -0
  494. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/fixtures/test_report/pytest_collection_error.txt +0 -0
  495. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/fixtures/test_report/pytest_error_log_record.txt +0 -0
  496. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/fixtures/test_report/pytest_error_string_in_body.txt +0 -0
  497. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/fixtures/test_report/pytest_internal_error.txt +0 -0
  498. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/fixtures/test_report/pytest_mixed_failures.txt +0 -0
  499. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/fixtures/test_report/pytest_no_parseable_failures.txt +0 -0
  500. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_acceptance.py +0 -0
  501. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_acceptance_drivers.py +0 -0
  502. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_agent.py +0 -0
  503. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_agent_api_error.py +0 -0
  504. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_agent_app.py +0 -0
  505. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_agent_branch_base.py +0 -0
  506. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_agent_branch_capture.py +0 -0
  507. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_agent_config_free_1712.py +0 -0
  508. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_agent_deploy_units_endpoint.py +0 -0
  509. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_agent_dirty_worktree.py +0 -0
  510. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_agent_drive_queue_reconcile_2373.py +0 -0
  511. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_agent_graceful_shutdown_3649.py +0 -0
  512. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_agent_graph_refresh.py +0 -0
  513. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_agent_graph_self_heal.py +0 -0
  514. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_agent_health_h3.py +0 -0
  515. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_agent_idle_restart.py +0 -0
  516. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_agent_push_failure.py +0 -0
  517. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_agent_reap.py +0 -0
  518. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_agent_repos_and_pull.py +0 -0
  519. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_agent_restart_services_endpoint.py +0 -0
  520. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_agent_skills_self_heal.py +0 -0
  521. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_agent_startup_diagnostics.py +0 -0
  522. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_agent_update.py +0 -0
  523. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_agent_update_bluegreen.py +0 -0
  524. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_agent_usage_limit.py +0 -0
  525. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_agent_zero_commit.py +0 -0
  526. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_ambient_home_isolation.py +0 -0
  527. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_app_drive.py +0 -0
  528. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_approve_capability_reroute_3241.py +0 -0
  529. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_approve_dependency_busy_2804.py +0 -0
  530. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_approve_reject_plan.py +0 -0
  531. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_approve_usage_gate.py +0 -0
  532. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_approved_work_2532.py +0 -0
  533. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_approved_work_2996.py +0 -0
  534. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_assignment_already_recorded_daemon.py +0 -0
  535. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_audit_log.py +0 -0
  536. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_audit_outcome.py +0 -0
  537. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_audit_query.py +0 -0
  538. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_auto_loop.py +0 -0
  539. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_auto_release_publish_2035.py +0 -0
  540. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_backend_selection.py +0 -0
  541. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_backup.py +0 -0
  542. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_base_checkout_restore.py +0 -0
  543. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_block_log.py +0 -0
  544. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_board_cap_762.py +0 -0
  545. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_board_doctor.py +0 -0
  546. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_board_doctor_followthrough.py +0 -0
  547. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_board_doctor_permissions.py +0 -0
  548. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_board_doctor_policy.py +0 -0
  549. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_board_fixture.py +0 -0
  550. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_board_nightly_status.py +0 -0
  551. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_board_read_path.py +0 -0
  552. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_board_schema.py +0 -0
  553. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_board_service.py +0 -0
  554. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_board_state.py +0 -0
  555. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_board_wire.py +0 -0
  556. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_brain.py +0 -0
  557. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_branch_model.py +0 -0
  558. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_briefing_lessons.py +0 -0
  559. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_bug_intake.py +0 -0
  560. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_bugbash.py +0 -0
  561. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_build_worker_image_env_update.py +0 -0
  562. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cargo_cache.py +0 -0
  563. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_check_gh_argv_containment.py +0 -0
  564. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_ci_acceptance_gate_1950.py +0 -0
  565. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_ci_fix.py +0 -0
  566. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_ci_github.py +0 -0
  567. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_ci_gitlab.py +0 -0
  568. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_ci_parity_2091.py +0 -0
  569. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_ci_store.py +0 -0
  570. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_claim.py +0 -0
  571. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_claude_md_budget.py +0 -0
  572. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_claude_setup_token.py +0 -0
  573. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_acceptance.py +0 -0
  574. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_assign.py +0 -0
  575. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_assign_interactive_oracle_gate.py +0 -0
  576. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_assign_interactive_remote.py +0 -0
  577. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_assign_provider.py +0 -0
  578. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_assign_repo_drift_2219.py +0 -0
  579. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_audit.py +0 -0
  580. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_chat_continue.py +0 -0
  581. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_ci.py +0 -0
  582. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_codegen.py +0 -0
  583. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_decide.py +0 -0
  584. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_diagnose_capability_rules.py +0 -0
  585. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_diagnose_config_provenance.py +0 -0
  586. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_diagnose_forge_availability.py +0 -0
  587. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_diagnose_graph.py +0 -0
  588. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_diagnose_self.py +0 -0
  589. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_diagnose_test_coverage.py +0 -0
  590. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_doctor.py +0 -0
  591. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_doctor_config_free_1801.py +0 -0
  592. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_doctor_config_mismatch_1712.py +0 -0
  593. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_doctor_store_backend_3084.py +0 -0
  594. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_drive.py +0 -0
  595. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_drive_queue.py +0 -0
  596. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_drive_queue_investigate.py +0 -0
  597. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_drive_queue_stranded_prereq.py +0 -0
  598. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_escalate.py +0 -0
  599. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_fix_headless_review.py +0 -0
  600. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_gate_a.py +0 -0
  601. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_gates_next_action.py +0 -0
  602. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_inject_board_less.py +0 -0
  603. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_install_drift.py +0 -0
  604. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_install_skills.py +0 -0
  605. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_issue_close_wrong_repo.py +0 -0
  606. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_issue_comment.py +0 -0
  607. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_issue_create_label.py +0 -0
  608. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_issue_reopen.py +0 -0
  609. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_issue_view_list.py +0 -0
  610. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_issues.py +0 -0
  611. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_merge.py +0 -0
  612. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_milestone_assign.py +0 -0
  613. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_milestone_capture.py +0 -0
  614. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_milestone_chat_add_child.py +0 -0
  615. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_milestone_dispatch.py +0 -0
  616. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_milestone_gate_b.py +0 -0
  617. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_milestone_gate_c.py +0 -0
  618. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_milestone_order.py +0 -0
  619. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_milestone_remove_and_issue_close.py +0 -0
  620. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_milestone_ship.py +0 -0
  621. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_network.py +0 -0
  622. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_new_issue_chat.py +0 -0
  623. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_plans.py +0 -0
  624. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_portal.py +0 -0
  625. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_pr.py +0 -0
  626. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_pull_artifact.py +0 -0
  627. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_queue.py +0 -0
  628. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_reattach_sessions.py +0 -0
  629. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_refine_board.py +0 -0
  630. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_release_preflight.py +0 -0
  631. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_release_propagate.py +0 -0
  632. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_release_window.py +0 -0
  633. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_repo_2220.py +0 -0
  634. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_review_test_author_tracking_epic_2639.py +0 -0
  635. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_scorecard.py +0 -0
  636. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_serve_store_backend_3084.py +0 -0
  637. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_set_review_findings.py +0 -0
  638. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_smoke_nightly.py +0 -0
  639. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_smoke_nightly_sweep.py +0 -0
  640. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_status_advisory_terminal.py +0 -0
  641. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_status_contested_tag.py +0 -0
  642. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_status_invariant_alarms.py +0 -0
  643. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_status_machine_fault.py +0 -0
  644. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_status_merge_queue.py +0 -0
  645. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_status_nightly.py +0 -0
  646. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_status_provider.py +0 -0
  647. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_status_retried_3340.py +0 -0
  648. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_status_review_finalizing.py +0 -0
  649. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_status_supervisor_3366.py +0 -0
  650. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_status_test_failed_tag.py +0 -0
  651. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_status_usage_limit.py +0 -0
  652. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_sync_comments_873.py +0 -0
  653. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_test_plan.py +0 -0
  654. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_track.py +0 -0
  655. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_tui_update.py +0 -0
  656. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cli_wait.py +0 -0
  657. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_client.py +0 -0
  658. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_client_base_install.py +0 -0
  659. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_client_config_cache_atomic_3052.py +0 -0
  660. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_client_resource_migration_1946.py +0 -0
  661. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_commands_common.py +0 -0
  662. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_comment_cruft.py +0 -0
  663. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_comments.py +0 -0
  664. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_completion_summary.py +0 -0
  665. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_config.py +0 -0
  666. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_config_acceptance.py +0 -0
  667. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_config_audit.py +0 -0
  668. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_config_drift_check.py +0 -0
  669. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_config_effective.py +0 -0
  670. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_config_prereview_gate.py +0 -0
  671. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_config_pricing.py +0 -0
  672. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_config_snapshot_noncanonical_2208.py +0 -0
  673. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_config_usage_gate.py +0 -0
  674. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_confirm_test.py +0 -0
  675. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_conflict_fix.py +0 -0
  676. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_conflict_fix_semantic.py +0 -0
  677. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_coord_log_daemon_fallback_2547.py +0 -0
  678. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_coord_test.py +0 -0
  679. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_coord_test_runner_acceptance_toolchain_2936.py +0 -0
  680. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_coord_test_runner_baseline.py +0 -0
  681. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_coord_test_runner_populated_home.py +0 -0
  682. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_coord_test_runner_routing.py +0 -0
  683. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_coord_test_runner_toolchain.py +0 -0
  684. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_coord_test_runner_venv_setup.py +0 -0
  685. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_coord_uat.py +0 -0
  686. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_coord_web_sse_restart_live.py +0 -0
  687. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_coordinator_machine.py +0 -0
  688. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_cross_platform_imports.py +0 -0
  689. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_dao.py +0 -0
  690. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_dashboard.py +0 -0
  691. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_dashboard_api.py +0 -0
  692. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_dashboard_fixture.py +0 -0
  693. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_dashboard_reports.py +0 -0
  694. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_dashboard_server.py +0 -0
  695. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_dashboard_terminal.py +0 -0
  696. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_dashboard_terminal_live.py +0 -0
  697. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_db.py +0 -0
  698. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_dead_end.py +0 -0
  699. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_decomposition_chat.py +0 -0
  700. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_deploy_coord_db_backup.py +0 -0
  701. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_deploy_coord_web_dist.py +0 -0
  702. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_deploy_coord_web_rollback.py +0 -0
  703. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_deploy_db_backup_unit.py +0 -0
  704. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_deploy_drive_queue_unit.py +0 -0
  705. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_deploy_failure_notify_unit.py +0 -0
  706. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_deploy_manifest.py +0 -0
  707. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_deploy_notify_unit.py +0 -0
  708. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_deploy_units_lane.py +0 -0
  709. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_deploy_web_unit.py +0 -0
  710. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_deprecation_telemetry.py +0 -0
  711. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_deps.py +0 -0
  712. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_diagnose.py +0 -0
  713. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_dirlink.py +0 -0
  714. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_dispatch.py +0 -0
  715. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_dispatch_liveness.py +0 -0
  716. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_dispatch_target_validation.py +0 -0
  717. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_dispatch_workers.py +0 -0
  718. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_dist_name.py +0 -0
  719. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_done_housekeeping.py +0 -0
  720. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_dr_azure_scripts.py +0 -0
  721. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_dr_promote.py +0 -0
  722. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_dr_verify.py +0 -0
  723. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_drive.py +0 -0
  724. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_drive_machine_fault.py +0 -0
  725. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_drive_queue.py +0 -0
  726. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_drive_queue_blocked_rendering.py +0 -0
  727. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_drive_queue_launch_argv.py +0 -0
  728. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_drive_queue_max_parallel_config.py +0 -0
  729. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_drive_queue_max_parallel_per_repo_config.py +0 -0
  730. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_drive_queue_roll_pending.py +0 -0
  731. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_drive_queue_self_cordon_escalation.py +0 -0
  732. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_drive_sessions_snapshot.py +0 -0
  733. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_drive_state.py +0 -0
  734. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_drive_tmux.py +0 -0
  735. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_entry_truth.py +0 -0
  736. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_epic_up_capability_detection.py +0 -0
  737. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_epic_up_down_symlinked_config_1887.py +0 -0
  738. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_epic_up_image_provenance.py +0 -0
  739. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_errors.py +0 -0
  740. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_events.py +0 -0
  741. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_failure_class.py +0 -0
  742. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_failure_classifier.py +0 -0
  743. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_filelock.py +0 -0
  744. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_finalize_interactive_exit_test_verdict.py +0 -0
  745. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_fix_escalation_classifier.py +0 -0
  746. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_fix_of_force_override.py +0 -0
  747. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_fleet_config_health.py +0 -0
  748. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_fleet_health_probes.py +0 -0
  749. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_fleet_health_snapshot.py +0 -0
  750. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_fleet_watchdog.py +0 -0
  751. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_forge_availability.py +0 -0
  752. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_freshness.py +0 -0
  753. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_gate_a.py +0 -0
  754. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_gate_b.py +0 -0
  755. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_gate_snapshot_staleness.py +0 -0
  756. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_gates.py +0 -0
  757. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_gather_fleet_tmux_sessions.py +0 -0
  758. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_gen_mock_index.py +0 -0
  759. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_generated_rust_fixture.py +0 -0
  760. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_generated_rust_requests.py +0 -0
  761. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_generated_types_fixture.py +0 -0
  762. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_github_ops.py +0 -0
  763. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_github_throttle.py +0 -0
  764. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_goal.py +0 -0
  765. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_graph_health.py +0 -0
  766. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_graph_selfheal_absent_2237.py +0 -0
  767. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_gtk_native_driver.py +0 -0
  768. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_handoff.py +0 -0
  769. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_health_checks.py +0 -0
  770. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_health_cli.py +0 -0
  771. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_health_cli_graph.py +0 -0
  772. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_health_config.py +0 -0
  773. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_health_context.py +0 -0
  774. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_health_coord_tui_ci_pin.py +0 -0
  775. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_health_coord_web_ci_pin.py +0 -0
  776. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_health_deploy_lane_facts.py +0 -0
  777. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_health_fix.py +0 -0
  778. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_health_incident_regression.py +0 -0
  779. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_health_issues_sync_staleness.py +0 -0
  780. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_health_pr_churn.py +0 -0
  781. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_health_pypi.py +0 -0
  782. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_health_registry.py +0 -0
  783. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_health_release_cordon_probe.py +0 -0
  784. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_health_sustained_cpu.py +0 -0
  785. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_health_timer_active.py +0 -0
  786. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_health_toolchain.py +0 -0
  787. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_health_unit_drift.py +0 -0
  788. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_health_unit_enablement.py +0 -0
  789. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_health_wedged_drive_queue.py +0 -0
  790. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_hooks.py +0 -0
  791. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_housekeeping.py +0 -0
  792. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_human_attended_437.py +0 -0
  793. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_init.py +0 -0
  794. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_install_agent_capabilities_3515.py +0 -0
  795. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_install_agent_venv_2911.py +0 -0
  796. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_install_agent_wsl_bridge_3515.py +0 -0
  797. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_integration.py +0 -0
  798. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_interactive.py +0 -0
  799. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_interactive_briefing_echo.py +0 -0
  800. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_interactive_pane_log_2541.py +0 -0
  801. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_interactive_prefill_state.py +0 -0
  802. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_interactive_session_relaunch.py +0 -0
  803. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_interactive_test_verdict_backstop.py +0 -0
  804. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_interactive_token_attribution.py +0 -0
  805. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_interactive_worktree.py +0 -0
  806. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_invariant_alarms.py +0 -0
  807. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_issue_store_seam.py +0 -0
  808. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_issues_sync_status.py +0 -0
  809. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_key_spec.py +0 -0
  810. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_liveness_auditor.py +0 -0
  811. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_liveness_notify.py +0 -0
  812. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_lock_contention_ratchet.py +0 -0
  813. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_mac_native_driver.py +0 -0
  814. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_machine_fault.py +0 -0
  815. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_machine_metrics.py +0 -0
  816. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_machine_onboard.py +0 -0
  817. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_machine_pause.py +0 -0
  818. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_machine_stats.py +0 -0
  819. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_merge_verification.py +0 -0
  820. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_merge_verify.py +0 -0
  821. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_milestone_chat.py +0 -0
  822. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_milestone_dispatch.py +0 -0
  823. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_milestone_gate.py +0 -0
  824. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_milestone_order.py +0 -0
  825. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_milestone_seam.py +0 -0
  826. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_mock_author.py +0 -0
  827. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_model_tiering.py +0 -0
  828. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_models_config_labels.py +0 -0
  829. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_models_pinned_1650.py +0 -0
  830. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_native_fs_wait.py +0 -0
  831. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_native_pixels.py +0 -0
  832. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_needs_attention.py +0 -0
  833. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_network.py +0 -0
  834. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_new_issue_chat.py +0 -0
  835. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_next_release_tag.py +0 -0
  836. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_nightly_runner.py +0 -0
  837. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_nightly_smoke.py +0 -0
  838. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_nightly_status.py +0 -0
  839. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_nightly_store.py +0 -0
  840. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_no_eligible_host_3600.py +0 -0
  841. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_node_shim.py +0 -0
  842. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_notifier_baseline.py +0 -0
  843. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_notifier_cli.py +0 -0
  844. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_notifier_collect.py +0 -0
  845. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_notifier_config.py +0 -0
  846. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_notifier_drive_seam.py +0 -0
  847. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_notifier_isolation.py +0 -0
  848. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_notifier_predicate.py +0 -0
  849. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_notifier_quiet_hours.py +0 -0
  850. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_notifier_service.py +0 -0
  851. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_notify.py +0 -0
  852. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_notify_drain.py +0 -0
  853. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_openapi.py +0 -0
  854. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_operational_defaults.py +0 -0
  855. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_overlap_fence.py +0 -0
  856. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_overlap_predict.py +0 -0
  857. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_packaged_deploy_units.py +0 -0
  858. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_parentage.py +0 -0
  859. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_paste_landed.py +0 -0
  860. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_pause_store_guard_recursion_3789.py +0 -0
  861. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_phantom_heal_venv_independence_2570.py +0 -0
  862. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_pipeline.py +0 -0
  863. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_plain_runner_smoke_3673.py +0 -0
  864. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_plan_followup_approve_plan_command.py +0 -0
  865. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_plan_followup_pr_command.py +0 -0
  866. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_plan_followup_review_command.py +0 -0
  867. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_plan_only.py +0 -0
  868. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_plan_parser.py +0 -0
  869. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_platform_paths.py +0 -0
  870. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_portal_bridge.py +0 -0
  871. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_portal_config.py +0 -0
  872. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_portal_store.py +0 -0
  873. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_portal_sync.py +0 -0
  874. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_pr_body_lint.py +0 -0
  875. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_preflight_size.py +0 -0
  876. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_prereqs.py +0 -0
  877. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_prereview_gate.py +0 -0
  878. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_production_db_guard.py +0 -0
  879. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_progress.py +0 -0
  880. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_provider_seam.py +0 -0
  881. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_providers.py +0 -0
  882. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_providers_config_labels.py +0 -0
  883. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_providers_pty.py +0 -0
  884. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_provision_core.py +0 -0
  885. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_provision_machine.py +0 -0
  886. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_py_rust_mirror_inventory.py +0 -0
  887. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_queue_diagnose.py +0 -0
  888. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_quiet_hours.py +0 -0
  889. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_quiet_hours_store_2146.py +0 -0
  890. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_reap_merged_sessions.py +0 -0
  891. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_reap_stale_interactive_tick.py +0 -0
  892. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_reconcile.py +0 -0
  893. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_reconcile_branch.py +0 -0
  894. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_reconcile_completions.py +0 -0
  895. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_reconcile_late_agent_reports_2547.py +0 -0
  896. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_reconcile_merges.py +0 -0
  897. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_reconcile_no_agent_record.py +0 -0
  898. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_reconcile_tick.py +0 -0
  899. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_reconcile_usage_limit_done.py +0 -0
  900. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_refine_chat.py +0 -0
  901. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_release_cordon_2101.py +0 -0
  902. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_release_cordon_daemon_leads_2176.py +0 -0
  903. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_release_cordon_deadlock_2240.py +0 -0
  904. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_release_cordon_drain_stall_3336.py +0 -0
  905. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_release_cordon_stuck_2490.py +0 -0
  906. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_release_gate.py +0 -0
  907. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_release_propagate.py +0 -0
  908. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_release_propagate_threshold.py +0 -0
  909. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_release_roll_between_legs_2854.py +0 -0
  910. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_release_roll_window_handoff.py +0 -0
  911. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_release_unified_1242.py +0 -0
  912. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_release_verify.py +0 -0
  913. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_release_window.py +0 -0
  914. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_remote_auto_prune.py +0 -0
  915. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_remote_interactive_reaper.py +0 -0
  916. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_repo_add.py +0 -0
  917. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_repo_dormancy.py +0 -0
  918. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_repo_edit_2220.py +0 -0
  919. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_repo_graph_fleet_2237.py +0 -0
  920. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_repo_max_parallel_3423.py +0 -0
  921. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_repo_onboard_2220.py +0 -0
  922. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_report_public_export.py +0 -0
  923. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_report_result_push.py +0 -0
  924. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_reports.py +0 -0
  925. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_restart_cmd.py +0 -0
  926. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_retry.py +0 -0
  927. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_retry_advisory_1606.py +0 -0
  928. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_retry_escalation_classify_3360.py +0 -0
  929. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_retry_type_1636.py +0 -0
  930. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_revalidate.py +0 -0
  931. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_review_end_review_without_verdict.py +0 -0
  932. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_review_parse_failure_diagnostic.py +0 -0
  933. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_review_reaffirm.py +0 -0
  934. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_review_state.py +0 -0
  935. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_review_verdict_backstop.py +0 -0
  936. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_review_verdict_override_audit.py +0 -0
  937. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_review_verdict_relay.py +0 -0
  938. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_review_zero_commits.py +0 -0
  939. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_scoped_review_wiring.py +0 -0
  940. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_scorecard.py +0 -0
  941. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_self_health.py +0 -0
  942. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_serve.py +0 -0
  943. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_serve_app.py +0 -0
  944. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_serve_app_board_trim.py +0 -0
  945. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_serve_rest_routes.py +0 -0
  946. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_session.py +0 -0
  947. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_slice_issue_attribution.py +0 -0
  948. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_smoke.py +0 -0
  949. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_smoke_fanout_manifest_3333.py +0 -0
  950. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_smoke_live_checkout_restore.py +0 -0
  951. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_smoke_plain_runner_3673.py +0 -0
  952. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_smoke_workflow.py +0 -0
  953. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_spend_ceiling.py +0 -0
  954. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_spend_ceiling_coordinator.py +0 -0
  955. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_split.py +0 -0
  956. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_split_work.py +0 -0
  957. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_sql_dialect.py +0 -0
  958. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_sqlite_connect_ratchet.py +0 -0
  959. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_stage_projection.py +0 -0
  960. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_stale_busy_reviewer_697.py +0 -0
  961. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_stalled_pipeline.py +0 -0
  962. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_state.py +0 -0
  963. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_state_review_findings_daemon.py +0 -0
  964. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_status_fleet_footer.py +0 -0
  965. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_stop_1567.py +0 -0
  966. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_store_contract.py +0 -0
  967. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_store_migrate.py +0 -0
  968. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_stuck.py +0 -0
  969. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_stuck_test_state_watchdog_2803.py +0 -0
  970. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_terminal_command.py +0 -0
  971. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_test_author.py +0 -0
  972. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_test_chat.py +0 -0
  973. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_test_orchestrator.py +0 -0
  974. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_test_report.py +0 -0
  975. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_test_verdict_parsing.py +0 -0
  976. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_test_verdict_transcript_floor.py +0 -0
  977. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_text_io_encoding_audit.py +0 -0
  978. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_thin_client_board_audit.py +0 -0
  979. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_thin_client_config_load_1080.py +0 -0
  980. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_thin_client_daemon_routing_906.py +0 -0
  981. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_throwaway_vm.py +0 -0
  982. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_tmux_host.py +0 -0
  983. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_tmux_session.py +0 -0
  984. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_transcript_floor.py +0 -0
  985. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_tui_pty_driver.py +0 -0
  986. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_uat_checks.py +0 -0
  987. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_upstream_gaps.py +0 -0
  988. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_usage.py +0 -0
  989. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_usage_limits.py +0 -0
  990. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_usage_rollup.py +0 -0
  991. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_venv_live_install_2121.py +0 -0
  992. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_version_single_source.py +0 -0
  993. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_watch.py +0 -0
  994. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_win_native_bridge.py +0 -0
  995. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_win_native_driver.py +0 -0
  996. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_windows_job_is_a_real_gate_2000.py +0 -0
  997. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_worker_env_venv_isolation.py +0 -0
  998. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_worker_events.py +0 -0
  999. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_worker_image_pin_sync.py +0 -0
  1000. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_worker_safety.py +0 -0
  1001. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_worker_test_scoping.py +0 -0
  1002. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_worktree.py +0 -0
  1003. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_worktree_rmtree_chokepoint.py +0 -0
  1004. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/test_write_parity.py +0 -0
  1005. {code_coordinator-0.5.752 → code_coordinator-0.5.753}/tests/write_parity.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: code-coordinator
3
- Version: 0.5.752
3
+ Version: 0.5.753
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.752
3
+ Version: 0.5.753
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.752",
2
+ "tag": "0.5.753",
3
3
  "distance": 0,
4
- "node": "gcb520527ad750980a976586bc764514ea7ee5eff",
4
+ "node": "g543afc164f9f6d8411574fa781b778d6f50b5d56",
5
5
  "dirty": false,
6
6
  "branch": "HEAD",
7
7
  "node_date": "2026-11-10"
@@ -7798,14 +7798,72 @@ def _work_assignment_for_entry(entry: QueuedMerge, board) -> Assignment | None:
7798
7798
  return None
7799
7799
 
7800
7800
 
7801
+ def _review_chain_for_entry(entry: QueuedMerge, board) -> list[Assignment]:
7802
+ """Every ``type="review"`` :class:`Assignment` covering *entry*'s work
7803
+ chain (:func:`_chain_work_ids`), oldest first.
7804
+
7805
+ A scoped re-review (#1476/#3161) carries the SAME
7806
+ ``review_of_assignment_id`` as the round it supersedes (see
7807
+ :func:`coord.review.dispatch_scoped_review`'s docstring) rather than
7808
+ chaining to the previous review row, so there is no parent/child link
7809
+ between successive review rounds to walk — only ``dispatched_at`` order
7810
+ distinguishes "this round" from "the one before it". Used by
7811
+ :func:`_issue_resolution_for_entry` (#3966) to fold EVERY round's own
7812
+ `ISSUE_RESOLUTION:` judgment forward, not just the one that ended up
7813
+ approving.
7814
+ """
7815
+ if board is None:
7816
+ return []
7817
+ pool = list(getattr(board, "completed", []) or []) + list(getattr(board, "active", []) or [])
7818
+ branch_work_ids = _chain_work_ids(entry, pool)
7819
+ if not branch_work_ids:
7820
+ return []
7821
+ reviews = [
7822
+ a for a in pool
7823
+ if getattr(a, "type", None) == "review"
7824
+ and getattr(a, "review_of_assignment_id", None) in branch_work_ids
7825
+ ]
7826
+ reviews.sort(key=lambda a: getattr(a, "dispatched_at", None) or 0.0)
7827
+ return reviews
7828
+
7829
+
7801
7830
  def _issue_resolution_for_entry(
7802
7831
  entry: QueuedMerge, board, gh_ops: "GhOps | None" = None, config=None,
7803
7832
  ) -> IssueResolution:
7804
- """(#3502) The EFFECTIVE `ISSUE_RESOLUTION:` verdict for *entry* — the
7805
- worker's own judgment (its `completion_summary`), folded with the
7806
- approving reviewer's judgment (when one exists), reviewer winning any
7807
- disagreement that makes it MORE cautious, never less
7808
- (:func:`coord.models.effective_issue_resolution`).
7833
+ """(#3502, widened by #3966) The EFFECTIVE `ISSUE_RESOLUTION:` verdict
7834
+ for *entry*, computed in two stages so the settled #3502 "never the
7835
+ reverse" guarantee (a REVIEWER can never silently downgrade the
7836
+ WORKER's own `partial`/`investigation` self-report back to "resolved")
7837
+ stays intact while also fixing #3966 (a scoped re-review that drops a
7838
+ PRIOR REVIEW ROUND's `partial`):
7839
+
7840
+ 1. Fold every review round's own judgment together, chronologically,
7841
+ among THEMSELVES. Each fold normally wins any disagreement that
7842
+ makes it MORE cautious, never less
7843
+ (:func:`coord.models.effective_issue_resolution`) — UNLESS a later
7844
+ round's judgment is an EXPLICIT `ISSUE_RESOLUTION: resolved` (its
7845
+ ``explicit`` bit set, meaning that reviewer actually wrote the
7846
+ marker rather than leaving it out), in which case that later,
7847
+ independent opinion wins outright and clears whatever an earlier
7848
+ round accumulated. A round that states no `ISSUE_RESOLUTION:` line
7849
+ of its own parses to the same "resolved" VALUE but with
7850
+ ``explicit=False``, indistinguishable from silence, so it can never
7851
+ drop a prior round's `partial`/`investigation` — only an explicit
7852
+ restatement can.
7853
+ 2. Combine that folded reviewer verdict with the WORKER's own judgment
7854
+ (its `completion_summary`) exactly once, via the same
7855
+ :func:`coord.models.effective_issue_resolution` — which is where
7856
+ "never the reverse" actually lives: even an explicit, unanimous
7857
+ "resolved" from every review round can never undo the worker's own
7858
+ `partial`/`investigation` admission.
7859
+
7860
+ Folds the WHOLE review chain, not just the rounds up to the one that
7861
+ happened to approve: `scan_approved_reviews` can pick an arbitrary
7862
+ approving round among several with no recorded `review_patch_id`
7863
+ (pre-#821 rows), and truncating there risked silently dropping a
7864
+ LATER round's more-cautious judgment. Since the fold is monotonically
7865
+ cautious except for the explicit-"resolved" escape hatch above,
7866
+ folding everything is strictly safer than guessing a cutoff.
7809
7867
 
7810
7868
  Both halves degrade gracefully to "resolved" (today's unconditional
7811
7869
  behaviour) when unavailable:
@@ -7813,11 +7871,14 @@ def _issue_resolution_for_entry(
7813
7871
  * *board* is ``None``, or the originating `work` assignment can't be
7814
7872
  found on it (:func:`_work_assignment_for_entry`) — no worker claim to
7815
7873
  read.
7816
- * No approving review is found (:func:`scan_approved_reviews`), or its
7817
- findings can't be recovered from the GitHub message bus
7818
- (:func:`coord.review.fetch_review_findings_from_github` — the one
7819
- review-findings source this module can reach without a notify.py/
7820
- state.py DB round trip) — no reviewer claim to read.
7874
+ * No approving review is found (:func:`scan_approved_reviews`) — no
7875
+ reviewer claim to read at all. When one is found, every round's
7876
+ findings are recovered from the GitHub message bus in a SINGLE fetch
7877
+ (:func:`coord.review.fetch_review_findings_from_github_many` — the
7878
+ one review-findings source this module can reach without a
7879
+ notify.py/state.py DB round trip); a round missing from the result
7880
+ (comment never posted, or the fetch failed outright) simply doesn't
7881
+ contribute to the fold.
7821
7882
 
7822
7883
  Deferred-imports `coord.review` to avoid a circular import (`review.py`
7823
7884
  does not import `merge_queue.py` at module level, but keeping the
@@ -7837,20 +7898,39 @@ def _issue_resolution_for_entry(
7837
7898
  reviewer_resolution: IssueResolution | None = None
7838
7899
  if board is not None:
7839
7900
  scan = scan_approved_reviews(entry, board, gh_ops, config=config)
7840
- review_assignment = scan.review_assignment
7841
- if scan.approved and review_assignment is not None:
7842
- from coord.review import fetch_review_findings_from_github # noqa: PLC0415
7901
+ if scan.approved and scan.review_assignment is not None:
7902
+ from coord.review import fetch_review_findings_from_github_many # noqa: PLC0415
7843
7903
 
7904
+ # Fold EVERY round in the chain (not just up to the one that
7905
+ # approved — see the docstring above on why no cutoff is used).
7906
+ chain = _review_chain_for_entry(entry, board)
7844
7907
  try:
7845
- findings = fetch_review_findings_from_github(
7908
+ findings_by_id = fetch_review_findings_from_github_many(
7846
7909
  entry.repo_github,
7847
7910
  entry.issue_number,
7848
- review_assignment.assignment_id,
7911
+ (a.assignment_id for a in chain),
7849
7912
  )
7850
- except Exception: # noqa: BLE001 — best-effort; falls back to the worker's claim
7851
- findings = None
7852
- if findings is not None:
7853
- reviewer_resolution = findings.issue_resolution
7913
+ except Exception: # noqa: BLE001 — best-effort; keeps the running fold
7914
+ findings_by_id = {}
7915
+
7916
+ for round_assignment in chain:
7917
+ findings = findings_by_id.get(round_assignment.assignment_id)
7918
+ if findings is None:
7919
+ continue
7920
+ candidate = findings.issue_resolution
7921
+ if reviewer_resolution is None:
7922
+ reviewer_resolution = candidate
7923
+ elif candidate.explicit and candidate.value == "resolved":
7924
+ # A later, independent review round that DELIBERATELY
7925
+ # restates "resolved" (not a missing line defaulting to
7926
+ # it) may clear what an earlier review round
7927
+ # accumulated — reviewer rounds re-checking each other
7928
+ # is exactly what #3966 asks for.
7929
+ reviewer_resolution = candidate
7930
+ else:
7931
+ reviewer_resolution = effective_issue_resolution(
7932
+ reviewer_resolution, candidate
7933
+ )
7854
7934
 
7855
7935
  return effective_issue_resolution(worker_resolution, reviewer_resolution)
7856
7936
 
@@ -714,10 +714,27 @@ class IssueResolution:
714
714
  remainder after the value (e.g. "the quadraui issue was only drafted,
715
715
  not filed"), empty when the marker carried none or wasn't present at
716
716
  all.
717
+
718
+ ``explicit`` (#3966) is the presence bit: ``True`` only when
719
+ :func:`parse_issue_resolution` actually matched a real marker in the
720
+ source text, ``False`` for the default it returns when none was found
721
+ (or the text was empty/``None``). Without this bit, a round that
722
+ states nothing and a round that explicitly writes
723
+ ``ISSUE_RESOLUTION: resolved`` are the same value and indistinguishable
724
+ — which is exactly what let a multi-round fold (#3966's
725
+ `coord.merge_queue._issue_resolution_for_entry`) never clear a prior
726
+ `partial`/`investigation`, even when a later, independent reviewer
727
+ deliberately restated `resolved`. Callers that fold multiple rounds
728
+ together use this bit to tell "silent" (carry the prior value forward)
729
+ apart from "stated" (let it win the tie); callers combining a single
730
+ worker/reviewer pair (:func:`effective_issue_resolution`) do not need
731
+ it — "never the reverse" there is unconditional regardless of how the
732
+ reviewer's value was produced.
717
733
  """
718
734
 
719
735
  value: str = DEFAULT_ISSUE_RESOLUTION
720
736
  reason: str = ""
737
+ explicit: bool = False
721
738
 
722
739
 
723
740
  # Mirrors `SMOKE_TESTS:`/`REVIEW_VERDICT:`'s tolerance for trailing
@@ -794,6 +811,12 @@ def parse_issue_resolution(text: str | None) -> IssueResolution:
794
811
  quotations of the marker text, not claims. A real, unquoted marker
795
812
  earlier in the text still wins once every later quoted mention has
796
813
  been skipped, rather than falling all the way back to the default.
814
+
815
+ The returned :class:`IssueResolution`'s ``explicit`` bit (#3966) is
816
+ ``True`` only on the "found a real marker" return below — the
817
+ absent/malformed default always comes back with ``explicit=False``,
818
+ so a caller folding several of these together can tell a genuine
819
+ `ISSUE_RESOLUTION: resolved` apart from a line that was never written.
797
820
  """
798
821
  if not text:
799
822
  return IssueResolution()
@@ -808,7 +831,7 @@ def parse_issue_resolution(text: str | None) -> IssueResolution:
808
831
  ).strip()
809
832
  if is_blank_issue_resolution_reason(reason):
810
833
  reason = ""
811
- return IssueResolution(value=value, reason=reason)
834
+ return IssueResolution(value=value, reason=reason, explicit=True)
812
835
  return IssueResolution()
813
836
 
814
837
 
@@ -1238,6 +1238,33 @@ def parse_review_from_agent(
1238
1238
  return _parse_review_from_lines(lines, stream_json=stream_json)
1239
1239
 
1240
1240
 
1241
+ def _review_findings_from_comments(
1242
+ comments: list[dict], assignment_id: str
1243
+ ) -> ReviewFindings | None:
1244
+ """Shared core of :func:`fetch_review_findings_from_github` and
1245
+ :func:`fetch_review_findings_from_github_many` — extracts *one*
1246
+ assignment's findings out of an already-fetched comment list, so a
1247
+ multi-round fold (:func:`coord.merge_queue._issue_resolution_for_entry`)
1248
+ can fetch the comment list ONCE and look up every round in it, instead
1249
+ of one full `gh` round trip per round (#3966).
1250
+ """
1251
+ from coord.comments import extract_findings_block # noqa: PLC0415
1252
+
1253
+ if not assignment_id:
1254
+ return None
1255
+ # Newest-first so a re-review's findings win over an earlier iteration's.
1256
+ for c in reversed(comments):
1257
+ hit = extract_findings_block(c.get("body", ""), assignment_id)
1258
+ if hit is not None:
1259
+ verdict, body = hit
1260
+ return ReviewFindings(
1261
+ verdict=verdict or "request-changes",
1262
+ body=body,
1263
+ issue_resolution=parse_issue_resolution(body),
1264
+ )
1265
+ return None
1266
+
1267
+
1241
1268
  def fetch_review_findings_from_github(
1242
1269
  repo_github: str,
1243
1270
  issue_number: int,
@@ -1255,11 +1282,15 @@ def fetch_review_findings_from_github(
1255
1282
  Routed through :func:`coord.github_ops.get_issue_comments` (#1483) rather
1256
1283
  than shelling out to ``gh`` directly — ``github_ops`` is the single ``gh``
1257
1284
  sink so a GitLab/bare-DB backend has one seam to sit beside.
1285
+
1286
+ Fetches the comment list on every call — a caller recovering MULTIPLE
1287
+ assignments' findings off the same issue (e.g. folding a whole review
1288
+ chain) should use :func:`fetch_review_findings_from_github_many` instead,
1289
+ which does exactly one fetch for all of them.
1258
1290
  """
1259
1291
  import subprocess as _sp # noqa: PLC0415
1260
1292
 
1261
1293
  from coord import github_ops # noqa: PLC0415
1262
- from coord.comments import extract_findings_block # noqa: PLC0415
1263
1294
 
1264
1295
  if not (repo_github and assignment_id):
1265
1296
  return None
@@ -1267,17 +1298,38 @@ def fetch_review_findings_from_github(
1267
1298
  comments = github_ops.get_issue_comments(repo_github, issue_number)
1268
1299
  except (RuntimeError, _sp.TimeoutExpired, OSError, ValueError):
1269
1300
  return None
1270
- # Newest-first so a re-review's findings win over an earlier iteration's.
1271
- for c in reversed(comments):
1272
- hit = extract_findings_block(c.get("body", ""), assignment_id)
1273
- if hit is not None:
1274
- verdict, body = hit
1275
- return ReviewFindings(
1276
- verdict=verdict or "request-changes",
1277
- body=body,
1278
- issue_resolution=parse_issue_resolution(body),
1279
- )
1280
- return None
1301
+ return _review_findings_from_comments(comments, assignment_id)
1302
+
1303
+
1304
+ def fetch_review_findings_from_github_many(
1305
+ repo_github: str,
1306
+ issue_number: int,
1307
+ assignment_ids: Iterable[str],
1308
+ ) -> dict[str, ReviewFindings]:
1309
+ """Batch form of :func:`fetch_review_findings_from_github` (#3966):
1310
+ one `gh` comment-list fetch covering every *assignment_ids* entry,
1311
+ instead of one fetch per entry — the cost a multi-round review-chain
1312
+ fold (:func:`coord.merge_queue._issue_resolution_for_entry`) would
1313
+ otherwise pay on every tick. Missing/unrecoverable entries are simply
1314
+ absent from the returned dict rather than raising.
1315
+ """
1316
+ import subprocess as _sp # noqa: PLC0415
1317
+
1318
+ from coord import github_ops # noqa: PLC0415
1319
+
1320
+ ids = [a for a in assignment_ids if a]
1321
+ if not (repo_github and ids):
1322
+ return {}
1323
+ try:
1324
+ comments = github_ops.get_issue_comments(repo_github, issue_number)
1325
+ except (RuntimeError, _sp.TimeoutExpired, OSError, ValueError):
1326
+ return {}
1327
+ result: dict[str, ReviewFindings] = {}
1328
+ for assignment_id in ids:
1329
+ findings = _review_findings_from_comments(comments, assignment_id)
1330
+ if findings is not None:
1331
+ result[assignment_id] = findings
1332
+ return result
1281
1333
 
1282
1334
 
1283
1335
  # ── Test-gate verdict output parsing (#1351) ────────────────────────────────
@@ -5933,6 +5985,7 @@ def build_scoped_review_briefing(
5933
5985
  prior_verdict: str = "approve",
5934
5986
  prior_findings_body: str | None = None,
5935
5987
  is_base_move: bool = False,
5988
+ prior_issue_resolution: "IssueResolution | None" = None,
5936
5989
  ) -> str:
5937
5990
  """Assemble a SCOPED re-review briefing (#1476, widened by #3161).
5938
5991
  Pure function — testable.
@@ -5954,6 +6007,23 @@ def build_scoped_review_briefing(
5954
6007
  handed the prior review's findings (*prior_findings_body*) alongside
5955
6008
  the delta, and is asked to confirm each blocking finding was actually
5956
6009
  addressed rather than told to avoid re-litigating anything.
6010
+
6011
+ *prior_issue_resolution* (#3966): the prior review's own separate
6012
+ `ISSUE_RESOLUTION:` judgment (:func:`coord.models.parse_issue_resolution`
6013
+ applied to *prior_findings_body* — not a `## Blocking findings` entry,
6014
+ so a reviewer told only to "check each blocking finding"/"this PR was
6015
+ already approved" never re-checks it on its own). When it is
6016
+ `partial`/`investigation`, this briefing echoes it verbatim — after
6017
+ whichever of the three premises above applies (fix round, base move,
6018
+ or conflict-fix rebase; a prior APPROVING review can carry a `partial`
6019
+ judgment too, see #3502) — and instructs the reviewer to re-check it
6020
+ explicitly, and to state their own `ISSUE_RESOLUTION:` line either way
6021
+ — never just drop it. A `None` or `resolved` prior resolution adds
6022
+ nothing here; this function always asks for the reviewer's own
6023
+ `ISSUE_RESOLUTION:` line regardless, since
6024
+ :func:`coord.merge_queue._issue_resolution_for_entry` carries the prior
6025
+ round's value forward when a re-review's own line is missing, and a
6026
+ missing line must never silently read as "resolved".
5957
6027
  """
5958
6028
  is_fix_round = prior_verdict != "approve"
5959
6029
  lines: list[str] = []
@@ -6030,6 +6100,50 @@ def build_scoped_review_briefing(
6030
6100
  "something either side of the conflict needed."
6031
6101
  )
6032
6102
  lines.append("")
6103
+ if prior_issue_resolution is not None and prior_issue_resolution.value != "resolved":
6104
+ # #3966: the prior review's `ISSUE_RESOLUTION:` judgment is a
6105
+ # SEPARATE line from `## Blocking findings`/the approval itself, so
6106
+ # neither "check each blocking finding" (fix-round path) nor "this
6107
+ # PR was already approved" (base-move/conflict-rebase paths) ever
6108
+ # re-checks it on its own — call it out explicitly as its own
6109
+ # outstanding finding, regardless of which of the three premises
6110
+ # above applies.
6111
+ lines.append("## Prior ISSUE_RESOLUTION judgment (still outstanding)")
6112
+ lines.append("")
6113
+ reason_suffix = (
6114
+ f" — {prior_issue_resolution.reason}"
6115
+ if prior_issue_resolution.reason
6116
+ else ""
6117
+ )
6118
+ lines.append(
6119
+ f"`ISSUE_RESOLUTION: {prior_issue_resolution.value}{reason_suffix}`"
6120
+ )
6121
+ lines.append("")
6122
+ recheck_subject = "the delta" if is_fix_round else "the current branch"
6123
+ resolved_clause = (
6124
+ "If the fix round actually completed what was missing, say so"
6125
+ if is_fix_round
6126
+ else "If the issue is in fact now fully resolved, say so"
6127
+ )
6128
+ lines.append(
6129
+ "The prior review also recorded this SEPARATE judgment: "
6130
+ "merging the PR as it stood did NOT fully resolve the "
6131
+ "issue (code quality and 'does this actually fix the "
6132
+ "reported bug' are different questions — see the "
6133
+ "`ISSUE_RESOLUTION:` instructions below). Treat this "
6134
+ f"exactly like a blocking finding: re-check it against {recheck_subject}. "
6135
+ f"{resolved_clause} and record your own `ISSUE_RESOLUTION: "
6136
+ "resolved`. If it is still not fully resolved — including "
6137
+ "when this repo's own CLAUDE.md only allows specific "
6138
+ "narrow partials (e.g. a declared tranche, a one-backend "
6139
+ "leftover, an upstream blocker) and this one doesn't "
6140
+ "qualify — restate it explicitly with your own "
6141
+ "`ISSUE_RESOLUTION: partial` or `investigation` line and "
6142
+ "`request-changes`, naming what's still missing. Do NOT "
6143
+ "just omit the line: a missing line is read as carrying "
6144
+ "this judgment forward UNCHANGED, not as 'resolved'."
6145
+ )
6146
+ lines.append("")
6033
6147
  lines.append("## Context")
6034
6148
  lines.append(f"- Repo: {repo_github} (local name: {repo_name})")
6035
6149
  lines.append(f"- Branch: {branch or '(unknown)'}")
@@ -6125,6 +6239,7 @@ def build_scoped_review_briefing(
6125
6239
  lines.append("```")
6126
6240
  lines.append("REVIEW_VERDICT: approve")
6127
6241
  lines.append("REVIEW_BODY:")
6242
+ lines.append("ISSUE_RESOLUTION: resolved")
6128
6243
  lines.append("<your full review text in markdown>")
6129
6244
  lines.append("END_REVIEW")
6130
6245
  lines.append("```")
@@ -6133,6 +6248,21 @@ def build_scoped_review_briefing(
6133
6248
  "Use `REVIEW_VERDICT: request-changes` if the resolution introduced "
6134
6249
  "a real bug."
6135
6250
  )
6251
+ lines.append("")
6252
+ lines.append(
6253
+ "ALWAYS include your own `ISSUE_RESOLUTION:` line inside "
6254
+ "`REVIEW_BODY:` (shown above), one of `resolved` | `partial` | "
6255
+ "`investigation` — exactly the same judgment a normal review "
6256
+ "states, and separate from `REVIEW_VERDICT:` (code quality and "
6257
+ "'does this actually fix the reported bug' are different "
6258
+ "questions). State it even when you have nothing new to add: a "
6259
+ "missing line is read as carrying the PRIOR review's own "
6260
+ "`ISSUE_RESOLUTION:` judgment forward UNCHANGED (#3966), never as "
6261
+ "`resolved` by default — so omitting it does not clear a prior "
6262
+ "`partial`/`investigation`, it only leaves the coordinator "
6263
+ "guessing. If the prior review's judgment was already `resolved` "
6264
+ "(or absent), `resolved` is the right default here too."
6265
+ )
6136
6266
  lines.append(
6137
6267
  "BODY STRUCTURE — same three headings as a normal review, always "
6138
6268
  "all three: `## Blocking findings`, `## Non-blocking concerns`, "
@@ -6423,6 +6553,18 @@ def dispatch_scoped_review(
6423
6553
  if _prior_findings is not None:
6424
6554
  prior_findings_body = _prior_findings.body
6425
6555
 
6556
+ # #3966: re-parsed from the recovered body text rather than trusting
6557
+ # `_prior_findings.issue_resolution` — `_load_review_findings`'s DB-cache
6558
+ # fast path (the common case: `notify`/`report-result` already cached
6559
+ # verdict+body for this exact row) constructs its `ReviewFindings`
6560
+ # without ever parsing one, so that attribute silently defaults to
6561
+ # "resolved" regardless of what the body actually says. Re-parsing the
6562
+ # body text here is the one parse both paths (DB-cache and log/agent
6563
+ # fallback) can rely on alike.
6564
+ prior_issue_resolution = (
6565
+ parse_issue_resolution(prior_findings_body) if prior_findings_body else None
6566
+ )
6567
+
6426
6568
  # #1476 fix: rank candidates against the machine that authored the code
6427
6569
  # under review — the WORK assignment behind *entry* — not the prior
6428
6570
  # reviewer's machine. ``QueuedMerge`` doesn't carry the worker's machine
@@ -6607,6 +6749,7 @@ def dispatch_scoped_review(
6607
6749
  prior_verdict=prior_review_verdict,
6608
6750
  prior_findings_body=prior_findings_body,
6609
6751
  is_base_move=is_base_move,
6752
+ prior_issue_resolution=prior_issue_resolution,
6610
6753
  )
6611
6754
 
6612
6755
  payload = {