code-coordinator 0.5.108__tar.gz → 0.5.110__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.
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/.github/workflows/test.yml +39 -33
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/CLAUDE.md +1 -1
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/PKG-INFO +9 -9
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/README.md +8 -8
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/code_coordinator.egg-info/PKG-INFO +9 -9
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/code_coordinator.egg-info/SOURCES.txt +1 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/code_coordinator.egg-info/scm_file_list.json +1 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/code_coordinator.egg-info/scm_version.json +2 -2
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/agent.py +14 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110/coord}/deploy/coord-db-backup.service +1 -1
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/deploy/coord-drive-queue.service +1 -1
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/deploy/coord-serve.service +2 -2
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/deploy/coord-web-dist-build.service +1 -1
- {code_coordinator-0.5.108/coord → code_coordinator-0.5.110}/deploy/coord-db-backup.service +1 -1
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/deploy/coord-drive-queue.service +1 -1
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/deploy/coord-serve.service +2 -2
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/deploy/coord-web-dist-build.service +1 -1
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/deploy/coord-web-dist-build.sh +2 -2
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/docs/AGENT_OPERATIONS.md +10 -10
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/docs/ARCHITECTURE.md +2 -2
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/docs/CROSS_PLATFORM.md +1 -1
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/docs/CUSTOMER_PORTAL.md +2 -2
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/docs/DRIVE_QUEUE.md +3 -3
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/docs/FORGE_MIGRATION.md +1 -1
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/docs/ISSUE_GUIDANCE.md +1 -1
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/docs/MAC_MINI.md +2 -2
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/docs/MERGE_AUTO_DRAIN_TRUST_BAR.md +1 -1
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/docs/OPERATING_GOTCHAS.md +2 -2
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/docs/PHONE_WEBAPP.md +2 -2
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/docs/PLATFORM_EVOLUTION.md +1 -1
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/docs/TEST_FIRST_BUG_LANE.md +3 -3
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/scripts/azure-workers/epic-up.sh +1 -1
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/scripts/azure-workers/provision-worker.sh +5 -5
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/scripts/azure-workers/scrub-and-generalize.sh +1 -1
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/scripts/azure-workers/verify-github-token.sh +3 -3
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/scripts/smoke_437_interactive.py +1 -1
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_agent.py +105 -0
- code_coordinator-0.5.110/tests/test_windows_job_is_a_real_gate_2000.py +131 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/.claude/commands/board.md +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/.claude/commands/complete-session.md +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/.claude/commands/coordinator.md +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/.githooks/_lib.sh +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/.githooks/post-checkout +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/.githooks/post-commit +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/.githooks/post-merge +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/.github/coord-ci-acceptance.yml +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/.github/workflows/auto-release.yml +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/.github/workflows/cargo-test.yml +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/.github/workflows/publish.yml +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/.github/workflows/release-tui.yml +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/.gitignore +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/GOAL.md +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/LICENSE +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/MANIFEST.in +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/code_coordinator.egg-info/dependency_links.txt +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/code_coordinator.egg-info/entry_points.txt +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/code_coordinator.egg-info/requires.txt +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/code_coordinator.egg-info/top_level.txt +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/__init__.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/_board_mapping.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/acceptance.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/acceptance_drivers.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/agent_app.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/agent_update.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/agents/opencode/.gitignore +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/agents/opencode/agents/work.md +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/agents/opencode/routing.jsonc +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/audit.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/auto_loop.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/block_log.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/board_bool_guard.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/board_service.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/board_wire.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/brain.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/branch_model.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/bug_intake.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/cargo_cache.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/ci_github.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/ci_store.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/claim.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/cli.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/client.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/commands/__init__.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/commands/_common.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/commands/acceptance.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/commands/agent_ops.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/commands/audit.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/commands/chat.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/commands/dispatch.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/commands/dispatch_workers.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/commands/drive.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/commands/drive_queue.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/commands/gate_a.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/commands/gates.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/commands/issues.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/commands/lifecycle.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/commands/merge.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/commands/milestone.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/commands/plan_followup.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/commands/plans.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/commands/portal.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/commands/release.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/commands/repo.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/commands/report.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/commands/review.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/commands/scorecard.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/commands/sessions.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/commands/setup.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/commands/status.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/commands/terminal.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/commands/test_gate.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/commands/tui.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/comments.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/config.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/config_reload.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/conflict_fix.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dao.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/__init__.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/fixture.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/index.html +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/server.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/terminal.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/.gitignore +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/components.json +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/dist/assets/Gallery-Cq84itDE.js +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/dist/assets/Terminal-9CEnUXvW.css +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/dist/assets/Terminal-DOXLcMue.js +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/dist/assets/index-DHn-RIJ8.js +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/dist/assets/index-Dq4kwTdw.css +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/dist/assets/workbox-window.prod.es5-BqEJf4Xk.js +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/dist/icons/icon-192.png +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/dist/icons/icon-512.png +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/dist/icons/icon.svg +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/dist/index.html +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/dist/manifest.webmanifest +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/dist/sw.js +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/dist/workbox-e4022e15.js +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/e2e/available-gates-terminal.spec.ts +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/e2e/deep-link.spec.ts +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/e2e/fixtureServer.ts +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/e2e/live-update-fixture.spec.ts +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/e2e/realtime.spec.ts +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/e2e/shell.spec.ts +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/e2e/smoke.spec.ts +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/e2e/terminal.spec.ts +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/e2e/theme.spec.ts +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/eslint.config.js +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/index.html +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/node_modules/flatted/python/flatted.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/package-lock.json +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/package.json +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/playwright.acceptance.config.ts +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/playwright.config.ts +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/postcss.config.js +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/public/icons/icon-192.png +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/public/icons/icon-512.png +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/public/icons/icon.svg +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/App.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/api/client.ts +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/api/generated.ts +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/components/ConnectionBadge.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/components/Detail.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/components/Gallery.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/components/Home.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/components/MobileKeyBar.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/components/PanelHeader.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/components/PipelineCard.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/components/SessionCard.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/components/SessionDetail.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/components/SessionsList.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/components/Terminal.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/components/__tests__/ConnectionBadge.test.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/components/__tests__/Detail.test.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/components/__tests__/Gallery.test.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/components/__tests__/Home.test.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/components/__tests__/MobileKeyBar.test.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/components/__tests__/PipelineCard.test.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/components/__tests__/SessionCard.test.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/components/__tests__/Terminal.test.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/components/ui/badge.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/components/ui/button.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/components/ui/card.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/components/ui/dialog.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/components/ui/dropdown-menu.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/components/ui/empty-state.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/components/ui/sheet.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/components/ui/skeleton.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/components/ui/tabs.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/components/ui/theme-provider.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/components/ui/theme-toggle.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/components/ui/toast.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/components/ui/toaster.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/components/ui/tooltip.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/components/ui/use-toast.ts +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/index.css +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/lib/pipeline.ts +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/lib/utils.ts +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/main.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/realtime/RealtimeProvider.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/realtime/__tests__/RealtimeProvider.test.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/realtime/__tests__/connection.test.ts +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/realtime/connection.ts +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/realtime/events.ts +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/routes/__tests__/paths.test.ts +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/routes/paths.ts +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/shell/ActivityRail.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/shell/AppShell.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/shell/ComingSoon.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/shell/EmptyDetail.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/shell/RouteNotFound.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/shell/ShellLayout.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/shell/StatusBar.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/shell/__tests__/ShellLayout.test.tsx +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/shell/__tests__/shellState.test.ts +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/shell/__tests__/stubViewport.ts +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/shell/breakpoints.ts +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/shell/railItems.ts +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/shell/shellState.ts +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/shell/useRegionFocus.ts +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/test-setup.ts +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/src/vite-env.d.ts +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/tailwind.config.js +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/tsconfig.json +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/tsconfig.node.json +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dashboard/webapp/vite.config.ts +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/db.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dead_end.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/deploy/README.md +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/deploy/coord-agent.service +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/deploy/coord-db-backup.sh +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/deploy/coord-db-backup.timer +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/deploy/coord-drive-queue.timer +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/deploy/coord-notify.service +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/deploy/coord-notify.timer +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/deploy/coord-release-propagate.service +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/deploy/coord-release-propagate.timer +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/deploy/coord-release-window.service +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/deploy/coord-release-window.timer +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/deploy/coord-web-dist-build.timer +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/deploy/coord-web.service +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/deploy_manifest.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/deploy_units.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/deps.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/diagnose.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dispatch.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/dist_name.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/drive.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/drive_queue.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/drive_state.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/events.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/failure_class.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/filelock.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/fleet_config_health.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/freshness.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/gate_a.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/gate_b.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/gate_snapshot.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/gates.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/github_ops.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/goal.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/graph_health.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/health/__init__.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/health/aggregate.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/health/checks/__init__.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/health/checks/agent_install.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/health/checks/cargo_targets.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/health/checks/claude_binary.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/health/checks/deploy_lane_facts.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/health/checks/disk.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/health/checks/fleet_board.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/health/checks/fleet_deploy_lanes.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/health/checks/fleet_phantom.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/health/checks/fleet_unit_drift.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/health/checks/graph.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/health/checks/graphify_cli.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/health/checks/index_lock.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/health/checks/plan_usage.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/health/checks/repo_state.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/health/checks/spawned_coord.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/health/checks/timer_active.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/health/checks/toolchain.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/health/checks/unit_drift.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/health/checks/unit_enablement.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/health/checks/worktrees.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/health/cli.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/health/context.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/health/fleet_snapshot.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/health/models.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/health/pypi.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/health/registry.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/health/render.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/health/units.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/hooks.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/housekeeping.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/interactive.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/issue_store.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/liveness_auditor.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/machine_pause.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/merge_queue.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/milestone_chat.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/milestone_dispatch.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/milestone_gate.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/milestone_order.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/mock_author.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/models.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/network.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/new_issue_chat.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/notifier/__init__.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/notifier/baseline.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/notifier/cli.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/notifier/collect.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/notifier/digest.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/notifier/models.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/notifier/predicate.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/notifier/service.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/notifier/store.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/notifier/transport.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/notify.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/openapi.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/overlap_fence.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/overlap_predict.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/parentage.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/parentage_github.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/pipeline.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/plan_parser.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/plans.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/platform_paths.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/portal_bridge.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/portal_store.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/portal_sync.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/pr_body_lint.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/prereqs.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/progress.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/providers/__init__.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/providers/base.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/providers/claude.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/providers/claude_pty.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/providers/opencode.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/queue_diagnose.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/reconcile.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/refine_chat.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/release_cordon.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/release_propagate.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/release_verify.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/release_window.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/repo_edit.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/repo_onboard.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/reports.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/revalidate.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/review.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/scorecard.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/serve_app.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/skills/update-issue/SKILL.md +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/smoke.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/spend_ceiling.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/split_work.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/stage_projection.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/state.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/test_author.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/test_chat.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/test_orchestrator.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/test_report.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/tui_release.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/usage.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/usage_limits.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/usage_rollup.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/worker_events.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/coordinator.example.yml +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/deploy/coord-agent.service +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/deploy/coord-db-backup.sh +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/deploy/coord-db-backup.timer +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/deploy/coord-drive-queue.timer +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/deploy/coord-notify.service +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/deploy/coord-notify.timer +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/deploy/coord-release-propagate.service +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/deploy/coord-release-propagate.timer +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/deploy/coord-release-window.service +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/deploy/coord-release-window.timer +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/deploy/coord-web-dist-build.timer +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/deploy/coord-web-rollback.sh +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/deploy/coord-web.service +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/deploy/node-shim.sh +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/docs/ARCH_SECURITY_GATES.md +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/docs/COCKPIT.md +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/docs/CONTROL_CENTER.md +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/docs/COST_DISCIPLINE.md +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/docs/EPHEMERAL_WORKERS.md +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/docs/GRAPHIFY_SETUP.md +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/docs/NOTIFIER.md +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/docs/OPENCODE_VERIFICATION.md +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/docs/ORACLE_LOOP.md +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/docs/PIPELINE_V2.md +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/docs/SECOND_BACKEND.md +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/docs/STORE_SERVICE.md +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/docs/WEB_CONTROL_CENTER.md +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/docs/mocks/web/README.md +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/docs/mocks/web/_tokens.css +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/docs/mocks/web/issue-detail.html +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/docs/mocks/web/pipeline-narrow.html +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/docs/mocks/web/pipeline-wide.html +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/graphify-out/.gitignore +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/install-agent.sh +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/pyproject.toml +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/scripts/audit_review_verdict_overrides.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/scripts/azure-workers/bootstrap-shared.sh +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/scripts/azure-workers/build-worker-image.sh +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/scripts/azure-workers/coordinator-machine.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/scripts/azure-workers/epic-down.sh +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/scripts/azure-workers/preflight.sh +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/scripts/azure-workers/tailnet-acl.hujson +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/scripts/codegen.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/scripts/coord-test-runner.sh +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/scripts/drive-batch.sh +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/scripts/gen_board_fixture.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/scripts/next_release_tag.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/scripts/run_tests_in_populated_home.sh +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/scripts/run_tests_without_gh.sh +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/scripts/verify_878_review_capture.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/scripts/verify_release_published.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/scripts/verify_release_wheel.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/setup.cfg +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/SMOKE_SET.md +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/__init__.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/acceptance/ms-33/audit_1039.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/acceptance/ms-33/contract.md +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/acceptance/ms-33/manifest.yml +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/acceptance/ms-33/mocks/audit-panel-detail.screen +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/acceptance/ms-33/mocks/audit-panel-empty.screen +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/acceptance/ms-33/mocks/audit-panel-filters.screen +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/acceptance/ms-33/mocks/audit-panel-populated.screen +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/acceptance/ms-37/conftest.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/acceptance/ms-37/contract.md +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/acceptance/ms-37/manifest.yml +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/acceptance/ms-37/test_usage_cli_1115.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/acceptance/ms-37/test_usage_core_1118.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/acceptance/ms-38/contract.md +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/acceptance/ms-38/manifest.yml +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/acceptance/ms-38/mocks/plans-base.screen +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/acceptance/ms-38/mocks/plans-detail-pane.screen +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/acceptance/ms-38/mocks/plans-help-overlay.screen +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/acceptance/ms-38/mocks/plans-palette.screen +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/acceptance/ms-38/mocks/plans-rightclick-epic.screen +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/acceptance/ms-38/mocks/plans-rightclick-header.screen +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/acceptance/ms-38/mocks/plans-rightclick-stub.screen +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/acceptance/ms-38/plans_detail_1122.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/acceptance/ms-38/plans_help_1124.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/acceptance/ms-38/plans_rightclick_1123.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/acceptance/ms-51/contract.md +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/acceptance/ms-51/home-active-extended.spec.ts +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/acceptance/ms-51/home-active.spec.ts +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/acceptance/ms-51/manifest.yml +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/acceptance/ms-51/mocks/home-active.html +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/acceptance/ms-51/tsconfig.json +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/acceptance/ms-example/mocks/home-active.html +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/conftest.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/fixtures/board-pipeline-basic.json +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/fixtures/board-pipeline-terminal-gates.json +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/fixtures/opencode_run_failure_sample.jsonl +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/fixtures/opencode_run_sample.jsonl +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/fixtures/playwright/all_pass.json +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/fixtures/playwright/global_setup_crash.json +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/fixtures/playwright/mixed_fail.json +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/fixtures/playwright/retry_then_pass.json +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/fixtures/playwright/retry_then_pass.junit.xml +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/fixtures/playwright/skip.json +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/fixtures/playwright/truncated.json +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/fixtures/test_report/cargo_compile_error.txt +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/fixtures/test_report/cargo_multi_target_failures.txt +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/fixtures/test_report/cargo_no_parseable_failures.txt +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/fixtures/test_report/pytest_collection_error.txt +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/fixtures/test_report/pytest_error_string_in_body.txt +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/fixtures/test_report/pytest_internal_error.txt +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/fixtures/test_report/pytest_mixed_failures.txt +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/fixtures/test_report/pytest_no_parseable_failures.txt +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_acceptance.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_acceptance_drivers.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_agent_api_error.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_agent_app.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_agent_branch_base.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_agent_branch_capture.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_agent_config_free_1712.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_agent_deploy_units_endpoint.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_agent_dirty_worktree.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_agent_graph_self_heal.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_agent_health_h3.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_agent_idle_restart.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_agent_push_failure.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_agent_reap.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_agent_repos_and_pull.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_agent_restart_services_endpoint.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_agent_startup_diagnostics.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_agent_update.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_agent_update_bluegreen.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_agent_usage_limit.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_agent_zero_commit.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_ambient_home_isolation.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_approve_reject_plan.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_approve_usage_gate.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_assignment_already_recorded_daemon.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_audit_log.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_audit_outcome.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_audit_query.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_auto_loop.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_auto_release_publish_2035.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_base_checkout_restore.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_block_log.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_board_cap_762.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_board_fixture.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_board_read_path.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_board_service.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_board_state.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_board_wire.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_brain.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_branch_model.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_bug_intake.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_build_worker_image_env_update.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cargo_cache.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_ci_acceptance_gate_1950.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_ci_parity_2091.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_ci_store.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_claim.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_acceptance.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_assign.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_assign_interactive_oracle_gate.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_assign_interactive_remote.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_assign_provider.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_assign_repo_drift_2219.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_audit.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_chat_continue.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_diagnose_config_provenance.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_diagnose_graph.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_doctor.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_doctor_config_free_1801.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_doctor_config_mismatch_1712.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_drive.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_drive_queue.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_escalate.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_fix_headless_review.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_gate_a.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_install_drift.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_install_skills.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_issue_create_label.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_issue_reopen.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_merge.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_milestone_assign.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_milestone_capture.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_milestone_chat_add_child.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_milestone_dispatch.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_milestone_gate_b.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_milestone_gate_c.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_milestone_order.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_milestone_remove_and_issue_close.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_milestone_ship.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_network.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_new_issue_chat.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_plans.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_portal.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_pull_artifact.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_queue.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_reattach_sessions.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_refine_board.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_release_preflight.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_release_propagate.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_release_window.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_repo_2220.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_scorecard.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_set_review_findings.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_status_advisory_terminal.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_status_merge_queue.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_status_provider.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_status_review_finalizing.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_status_test_failed_tag.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_status_usage_limit.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_sync_comments_873.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_test_plan.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_track.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_tui_update.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cli_wait.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_client_base_install.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_comments.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_completion_summary.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_config.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_config_acceptance.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_config_audit.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_config_pricing.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_config_snapshot_noncanonical_2208.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_config_usage_gate.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_conflict_fix.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_conflict_fix_semantic.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_coord_test.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_coord_test_runner_baseline.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_coord_test_runner_routing.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_coord_test_runner_toolchain.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_coord_web_sse_restart_live.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_coordinator_machine.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_cross_platform_imports.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_dashboard.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_dashboard_fixture.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_dashboard_terminal.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_dashboard_terminal_live.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_db.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_dead_end.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_deploy_coord_db_backup.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_deploy_coord_web_dist.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_deploy_coord_web_rollback.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_deploy_drive_queue_unit.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_deploy_manifest.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_deploy_units_lane.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_deploy_web_unit.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_deps.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_diagnose.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_dispatch.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_dispatch_target_validation.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_dist_name.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_done_housekeeping.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_drive.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_drive_queue.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_drive_state.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_drive_tmux.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_epic_up_capability_detection.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_epic_up_down_symlinked_config_1887.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_epic_up_image_provenance.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_errors.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_events.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_failure_class.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_filelock.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_finalize_interactive_exit_test_verdict.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_fix_of_force_override.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_fleet_config_health.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_fleet_health_probes.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_fleet_health_snapshot.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_freshness.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_gate_a.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_gate_b.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_gate_snapshot_staleness.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_gates.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_gather_fleet_tmux_sessions.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_generated_types_fixture.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_github_ops.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_goal.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_graph_health.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_graph_selfheal_absent_2237.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_handoff.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_health_checks.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_health_cli.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_health_cli_graph.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_health_config.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_health_context.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_health_deploy_lane_facts.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_health_incident_regression.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_health_pypi.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_health_registry.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_health_timer_active.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_health_toolchain.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_health_unit_drift.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_health_unit_enablement.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_hooks.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_human_attended_437.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_init.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_integration.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_interactive_briefing_echo.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_interactive_prefill_state.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_interactive_session_relaunch.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_interactive_test_verdict_backstop.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_interactive_token_attribution.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_interactive_worktree.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_issue_store_seam.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_liveness_auditor.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_liveness_notify.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_machine_pause.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_merge_queue.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_merge_verify.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_milestone_chat.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_milestone_dispatch.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_milestone_gate.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_milestone_order.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_milestone_seam.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_mock_author.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_model_tiering.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_models.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_models_config_labels.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_needs_attention.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_network.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_new_issue_chat.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_next_release_tag.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_no_direct_gh_calls.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_node_shim.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_notifier_baseline.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_notifier_cli.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_notifier_collect.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_notifier_config.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_notifier_drive_seam.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_notifier_isolation.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_notifier_predicate.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_notifier_quiet_hours.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_notifier_service.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_notify.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_notify_drain.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_openapi.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_operational_defaults.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_overlap_fence.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_overlap_predict.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_packaged_deploy_units.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_parentage.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_paste_landed.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_pipeline.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_plan_followup_approve_plan_command.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_plan_followup_pr_command.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_plan_followup_review_command.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_plan_only.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_plan_parser.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_platform_paths.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_portal_bridge.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_portal_config.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_portal_sync.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_pr_body_lint.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_prereqs.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_production_db_guard.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_progress.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_provider_seam.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_providers.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_providers_config_labels.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_providers_pty.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_quiet_hours.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_quiet_hours_store_2146.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_reap_merged_sessions.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_reap_stale_interactive_tick.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_reconcile_branch.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_reconcile_completions.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_reconcile_merges.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_reconcile_no_agent_record.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_reconcile_usage_limit_done.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_refine_chat.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_release_cordon_2101.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_release_cordon_daemon_leads_2176.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_release_cordon_deadlock_2240.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_release_propagate.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_release_unified_1242.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_release_verify.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_release_window.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_remote_auto_prune.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_remote_interactive_reaper.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_repo_edit_2220.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_repo_graph_fleet_2237.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_repo_onboard_2220.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_report_result_push.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_reports.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_retry.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_retry_advisory_1606.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_retry_type_1636.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_revalidate.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_review.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_review_end_review_without_verdict.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_review_parse_failure_diagnostic.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_review_reaffirm.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_review_state.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_review_verdict_backstop.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_review_verdict_override_audit.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_review_verdict_relay.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_review_zero_commits.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_scoped_review_wiring.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_scorecard.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_serve.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_serve_app_board_trim.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_session.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_slice_issue_attribution.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_smoke.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_smoke_live_checkout_restore.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_smoke_workflow.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_spend_ceiling.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_spend_ceiling_coordinator.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_split.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_split_work.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_stage_projection.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_stalled_pipeline.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_state.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_state_review_findings_daemon.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_status_fleet_footer.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_stop_1567.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_stuck.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_terminal_command.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_test_author.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_test_chat.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_test_orchestrator.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_test_report.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_test_verdict_parsing.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_test_verdict_transcript_floor.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_thin_client_board_audit.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_thin_client_config_load_1080.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_thin_client_daemon_routing_906.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_tmux_host.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_tmux_session.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_transcript_floor.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_usage.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_usage_limits.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_usage_rollup.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_venv_live_install_2121.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_version_single_source.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_watch.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_worker_events.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_worker_image_pin_sync.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_worker_safety.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_worker_test_scoping.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_worktree.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tests/test_worktree_rmtree_chokepoint.py +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/Cargo.lock +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/Cargo.toml +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/cargo-config-local-quadraui.toml.example +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/src/app/audit.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/src/app/chat.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/src/app/data.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/src/app/dialogs.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/src/app/drive.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/src/app/drive_queue.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/src/app/escalation.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/src/app/events.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/src/app/fixtures.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/src/app/fleet_health.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/src/app/fleet_sessions.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/src/app/fleet_terminals.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/src/app/format.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/src/app/milestone_dag.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/src/app/mod.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/src/app/msv.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/src/app/pipeline.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/src/app/plans.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/src/app/render.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/src/app/reports.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/src/app/sessions.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/src/app/settings_ui.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/src/app/sidebar.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/src/app/terminal.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/src/app/tests.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/src/app/types.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/src/app/workspace.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/src/bin/gtk.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/src/commands.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/src/lib.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/src/main.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/src/settings.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/tests/acceptance.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/tui/tests/cli.rs +0 -0
- {code_coordinator-0.5.108 → code_coordinator-0.5.110}/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
|
|
60
|
-
#
|
|
61
|
-
# is
|
|
62
|
-
#
|
|
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
|
-
#
|
|
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
|
-
#
|
|
70
|
-
# on Windows
|
|
71
|
-
# `import fcntl`, a POSIX-only stdlib module)
|
|
72
|
-
#
|
|
73
|
-
#
|
|
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
|
-
#
|
|
77
|
-
#
|
|
78
|
-
#
|
|
79
|
-
#
|
|
80
|
-
#
|
|
81
|
-
#
|
|
82
|
-
#
|
|
83
|
-
#
|
|
84
|
-
#
|
|
85
|
-
#
|
|
86
|
-
#
|
|
87
|
-
#
|
|
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
|
-
#
|
|
106
|
-
# failure
|
|
107
|
-
# exactly as a
|
|
108
|
-
#
|
|
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,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: code-coordinator
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.110
|
|
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
|
-
#
|
|
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. `
|
|
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
|
|
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
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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
|
-
#
|
|
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. `
|
|
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
|
|
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
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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.
|
|
3
|
+
Version: 0.5.110
|
|
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
|
-
#
|
|
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. `
|
|
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
|
|
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
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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.
|
|
@@ -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
|
{code_coordinator-0.5.108 → code_coordinator-0.5.110}/code_coordinator.egg-info/scm_file_list.json
RENAMED
|
@@ -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",
|
|
@@ -7121,6 +7121,20 @@ class AgentServer:
|
|
|
7121
7121
|
assert proc.stdin is not None
|
|
7122
7122
|
proc.stdin.write(initial_input)
|
|
7123
7123
|
proc.stdin.flush()
|
|
7124
|
+
# #2306: a provider that does not support stdin message injection
|
|
7125
|
+
# (``capabilities().inject == False``, e.g. OpenCodeProvider,
|
|
7126
|
+
# which takes its briefing on argv) never writes to or closes
|
|
7127
|
+
# this pipe again. Leaving it open blocks the worker forever —
|
|
7128
|
+
# it never sees an EOF on stdin — until the 600s TTFT watchdog
|
|
7129
|
+
# kills it having emitted zero bytes. Close it here so such a
|
|
7130
|
+
# worker gets its EOF immediately after the (empty) initial
|
|
7131
|
+
# write. ``provider_obj`` is ``None`` on the legacy path
|
|
7132
|
+
# (``spec.provider is None``, pre-#324 behaviour) — treat that
|
|
7133
|
+
# as claude/inject-capable and leave stdin open, matching
|
|
7134
|
+
# ``inject_message``'s existing "no provider info => allow"
|
|
7135
|
+
# fallback.
|
|
7136
|
+
if provider_obj is not None and not provider_obj.capabilities().inject: # type: ignore[attr-defined]
|
|
7137
|
+
proc.stdin.close()
|
|
7124
7138
|
except (BrokenPipeError, OSError) as e:
|
|
7125
7139
|
log_fh.write(f"\n# failed to send initial briefing: {e}\n")
|
|
7126
7140
|
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
|
|
47
47
|
[Unit]
|
|
48
48
|
Description=Snapshot coord.db to the external SSD (interim, pending #1822)
|
|
49
|
-
Documentation=https://github.com/JDonaghy/
|
|
49
|
+
Documentation=https://github.com/JDonaghy/code-coordinator/issues/1822
|
|
50
50
|
|
|
51
51
|
[Service]
|
|
52
52
|
Type=oneshot
|
{code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/deploy/coord-drive-queue.service
RENAMED
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
# pip show code-coordinator | grep -i editable # must print NOTHING
|
|
44
44
|
#
|
|
45
45
|
# An editable checkout (e.g. elitebook's dev box, where ~/.local/bin/coord
|
|
46
|
-
# points at ~/src/
|
|
46
|
+
# points at ~/src/code-coordinator) lets a worker's branch churn rewrite the
|
|
47
47
|
# runner's own code out from under a live tick. Do not install this unit
|
|
48
48
|
# there. See docs/DRIVE_QUEUE.md.
|
|
49
49
|
#
|
|
@@ -45,7 +45,7 @@ Type=simple
|
|
|
45
45
|
# error rather than a red suite — because a PATH= line here fixes this
|
|
46
46
|
# host and leaves the next one broken silently, which is the same failure
|
|
47
47
|
# shape as the bug. Keep both.
|
|
48
|
-
# - #1117 added the repo venv (%h/src/
|
|
48
|
+
# - #1117 added the repo venv (%h/src/code-coordinator/.venv/bin) so
|
|
49
49
|
# acceptance.drivers subprocesses shelled out via
|
|
50
50
|
# subprocess.run(shell=True) (e.g. the cli-pytest driver's `pytest
|
|
51
51
|
# tests/acceptance/{ms}`) resolve `pytest`/`python3` with the repo's
|
|
@@ -64,7 +64,7 @@ Type=simple
|
|
|
64
64
|
# the structural fix — see the `coord health`/`coord doctor` unit_drift
|
|
65
65
|
# check (#1831), which flags any unit whose PATH puts a `.venv/bin` entry
|
|
66
66
|
# ahead of ~/.local/bin or ~/.coord-venv/bin.
|
|
67
|
-
Environment=PATH=%h/.cargo/bin:%h/.local/bin:%h/src/
|
|
67
|
+
Environment=PATH=%h/.cargo/bin:%h/.local/bin:%h/src/code-coordinator/.venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
|
|
68
68
|
ExecStart=%h/.coord-venv/bin/coord serve --config %h/.coord/coordinator.yml --host 0.0.0.0 --port 7435
|
|
69
69
|
Restart=on-failure
|
|
70
70
|
RestartSec=3
|
{code_coordinator-0.5.108 → code_coordinator-0.5.110}/coord/deploy/coord-web-dist-build.service
RENAMED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
# A systemd *user* unit, Type=oneshot, mirroring coord-drive-queue.service's
|
|
6
6
|
# tick pattern (timer-fired, its own flock so a slow run can't stack). Runs
|
|
7
7
|
# deploy/coord-web-dist-build.sh, which:
|
|
8
|
-
# - fetches origin/main into ~/src/
|
|
8
|
+
# - fetches origin/main into ~/src/code-coordinator (read-only — only
|
|
9
9
|
# `git fetch` + `rev-parse`, never touches that checkout's working tree
|
|
10
10
|
# or whatever branch an operator has it parked on),
|
|
11
11
|
# - builds coord/dashboard/webapp from that SHA inside a DEDICATED worktree
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
|
|
47
47
|
[Unit]
|
|
48
48
|
Description=Snapshot coord.db to the external SSD (interim, pending #1822)
|
|
49
|
-
Documentation=https://github.com/JDonaghy/
|
|
49
|
+
Documentation=https://github.com/JDonaghy/code-coordinator/issues/1822
|
|
50
50
|
|
|
51
51
|
[Service]
|
|
52
52
|
Type=oneshot
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
# pip show code-coordinator | grep -i editable # must print NOTHING
|
|
44
44
|
#
|
|
45
45
|
# An editable checkout (e.g. elitebook's dev box, where ~/.local/bin/coord
|
|
46
|
-
# points at ~/src/
|
|
46
|
+
# points at ~/src/code-coordinator) lets a worker's branch churn rewrite the
|
|
47
47
|
# runner's own code out from under a live tick. Do not install this unit
|
|
48
48
|
# there. See docs/DRIVE_QUEUE.md.
|
|
49
49
|
#
|
|
@@ -45,7 +45,7 @@ Type=simple
|
|
|
45
45
|
# error rather than a red suite — because a PATH= line here fixes this
|
|
46
46
|
# host and leaves the next one broken silently, which is the same failure
|
|
47
47
|
# shape as the bug. Keep both.
|
|
48
|
-
# - #1117 added the repo venv (%h/src/
|
|
48
|
+
# - #1117 added the repo venv (%h/src/code-coordinator/.venv/bin) so
|
|
49
49
|
# acceptance.drivers subprocesses shelled out via
|
|
50
50
|
# subprocess.run(shell=True) (e.g. the cli-pytest driver's `pytest
|
|
51
51
|
# tests/acceptance/{ms}`) resolve `pytest`/`python3` with the repo's
|
|
@@ -64,7 +64,7 @@ Type=simple
|
|
|
64
64
|
# the structural fix — see the `coord health`/`coord doctor` unit_drift
|
|
65
65
|
# check (#1831), which flags any unit whose PATH puts a `.venv/bin` entry
|
|
66
66
|
# ahead of ~/.local/bin or ~/.coord-venv/bin.
|
|
67
|
-
Environment=PATH=%h/.cargo/bin:%h/.local/bin:%h/src/
|
|
67
|
+
Environment=PATH=%h/.cargo/bin:%h/.local/bin:%h/src/code-coordinator/.venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
|
|
68
68
|
ExecStart=%h/.coord-venv/bin/coord serve --config %h/.coord/coordinator.yml --host 0.0.0.0 --port 7435
|
|
69
69
|
Restart=on-failure
|
|
70
70
|
RestartSec=3
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
# A systemd *user* unit, Type=oneshot, mirroring coord-drive-queue.service's
|
|
6
6
|
# tick pattern (timer-fired, its own flock so a slow run can't stack). Runs
|
|
7
7
|
# deploy/coord-web-dist-build.sh, which:
|
|
8
|
-
# - fetches origin/main into ~/src/
|
|
8
|
+
# - fetches origin/main into ~/src/code-coordinator (read-only — only
|
|
9
9
|
# `git fetch` + `rev-parse`, never touches that checkout's working tree
|
|
10
10
|
# or whatever branch an operator has it parked on),
|
|
11
11
|
# - builds coord/dashboard/webapp from that SHA inside a DEDICATED worktree
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
# once, THEN start/enable coord-web.
|
|
26
26
|
#
|
|
27
27
|
# Safe to run unattended on a timer (see coord-web-dist-build.timer): it
|
|
28
|
-
# never touches ~/.coord-venv, ~/src/
|
|
28
|
+
# never touches ~/.coord-venv, ~/src/code-coordinator's own checkout (it
|
|
29
29
|
# uses a DEDICATED `git worktree`, so it can't collide with whatever branch
|
|
30
30
|
# an operator has that checkout parked on — same reasoning as `coord drive`'s
|
|
31
31
|
# worktree isolation), or any running coord-agent/coord-serve/coord-web
|
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
set -uo pipefail
|
|
98
98
|
|
|
99
99
|
SRC_ROOT="${SRC_ROOT:-$HOME/src}"
|
|
100
|
-
REPO_NAME="${REPO_NAME:-
|
|
100
|
+
REPO_NAME="${REPO_NAME:-code-coordinator}"
|
|
101
101
|
BASE_CHECKOUT="${BASE_CHECKOUT:-$SRC_ROOT/$REPO_NAME}"
|
|
102
102
|
BRANCH="${BRANCH:-main}"
|
|
103
103
|
|
|
@@ -227,7 +227,7 @@ Neither one leads reliably. Ask "can pip resolve it?", not "is it
|
|
|
227
227
|
published?":
|
|
228
228
|
|
|
229
229
|
```bash
|
|
230
|
-
curl -s https://pypi.org/simple/
|
|
230
|
+
curl -s https://pypi.org/simple/code-coordinator/ | grep -q 'code_coordinator-X\.Y\.Z' && echo installable
|
|
231
231
|
```
|
|
232
232
|
|
|
233
233
|
Expect per-machine variation even after that: a mirror/resolver on one
|
|
@@ -311,10 +311,10 @@ version/PID first, then choose between a drift-fix and a plain
|
|
|
311
311
|
On the target machine:
|
|
312
312
|
|
|
313
313
|
```bash
|
|
314
|
-
curl -sSL https://raw.githubusercontent.com/JDonaghy/
|
|
314
|
+
curl -sSL https://raw.githubusercontent.com/JDonaghy/code-coordinator/main/install-agent.sh | bash -s -- --machine <name> --port 7433
|
|
315
315
|
```
|
|
316
316
|
|
|
317
|
-
This creates `~/.coord-venv`, installs `
|
|
317
|
+
This creates `~/.coord-venv`, installs `code-coordinator` from **PyPI**, writes a `coord-agent` systemd user unit, and starts it. The agent does NOT need a git clone of the repo — the `~/src/claude-coordinator` directory should only exist on the machine where you actually develop the coordinator itself.
|
|
318
318
|
|
|
319
319
|
Verify:
|
|
320
320
|
|
|
@@ -1116,7 +1116,7 @@ From the coordinator machine:
|
|
|
1116
1116
|
coord agent update --all
|
|
1117
1117
|
```
|
|
1118
1118
|
|
|
1119
|
-
This POSTs to `/update` on every machine in `coordinator.yml`, telling each agent exactly which version the coordinator wants (`target_version`). Each agent pins its pip install to that exact release (`pip install --upgrade --no-cache-dir
|
|
1119
|
+
This POSTs to `/update` on every machine in `coordinator.yml`, telling each agent exactly which version the coordinator wants (`target_version`). Each agent pins its pip install to that exact release (`pip install --upgrade --no-cache-dir code-coordinator==<target_version>`) and restarts.
|
|
1120
1120
|
|
|
1121
1121
|
**#1886: `target_version` is resolved from PyPI's simple index — the same source `pip install -U` itself resolves against — NOT from this CLI's own `__version__`.** A stale operator install (PyPI already has a newer release than the CLI running `coord agent update`) used to silently pin the whole fleet to that stale, older version while still printing a clean `✓` on every machine. If this CLI's own version is behind PyPI's latest, the command now prints a loud warning and targets the *newer* PyPI release instead — never its own age. Pass `--version X.Y.Z` to pin to something else on purpose (a rollback, a pre-release); that skips the PyPI lookup entirely.
|
|
1122
1122
|
|
|
@@ -1171,7 +1171,7 @@ same machine *and* from the editable CLI in `~/src/claude-coordinator`. It is
|
|
|
1171
1171
|
upgraded by exactly one thing: someone remembering to do it.
|
|
1172
1172
|
|
|
1173
1173
|
```bash
|
|
1174
|
-
~/.coord-cli-venv/bin/pip install --upgrade --no-cache-dir
|
|
1174
|
+
~/.coord-cli-venv/bin/pip install --upgrade --no-cache-dir code-coordinator==X.Y.Z
|
|
1175
1175
|
~/.coord-cli-venv/bin/coord --version # verify — never infer from pip's exit code
|
|
1176
1176
|
```
|
|
1177
1177
|
|
|
@@ -1631,7 +1631,7 @@ echo "agent is on <new-version>"
|
|
|
1631
1631
|
Behaviour worth knowing:
|
|
1632
1632
|
|
|
1633
1633
|
- The endpoint **runs `pip install --upgrade --no-cache-dir
|
|
1634
|
-
|
|
1634
|
+
code-coordinator`** (or `git pull --ff-only` for an editable
|
|
1635
1635
|
install) in a daemon-less background thread, then `os.execv`-restarts
|
|
1636
1636
|
**only if the version actually changed**.
|
|
1637
1637
|
- If the installed version is already current it records
|
|
@@ -1674,8 +1674,8 @@ When `last_update.mode` is `editable (git pull)`, the agent's venv has a `pip in
|
|
|
1674
1674
|
|
|
1675
1675
|
```bash
|
|
1676
1676
|
ssh <host>
|
|
1677
|
-
~/.coord-venv/bin/pip uninstall -y
|
|
1678
|
-
~/.coord-venv/bin/pip install --upgrade
|
|
1677
|
+
~/.coord-venv/bin/pip uninstall -y code-coordinator
|
|
1678
|
+
~/.coord-venv/bin/pip install --upgrade code-coordinator
|
|
1679
1679
|
XDG_RUNTIME_DIR=/run/user/$(id -u) systemctl --user restart coord-agent
|
|
1680
1680
|
```
|
|
1681
1681
|
|
|
@@ -1714,7 +1714,7 @@ If you have several editable installs to convert, you can script it (assumes SSH
|
|
|
1714
1714
|
|
|
1715
1715
|
```bash
|
|
1716
1716
|
for host in precision elitebook dellserver; do
|
|
1717
|
-
ssh $host '~/.coord-venv/bin/pip uninstall -y
|
|
1717
|
+
ssh $host '~/.coord-venv/bin/pip uninstall -y code-coordinator && ~/.coord-venv/bin/pip install --upgrade code-coordinator && XDG_RUNTIME_DIR=/run/user/$(id -u) systemctl --user restart coord-agent'
|
|
1718
1718
|
done
|
|
1719
1719
|
```
|
|
1720
1720
|
|
|
@@ -1815,4 +1815,4 @@ chmod 600 ~/.ssh/authorized_keys # on each agent
|
|
|
1815
1815
|
|
|
1816
1816
|
For background on why rsync-over-SSH was chosen over direct HTTP download
|
|
1817
1817
|
(signed URL vs key-auth tradeoffs, GC behaviour, TTL defaults), see the
|
|
1818
|
-
original design in [GitHub issue #305](https://github.com/JDonaghy/
|
|
1818
|
+
original design in [GitHub issue #305](https://github.com/JDonaghy/code-coordinator/issues/305).
|
|
@@ -77,7 +77,7 @@ The `coord agent` server exposes a small, JSON-only HTTP API on port 7433. Any c
|
|
|
77
77
|
| `GET /stream/<id>` | Server-sent events: tails the worker log |
|
|
78
78
|
| `POST /cancel/<id>` | Send SIGTERM to a running worker |
|
|
79
79
|
| `POST /restart` | Restart the agent process (waits for active workers up to `cancel_timeout`) |
|
|
80
|
-
| `POST /update` | `pip install --upgrade
|
|
80
|
+
| `POST /update` | `pip install --upgrade code-coordinator` then re-exec |
|
|
81
81
|
| `POST /worktree-clean` | Prune stale worktrees for completed assignments |
|
|
82
82
|
|
|
83
83
|
Example: dispatch a worker with curl.
|
|
@@ -273,7 +273,7 @@ Two consequences worth stating plainly, because both have cost real work:
|
|
|
273
273
|
- **It only runs on the `coord plan` → `coord approve` path.** The drive queue dispatches
|
|
274
274
|
through `coord drive` → `coord assign` and never consults the brain, so unattended work —
|
|
275
275
|
which is most work — got no overlap check at all. Both same-file collisions on
|
|
276
|
-
2026-08-14 (quadraui #306/#309 against #307/#308, and
|
|
276
|
+
2026-08-14 (quadraui #306/#309 against #307/#308, and code-coordinator #2234 against
|
|
277
277
|
#2230, all four appending to a single file) arrived through the queue.
|
|
278
278
|
|
|
279
279
|
`claim.py` does not close this gap: it is issue-level only (an active board assignment, or
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Cross-Platform — porting coord to macOS & Windows
|
|
2
2
|
|
|
3
3
|
> **Status:** design draft / RFC (2026-07-13). Captures the target architecture for running
|
|
4
|
-
>
|
|
4
|
+
> code-coordinator natively on macOS and Windows, and for the single-machine "just my laptop"
|
|
5
5
|
> topology. Not committed direction — a thinking artifact to react to, decomposable into a milestone
|
|
6
6
|
> when we pick it up.
|
|
7
7
|
>
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
A small, authenticated, public web site where a customer describes what they want, and later comes
|
|
16
16
|
back to **review a design and sign off on it**. Sign-off produces an **outcome definition** — a
|
|
17
17
|
plain-language acceptance contract — plus an epic/milestone decomposition, which is handed to
|
|
18
|
-
|
|
18
|
+
code-coordinator and driven by the existing `Work → Test → Review → Merge` pipeline. Progress
|
|
19
19
|
reports back in git-free language.
|
|
20
20
|
|
|
21
21
|
The customer never sees git, never sees an issue number, and never talks to a live agent.
|
|
@@ -223,7 +223,7 @@ be resisted: it would buy obscurity in exchange for a second release lane.
|
|
|
223
223
|
live in GitHub Actions secrets and `wrangler secret put` — never in `wrangler.toml`, never in a
|
|
224
224
|
committed `.dev.vars`.
|
|
225
225
|
|
|
226
|
-
**MIT.** Note the asymmetry, and that it is deliberate: `
|
|
226
|
+
**MIT.** Note the asymmetry, and that it is deliberate: `code-coordinator` is **FSL-1.1-MIT**
|
|
227
227
|
(source-available, no competing service for two years, then MIT), while the portal is permissive from
|
|
228
228
|
day one. The portal is an intake and sign-off surface for a coordinator fleet — without one it is a
|
|
229
229
|
form that talks to nothing. The defensible part is the pipeline it feeds (gates, oracle, review), and
|