code-coordinator 0.5.658__tar.gz → 0.5.660__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 (982) hide show
  1. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/PKG-INFO +1 -1
  2. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/code_coordinator.egg-info/PKG-INFO +1 -1
  3. code_coordinator-0.5.660/code_coordinator.egg-info/scm_version.json +8 -0
  4. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/merge_queue.py +222 -4
  5. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/release_propagate.py +44 -3
  6. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/review.py +2 -2
  7. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_merge_queue.py +496 -0
  8. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_release_propagate.py +64 -1
  9. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_review.py +58 -0
  10. code_coordinator-0.5.658/code_coordinator.egg-info/scm_version.json +0 -8
  11. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/.claude/commands/board.md +0 -0
  12. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/.claude/commands/complete-session.md +0 -0
  13. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/.claude/commands/coordinator.md +0 -0
  14. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/.githooks/_lib.sh +0 -0
  15. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/.githooks/post-checkout +0 -0
  16. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/.githooks/post-commit +0 -0
  17. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/.githooks/post-merge +0 -0
  18. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  19. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/.github/coord-ci-acceptance.yml +0 -0
  20. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/.github/workflows/auto-release.yml +0 -0
  21. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/.github/workflows/publish.yml +0 -0
  22. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/.github/workflows/test.yml +0 -0
  23. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/.gitignore +0 -0
  24. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/CLAUDE.md +0 -0
  25. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/GOAL.md +0 -0
  26. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/LICENSE +0 -0
  27. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/MANIFEST.in +0 -0
  28. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/README.md +0 -0
  29. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/code_coordinator.egg-info/SOURCES.txt +0 -0
  30. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/code_coordinator.egg-info/dependency_links.txt +0 -0
  31. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/code_coordinator.egg-info/entry_points.txt +0 -0
  32. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/code_coordinator.egg-info/requires.txt +0 -0
  33. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/code_coordinator.egg-info/scm_file_list.json +0 -0
  34. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/code_coordinator.egg-info/top_level.txt +0 -0
  35. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/__init__.py +0 -0
  36. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/_board_mapping.py +0 -0
  37. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/acceptance.py +0 -0
  38. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/acceptance_drivers.py +0 -0
  39. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/agent.py +0 -0
  40. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/agent_app.py +0 -0
  41. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/agent_update.py +0 -0
  42. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/agents/opencode/.gitignore +0 -0
  43. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/agents/opencode/agents/work.md +0 -0
  44. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/agents/opencode/routing.jsonc +0 -0
  45. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/app_drive.py +0 -0
  46. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/app_drive_daemon.py +0 -0
  47. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/approved_work.py +0 -0
  48. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/audit.py +0 -0
  49. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/auto_loop.py +0 -0
  50. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/backup.py +0 -0
  51. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/block_log.py +0 -0
  52. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/board_schema.py +0 -0
  53. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/board_service.py +0 -0
  54. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/board_wire.py +0 -0
  55. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/brain.py +0 -0
  56. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/branch_model.py +0 -0
  57. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/briefing_lessons.py +0 -0
  58. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/bug_intake.py +0 -0
  59. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/bugbash.py +0 -0
  60. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/cargo_cache.py +0 -0
  61. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/ci_fix.py +0 -0
  62. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/ci_github.py +0 -0
  63. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/ci_gitlab.py +0 -0
  64. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/ci_store.py +0 -0
  65. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/claim.py +0 -0
  66. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/claude_setup_token.py +0 -0
  67. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/cli.py +0 -0
  68. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/client.py +0 -0
  69. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/codegen.py +0 -0
  70. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/__init__.py +0 -0
  71. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/_common.py +0 -0
  72. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/acceptance.py +0 -0
  73. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/agent_ops.py +0 -0
  74. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/app_drive.py +0 -0
  75. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/audit.py +0 -0
  76. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/backup.py +0 -0
  77. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/bugbash.py +0 -0
  78. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/chat.py +0 -0
  79. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/ci.py +0 -0
  80. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/codegen.py +0 -0
  81. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/dispatch.py +0 -0
  82. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/dispatch_workers.py +0 -0
  83. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/dr.py +0 -0
  84. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/drive.py +0 -0
  85. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/drive_queue.py +0 -0
  86. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/gate_a.py +0 -0
  87. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/gates.py +0 -0
  88. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/issues.py +0 -0
  89. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/lifecycle.py +0 -0
  90. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/machine.py +0 -0
  91. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/merge.py +0 -0
  92. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/milestone.py +0 -0
  93. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/plan_followup.py +0 -0
  94. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/plans.py +0 -0
  95. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/portal.py +0 -0
  96. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/pr.py +0 -0
  97. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/release.py +0 -0
  98. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/repo.py +0 -0
  99. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/report.py +0 -0
  100. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/review.py +0 -0
  101. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/scorecard.py +0 -0
  102. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/sessions.py +0 -0
  103. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/setup.py +0 -0
  104. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/smoke.py +0 -0
  105. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/status.py +0 -0
  106. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/store_migrate.py +0 -0
  107. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/terminal.py +0 -0
  108. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/test_gate.py +0 -0
  109. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/commands/tui.py +0 -0
  110. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/comments.py +0 -0
  111. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/config.py +0 -0
  112. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/config_reload.py +0 -0
  113. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/confirm_test.py +0 -0
  114. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/conflict_fix.py +0 -0
  115. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/dao.py +0 -0
  116. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/dashboard/__init__.py +0 -0
  117. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/dashboard/fixture.py +0 -0
  118. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/dashboard/index.html +0 -0
  119. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/dashboard/reports.html +0 -0
  120. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/dashboard/server.py +0 -0
  121. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/dashboard/terminal.py +0 -0
  122. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/db.py +0 -0
  123. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/dead_end.py +0 -0
  124. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/decomposition_chat.py +0 -0
  125. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/deploy/README.md +0 -0
  126. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/deploy/coord-agent.service +0 -0
  127. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/deploy/coord-backup.service +0 -0
  128. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/deploy/coord-backup.timer +0 -0
  129. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/deploy/coord-db-backup.service +0 -0
  130. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/deploy/coord-db-backup.sh +0 -0
  131. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/deploy/coord-db-backup.timer +0 -0
  132. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/deploy/coord-dr-verify.service +0 -0
  133. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/deploy/coord-dr-verify.timer +0 -0
  134. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/deploy/coord-drive-queue.service +0 -0
  135. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/deploy/coord-drive-queue.timer +0 -0
  136. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/deploy/coord-failure-notify.service +0 -0
  137. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/deploy/coord-fleet-watchdog.service +0 -0
  138. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/deploy/coord-fleet-watchdog.timer +0 -0
  139. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/deploy/coord-nightly-smoke.service +0 -0
  140. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/deploy/coord-nightly-smoke.timer +0 -0
  141. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/deploy/coord-notify.service +0 -0
  142. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/deploy/coord-notify.timer +0 -0
  143. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/deploy/coord-release-propagate.service +0 -0
  144. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/deploy/coord-release-propagate.timer +0 -0
  145. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/deploy/coord-release-window.service +0 -0
  146. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/deploy/coord-release-window.timer +0 -0
  147. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/deploy/coord-serve.service +0 -0
  148. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/deploy/coord-web-dist-build.service +0 -0
  149. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/deploy/coord-web-dist-build.timer +0 -0
  150. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/deploy/coord-web.service +0 -0
  151. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/deploy_manifest.py +0 -0
  152. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/deploy_units.py +0 -0
  153. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/deprecation_telemetry.py +0 -0
  154. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/deps.py +0 -0
  155. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/diagnose.py +0 -0
  156. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/dirlink.py +0 -0
  157. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/dispatch.py +0 -0
  158. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/dispatch_liveness.py +0 -0
  159. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/dist_name.py +0 -0
  160. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/dr_promote.py +0 -0
  161. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/dr_verify.py +0 -0
  162. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/drive.py +0 -0
  163. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/drive_queue.py +0 -0
  164. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/drive_sessions_snapshot.py +0 -0
  165. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/drive_state.py +0 -0
  166. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/events.py +0 -0
  167. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/failure_class.py +0 -0
  168. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/failure_classifier.py +0 -0
  169. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/filelock.py +0 -0
  170. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/fleet_config_health.py +0 -0
  171. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/forge_availability.py +0 -0
  172. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/freshness.py +0 -0
  173. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/gate_a.py +0 -0
  174. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/gate_b.py +0 -0
  175. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/gate_snapshot.py +0 -0
  176. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/gates.py +0 -0
  177. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/gen_board_fixture.py +0 -0
  178. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/github_ops.py +0 -0
  179. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/github_throttle.py +0 -0
  180. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/goal.py +0 -0
  181. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/graph_health.py +0 -0
  182. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/gtk_native_driver.py +0 -0
  183. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/__init__.py +0 -0
  184. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/aggregate.py +0 -0
  185. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/checks/__init__.py +0 -0
  186. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/checks/_ci_pin.py +0 -0
  187. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/checks/agent_install.py +0 -0
  188. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/checks/cargo_targets.py +0 -0
  189. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/checks/claude_binary.py +0 -0
  190. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/checks/config_drift.py +0 -0
  191. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/checks/coord_tui_ci_pin.py +0 -0
  192. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/checks/coord_web_ci_pin.py +0 -0
  193. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/checks/deploy_lane_facts.py +0 -0
  194. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/checks/disk.py +0 -0
  195. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/checks/fleet_board.py +0 -0
  196. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/checks/fleet_deploy_lanes.py +0 -0
  197. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/checks/fleet_phantom.py +0 -0
  198. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/checks/fleet_unit_drift.py +0 -0
  199. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/checks/graph.py +0 -0
  200. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/checks/graphify_cli.py +0 -0
  201. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/checks/gui_lane_preflight.py +0 -0
  202. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/checks/index_lock.py +0 -0
  203. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/checks/issues_sync_staleness.py +0 -0
  204. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/checks/local_machine_identity.py +0 -0
  205. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/checks/plan_usage.py +0 -0
  206. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/checks/pr_churn.py +0 -0
  207. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/checks/release_cordon.py +0 -0
  208. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/checks/repo_state.py +0 -0
  209. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/checks/spawned_coord.py +0 -0
  210. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/checks/stalled_pipeline.py +0 -0
  211. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/checks/timer_active.py +0 -0
  212. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/checks/toolchain.py +0 -0
  213. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/checks/unit_drift.py +0 -0
  214. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/checks/unit_enablement.py +0 -0
  215. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/checks/wedged_drive_queue.py +0 -0
  216. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/checks/worktrees.py +0 -0
  217. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/cli.py +0 -0
  218. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/context.py +0 -0
  219. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/fleet_snapshot.py +0 -0
  220. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/models.py +0 -0
  221. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/pypi.py +0 -0
  222. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/registry.py +0 -0
  223. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/render.py +0 -0
  224. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/health/units.py +0 -0
  225. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/hooks.py +0 -0
  226. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/housekeeping.py +0 -0
  227. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/interactive.py +0 -0
  228. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/invariant_alarms.py +0 -0
  229. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/issue_store.py +0 -0
  230. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/issues_sync_status.py +0 -0
  231. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/key_spec.py +0 -0
  232. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/liveness_auditor.py +0 -0
  233. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/mac_native_driver.py +0 -0
  234. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/machine_fault.py +0 -0
  235. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/machine_metrics.py +0 -0
  236. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/machine_onboard.py +0 -0
  237. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/machine_pause.py +0 -0
  238. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/machine_stats.py +0 -0
  239. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/milestone_chat.py +0 -0
  240. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/milestone_dispatch.py +0 -0
  241. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/milestone_gate.py +0 -0
  242. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/milestone_order.py +0 -0
  243. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/mock_author.py +0 -0
  244. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/models.py +0 -0
  245. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/native_fs_wait.py +0 -0
  246. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/native_pixels.py +0 -0
  247. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/network.py +0 -0
  248. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/new_issue_chat.py +0 -0
  249. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/nightly_runner.py +0 -0
  250. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/nightly_smoke.py +0 -0
  251. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/nightly_status.py +0 -0
  252. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/nightly_store.py +0 -0
  253. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/notifier/__init__.py +0 -0
  254. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/notifier/baseline.py +0 -0
  255. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/notifier/cli.py +0 -0
  256. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/notifier/collect.py +0 -0
  257. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/notifier/digest.py +0 -0
  258. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/notifier/models.py +0 -0
  259. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/notifier/predicate.py +0 -0
  260. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/notifier/service.py +0 -0
  261. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/notifier/store.py +0 -0
  262. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/notifier/transport.py +0 -0
  263. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/notify.py +0 -0
  264. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/openapi.py +0 -0
  265. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/overlap_fence.py +0 -0
  266. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/overlap_predict.py +0 -0
  267. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/parentage.py +0 -0
  268. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/parentage_github.py +0 -0
  269. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/pipeline.py +0 -0
  270. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/plan_parser.py +0 -0
  271. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/plans.py +0 -0
  272. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/platform_paths.py +0 -0
  273. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/portal_bridge.py +0 -0
  274. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/portal_store.py +0 -0
  275. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/portal_sync.py +0 -0
  276. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/pr_body_lint.py +0 -0
  277. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/prereqs.py +0 -0
  278. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/prereview_gate.py +0 -0
  279. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/progress.py +0 -0
  280. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/providers/__init__.py +0 -0
  281. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/providers/base.py +0 -0
  282. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/providers/claude.py +0 -0
  283. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/providers/claude_pty.py +0 -0
  284. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/providers/opencode.py +0 -0
  285. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/queue_diagnose.py +0 -0
  286. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/reconcile.py +0 -0
  287. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/reconcile_tick.py +0 -0
  288. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/refine_chat.py +0 -0
  289. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/release_cordon.py +0 -0
  290. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/release_gate.py +0 -0
  291. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/release_verify.py +0 -0
  292. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/release_window.py +0 -0
  293. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/repo_dormancy.py +0 -0
  294. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/repo_edit.py +0 -0
  295. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/repo_onboard.py +0 -0
  296. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/reports.py +0 -0
  297. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/rest_schema.py +0 -0
  298. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/restart_cmd.py +0 -0
  299. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/revalidate.py +0 -0
  300. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/scorecard.py +0 -0
  301. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/self_health.py +0 -0
  302. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/serve_app.py +0 -0
  303. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/shell_exec_wrap.py +0 -0
  304. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/skills/coord-dispatch-verbs/SKILL.md +0 -0
  305. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/skills/drive-queue-preflight/SKILL.md +0 -0
  306. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/skills/fleet-restart-safety/SKILL.md +0 -0
  307. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/skills/merge-stuck-triage/SKILL.md +0 -0
  308. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/skills/pipeline-limbo-triage/SKILL.md +0 -0
  309. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/skills/portal-followup/SKILL.md +0 -0
  310. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/skills/release-now/SKILL.md +0 -0
  311. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/skills/review-verdict-recovery/SKILL.md +0 -0
  312. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/skills/tui-quadraui-workflow/SKILL.md +0 -0
  313. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/skills/update-issue/SKILL.md +0 -0
  314. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/smoke.py +0 -0
  315. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/smoke_tags.py +0 -0
  316. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/spend_ceiling.py +0 -0
  317. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/split_work.py +0 -0
  318. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/sql.py +0 -0
  319. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/stage_projection.py +0 -0
  320. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/state.py +0 -0
  321. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/store_migrate.py +0 -0
  322. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/store_parity.py +0 -0
  323. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/templates/deploy-cloudflare.node.yml +0 -0
  324. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/test_author.py +0 -0
  325. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/test_chat.py +0 -0
  326. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/test_orchestrator.py +0 -0
  327. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/test_report.py +0 -0
  328. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/tui_pty_driver.py +0 -0
  329. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/tui_release.py +0 -0
  330. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/uat_checks.py +0 -0
  331. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/upstream_gaps.py +0 -0
  332. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/usage.py +0 -0
  333. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/usage_limits.py +0 -0
  334. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/usage_rollup.py +0 -0
  335. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/win_native_bridge.py +0 -0
  336. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/win_native_driver.py +0 -0
  337. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coord/worker_events.py +0 -0
  338. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/coordinator.example.yml +0 -0
  339. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/deploy/coord-agent.service +0 -0
  340. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/deploy/coord-backup.service +0 -0
  341. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/deploy/coord-backup.timer +0 -0
  342. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/deploy/coord-db-backup.service +0 -0
  343. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/deploy/coord-db-backup.sh +0 -0
  344. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/deploy/coord-db-backup.timer +0 -0
  345. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/deploy/coord-dr-verify.service +0 -0
  346. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/deploy/coord-dr-verify.timer +0 -0
  347. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/deploy/coord-drive-queue.service +0 -0
  348. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/deploy/coord-drive-queue.timer +0 -0
  349. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/deploy/coord-failure-notify.service +0 -0
  350. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/deploy/coord-failure-notify.sh +0 -0
  351. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/deploy/coord-fleet-watchdog.service +0 -0
  352. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/deploy/coord-fleet-watchdog.timer +0 -0
  353. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/deploy/coord-nightly-smoke.service +0 -0
  354. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/deploy/coord-nightly-smoke.timer +0 -0
  355. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/deploy/coord-notify.service +0 -0
  356. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/deploy/coord-notify.timer +0 -0
  357. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/deploy/coord-release-propagate.service +0 -0
  358. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/deploy/coord-release-propagate.timer +0 -0
  359. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/deploy/coord-release-window.service +0 -0
  360. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/deploy/coord-release-window.timer +0 -0
  361. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/deploy/coord-serve.service +0 -0
  362. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/deploy/coord-web-dist-build.service +0 -0
  363. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/deploy/coord-web-dist-build.sh +0 -0
  364. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/deploy/coord-web-dist-build.timer +0 -0
  365. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/deploy/coord-web-rollback.sh +0 -0
  366. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/deploy/coord-web.service +0 -0
  367. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/deploy/node-shim.sh +0 -0
  368. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/ADR_COORD_TUI_CI.md +0 -0
  369. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/ADR_COORD_WEB_ACCEPTANCE_SUITE.md +0 -0
  370. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/ADR_COORD_WEB_CI.md +0 -0
  371. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/ADR_COORD_WEB_DIST.md +0 -0
  372. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/ADR_PY_RUST_MIRRORS.md +0 -0
  373. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/AGENT_OPERATIONS.md +0 -0
  374. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/ARCHITECTURE.md +0 -0
  375. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/ARCH_SECURITY_GATES.md +0 -0
  376. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/COCKPIT.md +0 -0
  377. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/CONTROL_CENTER.md +0 -0
  378. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/COST_DISCIPLINE.md +0 -0
  379. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/CROSS_PLATFORM.md +0 -0
  380. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/CUSTOMER_FACING_APPS.md +0 -0
  381. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/CUSTOMER_PORTAL.md +0 -0
  382. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/DATA_STORE_SELECTION.md +0 -0
  383. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/DISASTER_RECOVERY.md +0 -0
  384. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/DRIVE_QUEUE.md +0 -0
  385. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/EPHEMERAL_WORKERS.md +0 -0
  386. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/FORGE_MIGRATION.md +0 -0
  387. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/GRAPHIFY_SETUP.md +0 -0
  388. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/ISSUE_GUIDANCE.md +0 -0
  389. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/MAC_MINI.md +0 -0
  390. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/MERGE_AUTO_DRAIN_TRUST_BAR.md +0 -0
  391. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/NOTIFIER.md +0 -0
  392. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/OPENCODE_VERIFICATION.md +0 -0
  393. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/OPERATING_GOTCHAS.md +0 -0
  394. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/OPERATOR_GUIDES.md +0 -0
  395. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/ORACLE_LOOP.md +0 -0
  396. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/PHONE_WEBAPP.md +0 -0
  397. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/PIPELINE_V2.md +0 -0
  398. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/PLATFORM_EVOLUTION.md +0 -0
  399. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/SECOND_BACKEND.md +0 -0
  400. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/STORE_SERVICE.md +0 -0
  401. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/TEST_FIRST_BUG_LANE.md +0 -0
  402. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/WEB_CONTROL_CENTER.md +0 -0
  403. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/WSL_WINDOWS_WORKER.md +0 -0
  404. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/mocks/web/README.md +0 -0
  405. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/mocks/web/_tokens.css +0 -0
  406. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/mocks/web/issue-detail.html +0 -0
  407. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/mocks/web/pipeline-narrow.html +0 -0
  408. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/docs/mocks/web/pipeline-wide.html +0 -0
  409. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/graphify-out/.gitignore +0 -0
  410. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/install-agent.sh +0 -0
  411. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/pyproject.toml +0 -0
  412. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/audit_review_verdict_overrides.py +0 -0
  413. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/azure-workers/bootstrap-shared.sh +0 -0
  414. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/azure-workers/build-worker-image.sh +0 -0
  415. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/azure-workers/coordinator-machine.py +0 -0
  416. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/azure-workers/dr-down.sh +0 -0
  417. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/azure-workers/dr-up.sh +0 -0
  418. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/azure-workers/epic-down.sh +0 -0
  419. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/azure-workers/epic-up.sh +0 -0
  420. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/azure-workers/preflight.sh +0 -0
  421. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/azure-workers/provision-server.sh +0 -0
  422. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/azure-workers/provision-worker.sh +0 -0
  423. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/azure-workers/scrub-and-generalize.sh +0 -0
  424. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/azure-workers/tailnet-acl.hujson +0 -0
  425. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/azure-workers/throwaway-vm.sh +0 -0
  426. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/azure-workers/verify-github-token.sh +0 -0
  427. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/check_gh_argv_containment.py +0 -0
  428. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/codegen.py +0 -0
  429. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/comment_cruft.py +0 -0
  430. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/coord-test-runner.sh +0 -0
  431. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/coord-tui-scaffold/.github/coord-ci-acceptance.yml +0 -0
  432. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/coord-tui-scaffold/.github/workflows/cargo-test.yml +0 -0
  433. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/coord-tui-scaffold/.github/workflows/codegen-drift.yml +0 -0
  434. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/coord-tui-scaffold/CLAUDE.md +0 -0
  435. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/coord-venv-rollback.sh +0 -0
  436. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/drive-batch.sh +0 -0
  437. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/extract-coord-tui.sh +0 -0
  438. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/fleet_watchdog.py +0 -0
  439. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/gen_board_fixture.py +0 -0
  440. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/gen_mock_index.py +0 -0
  441. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/lib/provision-core.sh +0 -0
  442. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/next_release_tag.py +0 -0
  443. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/provision-machine.sh +0 -0
  444. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/run_tests_in_populated_home.sh +0 -0
  445. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/run_tests_without_gh.sh +0 -0
  446. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/setup-macmini.sh +0 -0
  447. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/smoke_437_interactive.py +0 -0
  448. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/verify-provision-noble.sh +0 -0
  449. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/verify_878_review_capture.py +0 -0
  450. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/verify_release_published.py +0 -0
  451. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/scripts/verify_release_wheel.py +0 -0
  452. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/setup.cfg +0 -0
  453. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/SMOKE_SET.md +0 -0
  454. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/__init__.py +0 -0
  455. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/acceptance/ms-37/conftest.py +0 -0
  456. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/acceptance/ms-37/contract.md +0 -0
  457. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/acceptance/ms-37/manifest.yml +0 -0
  458. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/acceptance/ms-37/test_usage_cli_1115.py +0 -0
  459. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/acceptance/ms-37/test_usage_core_1118.py +0 -0
  460. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/acceptance/ms-51/contract.md +0 -0
  461. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/acceptance/ms-51/home-active-extended.spec.ts +0 -0
  462. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/acceptance/ms-51/home-active.spec.ts +0 -0
  463. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/acceptance/ms-51/manifest.yml +0 -0
  464. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/acceptance/ms-51/mocks/home-active.html +0 -0
  465. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/acceptance/ms-51/tsconfig.json +0 -0
  466. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/acceptance/ms-example/mocks/home-active.html +0 -0
  467. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/backends.py +0 -0
  468. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/conftest.py +0 -0
  469. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/fixtures/board-pipeline-basic.json +0 -0
  470. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/fixtures/board-pipeline-terminal-gates.json +0 -0
  471. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/fixtures/opencode_run_failure_sample.jsonl +0 -0
  472. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/fixtures/opencode_run_length_sample.jsonl +0 -0
  473. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/fixtures/opencode_run_sample.jsonl +0 -0
  474. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/fixtures/playwright/all_pass.json +0 -0
  475. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/fixtures/playwright/global_setup_crash.json +0 -0
  476. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/fixtures/playwright/mixed_fail.json +0 -0
  477. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/fixtures/playwright/retry_then_pass.json +0 -0
  478. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/fixtures/playwright/retry_then_pass.junit.xml +0 -0
  479. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/fixtures/playwright/skip.json +0 -0
  480. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/fixtures/playwright/truncated.json +0 -0
  481. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/fixtures/test_report/cargo_compile_error.txt +0 -0
  482. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/fixtures/test_report/cargo_multi_target_failures.txt +0 -0
  483. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/fixtures/test_report/cargo_no_parseable_failures.txt +0 -0
  484. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/fixtures/test_report/pytest_collection_error.txt +0 -0
  485. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/fixtures/test_report/pytest_error_log_record.txt +0 -0
  486. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/fixtures/test_report/pytest_error_string_in_body.txt +0 -0
  487. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/fixtures/test_report/pytest_internal_error.txt +0 -0
  488. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/fixtures/test_report/pytest_mixed_failures.txt +0 -0
  489. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/fixtures/test_report/pytest_no_parseable_failures.txt +0 -0
  490. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_acceptance.py +0 -0
  491. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_acceptance_drivers.py +0 -0
  492. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_agent.py +0 -0
  493. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_agent_api_error.py +0 -0
  494. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_agent_app.py +0 -0
  495. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_agent_branch_base.py +0 -0
  496. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_agent_branch_capture.py +0 -0
  497. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_agent_config_free_1712.py +0 -0
  498. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_agent_deploy_units_endpoint.py +0 -0
  499. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_agent_dirty_worktree.py +0 -0
  500. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_agent_drive_queue_reconcile_2373.py +0 -0
  501. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_agent_graceful_shutdown_3649.py +0 -0
  502. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_agent_graph_refresh.py +0 -0
  503. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_agent_graph_self_heal.py +0 -0
  504. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_agent_health_h3.py +0 -0
  505. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_agent_idle_restart.py +0 -0
  506. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_agent_push_failure.py +0 -0
  507. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_agent_reap.py +0 -0
  508. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_agent_repos_and_pull.py +0 -0
  509. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_agent_restart_services_endpoint.py +0 -0
  510. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_agent_skills_self_heal.py +0 -0
  511. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_agent_startup_diagnostics.py +0 -0
  512. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_agent_update.py +0 -0
  513. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_agent_update_bluegreen.py +0 -0
  514. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_agent_usage_limit.py +0 -0
  515. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_agent_zero_commit.py +0 -0
  516. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_ambient_home_isolation.py +0 -0
  517. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_app_drive.py +0 -0
  518. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_approve_capability_reroute_3241.py +0 -0
  519. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_approve_dependency_busy_2804.py +0 -0
  520. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_approve_reject_plan.py +0 -0
  521. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_approve_usage_gate.py +0 -0
  522. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_approved_work_2532.py +0 -0
  523. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_approved_work_2996.py +0 -0
  524. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_assignment_already_recorded_daemon.py +0 -0
  525. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_audit_log.py +0 -0
  526. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_audit_outcome.py +0 -0
  527. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_audit_query.py +0 -0
  528. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_auto_loop.py +0 -0
  529. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_auto_release_publish_2035.py +0 -0
  530. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_backend_selection.py +0 -0
  531. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_backup.py +0 -0
  532. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_base_checkout_restore.py +0 -0
  533. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_block_log.py +0 -0
  534. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_board_cap_762.py +0 -0
  535. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_board_fixture.py +0 -0
  536. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_board_nightly_status.py +0 -0
  537. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_board_read_path.py +0 -0
  538. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_board_schema.py +0 -0
  539. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_board_service.py +0 -0
  540. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_board_state.py +0 -0
  541. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_board_wire.py +0 -0
  542. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_brain.py +0 -0
  543. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_branch_model.py +0 -0
  544. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_briefing_lessons.py +0 -0
  545. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_bug_intake.py +0 -0
  546. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_bugbash.py +0 -0
  547. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_build_worker_image_env_update.py +0 -0
  548. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cargo_cache.py +0 -0
  549. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_check_gh_argv_containment.py +0 -0
  550. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_ci_acceptance_gate_1950.py +0 -0
  551. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_ci_fix.py +0 -0
  552. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_ci_github.py +0 -0
  553. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_ci_gitlab.py +0 -0
  554. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_ci_parity_2091.py +0 -0
  555. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_ci_store.py +0 -0
  556. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_claim.py +0 -0
  557. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_claude_md_budget.py +0 -0
  558. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_claude_setup_token.py +0 -0
  559. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_acceptance.py +0 -0
  560. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_assign.py +0 -0
  561. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_assign_interactive_oracle_gate.py +0 -0
  562. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_assign_interactive_remote.py +0 -0
  563. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_assign_provider.py +0 -0
  564. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_assign_repo_drift_2219.py +0 -0
  565. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_audit.py +0 -0
  566. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_chat_continue.py +0 -0
  567. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_ci.py +0 -0
  568. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_codegen.py +0 -0
  569. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_decide.py +0 -0
  570. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_diagnose_capability_rules.py +0 -0
  571. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_diagnose_config_provenance.py +0 -0
  572. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_diagnose_forge_availability.py +0 -0
  573. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_diagnose_graph.py +0 -0
  574. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_diagnose_self.py +0 -0
  575. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_diagnose_test_coverage.py +0 -0
  576. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_doctor.py +0 -0
  577. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_doctor_config_free_1801.py +0 -0
  578. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_doctor_config_mismatch_1712.py +0 -0
  579. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_doctor_store_backend_3084.py +0 -0
  580. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_drive.py +0 -0
  581. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_drive_queue.py +0 -0
  582. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_escalate.py +0 -0
  583. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_fix_headless_review.py +0 -0
  584. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_gate_a.py +0 -0
  585. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_inject_board_less.py +0 -0
  586. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_install_drift.py +0 -0
  587. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_install_skills.py +0 -0
  588. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_issue_close_wrong_repo.py +0 -0
  589. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_issue_comment.py +0 -0
  590. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_issue_create_label.py +0 -0
  591. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_issue_reopen.py +0 -0
  592. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_issue_view_list.py +0 -0
  593. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_issues.py +0 -0
  594. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_merge.py +0 -0
  595. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_milestone_assign.py +0 -0
  596. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_milestone_capture.py +0 -0
  597. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_milestone_chat_add_child.py +0 -0
  598. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_milestone_dispatch.py +0 -0
  599. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_milestone_gate_b.py +0 -0
  600. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_milestone_gate_c.py +0 -0
  601. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_milestone_order.py +0 -0
  602. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_milestone_remove_and_issue_close.py +0 -0
  603. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_milestone_ship.py +0 -0
  604. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_network.py +0 -0
  605. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_new_issue_chat.py +0 -0
  606. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_plans.py +0 -0
  607. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_portal.py +0 -0
  608. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_pr.py +0 -0
  609. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_pull_artifact.py +0 -0
  610. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_queue.py +0 -0
  611. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_reattach_sessions.py +0 -0
  612. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_refine_board.py +0 -0
  613. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_release_preflight.py +0 -0
  614. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_release_propagate.py +0 -0
  615. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_release_window.py +0 -0
  616. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_repo_2220.py +0 -0
  617. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_review_test_author_tracking_epic_2639.py +0 -0
  618. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_scorecard.py +0 -0
  619. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_serve_store_backend_3084.py +0 -0
  620. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_set_review_findings.py +0 -0
  621. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_smoke_nightly.py +0 -0
  622. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_smoke_nightly_sweep.py +0 -0
  623. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_status_advisory_terminal.py +0 -0
  624. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_status_contested_tag.py +0 -0
  625. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_status_invariant_alarms.py +0 -0
  626. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_status_machine_fault.py +0 -0
  627. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_status_merge_queue.py +0 -0
  628. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_status_nightly.py +0 -0
  629. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_status_provider.py +0 -0
  630. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_status_retried_3340.py +0 -0
  631. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_status_review_finalizing.py +0 -0
  632. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_status_supervisor_3366.py +0 -0
  633. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_status_test_failed_tag.py +0 -0
  634. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_status_usage_limit.py +0 -0
  635. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_sync_comments_873.py +0 -0
  636. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_test_plan.py +0 -0
  637. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_track.py +0 -0
  638. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_tui_update.py +0 -0
  639. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cli_wait.py +0 -0
  640. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_client.py +0 -0
  641. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_client_base_install.py +0 -0
  642. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_client_config_cache_atomic_3052.py +0 -0
  643. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_client_resource_migration_1946.py +0 -0
  644. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_commands_common.py +0 -0
  645. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_comment_cruft.py +0 -0
  646. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_comments.py +0 -0
  647. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_completion_summary.py +0 -0
  648. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_config.py +0 -0
  649. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_config_acceptance.py +0 -0
  650. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_config_audit.py +0 -0
  651. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_config_drift_check.py +0 -0
  652. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_config_effective.py +0 -0
  653. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_config_prereview_gate.py +0 -0
  654. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_config_pricing.py +0 -0
  655. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_config_snapshot_noncanonical_2208.py +0 -0
  656. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_config_usage_gate.py +0 -0
  657. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_confirm_test.py +0 -0
  658. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_conflict_fix.py +0 -0
  659. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_conflict_fix_semantic.py +0 -0
  660. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_coord_log_daemon_fallback_2547.py +0 -0
  661. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_coord_test.py +0 -0
  662. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_coord_test_runner_acceptance_toolchain_2936.py +0 -0
  663. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_coord_test_runner_baseline.py +0 -0
  664. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_coord_test_runner_populated_home.py +0 -0
  665. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_coord_test_runner_routing.py +0 -0
  666. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_coord_test_runner_toolchain.py +0 -0
  667. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_coord_uat.py +0 -0
  668. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_coord_web_sse_restart_live.py +0 -0
  669. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_coordinator_machine.py +0 -0
  670. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_cross_platform_imports.py +0 -0
  671. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_dao.py +0 -0
  672. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_dashboard.py +0 -0
  673. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_dashboard_api.py +0 -0
  674. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_dashboard_fixture.py +0 -0
  675. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_dashboard_reports.py +0 -0
  676. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_dashboard_server.py +0 -0
  677. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_dashboard_terminal.py +0 -0
  678. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_dashboard_terminal_live.py +0 -0
  679. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_db.py +0 -0
  680. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_dead_end.py +0 -0
  681. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_decomposition_chat.py +0 -0
  682. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_deploy_coord_db_backup.py +0 -0
  683. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_deploy_coord_web_dist.py +0 -0
  684. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_deploy_coord_web_rollback.py +0 -0
  685. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_deploy_db_backup_unit.py +0 -0
  686. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_deploy_drive_queue_unit.py +0 -0
  687. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_deploy_failure_notify_unit.py +0 -0
  688. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_deploy_manifest.py +0 -0
  689. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_deploy_notify_unit.py +0 -0
  690. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_deploy_units_lane.py +0 -0
  691. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_deploy_web_unit.py +0 -0
  692. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_deprecation_telemetry.py +0 -0
  693. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_deps.py +0 -0
  694. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_diagnose.py +0 -0
  695. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_dirlink.py +0 -0
  696. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_dispatch.py +0 -0
  697. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_dispatch_liveness.py +0 -0
  698. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_dispatch_target_validation.py +0 -0
  699. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_dispatch_workers.py +0 -0
  700. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_dist_name.py +0 -0
  701. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_done_housekeeping.py +0 -0
  702. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_dr_azure_scripts.py +0 -0
  703. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_dr_promote.py +0 -0
  704. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_dr_verify.py +0 -0
  705. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_drive.py +0 -0
  706. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_drive_machine_fault.py +0 -0
  707. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_drive_queue.py +0 -0
  708. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_drive_queue_blocked_rendering.py +0 -0
  709. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_drive_queue_launch_argv.py +0 -0
  710. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_drive_queue_max_parallel_config.py +0 -0
  711. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_drive_queue_max_parallel_per_repo_config.py +0 -0
  712. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_drive_queue_roll_pending.py +0 -0
  713. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_drive_queue_self_cordon_escalation.py +0 -0
  714. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_drive_sessions_snapshot.py +0 -0
  715. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_drive_state.py +0 -0
  716. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_drive_tmux.py +0 -0
  717. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_epic_up_capability_detection.py +0 -0
  718. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_epic_up_down_symlinked_config_1887.py +0 -0
  719. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_epic_up_image_provenance.py +0 -0
  720. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_errors.py +0 -0
  721. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_events.py +0 -0
  722. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_failure_class.py +0 -0
  723. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_failure_classifier.py +0 -0
  724. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_filelock.py +0 -0
  725. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_finalize_interactive_exit_test_verdict.py +0 -0
  726. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_fix_escalation_classifier.py +0 -0
  727. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_fix_of_force_override.py +0 -0
  728. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_fleet_config_health.py +0 -0
  729. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_fleet_health_probes.py +0 -0
  730. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_fleet_health_snapshot.py +0 -0
  731. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_fleet_watchdog.py +0 -0
  732. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_forge_availability.py +0 -0
  733. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_freshness.py +0 -0
  734. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_gate_a.py +0 -0
  735. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_gate_b.py +0 -0
  736. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_gate_snapshot_staleness.py +0 -0
  737. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_gates.py +0 -0
  738. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_gather_fleet_tmux_sessions.py +0 -0
  739. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_gen_mock_index.py +0 -0
  740. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_generated_rust_fixture.py +0 -0
  741. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_generated_rust_requests.py +0 -0
  742. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_generated_types_fixture.py +0 -0
  743. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_github_ops.py +0 -0
  744. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_github_throttle.py +0 -0
  745. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_goal.py +0 -0
  746. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_graph_health.py +0 -0
  747. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_graph_selfheal_absent_2237.py +0 -0
  748. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_gtk_native_driver.py +0 -0
  749. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_handoff.py +0 -0
  750. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_health_checks.py +0 -0
  751. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_health_cli.py +0 -0
  752. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_health_cli_graph.py +0 -0
  753. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_health_config.py +0 -0
  754. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_health_context.py +0 -0
  755. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_health_coord_tui_ci_pin.py +0 -0
  756. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_health_coord_web_ci_pin.py +0 -0
  757. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_health_deploy_lane_facts.py +0 -0
  758. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_health_fix.py +0 -0
  759. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_health_incident_regression.py +0 -0
  760. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_health_issues_sync_staleness.py +0 -0
  761. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_health_pr_churn.py +0 -0
  762. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_health_pypi.py +0 -0
  763. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_health_registry.py +0 -0
  764. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_health_release_cordon_probe.py +0 -0
  765. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_health_timer_active.py +0 -0
  766. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_health_toolchain.py +0 -0
  767. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_health_unit_drift.py +0 -0
  768. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_health_unit_enablement.py +0 -0
  769. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_health_wedged_drive_queue.py +0 -0
  770. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_hooks.py +0 -0
  771. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_housekeeping.py +0 -0
  772. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_human_attended_437.py +0 -0
  773. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_init.py +0 -0
  774. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_install_agent_capabilities_3515.py +0 -0
  775. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_install_agent_venv_2911.py +0 -0
  776. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_install_agent_wsl_bridge_3515.py +0 -0
  777. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_integration.py +0 -0
  778. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_interactive.py +0 -0
  779. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_interactive_briefing_echo.py +0 -0
  780. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_interactive_pane_log_2541.py +0 -0
  781. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_interactive_prefill_state.py +0 -0
  782. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_interactive_session_relaunch.py +0 -0
  783. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_interactive_test_verdict_backstop.py +0 -0
  784. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_interactive_token_attribution.py +0 -0
  785. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_interactive_worktree.py +0 -0
  786. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_invariant_alarms.py +0 -0
  787. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_issue_store_seam.py +0 -0
  788. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_issues_sync_status.py +0 -0
  789. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_key_spec.py +0 -0
  790. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_liveness_auditor.py +0 -0
  791. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_liveness_notify.py +0 -0
  792. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_lock_contention_ratchet.py +0 -0
  793. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_mac_native_driver.py +0 -0
  794. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_machine_fault.py +0 -0
  795. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_machine_metrics.py +0 -0
  796. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_machine_onboard.py +0 -0
  797. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_machine_pause.py +0 -0
  798. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_machine_stats.py +0 -0
  799. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_merge_verification.py +0 -0
  800. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_merge_verify.py +0 -0
  801. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_milestone_chat.py +0 -0
  802. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_milestone_dispatch.py +0 -0
  803. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_milestone_gate.py +0 -0
  804. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_milestone_order.py +0 -0
  805. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_milestone_seam.py +0 -0
  806. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_mock_author.py +0 -0
  807. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_model_tiering.py +0 -0
  808. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_models.py +0 -0
  809. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_models_config_labels.py +0 -0
  810. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_models_pinned_1650.py +0 -0
  811. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_native_fs_wait.py +0 -0
  812. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_native_pixels.py +0 -0
  813. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_needs_attention.py +0 -0
  814. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_network.py +0 -0
  815. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_new_issue_chat.py +0 -0
  816. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_next_release_tag.py +0 -0
  817. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_nightly_runner.py +0 -0
  818. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_nightly_smoke.py +0 -0
  819. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_nightly_status.py +0 -0
  820. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_nightly_store.py +0 -0
  821. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_no_eligible_host_3600.py +0 -0
  822. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_node_shim.py +0 -0
  823. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_notifier_baseline.py +0 -0
  824. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_notifier_cli.py +0 -0
  825. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_notifier_collect.py +0 -0
  826. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_notifier_config.py +0 -0
  827. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_notifier_drive_seam.py +0 -0
  828. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_notifier_isolation.py +0 -0
  829. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_notifier_predicate.py +0 -0
  830. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_notifier_quiet_hours.py +0 -0
  831. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_notifier_service.py +0 -0
  832. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_notify.py +0 -0
  833. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_notify_drain.py +0 -0
  834. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_openapi.py +0 -0
  835. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_operational_defaults.py +0 -0
  836. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_overlap_fence.py +0 -0
  837. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_overlap_predict.py +0 -0
  838. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_packaged_deploy_units.py +0 -0
  839. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_parentage.py +0 -0
  840. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_paste_landed.py +0 -0
  841. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_phantom_heal_venv_independence_2570.py +0 -0
  842. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_pipeline.py +0 -0
  843. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_plain_runner_smoke_3673.py +0 -0
  844. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_plan_followup_approve_plan_command.py +0 -0
  845. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_plan_followup_pr_command.py +0 -0
  846. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_plan_followup_review_command.py +0 -0
  847. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_plan_only.py +0 -0
  848. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_plan_parser.py +0 -0
  849. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_platform_paths.py +0 -0
  850. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_portal_bridge.py +0 -0
  851. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_portal_config.py +0 -0
  852. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_portal_store.py +0 -0
  853. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_portal_sync.py +0 -0
  854. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_pr_body_lint.py +0 -0
  855. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_prereqs.py +0 -0
  856. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_prereview_gate.py +0 -0
  857. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_production_db_guard.py +0 -0
  858. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_progress.py +0 -0
  859. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_provider_seam.py +0 -0
  860. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_providers.py +0 -0
  861. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_providers_config_labels.py +0 -0
  862. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_providers_pty.py +0 -0
  863. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_provision_core.py +0 -0
  864. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_provision_machine.py +0 -0
  865. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_py_rust_mirror_inventory.py +0 -0
  866. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_quiet_hours.py +0 -0
  867. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_quiet_hours_store_2146.py +0 -0
  868. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_reap_merged_sessions.py +0 -0
  869. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_reap_stale_interactive_tick.py +0 -0
  870. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_reconcile.py +0 -0
  871. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_reconcile_branch.py +0 -0
  872. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_reconcile_completions.py +0 -0
  873. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_reconcile_late_agent_reports_2547.py +0 -0
  874. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_reconcile_merges.py +0 -0
  875. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_reconcile_no_agent_record.py +0 -0
  876. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_reconcile_tick.py +0 -0
  877. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_reconcile_usage_limit_done.py +0 -0
  878. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_refine_chat.py +0 -0
  879. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_release_cordon_2101.py +0 -0
  880. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_release_cordon_daemon_leads_2176.py +0 -0
  881. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_release_cordon_deadlock_2240.py +0 -0
  882. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_release_cordon_drain_stall_3336.py +0 -0
  883. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_release_cordon_stuck_2490.py +0 -0
  884. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_release_gate.py +0 -0
  885. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_release_propagate_threshold.py +0 -0
  886. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_release_roll_between_legs_2854.py +0 -0
  887. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_release_roll_window_handoff.py +0 -0
  888. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_release_unified_1242.py +0 -0
  889. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_release_verify.py +0 -0
  890. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_release_window.py +0 -0
  891. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_remote_auto_prune.py +0 -0
  892. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_remote_interactive_reaper.py +0 -0
  893. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_repo_add.py +0 -0
  894. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_repo_dormancy.py +0 -0
  895. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_repo_edit_2220.py +0 -0
  896. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_repo_graph_fleet_2237.py +0 -0
  897. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_repo_max_parallel_3423.py +0 -0
  898. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_repo_onboard_2220.py +0 -0
  899. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_report_public_export.py +0 -0
  900. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_report_result_push.py +0 -0
  901. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_reports.py +0 -0
  902. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_restart_cmd.py +0 -0
  903. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_retry.py +0 -0
  904. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_retry_advisory_1606.py +0 -0
  905. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_retry_escalation_classify_3360.py +0 -0
  906. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_retry_type_1636.py +0 -0
  907. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_revalidate.py +0 -0
  908. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_review_end_review_without_verdict.py +0 -0
  909. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_review_parse_failure_diagnostic.py +0 -0
  910. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_review_reaffirm.py +0 -0
  911. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_review_state.py +0 -0
  912. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_review_verdict_backstop.py +0 -0
  913. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_review_verdict_override_audit.py +0 -0
  914. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_review_verdict_relay.py +0 -0
  915. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_review_zero_commits.py +0 -0
  916. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_scoped_review_wiring.py +0 -0
  917. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_scorecard.py +0 -0
  918. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_self_health.py +0 -0
  919. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_serve.py +0 -0
  920. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_serve_app.py +0 -0
  921. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_serve_app_board_trim.py +0 -0
  922. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_serve_rest_routes.py +0 -0
  923. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_session.py +0 -0
  924. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_slice_issue_attribution.py +0 -0
  925. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_smoke.py +0 -0
  926. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_smoke_fanout_manifest_3333.py +0 -0
  927. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_smoke_live_checkout_restore.py +0 -0
  928. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_smoke_plain_runner_3673.py +0 -0
  929. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_smoke_workflow.py +0 -0
  930. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_spend_ceiling.py +0 -0
  931. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_spend_ceiling_coordinator.py +0 -0
  932. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_split.py +0 -0
  933. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_split_work.py +0 -0
  934. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_sql_dialect.py +0 -0
  935. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_sqlite_connect_ratchet.py +0 -0
  936. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_stage_projection.py +0 -0
  937. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_stale_busy_reviewer_697.py +0 -0
  938. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_stalled_pipeline.py +0 -0
  939. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_state.py +0 -0
  940. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_state_review_findings_daemon.py +0 -0
  941. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_status_fleet_footer.py +0 -0
  942. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_stop_1567.py +0 -0
  943. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_store_contract.py +0 -0
  944. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_store_migrate.py +0 -0
  945. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_stuck.py +0 -0
  946. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_stuck_test_state_watchdog_2803.py +0 -0
  947. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_terminal_command.py +0 -0
  948. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_test_author.py +0 -0
  949. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_test_chat.py +0 -0
  950. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_test_orchestrator.py +0 -0
  951. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_test_report.py +0 -0
  952. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_test_verdict_parsing.py +0 -0
  953. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_test_verdict_transcript_floor.py +0 -0
  954. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_text_io_encoding_audit.py +0 -0
  955. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_thin_client_board_audit.py +0 -0
  956. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_thin_client_config_load_1080.py +0 -0
  957. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_thin_client_daemon_routing_906.py +0 -0
  958. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_throwaway_vm.py +0 -0
  959. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_tmux_host.py +0 -0
  960. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_tmux_session.py +0 -0
  961. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_transcript_floor.py +0 -0
  962. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_tui_pty_driver.py +0 -0
  963. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_uat_checks.py +0 -0
  964. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_upstream_gaps.py +0 -0
  965. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_usage.py +0 -0
  966. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_usage_limits.py +0 -0
  967. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_usage_rollup.py +0 -0
  968. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_venv_live_install_2121.py +0 -0
  969. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_version_single_source.py +0 -0
  970. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_watch.py +0 -0
  971. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_win_native_bridge.py +0 -0
  972. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_win_native_driver.py +0 -0
  973. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_windows_job_is_a_real_gate_2000.py +0 -0
  974. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_worker_env_venv_isolation.py +0 -0
  975. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_worker_events.py +0 -0
  976. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_worker_image_pin_sync.py +0 -0
  977. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_worker_safety.py +0 -0
  978. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_worker_test_scoping.py +0 -0
  979. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_worktree.py +0 -0
  980. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_worktree_rmtree_chokepoint.py +0 -0
  981. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/tests/test_write_parity.py +0 -0
  982. {code_coordinator-0.5.658 → code_coordinator-0.5.660}/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.658
