code-coordinator 0.5.109__tar.gz → 0.5.111__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 (845) hide show
  1. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/.github/workflows/test.yml +39 -33
  2. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/CLAUDE.md +1 -1
  3. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/PKG-INFO +9 -9
  4. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/README.md +8 -8
  5. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/code_coordinator.egg-info/PKG-INFO +9 -9
  6. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/code_coordinator.egg-info/SOURCES.txt +4 -3
  7. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/code_coordinator.egg-info/scm_file_list.json +1 -0
  8. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/code_coordinator.egg-info/scm_version.json +2 -2
  9. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/__init__.py +7 -7
  10. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/agent_app.py +20 -22
  11. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/agent_update.py +9 -11
  12. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/cli.py +11 -15
  13. code_coordinator-0.5.109/coord/dashboard/webapp/dist/assets/Gallery-Cq84itDE.js → code_coordinator-0.5.111/coord/dashboard/webapp/dist/assets/Gallery-BoKs3mpY.js +2 -2
  14. code_coordinator-0.5.109/coord/dashboard/webapp/dist/assets/Terminal-DOXLcMue.js → code_coordinator-0.5.111/coord/dashboard/webapp/dist/assets/Terminal-CEsP08iX.js +1 -1
  15. code_coordinator-0.5.109/coord/dashboard/webapp/dist/assets/index-DHn-RIJ8.js → code_coordinator-0.5.111/coord/dashboard/webapp/dist/assets/index-CDHPlB6k.js +2 -2
  16. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/dist/index.html +1 -1
  17. code_coordinator-0.5.111/coord/dashboard/webapp/dist/manifest.webmanifest +1 -0
  18. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/dist/sw.js +1 -1
  19. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/Gallery.tsx +1 -1
  20. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/vite.config.ts +1 -1
  21. {code_coordinator-0.5.109 → code_coordinator-0.5.111/coord}/deploy/coord-db-backup.service +1 -1
  22. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy/coord-drive-queue.service +1 -1
  23. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy/coord-serve.service +2 -2
  24. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy/coord-web-dist-build.service +1 -1
  25. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dist_name.py +30 -35
  26. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/agent_install.py +15 -17
  27. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/unit_drift.py +4 -5
  28. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/pypi.py +8 -7
  29. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/repo_onboard.py +2 -2
  30. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/tui_release.py +1 -1
  31. {code_coordinator-0.5.109/coord → code_coordinator-0.5.111}/deploy/coord-db-backup.service +1 -1
  32. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/coord-drive-queue.service +1 -1
  33. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/coord-serve.service +2 -2
  34. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/coord-web-dist-build.service +1 -1
  35. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/coord-web-dist-build.sh +2 -2
  36. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/AGENT_OPERATIONS.md +10 -10
  37. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/ARCHITECTURE.md +2 -2
  38. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/CROSS_PLATFORM.md +1 -1
  39. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/CUSTOMER_PORTAL.md +2 -2
  40. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/DRIVE_QUEUE.md +3 -3
  41. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/FORGE_MIGRATION.md +1 -1
  42. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/ISSUE_GUIDANCE.md +1 -1
  43. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/MAC_MINI.md +2 -2
  44. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/MERGE_AUTO_DRAIN_TRUST_BAR.md +1 -1
  45. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/OPERATING_GOTCHAS.md +2 -2
  46. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/PHONE_WEBAPP.md +2 -2
  47. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/PLATFORM_EVOLUTION.md +1 -1
  48. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/TEST_FIRST_BUG_LANE.md +3 -3
  49. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/azure-workers/epic-up.sh +1 -1
  50. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/azure-workers/provision-worker.sh +5 -5
  51. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/azure-workers/scrub-and-generalize.sh +1 -1
  52. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/azure-workers/verify-github-token.sh +3 -3
  53. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/smoke_437_interactive.py +1 -1
  54. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_dist_name.py +124 -84
  55. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_version_single_source.py +41 -32
  56. code_coordinator-0.5.111/tests/test_windows_job_is_a_real_gate_2000.py +131 -0
  57. code_coordinator-0.5.109/coord/dashboard/webapp/dist/manifest.webmanifest +0 -1
  58. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/.claude/commands/board.md +0 -0
  59. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/.claude/commands/complete-session.md +0 -0
  60. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/.claude/commands/coordinator.md +0 -0
  61. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/.githooks/_lib.sh +0 -0
  62. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/.githooks/post-checkout +0 -0
  63. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/.githooks/post-commit +0 -0
  64. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/.githooks/post-merge +0 -0
  65. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  66. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/.github/coord-ci-acceptance.yml +0 -0
  67. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/.github/workflows/auto-release.yml +0 -0
  68. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/.github/workflows/cargo-test.yml +0 -0
  69. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/.github/workflows/publish.yml +0 -0
  70. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/.github/workflows/release-tui.yml +0 -0
  71. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/.gitignore +0 -0
  72. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/GOAL.md +0 -0
  73. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/LICENSE +0 -0
  74. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/MANIFEST.in +0 -0
  75. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/code_coordinator.egg-info/dependency_links.txt +0 -0
  76. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/code_coordinator.egg-info/entry_points.txt +0 -0
  77. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/code_coordinator.egg-info/requires.txt +0 -0
  78. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/code_coordinator.egg-info/top_level.txt +0 -0
  79. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/_board_mapping.py +0 -0
  80. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/acceptance.py +0 -0
  81. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/acceptance_drivers.py +0 -0
  82. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/agent.py +0 -0
  83. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/agents/opencode/.gitignore +0 -0
  84. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/agents/opencode/agents/work.md +0 -0
  85. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/agents/opencode/routing.jsonc +0 -0
  86. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/audit.py +0 -0
  87. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/auto_loop.py +0 -0
  88. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/block_log.py +0 -0
  89. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/board_bool_guard.py +0 -0
  90. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/board_service.py +0 -0
  91. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/board_wire.py +0 -0
  92. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/brain.py +0 -0
  93. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/branch_model.py +0 -0
  94. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/bug_intake.py +0 -0
  95. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/cargo_cache.py +0 -0
  96. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/ci_github.py +0 -0
  97. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/ci_store.py +0 -0
  98. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/claim.py +0 -0
  99. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/client.py +0 -0
  100. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/__init__.py +0 -0
  101. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/_common.py +0 -0
  102. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/acceptance.py +0 -0
  103. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/agent_ops.py +0 -0
  104. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/audit.py +0 -0
  105. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/chat.py +0 -0
  106. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/dispatch.py +0 -0
  107. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/dispatch_workers.py +0 -0
  108. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/drive.py +0 -0
  109. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/drive_queue.py +0 -0
  110. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/gate_a.py +0 -0
  111. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/gates.py +0 -0
  112. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/issues.py +0 -0
  113. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/lifecycle.py +0 -0
  114. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/merge.py +0 -0
  115. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/milestone.py +0 -0
  116. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/plan_followup.py +0 -0
  117. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/plans.py +0 -0
  118. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/portal.py +0 -0
  119. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/release.py +0 -0
  120. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/repo.py +0 -0
  121. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/report.py +0 -0
  122. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/review.py +0 -0
  123. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/scorecard.py +0 -0
  124. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/sessions.py +0 -0
  125. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/setup.py +0 -0
  126. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/status.py +0 -0
  127. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/terminal.py +0 -0
  128. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/test_gate.py +0 -0
  129. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/tui.py +0 -0
  130. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/comments.py +0 -0
  131. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/config.py +0 -0
  132. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/config_reload.py +0 -0
  133. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/conflict_fix.py +0 -0
  134. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dao.py +0 -0
  135. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/__init__.py +0 -0
  136. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/fixture.py +0 -0
  137. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/index.html +0 -0
  138. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/server.py +0 -0
  139. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/terminal.py +0 -0
  140. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/.gitignore +0 -0
  141. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/components.json +0 -0
  142. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/dist/assets/Terminal-9CEnUXvW.css +0 -0
  143. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/dist/assets/index-Dq4kwTdw.css +0 -0
  144. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/dist/assets/workbox-window.prod.es5-BqEJf4Xk.js +0 -0
  145. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/dist/icons/icon-192.png +0 -0
  146. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/dist/icons/icon-512.png +0 -0
  147. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/dist/icons/icon.svg +0 -0
  148. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/dist/workbox-e4022e15.js +0 -0
  149. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/e2e/available-gates-terminal.spec.ts +0 -0
  150. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/e2e/deep-link.spec.ts +0 -0
  151. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/e2e/fixtureServer.ts +0 -0
  152. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/e2e/live-update-fixture.spec.ts +0 -0
  153. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/e2e/realtime.spec.ts +0 -0
  154. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/e2e/shell.spec.ts +0 -0
  155. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/e2e/smoke.spec.ts +0 -0
  156. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/e2e/terminal.spec.ts +0 -0
  157. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/e2e/theme.spec.ts +0 -0
  158. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/eslint.config.js +0 -0
  159. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/index.html +0 -0
  160. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/node_modules/flatted/python/flatted.py +0 -0
  161. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/package-lock.json +0 -0
  162. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/package.json +0 -0
  163. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/playwright.acceptance.config.ts +0 -0
  164. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/playwright.config.ts +0 -0
  165. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/postcss.config.js +0 -0
  166. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/public/icons/icon-192.png +0 -0
  167. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/public/icons/icon-512.png +0 -0
  168. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/public/icons/icon.svg +0 -0
  169. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/App.tsx +0 -0
  170. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/api/client.ts +0 -0
  171. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/api/generated.ts +0 -0
  172. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/ConnectionBadge.tsx +0 -0
  173. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/Detail.tsx +0 -0
  174. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/Home.tsx +0 -0
  175. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/MobileKeyBar.tsx +0 -0
  176. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/PanelHeader.tsx +0 -0
  177. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/PipelineCard.tsx +0 -0
  178. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/SessionCard.tsx +0 -0
  179. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/SessionDetail.tsx +0 -0
  180. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/SessionsList.tsx +0 -0
  181. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/Terminal.tsx +0 -0
  182. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/__tests__/ConnectionBadge.test.tsx +0 -0
  183. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/__tests__/Detail.test.tsx +0 -0
  184. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/__tests__/Gallery.test.tsx +0 -0
  185. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/__tests__/Home.test.tsx +0 -0
  186. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/__tests__/MobileKeyBar.test.tsx +0 -0
  187. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/__tests__/PipelineCard.test.tsx +0 -0
  188. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/__tests__/SessionCard.test.tsx +0 -0
  189. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/__tests__/Terminal.test.tsx +0 -0
  190. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/ui/badge.tsx +0 -0
  191. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/ui/button.tsx +0 -0
  192. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/ui/card.tsx +0 -0
  193. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/ui/dialog.tsx +0 -0
  194. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/ui/dropdown-menu.tsx +0 -0
  195. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/ui/empty-state.tsx +0 -0
  196. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/ui/sheet.tsx +0 -0
  197. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/ui/skeleton.tsx +0 -0
  198. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/ui/tabs.tsx +0 -0
  199. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/ui/theme-provider.tsx +0 -0
  200. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/ui/theme-toggle.tsx +0 -0
  201. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/ui/toast.tsx +0 -0
  202. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/ui/toaster.tsx +0 -0
  203. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/ui/tooltip.tsx +0 -0
  204. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/ui/use-toast.ts +0 -0
  205. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/index.css +0 -0
  206. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/lib/pipeline.ts +0 -0
  207. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/lib/utils.ts +0 -0
  208. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/main.tsx +0 -0
  209. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/realtime/RealtimeProvider.tsx +0 -0
  210. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/realtime/__tests__/RealtimeProvider.test.tsx +0 -0
  211. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/realtime/__tests__/connection.test.ts +0 -0
  212. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/realtime/connection.ts +0 -0
  213. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/realtime/events.ts +0 -0
  214. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/routes/__tests__/paths.test.ts +0 -0
  215. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/routes/paths.ts +0 -0
  216. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/shell/ActivityRail.tsx +0 -0
  217. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/shell/AppShell.tsx +0 -0
  218. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/shell/ComingSoon.tsx +0 -0
  219. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/shell/EmptyDetail.tsx +0 -0
  220. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/shell/RouteNotFound.tsx +0 -0
  221. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/shell/ShellLayout.tsx +0 -0
  222. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/shell/StatusBar.tsx +0 -0
  223. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/shell/__tests__/ShellLayout.test.tsx +0 -0
  224. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/shell/__tests__/shellState.test.ts +0 -0
  225. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/shell/__tests__/stubViewport.ts +0 -0
  226. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/shell/breakpoints.ts +0 -0
  227. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/shell/railItems.ts +0 -0
  228. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/shell/shellState.ts +0 -0
  229. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/shell/useRegionFocus.ts +0 -0
  230. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/test-setup.ts +0 -0
  231. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/vite-env.d.ts +0 -0
  232. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/tailwind.config.js +0 -0
  233. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/tsconfig.json +0 -0
  234. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/tsconfig.node.json +0 -0
  235. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/db.py +0 -0
  236. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dead_end.py +0 -0
  237. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy/README.md +0 -0
  238. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy/coord-agent.service +0 -0
  239. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy/coord-db-backup.sh +0 -0
  240. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy/coord-db-backup.timer +0 -0
  241. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy/coord-drive-queue.timer +0 -0
  242. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy/coord-notify.service +0 -0
  243. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy/coord-notify.timer +0 -0
  244. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy/coord-release-propagate.service +0 -0
  245. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy/coord-release-propagate.timer +0 -0
  246. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy/coord-release-window.service +0 -0
  247. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy/coord-release-window.timer +0 -0
  248. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy/coord-web-dist-build.timer +0 -0
  249. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy/coord-web.service +0 -0
  250. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy_manifest.py +0 -0
  251. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy_units.py +0 -0
  252. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deps.py +0 -0
  253. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/diagnose.py +0 -0
  254. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dispatch.py +0 -0
  255. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/drive.py +0 -0
  256. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/drive_queue.py +0 -0
  257. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/drive_state.py +0 -0
  258. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/events.py +0 -0
  259. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/failure_class.py +0 -0
  260. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/filelock.py +0 -0
  261. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/fleet_config_health.py +0 -0
  262. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/freshness.py +0 -0
  263. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/gate_a.py +0 -0
  264. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/gate_b.py +0 -0
  265. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/gate_snapshot.py +0 -0
  266. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/gates.py +0 -0
  267. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/github_ops.py +0 -0
  268. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/goal.py +0 -0
  269. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/graph_health.py +0 -0
  270. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/__init__.py +0 -0
  271. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/aggregate.py +0 -0
  272. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/__init__.py +0 -0
  273. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/cargo_targets.py +0 -0
  274. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/claude_binary.py +0 -0
  275. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/deploy_lane_facts.py +0 -0
  276. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/disk.py +0 -0
  277. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/fleet_board.py +0 -0
  278. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/fleet_deploy_lanes.py +0 -0
  279. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/fleet_phantom.py +0 -0
  280. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/fleet_unit_drift.py +0 -0
  281. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/graph.py +0 -0
  282. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/graphify_cli.py +0 -0
  283. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/index_lock.py +0 -0
  284. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/plan_usage.py +0 -0
  285. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/repo_state.py +0 -0
  286. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/spawned_coord.py +0 -0
  287. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/timer_active.py +0 -0
  288. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/toolchain.py +0 -0
  289. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/unit_enablement.py +0 -0
  290. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/worktrees.py +0 -0
  291. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/cli.py +0 -0
  292. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/context.py +0 -0
  293. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/fleet_snapshot.py +0 -0
  294. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/models.py +0 -0
  295. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/registry.py +0 -0
  296. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/render.py +0 -0
  297. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/units.py +0 -0
  298. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/hooks.py +0 -0
  299. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/housekeeping.py +0 -0
  300. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/interactive.py +0 -0
  301. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/issue_store.py +0 -0
  302. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/liveness_auditor.py +0 -0
  303. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/machine_pause.py +0 -0
  304. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/merge_queue.py +0 -0
  305. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/milestone_chat.py +0 -0
  306. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/milestone_dispatch.py +0 -0
  307. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/milestone_gate.py +0 -0
  308. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/milestone_order.py +0 -0
  309. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/mock_author.py +0 -0
  310. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/models.py +0 -0
  311. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/network.py +0 -0
  312. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/new_issue_chat.py +0 -0
  313. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/notifier/__init__.py +0 -0
  314. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/notifier/baseline.py +0 -0
  315. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/notifier/cli.py +0 -0
  316. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/notifier/collect.py +0 -0
  317. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/notifier/digest.py +0 -0
  318. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/notifier/models.py +0 -0
  319. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/notifier/predicate.py +0 -0
  320. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/notifier/service.py +0 -0
  321. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/notifier/store.py +0 -0
  322. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/notifier/transport.py +0 -0
  323. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/notify.py +0 -0
  324. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/openapi.py +0 -0
  325. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/overlap_fence.py +0 -0
  326. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/overlap_predict.py +0 -0
  327. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/parentage.py +0 -0
  328. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/parentage_github.py +0 -0
  329. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/pipeline.py +0 -0
  330. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/plan_parser.py +0 -0
  331. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/plans.py +0 -0
  332. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/platform_paths.py +0 -0
  333. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/portal_bridge.py +0 -0
  334. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/portal_store.py +0 -0
  335. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/portal_sync.py +0 -0
  336. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/pr_body_lint.py +0 -0
  337. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/prereqs.py +0 -0
  338. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/progress.py +0 -0
  339. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/providers/__init__.py +0 -0
  340. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/providers/base.py +0 -0
  341. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/providers/claude.py +0 -0
  342. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/providers/claude_pty.py +0 -0
  343. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/providers/opencode.py +0 -0
  344. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/queue_diagnose.py +0 -0
  345. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/reconcile.py +0 -0
  346. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/refine_chat.py +0 -0
  347. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/release_cordon.py +0 -0
  348. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/release_propagate.py +0 -0
  349. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/release_verify.py +0 -0
  350. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/release_window.py +0 -0
  351. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/repo_edit.py +0 -0
  352. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/reports.py +0 -0
  353. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/revalidate.py +0 -0
  354. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/review.py +0 -0
  355. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/scorecard.py +0 -0
  356. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/serve_app.py +0 -0
  357. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/skills/update-issue/SKILL.md +0 -0
  358. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/smoke.py +0 -0
  359. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/spend_ceiling.py +0 -0
  360. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/split_work.py +0 -0
  361. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/stage_projection.py +0 -0
  362. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/state.py +0 -0
  363. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/test_author.py +0 -0
  364. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/test_chat.py +0 -0
  365. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/test_orchestrator.py +0 -0
  366. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/test_report.py +0 -0
  367. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/usage.py +0 -0
  368. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/usage_limits.py +0 -0
  369. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/usage_rollup.py +0 -0
  370. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/worker_events.py +0 -0
  371. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coordinator.example.yml +0 -0
  372. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/coord-agent.service +0 -0
  373. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/coord-db-backup.sh +0 -0
  374. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/coord-db-backup.timer +0 -0
  375. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/coord-drive-queue.timer +0 -0
  376. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/coord-notify.service +0 -0
  377. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/coord-notify.timer +0 -0
  378. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/coord-release-propagate.service +0 -0
  379. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/coord-release-propagate.timer +0 -0
  380. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/coord-release-window.service +0 -0
  381. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/coord-release-window.timer +0 -0
  382. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/coord-web-dist-build.timer +0 -0
  383. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/coord-web-rollback.sh +0 -0
  384. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/coord-web.service +0 -0
  385. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/node-shim.sh +0 -0
  386. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/ARCH_SECURITY_GATES.md +0 -0
  387. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/COCKPIT.md +0 -0
  388. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/CONTROL_CENTER.md +0 -0
  389. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/COST_DISCIPLINE.md +0 -0
  390. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/EPHEMERAL_WORKERS.md +0 -0
  391. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/GRAPHIFY_SETUP.md +0 -0
  392. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/NOTIFIER.md +0 -0
  393. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/OPENCODE_VERIFICATION.md +0 -0
  394. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/ORACLE_LOOP.md +0 -0
  395. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/PIPELINE_V2.md +0 -0
  396. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/SECOND_BACKEND.md +0 -0
  397. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/STORE_SERVICE.md +0 -0
  398. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/WEB_CONTROL_CENTER.md +0 -0
  399. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/mocks/web/README.md +0 -0
  400. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/mocks/web/_tokens.css +0 -0
  401. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/mocks/web/issue-detail.html +0 -0
  402. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/mocks/web/pipeline-narrow.html +0 -0
  403. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/mocks/web/pipeline-wide.html +0 -0
  404. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/graphify-out/.gitignore +0 -0
  405. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/install-agent.sh +0 -0
  406. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/pyproject.toml +0 -0
  407. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/audit_review_verdict_overrides.py +0 -0
  408. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/azure-workers/bootstrap-shared.sh +0 -0
  409. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/azure-workers/build-worker-image.sh +0 -0
  410. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/azure-workers/coordinator-machine.py +0 -0
  411. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/azure-workers/epic-down.sh +0 -0
  412. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/azure-workers/preflight.sh +0 -0
  413. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/azure-workers/tailnet-acl.hujson +0 -0
  414. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/codegen.py +0 -0
  415. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/coord-test-runner.sh +0 -0
  416. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/drive-batch.sh +0 -0
  417. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/gen_board_fixture.py +0 -0
  418. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/next_release_tag.py +0 -0
  419. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/run_tests_in_populated_home.sh +0 -0
  420. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/run_tests_without_gh.sh +0 -0
  421. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/verify_878_review_capture.py +0 -0
  422. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/verify_release_published.py +0 -0
  423. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/verify_release_wheel.py +0 -0
  424. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/setup.cfg +0 -0
  425. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/SMOKE_SET.md +0 -0
  426. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/__init__.py +0 -0
  427. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-33/audit_1039.rs +0 -0
  428. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-33/contract.md +0 -0
  429. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-33/manifest.yml +0 -0
  430. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-33/mocks/audit-panel-detail.screen +0 -0
  431. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-33/mocks/audit-panel-empty.screen +0 -0
  432. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-33/mocks/audit-panel-filters.screen +0 -0
  433. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-33/mocks/audit-panel-populated.screen +0 -0
  434. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-37/conftest.py +0 -0
  435. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-37/contract.md +0 -0
  436. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-37/manifest.yml +0 -0
  437. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-37/test_usage_cli_1115.py +0 -0
  438. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-37/test_usage_core_1118.py +0 -0
  439. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-38/contract.md +0 -0
  440. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-38/manifest.yml +0 -0
  441. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-38/mocks/plans-base.screen +0 -0
  442. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-38/mocks/plans-detail-pane.screen +0 -0
  443. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-38/mocks/plans-help-overlay.screen +0 -0
  444. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-38/mocks/plans-palette.screen +0 -0
  445. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-38/mocks/plans-rightclick-epic.screen +0 -0
  446. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-38/mocks/plans-rightclick-header.screen +0 -0
  447. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-38/mocks/plans-rightclick-stub.screen +0 -0
  448. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-38/plans_detail_1122.rs +0 -0
  449. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-38/plans_help_1124.rs +0 -0
  450. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-38/plans_rightclick_1123.rs +0 -0
  451. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-51/contract.md +0 -0
  452. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-51/home-active-extended.spec.ts +0 -0
  453. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-51/home-active.spec.ts +0 -0
  454. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-51/manifest.yml +0 -0
  455. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-51/mocks/home-active.html +0 -0
  456. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-51/tsconfig.json +0 -0
  457. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-example/mocks/home-active.html +0 -0
  458. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/conftest.py +0 -0
  459. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/board-pipeline-basic.json +0 -0
  460. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/board-pipeline-terminal-gates.json +0 -0
  461. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/opencode_run_failure_sample.jsonl +0 -0
  462. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/opencode_run_sample.jsonl +0 -0
  463. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/playwright/all_pass.json +0 -0
  464. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/playwright/global_setup_crash.json +0 -0
  465. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/playwright/mixed_fail.json +0 -0
  466. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/playwright/retry_then_pass.json +0 -0
  467. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/playwright/retry_then_pass.junit.xml +0 -0
  468. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/playwright/skip.json +0 -0
  469. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/playwright/truncated.json +0 -0
  470. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/test_report/cargo_compile_error.txt +0 -0
  471. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/test_report/cargo_multi_target_failures.txt +0 -0
  472. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/test_report/cargo_no_parseable_failures.txt +0 -0
  473. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/test_report/pytest_collection_error.txt +0 -0
  474. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/test_report/pytest_error_string_in_body.txt +0 -0
  475. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/test_report/pytest_internal_error.txt +0 -0
  476. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/test_report/pytest_mixed_failures.txt +0 -0
  477. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/test_report/pytest_no_parseable_failures.txt +0 -0
  478. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_acceptance.py +0 -0
  479. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_acceptance_drivers.py +0 -0
  480. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent.py +0 -0
  481. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_api_error.py +0 -0
  482. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_app.py +0 -0
  483. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_branch_base.py +0 -0
  484. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_branch_capture.py +0 -0
  485. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_config_free_1712.py +0 -0
  486. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_deploy_units_endpoint.py +0 -0
  487. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_dirty_worktree.py +0 -0
  488. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_graph_self_heal.py +0 -0
  489. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_health_h3.py +0 -0
  490. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_idle_restart.py +0 -0
  491. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_push_failure.py +0 -0
  492. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_reap.py +0 -0
  493. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_repos_and_pull.py +0 -0
  494. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_restart_services_endpoint.py +0 -0
  495. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_startup_diagnostics.py +0 -0
  496. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_update.py +0 -0
  497. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_update_bluegreen.py +0 -0
  498. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_usage_limit.py +0 -0
  499. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_zero_commit.py +0 -0
  500. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_ambient_home_isolation.py +0 -0
  501. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_approve_reject_plan.py +0 -0
  502. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_approve_usage_gate.py +0 -0
  503. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_assignment_already_recorded_daemon.py +0 -0
  504. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_audit_log.py +0 -0
  505. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_audit_outcome.py +0 -0
  506. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_audit_query.py +0 -0
  507. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_auto_loop.py +0 -0
  508. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_auto_release_publish_2035.py +0 -0
  509. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_base_checkout_restore.py +0 -0
  510. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_block_log.py +0 -0
  511. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_board_cap_762.py +0 -0
  512. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_board_fixture.py +0 -0
  513. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_board_read_path.py +0 -0
  514. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_board_service.py +0 -0
  515. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_board_state.py +0 -0
  516. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_board_wire.py +0 -0
  517. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_brain.py +0 -0
  518. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_branch_model.py +0 -0
  519. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_bug_intake.py +0 -0
  520. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_build_worker_image_env_update.py +0 -0
  521. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cargo_cache.py +0 -0
  522. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_ci_acceptance_gate_1950.py +0 -0
  523. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_ci_parity_2091.py +0 -0
  524. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_ci_store.py +0 -0
  525. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_claim.py +0 -0
  526. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_acceptance.py +0 -0
  527. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_assign.py +0 -0
  528. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_assign_interactive_oracle_gate.py +0 -0
  529. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_assign_interactive_remote.py +0 -0
  530. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_assign_provider.py +0 -0
  531. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_assign_repo_drift_2219.py +0 -0
  532. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_audit.py +0 -0
  533. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_chat_continue.py +0 -0
  534. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_diagnose_config_provenance.py +0 -0
  535. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_diagnose_graph.py +0 -0
  536. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_doctor.py +0 -0
  537. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_doctor_config_free_1801.py +0 -0
  538. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_doctor_config_mismatch_1712.py +0 -0
  539. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_drive.py +0 -0
  540. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_drive_queue.py +0 -0
  541. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_escalate.py +0 -0
  542. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_fix_headless_review.py +0 -0
  543. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_gate_a.py +0 -0
  544. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_install_drift.py +0 -0
  545. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_install_skills.py +0 -0
  546. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_issue_create_label.py +0 -0
  547. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_issue_reopen.py +0 -0
  548. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_merge.py +0 -0
  549. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_milestone_assign.py +0 -0
  550. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_milestone_capture.py +0 -0
  551. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_milestone_chat_add_child.py +0 -0
  552. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_milestone_dispatch.py +0 -0
  553. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_milestone_gate_b.py +0 -0
  554. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_milestone_gate_c.py +0 -0
  555. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_milestone_order.py +0 -0
  556. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_milestone_remove_and_issue_close.py +0 -0
  557. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_milestone_ship.py +0 -0
  558. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_network.py +0 -0
  559. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_new_issue_chat.py +0 -0
  560. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_plans.py +0 -0
  561. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_portal.py +0 -0
  562. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_pull_artifact.py +0 -0
  563. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_queue.py +0 -0
  564. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_reattach_sessions.py +0 -0
  565. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_refine_board.py +0 -0
  566. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_release_preflight.py +0 -0
  567. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_release_propagate.py +0 -0
  568. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_release_window.py +0 -0
  569. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_repo_2220.py +0 -0
  570. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_scorecard.py +0 -0
  571. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_set_review_findings.py +0 -0
  572. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_status_advisory_terminal.py +0 -0
  573. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_status_merge_queue.py +0 -0
  574. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_status_provider.py +0 -0
  575. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_status_review_finalizing.py +0 -0
  576. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_status_test_failed_tag.py +0 -0
  577. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_status_usage_limit.py +0 -0
  578. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_sync_comments_873.py +0 -0
  579. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_test_plan.py +0 -0
  580. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_track.py +0 -0
  581. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_tui_update.py +0 -0
  582. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_wait.py +0 -0
  583. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_client_base_install.py +0 -0
  584. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_comments.py +0 -0
  585. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_completion_summary.py +0 -0
  586. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_config.py +0 -0
  587. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_config_acceptance.py +0 -0
  588. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_config_audit.py +0 -0
  589. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_config_pricing.py +0 -0
  590. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_config_snapshot_noncanonical_2208.py +0 -0
  591. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_config_usage_gate.py +0 -0
  592. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_conflict_fix.py +0 -0
  593. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_conflict_fix_semantic.py +0 -0
  594. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_coord_test.py +0 -0
  595. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_coord_test_runner_baseline.py +0 -0
  596. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_coord_test_runner_routing.py +0 -0
  597. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_coord_test_runner_toolchain.py +0 -0
  598. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_coord_web_sse_restart_live.py +0 -0
  599. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_coordinator_machine.py +0 -0
  600. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cross_platform_imports.py +0 -0
  601. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_dashboard.py +0 -0
  602. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_dashboard_fixture.py +0 -0
  603. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_dashboard_terminal.py +0 -0
  604. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_dashboard_terminal_live.py +0 -0
  605. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_db.py +0 -0
  606. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_dead_end.py +0 -0
  607. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_deploy_coord_db_backup.py +0 -0
  608. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_deploy_coord_web_dist.py +0 -0
  609. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_deploy_coord_web_rollback.py +0 -0
  610. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_deploy_drive_queue_unit.py +0 -0
  611. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_deploy_manifest.py +0 -0
  612. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_deploy_units_lane.py +0 -0
  613. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_deploy_web_unit.py +0 -0
  614. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_deps.py +0 -0
  615. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_diagnose.py +0 -0
  616. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_dispatch.py +0 -0
  617. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_dispatch_target_validation.py +0 -0
  618. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_done_housekeeping.py +0 -0
  619. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_drive.py +0 -0
  620. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_drive_queue.py +0 -0
  621. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_drive_state.py +0 -0
  622. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_drive_tmux.py +0 -0
  623. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_epic_up_capability_detection.py +0 -0
  624. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_epic_up_down_symlinked_config_1887.py +0 -0
  625. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_epic_up_image_provenance.py +0 -0
  626. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_errors.py +0 -0
  627. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_events.py +0 -0
  628. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_failure_class.py +0 -0
  629. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_filelock.py +0 -0
  630. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_finalize_interactive_exit_test_verdict.py +0 -0
  631. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_fix_of_force_override.py +0 -0
  632. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_fleet_config_health.py +0 -0
  633. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_fleet_health_probes.py +0 -0
  634. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_fleet_health_snapshot.py +0 -0
  635. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_freshness.py +0 -0
  636. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_gate_a.py +0 -0
  637. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_gate_b.py +0 -0
  638. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_gate_snapshot_staleness.py +0 -0
  639. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_gates.py +0 -0
  640. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_gather_fleet_tmux_sessions.py +0 -0
  641. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_generated_types_fixture.py +0 -0
  642. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_github_ops.py +0 -0
  643. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_goal.py +0 -0
  644. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_graph_health.py +0 -0
  645. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_graph_selfheal_absent_2237.py +0 -0
  646. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_handoff.py +0 -0
  647. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_health_checks.py +0 -0
  648. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_health_cli.py +0 -0
  649. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_health_cli_graph.py +0 -0
  650. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_health_config.py +0 -0
  651. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_health_context.py +0 -0
  652. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_health_deploy_lane_facts.py +0 -0
  653. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_health_incident_regression.py +0 -0
  654. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_health_pypi.py +0 -0
  655. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_health_registry.py +0 -0
  656. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_health_timer_active.py +0 -0
  657. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_health_toolchain.py +0 -0
  658. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_health_unit_drift.py +0 -0
  659. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_health_unit_enablement.py +0 -0
  660. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_hooks.py +0 -0
  661. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_human_attended_437.py +0 -0
  662. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_init.py +0 -0
  663. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_integration.py +0 -0
  664. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_interactive_briefing_echo.py +0 -0
  665. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_interactive_prefill_state.py +0 -0
  666. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_interactive_session_relaunch.py +0 -0
  667. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_interactive_test_verdict_backstop.py +0 -0
  668. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_interactive_token_attribution.py +0 -0
  669. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_interactive_worktree.py +0 -0
  670. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_issue_store_seam.py +0 -0
  671. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_liveness_auditor.py +0 -0
  672. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_liveness_notify.py +0 -0
  673. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_machine_pause.py +0 -0
  674. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_merge_queue.py +0 -0
  675. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_merge_verify.py +0 -0
  676. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_milestone_chat.py +0 -0
  677. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_milestone_dispatch.py +0 -0
  678. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_milestone_gate.py +0 -0
  679. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_milestone_order.py +0 -0
  680. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_milestone_seam.py +0 -0
  681. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_mock_author.py +0 -0
  682. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_model_tiering.py +0 -0
  683. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_models.py +0 -0
  684. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_models_config_labels.py +0 -0
  685. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_needs_attention.py +0 -0
  686. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_network.py +0 -0
  687. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_new_issue_chat.py +0 -0
  688. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_next_release_tag.py +0 -0
  689. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_no_direct_gh_calls.py +0 -0
  690. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_node_shim.py +0 -0
  691. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_notifier_baseline.py +0 -0
  692. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_notifier_cli.py +0 -0
  693. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_notifier_collect.py +0 -0
  694. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_notifier_config.py +0 -0
  695. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_notifier_drive_seam.py +0 -0
  696. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_notifier_isolation.py +0 -0
  697. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_notifier_predicate.py +0 -0
  698. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_notifier_quiet_hours.py +0 -0
  699. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_notifier_service.py +0 -0
  700. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_notify.py +0 -0
  701. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_notify_drain.py +0 -0
  702. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_openapi.py +0 -0
  703. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_operational_defaults.py +0 -0
  704. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_overlap_fence.py +0 -0
  705. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_overlap_predict.py +0 -0
  706. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_packaged_deploy_units.py +0 -0
  707. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_parentage.py +0 -0
  708. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_paste_landed.py +0 -0
  709. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_pipeline.py +0 -0
  710. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_plan_followup_approve_plan_command.py +0 -0
  711. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_plan_followup_pr_command.py +0 -0
  712. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_plan_followup_review_command.py +0 -0
  713. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_plan_only.py +0 -0
  714. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_plan_parser.py +0 -0
  715. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_platform_paths.py +0 -0
  716. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_portal_bridge.py +0 -0
  717. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_portal_config.py +0 -0
  718. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_portal_sync.py +0 -0
  719. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_pr_body_lint.py +0 -0
  720. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_prereqs.py +0 -0
  721. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_production_db_guard.py +0 -0
  722. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_progress.py +0 -0
  723. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_provider_seam.py +0 -0
  724. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_providers.py +0 -0
  725. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_providers_config_labels.py +0 -0
  726. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_providers_pty.py +0 -0
  727. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_quiet_hours.py +0 -0
  728. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_quiet_hours_store_2146.py +0 -0
  729. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_reap_merged_sessions.py +0 -0
  730. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_reap_stale_interactive_tick.py +0 -0
  731. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_reconcile_branch.py +0 -0
  732. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_reconcile_completions.py +0 -0
  733. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_reconcile_merges.py +0 -0
  734. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_reconcile_no_agent_record.py +0 -0
  735. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_reconcile_usage_limit_done.py +0 -0
  736. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_refine_chat.py +0 -0
  737. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_release_cordon_2101.py +0 -0
  738. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_release_cordon_daemon_leads_2176.py +0 -0
  739. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_release_cordon_deadlock_2240.py +0 -0
  740. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_release_propagate.py +0 -0
  741. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_release_unified_1242.py +0 -0
  742. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_release_verify.py +0 -0
  743. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_release_window.py +0 -0
  744. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_remote_auto_prune.py +0 -0
  745. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_remote_interactive_reaper.py +0 -0
  746. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_repo_edit_2220.py +0 -0
  747. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_repo_graph_fleet_2237.py +0 -0
  748. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_repo_onboard_2220.py +0 -0
  749. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_report_result_push.py +0 -0
  750. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_reports.py +0 -0
  751. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_retry.py +0 -0
  752. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_retry_advisory_1606.py +0 -0
  753. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_retry_type_1636.py +0 -0
  754. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_revalidate.py +0 -0
  755. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_review.py +0 -0
  756. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_review_end_review_without_verdict.py +0 -0
  757. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_review_parse_failure_diagnostic.py +0 -0
  758. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_review_reaffirm.py +0 -0
  759. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_review_state.py +0 -0
  760. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_review_verdict_backstop.py +0 -0
  761. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_review_verdict_override_audit.py +0 -0
  762. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_review_verdict_relay.py +0 -0
  763. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_review_zero_commits.py +0 -0
  764. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_scoped_review_wiring.py +0 -0
  765. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_scorecard.py +0 -0
  766. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_serve.py +0 -0
  767. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_serve_app_board_trim.py +0 -0
  768. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_session.py +0 -0
  769. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_slice_issue_attribution.py +0 -0
  770. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_smoke.py +0 -0
  771. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_smoke_live_checkout_restore.py +0 -0
  772. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_smoke_workflow.py +0 -0
  773. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_spend_ceiling.py +0 -0
  774. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_spend_ceiling_coordinator.py +0 -0
  775. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_split.py +0 -0
  776. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_split_work.py +0 -0
  777. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_stage_projection.py +0 -0
  778. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_stalled_pipeline.py +0 -0
  779. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_state.py +0 -0
  780. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_state_review_findings_daemon.py +0 -0
  781. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_status_fleet_footer.py +0 -0
  782. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_stop_1567.py +0 -0
  783. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_stuck.py +0 -0
  784. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_terminal_command.py +0 -0
  785. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_test_author.py +0 -0
  786. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_test_chat.py +0 -0
  787. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_test_orchestrator.py +0 -0
  788. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_test_report.py +0 -0
  789. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_test_verdict_parsing.py +0 -0
  790. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_test_verdict_transcript_floor.py +0 -0
  791. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_thin_client_board_audit.py +0 -0
  792. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_thin_client_config_load_1080.py +0 -0
  793. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_thin_client_daemon_routing_906.py +0 -0
  794. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_tmux_host.py +0 -0
  795. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_tmux_session.py +0 -0
  796. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_transcript_floor.py +0 -0
  797. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_usage.py +0 -0
  798. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_usage_limits.py +0 -0
  799. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_usage_rollup.py +0 -0
  800. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_venv_live_install_2121.py +0 -0
  801. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_watch.py +0 -0
  802. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_worker_events.py +0 -0
  803. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_worker_image_pin_sync.py +0 -0
  804. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_worker_safety.py +0 -0
  805. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_worker_test_scoping.py +0 -0
  806. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_worktree.py +0 -0
  807. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_worktree_rmtree_chokepoint.py +0 -0
  808. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/Cargo.lock +0 -0
  809. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/Cargo.toml +0 -0
  810. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/cargo-config-local-quadraui.toml.example +0 -0
  811. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/audit.rs +0 -0
  812. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/chat.rs +0 -0
  813. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/data.rs +0 -0
  814. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/dialogs.rs +0 -0
  815. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/drive.rs +0 -0
  816. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/drive_queue.rs +0 -0
  817. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/escalation.rs +0 -0
  818. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/events.rs +0 -0
  819. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/fixtures.rs +0 -0
  820. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/fleet_health.rs +0 -0
  821. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/fleet_sessions.rs +0 -0
  822. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/fleet_terminals.rs +0 -0
  823. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/format.rs +0 -0
  824. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/milestone_dag.rs +0 -0
  825. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/mod.rs +0 -0
  826. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/msv.rs +0 -0
  827. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/pipeline.rs +0 -0
  828. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/plans.rs +0 -0
  829. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/render.rs +0 -0
  830. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/reports.rs +0 -0
  831. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/sessions.rs +0 -0
  832. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/settings_ui.rs +0 -0
  833. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/sidebar.rs +0 -0
  834. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/terminal.rs +0 -0
  835. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/tests.rs +0 -0
  836. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/types.rs +0 -0
  837. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/workspace.rs +0 -0
  838. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/bin/gtk.rs +0 -0
  839. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/commands.rs +0 -0
  840. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/lib.rs +0 -0
  841. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/main.rs +0 -0
  842. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/settings.rs +0 -0
  843. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/tests/acceptance.rs +0 -0
  844. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/tests/cli.rs +0 -0
  845. {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/tests/fixtures/board_sample.json +0 -0
@@ -56,35 +56,44 @@ jobs:
56
56
  # 2026-08-08 stall (`parked — CI running: windows`): each drive parked on it
57
57
  # and handed off, which is how five PRs piled up unmerged.
58
58
  #
59
- # What that latency bought per-PR was ~nothing. The job is deliberately red
60
- # and non-blocking (see below), so nothing gates on its result; its output
61
- # is one number (`368 failed, ...`) that only moves when someone works on
62
- # #1156. Running it per-merge keeps that baseline just as current.
59
+ # What that latency bought per-PR was ~nothing while the job was red by
60
+ # design; running it per-merge keeps the baseline just as current. Now that
61
+ # it is a real gate (below), per-PR coverage is worth revisiting and the
62
+ # right move there is probably to keep it per-PR but shrink it to the import
63
+ # smoke #1895's own title describes, rather than the full suite.
63
64
  #
64
- # REVISIT WHEN #1156 LANDS. Once the suite is genuinely green and blocking,
65
- # per-PR coverage is worth its duration again — and at that point the right
66
- # move is probably to keep it per-PR but shrink it to the import smoke
67
- # #1895's own title describes, rather than the full suite.
65
+ # NO `continue-on-error` THIS IS A REAL GATE NOW (#2000).
68
66
  #
69
- # This job is EXPECTED TO BE RED when it lands: `coord.cli` cannot import
70
- # on Windows today (`cli.py` -> `coord/interactive.py`'s unconditional
71
- # `import fcntl`, a POSIX-only stdlib module). #1156 (CP-1, the import
72
- # guards) is what makes this suite green — and #1156 is the one that
73
- # removes the `continue-on-error` below. Until then this is a
74
- # visible-but-non-blocking signal, not a real gate.
67
+ # History: when #1895 landed this job this was EXPECTED TO BE RED, because
68
+ # `coord.cli` could not import on Windows (`cli.py` -> `coord/interactive.py`
69
+ # unconditionally `import fcntl`, a POSIX-only stdlib module), so both steps
70
+ # carried `continue-on-error: true` and the job was a visible-but-
71
+ # non-blocking signal. Two things closed that out:
75
72
  #
76
- # `continue-on-error` MUST stay on the *step*, not the job (#2026).
77
- # At job level it only softens the *workflow run* conclusion; the `windows`
78
- # **check** still reports `failure` to the Checks API. GitHub's own branch
79
- # protection tolerates that, but `coord merge`'s CI gate does not —
80
- # `coord.ci_store._PASSING_CONCLUSIONS` is {success, skipped, neutral} with
81
- # no notion of a non-blocking check, so a job-level flag left every
82
- # claude-coordinator PR unmergeable and stalled the drive queue overnight
83
- # on 2026-08-08 (four finished PRs, everything else green). At step level
84
- # the step's failure is recorded but the job exits 0, so the check is
85
- # `success` and #1895's actual acceptance criterion — "it does not block
86
- # merges while red" finally holds. The failures stay fully visible in the
87
- # job log; that log IS the #1156 specification and the pass/fail baseline.
73
+ # 1. #1156 (CP-1) landed the import guards, killing the `fcntl` failure.
74
+ # 2. #2000 put `tzdata; sys_platform == 'win32'` in the BASE `[project]
75
+ # dependencies` (NOT a CI-only `pip install`) Windows ships no IANA
76
+ # time-zone database, so `zoneinfo` could not resolve `America/Chicago`
77
+ # and the suite died during *collection*. coord/config.py,
78
+ # coord/models.py, coord/failure_class.py and coord/machine_pause.py all
79
+ # resolve named zones at runtime, so that was a shipped defect for every
80
+ # `pip install code-coordinator` Windows user, not a test artefact.
81
+ # tests/test_client_base_install.py pins it in the base deps.
82
+ #
83
+ # With both fixed the flags are gone and a Windows failure reddens this job
84
+ # for real. tests/test_windows_job_is_a_real_gate_2000.py is the regression
85
+ # guard against them creeping back.
86
+ #
87
+ # Why re-arming this cannot re-block the repo: `if: github.event_name ==
88
+ # 'push'` (below) means the job is SKIPPED on every `pull_request` event, and
89
+ # `skipped` is already in `coord.ci_store._PASSING_CONCLUSIONS` — so a red
90
+ # Windows run shows up on main, never on a PR's merge gate. That guard is
91
+ # what makes removing `continue-on-error` safe; it did not exist during the
92
+ # 2026-08-08 stall, when a *job-level* flag (#2026) left every
93
+ # claude-coordinator PR unmergeable overnight because the `windows` **check**
94
+ # still reported `failure` to the Checks API even though the workflow run's
95
+ # conclusion was softened. If this job is ever made per-PR again, that
96
+ # interaction is the thing to re-check first.
88
97
  #
89
98
  # Python 3.12 only, deliberately not the 3.12/3.13 matrix `test` runs above
90
99
  # — the matrix axis there is Python versions on Linux; this job's axis is
@@ -102,18 +111,15 @@ jobs:
102
111
  - uses: actions/setup-python@v5
103
112
  with:
104
113
  python-version: "3.12"
105
- # Both steps carry the flag, not just pytest: a Windows-only *install*
106
- # failure would otherwise redden the job and re-block the whole repo
107
- # exactly as a test failure did. Until #1156, this job's contract is
108
- # "always report, never block" and a failed install is every bit as
109
- # visible in the log as a failed test.
114
+ # #2000: no `continue-on-error` on either step any more a Windows-only
115
+ # install failure (a base dep that does not resolve on win32, say) is
116
+ # exactly as much of a real defect as a test failure, and this job now
117
+ # exists to fail on it. See the header for why re-arming it is safe.
110
118
  - run: pip install -e ".[dev]"
111
- continue-on-error: true
112
119
  # #2180: same split as the `test` job above — the sealed acceptance
113
120
  # suite is gated separately through the #2164 CI wrapper, not swept
114
121
  # into this job's ordinary pytest run.
115
122
  - run: pytest --ignore=tests/acceptance
116
- continue-on-error: true
117
123
 
118
124
  # #1484: run the full suite with `gh` made unresolvable on PATH.
119
125
  #
@@ -1,4 +1,4 @@
1
- # claude-coordinator
1
+ # code-coordinator
2
2
 
3
3
  CLI tool + per-machine agent server that coordinates Claude Code workers across multiple machines and repos over Tailscale.
4
4
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: code-coordinator
3
- Version: 0.5.109
3
+ Version: 0.5.111
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
@@ -38,11 +38,11 @@ Requires-Dist: setuptools-scm>=8; extra == "dev"
38
38
  Requires-Dist: wheel; extra == "dev"
39
39
  Dynamic: license-file
40
40
 
41
- # claude-coordinator
41
+ # code-coordinator
42
42
 
43
43
  Coordinate a fleet of Claude Code workers — and human-attended interactive `claude` sessions — from a single board.
44
44
 
45
- Claude Code is great at one task at a time. Real projects have dozens of issues, spread across repos, that each want their own session, their own scoping, and their own review. `claude-coordinator` runs many workers in parallel — on one machine or across several over Tailscale — behind a coordinator that picks the model, avoids file conflicts, routes by capability, and drives the full **Work → Test → Review → Merge** pipeline. Each stage can run as a cheap `claude -p` worker *or* as a human-attended interactive session you launch and steer from the board.
45
+ Claude Code is great at one task at a time. Real projects have dozens of issues, spread across repos, that each want their own session, their own scoping, and their own review. `code-coordinator` runs many workers in parallel — on one machine or across several over Tailscale — behind a coordinator that picks the model, avoids file conflicts, routes by capability, and drives the full **Work → Test → Review → Merge** pipeline. Each stage can run as a cheap `claude -p` worker *or* as a human-attended interactive session you launch and steer from the board.
46
46
 
47
47
  ## The problem
48
48
 
@@ -110,7 +110,7 @@ Two rules shape the flow:
110
110
  ## Quick demo
111
111
 
112
112
  ```bash
113
- pip install claude-coordinator # from PyPI
113
+ pip install code-coordinator # from PyPI
114
114
  coord init # interactive setup: detects repos, writes coordinator.yml
115
115
  coord agent & # start the agent server (port 7433) — see Quick Start for the systemd setup
116
116
 
@@ -139,7 +139,7 @@ Prefer to drive it by hand? Launch any stage as an interactive session from `coo
139
139
  ### 1. Install
140
140
 
141
141
  ```bash
142
- pip install claude-coordinator
142
+ pip install code-coordinator
143
143
  ```
144
144
 
145
145
  The `coord` CLI is now on your PATH. The same package provides the agent server (`coord agent`), so the coordinator side and the worker side share one install.
@@ -168,7 +168,7 @@ coord agent & # port 7433; auto-detects the machine from hostname
168
168
  For anything beyond a trial, use the installer (systemd user service, auto-restart, survives reboots, separate worker logs):
169
169
 
170
170
  ```bash
171
- curl -sSL https://raw.githubusercontent.com/JDonaghy/claude-coordinator/main/install-agent.sh | bash
171
+ curl -sSL https://raw.githubusercontent.com/JDonaghy/code-coordinator/main/install-agent.sh | bash
172
172
  ```
173
173
 
174
174
  The same script sets up remote worker machines — see [Worker node setup](#worker-node-setup).
@@ -549,7 +549,7 @@ The tool encodes a pattern from real multi-agent sessions: **separate the tech l
549
549
 
550
550
  1. On the new machine, run the installer (venv + systemd service in one shot):
551
551
  ```bash
552
- curl -sSL https://raw.githubusercontent.com/JDonaghy/claude-coordinator/main/install-agent.sh | bash -s -- --machine <name>
552
+ curl -sSL https://raw.githubusercontent.com/JDonaghy/code-coordinator/main/install-agent.sh | bash -s -- --machine <name>
553
553
  ```
554
554
  No git clone needed — `install-agent.sh` pulls from PyPI.
555
555
  2. Add the machine to `coordinator.yml` under `machines:` with its Tailscale hostname and capabilities.
@@ -562,9 +562,9 @@ For Tailscale setup, see [tailscale.com/kb](https://tailscale.com/kb/). The agen
562
562
  To add a worker machine (no repo checkout needed):
563
563
 
564
564
  ```bash
565
- curl -sSL https://raw.githubusercontent.com/JDonaghy/claude-coordinator/main/install-agent.sh | bash
565
+ curl -sSL https://raw.githubusercontent.com/JDonaghy/code-coordinator/main/install-agent.sh | bash
566
566
  # or with options:
567
- curl -sSL https://raw.githubusercontent.com/JDonaghy/claude-coordinator/main/install-agent.sh | bash -s -- --machine myserver --port 7433
567
+ curl -sSL https://raw.githubusercontent.com/JDonaghy/code-coordinator/main/install-agent.sh | bash -s -- --machine myserver --port 7433
568
568
  ```
569
569
 
570
570
  This installs coord, sets up a systemd service with auto-restart, and starts the agent. Then add the machine to `coordinator.yml` and run `coord status` to verify connectivity.
@@ -1,8 +1,8 @@
1
- # claude-coordinator
1
+ # code-coordinator
2
2
 
3
3
  Coordinate a fleet of Claude Code workers — and human-attended interactive `claude` sessions — from a single board.
4
4
 
5
- Claude Code is great at one task at a time. Real projects have dozens of issues, spread across repos, that each want their own session, their own scoping, and their own review. `claude-coordinator` runs many workers in parallel — on one machine or across several over Tailscale — behind a coordinator that picks the model, avoids file conflicts, routes by capability, and drives the full **Work → Test → Review → Merge** pipeline. Each stage can run as a cheap `claude -p` worker *or* as a human-attended interactive session you launch and steer from the board.
5
+ Claude Code is great at one task at a time. Real projects have dozens of issues, spread across repos, that each want their own session, their own scoping, and their own review. `code-coordinator` runs many workers in parallel — on one machine or across several over Tailscale — behind a coordinator that picks the model, avoids file conflicts, routes by capability, and drives the full **Work → Test → Review → Merge** pipeline. Each stage can run as a cheap `claude -p` worker *or* as a human-attended interactive session you launch and steer from the board.
6
6
 
7
7
  ## The problem
8
8
 
@@ -70,7 +70,7 @@ Two rules shape the flow:
70
70
  ## Quick demo
71
71
 
72
72
  ```bash
73
- pip install claude-coordinator # from PyPI
73
+ pip install code-coordinator # from PyPI
74
74
  coord init # interactive setup: detects repos, writes coordinator.yml
75
75
  coord agent & # start the agent server (port 7433) — see Quick Start for the systemd setup
76
76
 
@@ -99,7 +99,7 @@ Prefer to drive it by hand? Launch any stage as an interactive session from `coo
99
99
  ### 1. Install
100
100
 
101
101
  ```bash
102
- pip install claude-coordinator
102
+ pip install code-coordinator
103
103
  ```
104
104
 
105
105
  The `coord` CLI is now on your PATH. The same package provides the agent server (`coord agent`), so the coordinator side and the worker side share one install.
@@ -128,7 +128,7 @@ coord agent & # port 7433; auto-detects the machine from hostname
128
128
  For anything beyond a trial, use the installer (systemd user service, auto-restart, survives reboots, separate worker logs):
129
129
 
130
130
  ```bash
131
- curl -sSL https://raw.githubusercontent.com/JDonaghy/claude-coordinator/main/install-agent.sh | bash
131
+ curl -sSL https://raw.githubusercontent.com/JDonaghy/code-coordinator/main/install-agent.sh | bash
132
132
  ```
133
133
 
134
134
  The same script sets up remote worker machines — see [Worker node setup](#worker-node-setup).
@@ -509,7 +509,7 @@ The tool encodes a pattern from real multi-agent sessions: **separate the tech l
509
509
 
510
510
  1. On the new machine, run the installer (venv + systemd service in one shot):
511
511
  ```bash
512
- curl -sSL https://raw.githubusercontent.com/JDonaghy/claude-coordinator/main/install-agent.sh | bash -s -- --machine <name>
512
+ curl -sSL https://raw.githubusercontent.com/JDonaghy/code-coordinator/main/install-agent.sh | bash -s -- --machine <name>
513
513
  ```
514
514
  No git clone needed — `install-agent.sh` pulls from PyPI.
515
515
  2. Add the machine to `coordinator.yml` under `machines:` with its Tailscale hostname and capabilities.
@@ -522,9 +522,9 @@ For Tailscale setup, see [tailscale.com/kb](https://tailscale.com/kb/). The agen
522
522
  To add a worker machine (no repo checkout needed):
523
523
 
524
524
  ```bash
525
- curl -sSL https://raw.githubusercontent.com/JDonaghy/claude-coordinator/main/install-agent.sh | bash
525
+ curl -sSL https://raw.githubusercontent.com/JDonaghy/code-coordinator/main/install-agent.sh | bash
526
526
  # or with options:
527
- curl -sSL https://raw.githubusercontent.com/JDonaghy/claude-coordinator/main/install-agent.sh | bash -s -- --machine myserver --port 7433
527
+ curl -sSL https://raw.githubusercontent.com/JDonaghy/code-coordinator/main/install-agent.sh | bash -s -- --machine myserver --port 7433
528
528
  ```
529
529
 
530
530
  This installs coord, sets up a systemd service with auto-restart, and starts the agent. Then add the machine to `coordinator.yml` and run `coord status` to verify connectivity.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: code-coordinator
3
- Version: 0.5.109
3
+ Version: 0.5.111
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
@@ -38,11 +38,11 @@ Requires-Dist: setuptools-scm>=8; extra == "dev"
38
38
  Requires-Dist: wheel; extra == "dev"
39
39
  Dynamic: license-file
40
40
 
41
- # claude-coordinator
41
+ # code-coordinator
42
42
 
43
43
  Coordinate a fleet of Claude Code workers — and human-attended interactive `claude` sessions — from a single board.
44
44
 
45
- Claude Code is great at one task at a time. Real projects have dozens of issues, spread across repos, that each want their own session, their own scoping, and their own review. `claude-coordinator` runs many workers in parallel — on one machine or across several over Tailscale — behind a coordinator that picks the model, avoids file conflicts, routes by capability, and drives the full **Work → Test → Review → Merge** pipeline. Each stage can run as a cheap `claude -p` worker *or* as a human-attended interactive session you launch and steer from the board.
45
+ Claude Code is great at one task at a time. Real projects have dozens of issues, spread across repos, that each want their own session, their own scoping, and their own review. `code-coordinator` runs many workers in parallel — on one machine or across several over Tailscale — behind a coordinator that picks the model, avoids file conflicts, routes by capability, and drives the full **Work → Test → Review → Merge** pipeline. Each stage can run as a cheap `claude -p` worker *or* as a human-attended interactive session you launch and steer from the board.
46
46
 
47
47
  ## The problem
48
48
 
@@ -110,7 +110,7 @@ Two rules shape the flow:
110
110
  ## Quick demo
111
111
 
112
112
  ```bash
113
- pip install claude-coordinator # from PyPI
113
+ pip install code-coordinator # from PyPI
114
114
  coord init # interactive setup: detects repos, writes coordinator.yml
115
115
  coord agent & # start the agent server (port 7433) — see Quick Start for the systemd setup
116
116
 
@@ -139,7 +139,7 @@ Prefer to drive it by hand? Launch any stage as an interactive session from `coo
139
139
  ### 1. Install
140
140
 
141
141
  ```bash
142
- pip install claude-coordinator
142
+ pip install code-coordinator
143
143
  ```
144
144
 
145
145
  The `coord` CLI is now on your PATH. The same package provides the agent server (`coord agent`), so the coordinator side and the worker side share one install.
@@ -168,7 +168,7 @@ coord agent & # port 7433; auto-detects the machine from hostname
168
168
  For anything beyond a trial, use the installer (systemd user service, auto-restart, survives reboots, separate worker logs):
169
169
 
170
170
  ```bash
171
- curl -sSL https://raw.githubusercontent.com/JDonaghy/claude-coordinator/main/install-agent.sh | bash
171
+ curl -sSL https://raw.githubusercontent.com/JDonaghy/code-coordinator/main/install-agent.sh | bash
172
172
  ```
173
173
 
174
174
  The same script sets up remote worker machines — see [Worker node setup](#worker-node-setup).
@@ -549,7 +549,7 @@ The tool encodes a pattern from real multi-agent sessions: **separate the tech l
549
549
 
550
550
  1. On the new machine, run the installer (venv + systemd service in one shot):
551
551
  ```bash
552
- curl -sSL https://raw.githubusercontent.com/JDonaghy/claude-coordinator/main/install-agent.sh | bash -s -- --machine <name>
552
+ curl -sSL https://raw.githubusercontent.com/JDonaghy/code-coordinator/main/install-agent.sh | bash -s -- --machine <name>
553
553
  ```
554
554
  No git clone needed — `install-agent.sh` pulls from PyPI.
555
555
  2. Add the machine to `coordinator.yml` under `machines:` with its Tailscale hostname and capabilities.
@@ -562,9 +562,9 @@ For Tailscale setup, see [tailscale.com/kb](https://tailscale.com/kb/). The agen
562
562
  To add a worker machine (no repo checkout needed):
563
563
 
564
564
  ```bash
565
- curl -sSL https://raw.githubusercontent.com/JDonaghy/claude-coordinator/main/install-agent.sh | bash
565
+ curl -sSL https://raw.githubusercontent.com/JDonaghy/code-coordinator/main/install-agent.sh | bash
566
566
  # or with options:
567
- curl -sSL https://raw.githubusercontent.com/JDonaghy/claude-coordinator/main/install-agent.sh | bash -s -- --machine myserver --port 7433
567
+ curl -sSL https://raw.githubusercontent.com/JDonaghy/code-coordinator/main/install-agent.sh | bash -s -- --machine myserver --port 7433
568
568
  ```
569
569
 
570
570
  This installs coord, sets up a systemd service with auto-restart, and starts the agent. Then add the machine to `coordinator.yml` and run `coord status` to verify connectivity.
@@ -193,10 +193,10 @@ coord/dashboard/webapp/dist/index.html
193
193
  coord/dashboard/webapp/dist/manifest.webmanifest
194
194
  coord/dashboard/webapp/dist/sw.js
195
195
  coord/dashboard/webapp/dist/workbox-e4022e15.js
196
- coord/dashboard/webapp/dist/assets/Gallery-Cq84itDE.js
196
+ coord/dashboard/webapp/dist/assets/Gallery-BoKs3mpY.js
197
197
  coord/dashboard/webapp/dist/assets/Terminal-9CEnUXvW.css
198
- coord/dashboard/webapp/dist/assets/Terminal-DOXLcMue.js
199
- coord/dashboard/webapp/dist/assets/index-DHn-RIJ8.js
198
+ coord/dashboard/webapp/dist/assets/Terminal-CEsP08iX.js
199
+ coord/dashboard/webapp/dist/assets/index-CDHPlB6k.js
200
200
  coord/dashboard/webapp/dist/assets/index-Dq4kwTdw.css
201
201
  coord/dashboard/webapp/dist/assets/workbox-window.prod.es5-BqEJf4Xk.js
202
202
  coord/dashboard/webapp/dist/icons/icon-192.png
@@ -745,6 +745,7 @@ tests/test_usage_rollup.py
745
745
  tests/test_venv_live_install_2121.py
746
746
  tests/test_version_single_source.py
747
747
  tests/test_watch.py
748
+ tests/test_windows_job_is_a_real_gate_2000.py
748
749
  tests/test_worker_events.py
749
750
  tests/test_worker_image_pin_sync.py
750
751
  tests/test_worker_safety.py
@@ -775,6 +775,7 @@
775
775
  "tests/test_venv_live_install_2121.py",
776
776
  "tests/test_version_single_source.py",
777
777
  "tests/test_watch.py",
778
+ "tests/test_windows_job_is_a_real_gate_2000.py",
778
779
  "tests/test_worker_events.py",
779
780
  "tests/test_worker_image_pin_sync.py",
780
781
  "tests/test_worker_safety.py",
@@ -1,7 +1,7 @@
1
1
  {
2
- "tag": "0.5.109",
2
+ "tag": "0.5.111",
3
3
  "distance": 0,
4
- "node": "g3cadef6459414c424ff96582a2bebcc8dd3ae08a",
4
+ "node": "g0bbfb660d44f1e03dcf6d5ded5b11f804d43aae9",
5
5
  "dirty": false,
6
6
  "branch": "HEAD",
7
7
  "node_date": "2026-08-16"
@@ -124,13 +124,13 @@ def _resolve_version(names: tuple[str, ...] = CANDIDATE_NAMES) -> str:
124
124
  version literal; a release is just ``git tag vX.Y.Z && git push origin
125
125
  vX.Y.Z``.
126
126
 
127
- #2103: resolves through :func:`coord.dist_name.resolve_installed` rather
128
- than a single hardcoded distribution name — ``__version__`` is what
129
- ``/health``'s ``"version"`` field reports, which is the *only* field
130
- ``coord agent update``'s polling loop keys off of to decide a machine
131
- "came back". A bare ``claude-coordinator``-only lookup would degrade to
132
- ``"0+unknown"`` forever on any machine that has ``code-coordinator``
133
- installed instead, faking a fleet-wide "did not come back".
127
+ #2103/#2106: resolves through :func:`coord.dist_name.resolve_installed`
128
+ rather than a hardcoded distribution name literal — ``__version__`` is
129
+ what ``/health``'s ``"version"`` field reports, which is the *only*
130
+ field ``coord agent update``'s polling loop keys off of to decide a
131
+ machine "came back". A hardcoded literal here would need editing at the
132
+ next rename and would degrade to ``"0+unknown"`` on every machine in
133
+ between, faking a fleet-wide "did not come back".
134
134
 
135
135
  #2010: for a wheel install that metadata is always correct — it's a
136
136
  frozen snapshot of a build that just happened. For an *editable*
@@ -36,14 +36,13 @@ def _agent_pkg_spec() -> str:
36
36
  `[server]` extra — a bare upgrade would, on a fresh venv, leave the
37
37
  agent without starlette/uvicorn and dead on the next restart.
38
38
 
39
- #2103: resolved tolerantly against whichever of `code-coordinator` /
40
- `claude-coordinator` is currently installed, rather than the old
41
- hardcoded `claude-coordinator[server]` installing the wrong name once
42
- the fleet is mid-rename either 404s against PyPI or, worse, silently
43
- reinstalls the stale package. Deliberately NOT caught here: if neither
44
- name resolves, the caller (`_do_update`'s existing try/except) turns
45
- that into an explicit `last_update.json` failure naming both names
46
- tried, instead of guessing.
39
+ #2103/#2106: resolved via `coord.dist_name` rather than a hardcoded
40
+ `claude-coordinator[server]` installing the wrong name either 404s
41
+ against PyPI or, worse, silently reinstalls a stale package.
42
+ Deliberately NOT caught here: if the name doesn't resolve, the caller
43
+ (`_do_update`'s existing try/except) turns that into an explicit
44
+ `last_update.json` failure naming what was expected, instead of
45
+ guessing.
47
46
  """
48
47
  return _dist_pkg_spec(extra="server")
49
48
 
@@ -82,18 +81,18 @@ def _installed_version() -> str | None:
82
81
  process hasn't restarted since the last update" apart from "the update
83
82
  never happened".
84
83
 
85
- #2103: tries `code-coordinator` then falls back to `claude-coordinator`
86
- (see ``coord.dist_name``) rather than hardcoding one name — installing
87
- under the name this process doesn't query used to make a fully-updated
88
- agent report ``None`` here, the exact false negative behind the
89
- fleet's most-recurring `✗ did not come back`.
84
+ #2103/#2106: resolves via ``coord.dist_name`` (see that module) rather
85
+ than hardcoding the distribution name — installing under a name this
86
+ process doesn't query used to make a fully-updated agent report
87
+ ``None`` here, the exact false negative behind the fleet's
88
+ most-recurring `✗ did not come back`.
90
89
 
91
90
  This is a *report* site, not an *act* site (contrast `_agent_pkg_spec`,
92
91
  which deliberately lets `DistributionNotFoundError` propagate): callers
93
92
  already fall back to the literal string `"unknown"` when this returns
94
- `None`, so "neither name resolved" isn't silently swallowed end to end
95
- — but it's still logged here, naming both names tried, rather than
96
- disappearing into a bare `None` with no trace of why.
93
+ `None`, so a miss isn't silently swallowed end to end — but it's still
94
+ logged here, naming what was expected, rather than disappearing into a
95
+ bare `None` with no trace of why.
97
96
  """
98
97
  try:
99
98
  return resolve_installed().version
@@ -414,12 +413,11 @@ def _detect_install_mode() -> tuple[bool, str | None]:
414
413
  ``pip install -e .``). *project_path* is the on-disk source directory for
415
414
  editable installs, or *None* for regular (site-packages) installs.
416
415
 
417
- #2103: ``pip show`` needs an exact distribution name, so this resolves
418
- which of `code-coordinator` / `claude-coordinator` is actually installed
419
- (see ``coord.dist_name``) first rather than hardcoding one — asking
420
- `pip show` for a name nothing is installed under always reports "not
421
- editable", which would misreport a real editable install once the
422
- fleet's mid-rename.
416
+ #2103/#2106: ``pip show`` needs an exact distribution name, so this
417
+ resolves which name is actually installed (see ``coord.dist_name``)
418
+ first rather than hardcoding one — asking `pip show` for a name
419
+ nothing is installed under always reports "not editable", which would
420
+ misreport a real editable install.
423
421
  """
424
422
  dist_name = resolve_installed_name()
425
423
  if dist_name is None:
@@ -538,17 +538,15 @@ def _smoke_check(slot: Path, *, target_version: str | None) -> tuple[bool, str |
538
538
  mechanism :func:`_installed_version` uses) so a single subprocess call
539
539
  covers both "does it import" and "what version is this."
540
540
 
541
- #2103: the version print resolves via ``coord.dist_name.resolve_installed``
542
- (tries `code-coordinator` then falls back to `claude-coordinator`) rather
543
- than a hardcoded ``m.version('claude-coordinator')`` — *slot* was just
544
- installed from a pkg spec that itself resolved tolerantly (see
545
- ``coord.agent_app._agent_pkg_spec``), so a hardcoded name here would
546
- raise inside the new slot's own interpreter the moment that pkg spec
547
- picked the other name, failing every smoke check fleet-wide the instant
548
- the rename lands. Raising when *neither* name is installed is still the
549
- right behavior here (not caught) that means the fresh install is
550
- genuinely broken, which is exactly what a failed smoke check should
551
- report.
541
+ #2103/#2106: the version print resolves via
542
+ ``coord.dist_name.resolve_installed`` rather than a hardcoded
543
+ ``m.version('claude-coordinator')`` — *slot* was just installed from a
544
+ pkg spec that itself resolves via the same module (see
545
+ ``coord.agent_app._agent_pkg_spec``), so a name mismatch here would
546
+ raise inside the new slot's own interpreter for no reason. Raising when
547
+ the name isn't installed at all is still the right behavior here (not
548
+ caught) that means the fresh install is genuinely broken, which is
549
+ exactly what a failed smoke check should report.
552
550
  """
553
551
  python = slot / "bin" / "python"
554
552
  coord_bin = slot / "bin" / "coord"
@@ -255,21 +255,17 @@ def _warn_if_source_install_drift() -> None:
255
255
  if staleness["days_behind"] is not None
256
256
  else ""
257
257
  )
258
- # #2103: suggest an upgrade of whichever distribution name is
259
- # actually installed — `code-coordinator` since the #2104 rename,
260
- # `claude-coordinator` on an agent that has not been updated past
261
- # it yet. `_coord.__file__` is already confirmed above to be a
262
- # real site-packages install, so one of the two names is
263
- # guaranteed to resolve here; the literal fallback only guards a
264
- # resolution race between that check and this one. It names the
265
- # NEW distribution (#2104): the only way to reach it is "neither
266
- # name resolved", and the one name guaranteed to still be
267
- # publishable is the one every future release ships under
268
- # `claude-coordinator` is a tombstone that will never gain
269
- # another version. `_dist_pkg_spec` is the module-level
270
- # `coord.dist_name` import above (real module, independent of
271
- # `_coord` here potentially being a test stand-in), so this
272
- # doesn't depend on `coord.dist_name` already being cached.
258
+ # #2103/#2106: suggest an upgrade of the installed distribution
259
+ # name (`code-coordinator`), resolved via `coord.dist_name`
260
+ # rather than hardcoded. `_coord.__file__` is already confirmed
261
+ # above to be a real site-packages install, so resolution is
262
+ # guaranteed to succeed here; the literal fallback only guards a
263
+ # resolution race between that check and this one the only
264
+ # way to reach it is "the distribution vanished between the two
265
+ # checks". `_dist_pkg_spec` is the module-level `coord.dist_name`
266
+ # import above (real module, independent of `_coord` here
267
+ # potentially being a test stand-in), so this doesn't depend on
268
+ # `coord.dist_name` already being cached.
273
269
  try:
274
270
  install_target = _dist_pkg_spec(extra="server")
275
271
  except Exception: # noqa: BLE001 — best-effort, never break the CLI