3
+ Version: 0.5.660
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.658
3
+ Version: 0.5.660
4
4
  Summary: Coordinate Claude Code workers across multiple machines and repos.
5
5
  Author-email: John Donaghy <johnfdonaghy@gmail.com>
6
6
  License-Expression: LicenseRef-FSL-1.1-MIT
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "0.5.660",
3
+ "distance": 0,
4
+ "node": "g84e0243c5811e3c81d1a5513d483f0637e3c0f74",
5
+ "dirty": false,
6
+ "branch": "HEAD",
7
+ "node_date": "2026-10-22"
8
+ }
@@ -703,6 +703,15 @@ def has_approved_review(
703
703
  :func:`_backfill_branch_patch_id`'s on-demand network fetch, and a
704
704
  caller must opt into *that* I/O independently of this one.
705
705
 
706
+ #3749: a third, independent escape hatch shares *ancillary_gh_ops*
707
+ with the one above rather than *gh_ops* — see
708
+ :func:`_review_delta_is_context_only`. A SHA mismatch whose base-relative
709
+ diff changed only in context lines (a rebase, a zero-conflict
710
+ base-merge) also still covers the current head, for ANY file, not just
711
+ a configured ancillary set. It activates behind the same opt-in as the
712
+ #3707 check on purpose: a caller must not be able to enable one
713
+ base-relative-diff check without the other.
714
+
706
715
  *config*, when supplied, resolves *ancillary_files*/*ancillary_gh_ops*
707
716
  automatically via :func:`_resolve_ancillary_config` — pass the live
708
717
  ``Config`` instead of resolving ``config.repo(entry.repo_name)
@@ -744,10 +753,24 @@ def scan_approved_reviews(
744
753
  caller of this scan must answer the ancillary-rebase question the same
745
754
  way (#2096), so prefer passing *config* over leaving a call site on the
746
755
  pre-#3707 default of "never exempt".
756
+
757
+ #3749: *ancillary_gh_ops* also gates a second, independent
758
+ base-relative-diff check — see :func:`_review_delta_is_context_only` —
759
+ that covers a patch-id mismatch produced by context-line churn alone
760
+ (a rebase, a zero-conflict base-merge), for any file. It deliberately
761
+ shares *ancillary_gh_ops* rather than the raw *gh_ops* parameter so a
762
+ caller can never opt into one base-relative-diff check without the
763
+ other.
747
764
  """
748
765
  ancillary_files, ancillary_gh_ops = _resolve_ancillary_config(
749
766
  entry, gh_ops, config, ancillary_files, ancillary_gh_ops
750
767
  )
768
+ # #3749: shared across every _review_delta_is_ancillary_only/
769
+ # _review_delta_is_context_only call this scan makes — both check the
770
+ # exact same (repo, base_branch, sha) compare, and current_sha is the
771
+ # same across every pool entry too, so a single dict spanning the whole
772
+ # scan avoids a repeat `gh api compare` round trip per loop iteration.
773
+ diff_cache: dict[tuple[str, str, str], str | None] = {}
751
774
  pool = list(getattr(board, "completed", []) or []) + list(getattr(board, "active", []) or [])
752
775
 
753
776
  branch_work_ids = _chain_work_ids(entry, pool)
@@ -824,11 +847,31 @@ def scan_approved_reviews(
824
847
  getattr(entry, "target_branch", None),
825
848
  review_sha,
826
849
  current_sha,
850
+ diff_cache,
827
851
  ):
828
852
  # #3707: the rebase delta is confined to ancillary paths
829
853
  # (CHANGELOG.md/README.md, per repo config) — approval
830
854
  # still covers it, same as a content-identical patch-id.
831
855
  return ApprovalScan(approved=True, unknown_head=False, review_assignment=a)
856
+ if current_sha is not None and _review_delta_is_context_only(
857
+ ancillary_gh_ops,
858
+ getattr(entry, "repo_github", None),
859
+ getattr(entry, "target_branch", None),
860
+ review_sha,
861
+ current_sha,
862
+ diff_cache,
863
+ ):
864
+ # #3749: the patch-id changed only because upstream churn
865
+ # shifted the diff's context lines (a rebase, a
866
+ # zero-conflict base-merge) — the reviewed hunks' own
867
+ # content is byte-identical, so the approval still covers
868
+ # the current head. No ancillary-files allow-list gates
869
+ # this (unlike the check above, it's sound for any file),
870
+ # but it shares that check's *gh_ops* argument on purpose:
871
+ # both base-relative-diff checks must activate behind the
872
+ # SAME explicit per-call opt-in, so a caller that only
873
+ # intends to opt into one never silently gets the other.
874
+ return ApprovalScan(approved=True, unknown_head=False, review_assignment=a)
832
875
  if current_sha is None:
833
876
  # Refused because we don't KNOW the head, not because we
834
877
  # checked and it moved. Same (closed) gate verdict, but a
@@ -890,6 +933,11 @@ def find_scoped_review_candidate(
890
933
  — :func:`has_approved_review` already carries THAT forward too, via
891
934
  the same :func:`_review_delta_is_ancillary_only` check, so there is
892
935
  nothing left to scope a review around either.
936
+ - The delta since that review changed only the diff's context lines,
937
+ not the reviewed hunks' own content (#3749: a rebase, a zero-conflict
938
+ base-merge) — :func:`has_approved_review` already carries THAT
939
+ forward too, via the same :func:`_review_delta_is_context_only`
940
+ check, so there is nothing left to scope a review around either.
893
941
  - Either patch-id is missing (fail closed, same posture as
894
942
  ``has_approved_review``: an unconfirmable diff gets a full review,
895
943
  never a guessed-at scoped one) — unless the ancillary-only check
@@ -898,6 +946,9 @@ def find_scoped_review_candidate(
898
946
  ancillary_files, ancillary_gh_ops = _resolve_ancillary_config(
899
947
  entry, gh_ops, config, ancillary_files, ancillary_gh_ops
900
948
  )
949
+ # #3749: see the identical cache in `scan_approved_reviews` — shared
950
+ # across every ancillary-only/context-only compare this walk makes.
951
+ diff_cache: dict[tuple[str, str, str], str | None] = {}
901
952
  pool = list(getattr(board, "completed", []) or []) + list(getattr(board, "active", []) or [])
902
953
  branch_work_ids = _chain_work_ids(entry, pool)
903
954
  if not branch_work_ids:
@@ -937,8 +988,18 @@ def find_scoped_review_candidate(
937
988
  getattr(entry, "target_branch", None),
938
989
  review_sha,
939
990
  current_sha,
991
+ diff_cache,
940
992
  ):
941
993
  continue # #3707: ancillary-only delta — has_approved_review already covers it
994
+ if _review_delta_is_context_only(
995
+ ancillary_gh_ops,
996
+ getattr(entry, "repo_github", None),
997
+ getattr(entry, "target_branch", None),
998
+ review_sha,
999
+ current_sha,
1000
+ diff_cache,
1001
+ ):
1002
+ continue # #3749: context-only delta — has_approved_review already covers it
942
1003
  if review_patch_id is None:
943
1004
  continue # fail closed — cannot confirm scope, full review
944
1005
  return a # approval voided ONLY by a content-changing rebase
@@ -2339,6 +2400,7 @@ def _fetch_compare_diff(
2339
2400
  repo_github: str | None,
2340
2401
  base_sha: str | None,
2341
2402
  head_sha: str | None,
2403
+ cache: dict[tuple[str, str, str], str | None] | None = None,
2342
2404
  ) -> str | None:
2343
2405
  """Fetch the unified diff TEXT for one ``get_compare_diff(base_sha,
2344
2406
  head_sha)`` compare, failing closed to ``None`` (never raising) exactly
@@ -2351,13 +2413,28 @@ def _fetch_compare_diff(
2351
2413
  needs the text to tell "this file's content didn't change between the
2352
2414
  two base-relative compares" apart from "this file isn't touched by
2353
2415
  either compare", which a file-name list alone can't distinguish.
2416
+
2417
+ *cache*, when supplied, is a plain dict keyed by ``(repo_github,
2418
+ base_sha, head_sha)`` that the caller owns and reuses across sibling
2419
+ calls within one scan — :func:`_review_delta_is_ancillary_only` and
2420
+ :func:`_review_delta_is_context_only` fetch the exact same two
2421
+ base-relative compares, so a caller that runs both back-to-back (every
2422
+ "is this approved?" surface does, per #3749) would otherwise make the
2423
+ same ``gh api compare`` round trip twice. ``None`` (the default) keeps
2424
+ this an uncached, standalone fetch.
2354
2425
  """
2355
2426
  if gh_ops is None or not repo_github or not base_sha or not head_sha:
2356
2427
  return None
2428
+ key = (repo_github, base_sha, head_sha)
2429
+ if cache is not None and key in cache:
2430
+ return cache[key]
2357
2431
  try:
2358
- return gh_ops.get_compare_diff(repo_github, base_sha, head_sha)
2432
+ result = gh_ops.get_compare_diff(repo_github, base_sha, head_sha)
2359
2433
  except Exception: # noqa: BLE001 — fail-safe: unknown diff is not "ancillary-only"
2360
- return None
2434
+ result = None
2435
+ if cache is not None:
2436
+ cache[key] = result
2437
+ return result
2361
2438
 
2362
2439
 
2363
2440
  _DIFF_GIT_HEADER_RE = re.compile(r"^diff --git a/(.*) b/(.*)$")
@@ -2400,6 +2477,7 @@ def _review_delta_is_ancillary_only(
2400
2477
  base_branch: str | None,
2401
2478
  review_sha: str | None,
2402
2479
  current_sha: str | None,
2480
+ diff_cache: dict[tuple[str, str, str], str | None] | None = None,
2403
2481
  ) -> bool:
2404
2482
  """True when every file that changed between *review_sha* (the SHA an
2405
2483
  existing ``approve``d review covered) and *current_sha* (the branch's
@@ -2439,11 +2517,16 @@ def _review_delta_is_ancillary_only(
2439
2517
  :func:`_backfill_branch_patch_id` — callers that want this check active
2440
2518
  must opt in explicitly, so a caller that only wants patch-id backfill
2441
2519
  (or neither) sees no behavior change.
2520
+
2521
+ *diff_cache*, when supplied, is forwarded to :func:`_fetch_compare_diff`
2522
+ so a caller that also runs :func:`_review_delta_is_context_only` for the
2523
+ same *review_sha*/*current_sha* pair reuses the fetch instead of hitting
2524
+ ``gh api compare`` twice (#3749).
2442
2525
  """
2443
2526
  if not ancillary_files or not base_branch:
2444
2527
  return False
2445
- review_diff = _fetch_compare_diff(gh_ops, repo_github, base_branch, review_sha)
2446
- current_diff = _fetch_compare_diff(gh_ops, repo_github, base_branch, current_sha)
2528
+ review_diff = _fetch_compare_diff(gh_ops, repo_github, base_branch, review_sha, diff_cache)
2529
+ current_diff = _fetch_compare_diff(gh_ops, repo_github, base_branch, current_sha, diff_cache)
2447
2530
  if review_diff is None or current_diff is None:
2448
2531
  return False
2449
2532
  review_blocks = _diff_blocks_by_path(review_diff)
@@ -2464,6 +2547,141 @@ def _review_delta_is_ancillary_only(
2464
2547
  return _files_are_ancillary(sorted(changed_paths), ancillary_files)
2465
2548
 
2466
2549
 
2550
+ def _content_lines_only(block: str) -> list[str]:
2551
+ """Reduce *block* (one file's unified-diff text) to just its added/
2552
+ removed content lines, in order — dropping the ``diff --git``/``index``/
2553
+ ``---``/``+++``/mode/rename header region, the ``@@`` hunk markers
2554
+ themselves, and unchanged context lines.
2555
+
2556
+ Tracks hunk state rather than prefix-matching every line in the block:
2557
+ everything before the first ``@@`` is header (``diff --git``, ``index``,
2558
+ the ``--- a/X`` / ``+++ b/X`` file markers, ``old mode``/``new mode``,
2559
+ ``rename from``/``rename to``), never real content, however it's
2560
+ spelled; everything at or after the first ``@@`` is hunk body, where a
2561
+ line starting with ``+``/``-`` is real added/removed content REGARDLESS
2562
+ of what follows that first character. A naive ``line.startswith("---")``
2563
+ skip would also swallow a genuinely removed line whose content happens
2564
+ to start with ``--`` (a SQL/Lua/Haskell comment, a YAML/Markdown rule,
2565
+ a shell ``--flag \\`` continuation) — this walk never makes that
2566
+ mistake, because it only treats ``---``/``+++`` as header while still in
2567
+ the header region.
2568
+
2569
+ #3749: a diff's context lines shift whenever the base branch changes
2570
+ nearby — a pure rebase, a zero-conflict merge of an advanced base, an
2571
+ unrelated commit landing a few lines above the reviewed hunk — even
2572
+ though the reviewed hunk's own added/removed content is byte-identical.
2573
+ ``git patch-id`` (:func:`coord.github_ops.compute_patch_id`) hashes
2574
+ those context lines too, so this kind of mechanical churn can still
2575
+ flip the patch-id and void an approval that covers unchanged content.
2576
+ Comparing only the ``+``/``-`` lines is intentionally looser than
2577
+ patch-id, checking only that no hunk INSERTED, REMOVED, or REORDERED a
2578
+ real line — it cannot see hunk *position* (the dropped ``@@`` header
2579
+ means two identical lines deleted at different places in the same file
2580
+ compare equal), so it is not a full statement of "nothing a reviewer
2581
+ cares about changed", only of the narrower thing it actually checks.
2582
+ """
2583
+ out: list[str] = []
2584
+ in_hunk = False
2585
+ for line in block.splitlines():
2586
+ if line.startswith("@@"):
2587
+ in_hunk = True
2588
+ continue
2589
+ if not in_hunk:
2590
+ continue # file-identity header region — never content
2591
+ if line.startswith(("+", "-")):
2592
+ out.append(line)
2593
+ return out
2594
+
2595
+
2596
+ def _review_delta_is_context_only(
2597
+ gh_ops: "GhOps | None",
2598
+ repo_github: str | None,
2599
+ base_branch: str | None,
2600
+ review_sha: str | None,
2601
+ current_sha: str | None,
2602
+ diff_cache: dict[tuple[str, str, str], str | None] | None = None,
2603
+ ) -> bool:
2604
+ """True when every file that changed between *review_sha* (what an
2605
+ existing ``approve``d review covered) and *current_sha* (the branch's
2606
+ current head) changed ONLY in diff context — the reviewed hunks'
2607
+ actual added/removed lines are byte-identical, and what moved is purely
2608
+ the unchanged lines around them (#3749: a pure rebase, a zero-conflict
2609
+ base-merge, upstream churn landing near but not inside the reviewed
2610
+ diff). :func:`_review_delta_is_ancillary_only`'s patch-id carry-forward
2611
+ (via ``scan_approved_reviews``'s own #1475 comparison) already catches
2612
+ the case where context happens to be untouched too — this is the
2613
+ fallback for when the base moving shifted it, since ``git patch-id``
2614
+ hashes context lines and so cannot tell the two apart.
2615
+
2616
+ Mirrors :func:`_review_delta_is_ancillary_only`'s approach of anchoring
2617
+ both compares at *base_branch* (never diffing *review_sha* against
2618
+ *current_sha* directly — after a rebase neither is an ancestor of the
2619
+ other) and splitting each into per-file blocks via
2620
+ :func:`_diff_blocks_by_path`. Unlike that function, no
2621
+ *ancillary_files* allow-list gates this — a context-only delta is safe
2622
+ to carry forward for ANY file, not just a configured ancillary set.
2623
+ *gh_ops* here is deliberately the caller's resolved ``ancillary_gh_ops``
2624
+ (never a raw, unconditionally-available ``gh_ops``) so this check is
2625
+ gated behind the SAME explicit per-call opt-in as #3707 — every one of
2626
+ this module's "is this approved?" surfaces must activate (or not
2627
+ activate) both base-relative-diff checks together, never just one: the
2628
+ merge gate and `coord/review.py`'s scoped-review dispatch answering
2629
+ this question differently permanently wedges the queue row.
2630
+
2631
+ Fails closed to ``False`` when *base_branch*/*gh_ops*/*repo_github*/
2632
+ either SHA is missing, either compare call raises or returns ``None``,
2633
+ every per-file block compares byte-identical between the two diffs
2634
+ (which includes both diffs being completely empty — mirrors
2635
+ :func:`_review_delta_is_ancillary_only`'s empty-changed-path case:
2636
+ byte-identical base-relative diffs cannot produce two different
2637
+ patch-ids, so reaching this function at all with nothing differing
2638
+ means a patch-id read upstream was wrong, not that this is a genuine
2639
+ no-op the patch-id check somehow missed), a differing block yields no
2640
+ ``+``/``-`` content lines on EITHER side (a binary-file change, an
2641
+ ``old mode``/``new mode`` permission flip, or an empty-file add/delete
2642
+ — the block differs, but there is no positive evidence of what changed,
2643
+ only the absence of an observed hunk, which is not the same thing), or
2644
+ any changed path's content-only lines differ between the two diffs.
2645
+
2646
+ *diff_cache*, when supplied, is forwarded to :func:`_fetch_compare_diff`
2647
+ so a caller that also runs :func:`_review_delta_is_ancillary_only` for
2648
+ the same *review_sha*/*current_sha* pair reuses that fetch instead of
2649
+ hitting ``gh api compare`` twice for the exact same compare.
2650
+ """
2651
+ if not base_branch:
2652
+ # Short-circuit, not a second safety net: `_fetch_compare_diff`
2653
+ # itself fails closed on a missing base, so this only spares the two
2654
+ # calls (and keeps the no-base case readable here).
2655
+ return False
2656
+ review_diff = _fetch_compare_diff(gh_ops, repo_github, base_branch, review_sha, diff_cache)
2657
+ current_diff = _fetch_compare_diff(gh_ops, repo_github, base_branch, current_sha, diff_cache)
2658
+ if review_diff is None or current_diff is None:
2659
+ return False
2660
+ review_blocks = _diff_blocks_by_path(review_diff)
2661
+ current_blocks = _diff_blocks_by_path(current_diff)
2662
+ any_block_differed = False
2663
+ for path in set(review_blocks) | set(current_blocks):
2664
+ before = review_blocks.get(path, "")
2665
+ after = current_blocks.get(path, "")
2666
+ if before == after:
2667
+ continue # byte-identical block — not even a context shift
2668
+ any_block_differed = True
2669
+ before_content = _content_lines_only(before)
2670
+ after_content = _content_lines_only(after)
2671
+ if not before_content and not after_content:
2672
+ # The block differs but neither side has a `+`/`-` hunk line to
2673
+ # compare — a binary blob, a mode-only change, or an
2674
+ # empty-file add/delete. Absence of an observed content line
2675
+ # is not evidence the content is unchanged.
2676
+ return False
2677
+ if before_content != after_content:
2678
+ return False
2679
+ # Nothing differed at all: byte-identical base-relative diffs cannot
2680
+ # produce two different patch-ids, so a patch-id read upstream of this
2681
+ # call was wrong rather than this being a genuine no-op. Fail closed.
2682
+ return any_block_differed
2683
+
2684
+
2467
2685
  # #1851: the reason string prefix `_entry_gate_status` returns for a CI-stale
2468
2686
  # entry. Both the wording and the eligibility check in
2469
2687
  # :func:`ci_revalidation_candidates` key off this constant so the two can
@@ -771,7 +771,24 @@ class Busy:
771
771
  return f"{base} ({self.detail})" if self.detail else base
772
772
 
773
773
 
774
- def confirmation_lock_busy(lock_path: Path) -> list[Busy]:
774
+ #: How long :func:`confirmation_lock_busy` waits for `notify.lock` before
775
+ #: giving up and reporting Busy (#3747). `coord.notify.run_drain`'s own
776
+ #: periodic tick (`coord/serve_app.py::_notify_drain_tick`) holds this same
777
+ #: lock on EVERY pass — a ~1.3GB `coord.db` board scan measured at ~20s
778
+ #: bursts about once every ~65s (~35% duty cycle) — so a single instantaneous
779
+ #: probe (the old `timeout=0.0`) landed inside a burst roughly a third of the
780
+ #: time and deferred a roll into an otherwise-quiescent fleet for no reason,
781
+ #: AFTER `propagate` had already cordoned every host. 30s comfortably outlasts
782
+ #: the measured ~21s burst with margin, so a routine tick releases well
783
+ #: within the wait and a genuine, long-running #2464 confirmation (which can
784
+ #: run for the whole `coord.confirm_test.CONFIRM_PASS_BUDGET_SECONDS`) still
785
+ #: reports Busy once this wait elapses.
786
+ DRAIN_TICK_GRACE_SECONDS = 30.0
787
+
788
+
789
+ def confirmation_lock_busy(
790
+ lock_path: Path, *, timeout: float = DRAIN_TICK_GRACE_SECONDS
791
+ ) -> list[Busy]:
775
792
  """A #2464 out-of-band test confirmation in flight, as a `Busy` signal
776
793
  (#2596).
777
794
 
@@ -787,7 +804,7 @@ def confirmation_lock_busy(lock_path: Path) -> list[Busy]:
787
804
  assignment already gates a restart (module docstring, "Why the cut is
788
805
  not optional").
789
806
 
790
- A LOCAL, non-blocking probe of *lock_path* — in production
807
+ A LOCAL, bounded-wait probe of *lock_path* — in production
791
808
  :func:`coord.filelock.notify_lock_path`, the same lock
792
809
  `coord.notify.run_drain` holds for a confirmation's whole duration (see
793
810
  `coord.confirm_test.CONFIRM_PASS_BUDGET_SECONDS`) — not a fleet-wide
@@ -796,6 +813,23 @@ def confirmation_lock_busy(lock_path: Path) -> list[Busy]:
796
813
  notify`'s drain (and so any confirmation) actually runs on, so a network
797
814
  probe would answer the identical local question at ten times the cost.
798
815
 
816
+ Bounded wait, not instantaneous: *timeout* blocks up to
817
+ :data:`DRAIN_TICK_GRACE_SECONDS` before concluding the lock is genuinely
818
+ busy, so a routine drain tick holding the lock for its ~20s board scan
819
+ gets a chance to release before this probe gives up on it — see
820
+ `DRAIN_TICK_GRACE_SECONDS`'s own docstring for the measured numbers. A
821
+ hold that outlasts the wait still reports Busy, from WHATEVER is holding
822
+ it — this function deliberately does not try to tell a routine drain
823
+ tick apart from a genuine confirmation once the wait has elapsed.
824
+ `coord.notify.run_drain` holds this same lock for its whole pass,
825
+ including the non-atomic `dispatch_pending_reviews` read-then-write
826
+ (`run_drain`'s own "Concurrency" docstring) that the lock exists to
827
+ serialise — so a hold that is STILL there past the grace period is, by
828
+ definition, not the quick, nothing-to-interrupt case the wait already
829
+ covers, and deferring is the only answer that keeps the gate able to
830
+ fail (epic #2096). The wait shrinks the race window; it does not try to
831
+ second-guess what is inside it.
832
+
799
833
  Unattributable on purpose (``host=None``, so it blocks the WHOLE fleet,
800
834
  not just one host — see :attr:`Busy.host`'s #2067 note): the restart this
801
835
  protects against is specifically the DAEMON's own `coord-agent`, and the
@@ -809,12 +843,19 @@ def confirmation_lock_busy(lock_path: Path) -> list[Busy]:
809
843
  (a permissions problem, a read-only home) is a local host problem this
810
844
  call must not turn into "block the entire fleet until someone notices" —
811
845
  it returns ``[]`` and the existing per-host/board signals still apply.
846
+
847
+ *timeout* is a real wall-clock block, so a caller that re-probes this on
848
+ a poll loop (e.g. `coord.commands.release._drain`'s busy-fetch) pays up
849
+ to the full grace period on every poll of a genuinely busy lock, roughly
850
+ doubling that loop's effective cadence — harmless (the loop re-probes
851
+ repeatedly and the deadline arithmetic is independent of it), but worth
852
+ knowing if that cadence ever needs to tighten.
812
853
  """
813
854
  from coord.filelock import FileLock, LockBusy # noqa: PLC0415
814
855
 
815
856
  lock = FileLock(lock_path)
816
857
  try:
817
- lock.acquire(timeout=0.0)
858
+ lock.acquire(timeout=timeout)
818
859
  except LockBusy:
819
860
  return [
820
861
  Busy(
@@ -6102,7 +6102,7 @@ def dispatch_scoped_reviews_for_queue(
6102
6102
  ancillary_files=ancillary_files,
6103
6103
  ancillary_gh_ops=github_ops,
6104
6104
  ):
6105
- continue # not stale, or a content-identical/ancillary-only rebase covers it (#1475/#3707)
6105
+ continue # not stale, or a content-identical/ancillary-only/context-only rebase covers it (#1475/#3707/#3749)
6106
6106
 
6107
6107
  prior_review = mq.find_scoped_review_candidate(
6108
6108
  entry,
@@ -6375,7 +6375,7 @@ def maybe_scoped_review_for_completed_fix(
6375
6375
  ancillary_files=ancillary_files,
6376
6376
  ancillary_gh_ops=github_ops,
6377
6377
  ):
6378
- return None # nothing stale to scope a review around — or an ancillary-only delta (#3707)
6378
+ return None # nothing stale to scope a review around — or an ancillary-only/context-only delta (#3707/#3749)
6379
6379
 
6380
6380
  prior_review = mq.find_scoped_review_candidate(
6381
6381
  entry,