code-coordinator 0.5.109__tar.gz → 0.5.111__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/.github/workflows/test.yml +39 -33
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/CLAUDE.md +1 -1
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/PKG-INFO +9 -9
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/README.md +8 -8
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/code_coordinator.egg-info/PKG-INFO +9 -9
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/code_coordinator.egg-info/SOURCES.txt +4 -3
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/code_coordinator.egg-info/scm_file_list.json +1 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/code_coordinator.egg-info/scm_version.json +2 -2
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/__init__.py +7 -7
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/agent_app.py +20 -22
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/agent_update.py +9 -11
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/cli.py +11 -15
- code_coordinator-0.5.109/coord/dashboard/webapp/dist/assets/Gallery-Cq84itDE.js → code_coordinator-0.5.111/coord/dashboard/webapp/dist/assets/Gallery-BoKs3mpY.js +2 -2
- code_coordinator-0.5.109/coord/dashboard/webapp/dist/assets/Terminal-DOXLcMue.js → code_coordinator-0.5.111/coord/dashboard/webapp/dist/assets/Terminal-CEsP08iX.js +1 -1
- code_coordinator-0.5.109/coord/dashboard/webapp/dist/assets/index-DHn-RIJ8.js → code_coordinator-0.5.111/coord/dashboard/webapp/dist/assets/index-CDHPlB6k.js +2 -2
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/dist/index.html +1 -1
- code_coordinator-0.5.111/coord/dashboard/webapp/dist/manifest.webmanifest +1 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/dist/sw.js +1 -1
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/Gallery.tsx +1 -1
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/vite.config.ts +1 -1
- {code_coordinator-0.5.109 → code_coordinator-0.5.111/coord}/deploy/coord-db-backup.service +1 -1
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy/coord-drive-queue.service +1 -1
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy/coord-serve.service +2 -2
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy/coord-web-dist-build.service +1 -1
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dist_name.py +30 -35
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/agent_install.py +15 -17
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/unit_drift.py +4 -5
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/pypi.py +8 -7
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/repo_onboard.py +2 -2
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/tui_release.py +1 -1
- {code_coordinator-0.5.109/coord → code_coordinator-0.5.111}/deploy/coord-db-backup.service +1 -1
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/coord-drive-queue.service +1 -1
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/coord-serve.service +2 -2
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/coord-web-dist-build.service +1 -1
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/coord-web-dist-build.sh +2 -2
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/AGENT_OPERATIONS.md +10 -10
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/ARCHITECTURE.md +2 -2
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/CROSS_PLATFORM.md +1 -1
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/CUSTOMER_PORTAL.md +2 -2
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/DRIVE_QUEUE.md +3 -3
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/FORGE_MIGRATION.md +1 -1
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/ISSUE_GUIDANCE.md +1 -1
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/MAC_MINI.md +2 -2
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/MERGE_AUTO_DRAIN_TRUST_BAR.md +1 -1
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/OPERATING_GOTCHAS.md +2 -2
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/PHONE_WEBAPP.md +2 -2
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/PLATFORM_EVOLUTION.md +1 -1
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/TEST_FIRST_BUG_LANE.md +3 -3
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/azure-workers/epic-up.sh +1 -1
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/azure-workers/provision-worker.sh +5 -5
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/azure-workers/scrub-and-generalize.sh +1 -1
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/azure-workers/verify-github-token.sh +3 -3
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/smoke_437_interactive.py +1 -1
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_dist_name.py +124 -84
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_version_single_source.py +41 -32
- code_coordinator-0.5.111/tests/test_windows_job_is_a_real_gate_2000.py +131 -0
- code_coordinator-0.5.109/coord/dashboard/webapp/dist/manifest.webmanifest +0 -1
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/.claude/commands/board.md +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/.claude/commands/complete-session.md +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/.claude/commands/coordinator.md +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/.githooks/_lib.sh +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/.githooks/post-checkout +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/.githooks/post-commit +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/.githooks/post-merge +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/.github/coord-ci-acceptance.yml +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/.github/workflows/auto-release.yml +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/.github/workflows/cargo-test.yml +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/.github/workflows/publish.yml +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/.github/workflows/release-tui.yml +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/.gitignore +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/GOAL.md +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/LICENSE +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/MANIFEST.in +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/code_coordinator.egg-info/dependency_links.txt +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/code_coordinator.egg-info/entry_points.txt +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/code_coordinator.egg-info/requires.txt +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/code_coordinator.egg-info/top_level.txt +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/_board_mapping.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/acceptance.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/acceptance_drivers.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/agent.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/agents/opencode/.gitignore +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/agents/opencode/agents/work.md +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/agents/opencode/routing.jsonc +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/audit.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/auto_loop.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/block_log.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/board_bool_guard.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/board_service.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/board_wire.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/brain.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/branch_model.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/bug_intake.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/cargo_cache.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/ci_github.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/ci_store.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/claim.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/client.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/__init__.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/_common.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/acceptance.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/agent_ops.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/audit.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/chat.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/dispatch.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/dispatch_workers.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/drive.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/drive_queue.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/gate_a.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/gates.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/issues.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/lifecycle.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/merge.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/milestone.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/plan_followup.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/plans.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/portal.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/release.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/repo.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/report.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/review.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/scorecard.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/sessions.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/setup.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/status.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/terminal.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/test_gate.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/commands/tui.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/comments.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/config.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/config_reload.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/conflict_fix.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dao.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/__init__.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/fixture.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/index.html +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/server.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/terminal.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/.gitignore +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/components.json +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/dist/assets/Terminal-9CEnUXvW.css +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/dist/assets/index-Dq4kwTdw.css +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/dist/assets/workbox-window.prod.es5-BqEJf4Xk.js +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/dist/icons/icon-192.png +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/dist/icons/icon-512.png +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/dist/icons/icon.svg +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/dist/workbox-e4022e15.js +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/e2e/available-gates-terminal.spec.ts +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/e2e/deep-link.spec.ts +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/e2e/fixtureServer.ts +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/e2e/live-update-fixture.spec.ts +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/e2e/realtime.spec.ts +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/e2e/shell.spec.ts +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/e2e/smoke.spec.ts +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/e2e/terminal.spec.ts +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/e2e/theme.spec.ts +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/eslint.config.js +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/index.html +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/node_modules/flatted/python/flatted.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/package-lock.json +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/package.json +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/playwright.acceptance.config.ts +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/playwright.config.ts +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/postcss.config.js +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/public/icons/icon-192.png +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/public/icons/icon-512.png +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/public/icons/icon.svg +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/App.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/api/client.ts +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/api/generated.ts +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/ConnectionBadge.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/Detail.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/Home.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/MobileKeyBar.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/PanelHeader.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/PipelineCard.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/SessionCard.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/SessionDetail.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/SessionsList.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/Terminal.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/__tests__/ConnectionBadge.test.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/__tests__/Detail.test.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/__tests__/Gallery.test.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/__tests__/Home.test.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/__tests__/MobileKeyBar.test.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/__tests__/PipelineCard.test.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/__tests__/SessionCard.test.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/__tests__/Terminal.test.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/ui/badge.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/ui/button.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/ui/card.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/ui/dialog.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/ui/dropdown-menu.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/ui/empty-state.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/ui/sheet.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/ui/skeleton.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/ui/tabs.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/ui/theme-provider.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/ui/theme-toggle.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/ui/toast.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/ui/toaster.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/ui/tooltip.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/components/ui/use-toast.ts +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/index.css +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/lib/pipeline.ts +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/lib/utils.ts +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/main.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/realtime/RealtimeProvider.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/realtime/__tests__/RealtimeProvider.test.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/realtime/__tests__/connection.test.ts +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/realtime/connection.ts +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/realtime/events.ts +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/routes/__tests__/paths.test.ts +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/routes/paths.ts +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/shell/ActivityRail.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/shell/AppShell.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/shell/ComingSoon.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/shell/EmptyDetail.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/shell/RouteNotFound.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/shell/ShellLayout.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/shell/StatusBar.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/shell/__tests__/ShellLayout.test.tsx +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/shell/__tests__/shellState.test.ts +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/shell/__tests__/stubViewport.ts +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/shell/breakpoints.ts +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/shell/railItems.ts +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/shell/shellState.ts +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/shell/useRegionFocus.ts +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/test-setup.ts +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/src/vite-env.d.ts +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/tailwind.config.js +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/tsconfig.json +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dashboard/webapp/tsconfig.node.json +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/db.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dead_end.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy/README.md +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy/coord-agent.service +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy/coord-db-backup.sh +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy/coord-db-backup.timer +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy/coord-drive-queue.timer +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy/coord-notify.service +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy/coord-notify.timer +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy/coord-release-propagate.service +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy/coord-release-propagate.timer +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy/coord-release-window.service +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy/coord-release-window.timer +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy/coord-web-dist-build.timer +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy/coord-web.service +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy_manifest.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deploy_units.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/deps.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/diagnose.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/dispatch.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/drive.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/drive_queue.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/drive_state.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/events.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/failure_class.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/filelock.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/fleet_config_health.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/freshness.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/gate_a.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/gate_b.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/gate_snapshot.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/gates.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/github_ops.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/goal.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/graph_health.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/__init__.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/aggregate.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/__init__.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/cargo_targets.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/claude_binary.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/deploy_lane_facts.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/disk.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/fleet_board.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/fleet_deploy_lanes.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/fleet_phantom.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/fleet_unit_drift.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/graph.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/graphify_cli.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/index_lock.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/plan_usage.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/repo_state.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/spawned_coord.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/timer_active.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/toolchain.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/unit_enablement.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/checks/worktrees.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/cli.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/context.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/fleet_snapshot.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/models.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/registry.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/render.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/health/units.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/hooks.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/housekeeping.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/interactive.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/issue_store.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/liveness_auditor.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/machine_pause.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/merge_queue.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/milestone_chat.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/milestone_dispatch.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/milestone_gate.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/milestone_order.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/mock_author.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/models.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/network.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/new_issue_chat.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/notifier/__init__.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/notifier/baseline.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/notifier/cli.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/notifier/collect.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/notifier/digest.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/notifier/models.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/notifier/predicate.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/notifier/service.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/notifier/store.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/notifier/transport.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/notify.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/openapi.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/overlap_fence.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/overlap_predict.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/parentage.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/parentage_github.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/pipeline.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/plan_parser.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/plans.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/platform_paths.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/portal_bridge.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/portal_store.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/portal_sync.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/pr_body_lint.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/prereqs.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/progress.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/providers/__init__.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/providers/base.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/providers/claude.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/providers/claude_pty.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/providers/opencode.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/queue_diagnose.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/reconcile.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/refine_chat.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/release_cordon.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/release_propagate.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/release_verify.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/release_window.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/repo_edit.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/reports.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/revalidate.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/review.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/scorecard.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/serve_app.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/skills/update-issue/SKILL.md +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/smoke.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/spend_ceiling.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/split_work.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/stage_projection.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/state.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/test_author.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/test_chat.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/test_orchestrator.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/test_report.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/usage.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/usage_limits.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/usage_rollup.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coord/worker_events.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/coordinator.example.yml +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/coord-agent.service +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/coord-db-backup.sh +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/coord-db-backup.timer +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/coord-drive-queue.timer +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/coord-notify.service +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/coord-notify.timer +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/coord-release-propagate.service +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/coord-release-propagate.timer +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/coord-release-window.service +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/coord-release-window.timer +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/coord-web-dist-build.timer +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/coord-web-rollback.sh +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/coord-web.service +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/deploy/node-shim.sh +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/ARCH_SECURITY_GATES.md +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/COCKPIT.md +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/CONTROL_CENTER.md +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/COST_DISCIPLINE.md +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/EPHEMERAL_WORKERS.md +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/GRAPHIFY_SETUP.md +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/NOTIFIER.md +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/OPENCODE_VERIFICATION.md +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/ORACLE_LOOP.md +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/PIPELINE_V2.md +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/SECOND_BACKEND.md +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/STORE_SERVICE.md +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/WEB_CONTROL_CENTER.md +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/mocks/web/README.md +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/mocks/web/_tokens.css +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/mocks/web/issue-detail.html +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/mocks/web/pipeline-narrow.html +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/docs/mocks/web/pipeline-wide.html +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/graphify-out/.gitignore +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/install-agent.sh +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/pyproject.toml +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/audit_review_verdict_overrides.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/azure-workers/bootstrap-shared.sh +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/azure-workers/build-worker-image.sh +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/azure-workers/coordinator-machine.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/azure-workers/epic-down.sh +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/azure-workers/preflight.sh +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/azure-workers/tailnet-acl.hujson +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/codegen.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/coord-test-runner.sh +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/drive-batch.sh +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/gen_board_fixture.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/next_release_tag.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/run_tests_in_populated_home.sh +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/run_tests_without_gh.sh +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/verify_878_review_capture.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/verify_release_published.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/scripts/verify_release_wheel.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/setup.cfg +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/SMOKE_SET.md +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/__init__.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-33/audit_1039.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-33/contract.md +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-33/manifest.yml +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-33/mocks/audit-panel-detail.screen +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-33/mocks/audit-panel-empty.screen +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-33/mocks/audit-panel-filters.screen +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-33/mocks/audit-panel-populated.screen +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-37/conftest.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-37/contract.md +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-37/manifest.yml +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-37/test_usage_cli_1115.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-37/test_usage_core_1118.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-38/contract.md +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-38/manifest.yml +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-38/mocks/plans-base.screen +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-38/mocks/plans-detail-pane.screen +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-38/mocks/plans-help-overlay.screen +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-38/mocks/plans-palette.screen +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-38/mocks/plans-rightclick-epic.screen +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-38/mocks/plans-rightclick-header.screen +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-38/mocks/plans-rightclick-stub.screen +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-38/plans_detail_1122.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-38/plans_help_1124.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-38/plans_rightclick_1123.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-51/contract.md +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-51/home-active-extended.spec.ts +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-51/home-active.spec.ts +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-51/manifest.yml +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-51/mocks/home-active.html +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-51/tsconfig.json +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/acceptance/ms-example/mocks/home-active.html +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/conftest.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/board-pipeline-basic.json +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/board-pipeline-terminal-gates.json +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/opencode_run_failure_sample.jsonl +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/opencode_run_sample.jsonl +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/playwright/all_pass.json +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/playwright/global_setup_crash.json +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/playwright/mixed_fail.json +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/playwright/retry_then_pass.json +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/playwright/retry_then_pass.junit.xml +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/playwright/skip.json +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/playwright/truncated.json +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/test_report/cargo_compile_error.txt +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/test_report/cargo_multi_target_failures.txt +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/test_report/cargo_no_parseable_failures.txt +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/test_report/pytest_collection_error.txt +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/test_report/pytest_error_string_in_body.txt +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/test_report/pytest_internal_error.txt +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/test_report/pytest_mixed_failures.txt +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/fixtures/test_report/pytest_no_parseable_failures.txt +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_acceptance.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_acceptance_drivers.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_api_error.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_app.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_branch_base.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_branch_capture.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_config_free_1712.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_deploy_units_endpoint.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_dirty_worktree.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_graph_self_heal.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_health_h3.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_idle_restart.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_push_failure.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_reap.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_repos_and_pull.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_restart_services_endpoint.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_startup_diagnostics.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_update.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_update_bluegreen.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_usage_limit.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_agent_zero_commit.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_ambient_home_isolation.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_approve_reject_plan.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_approve_usage_gate.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_assignment_already_recorded_daemon.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_audit_log.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_audit_outcome.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_audit_query.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_auto_loop.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_auto_release_publish_2035.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_base_checkout_restore.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_block_log.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_board_cap_762.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_board_fixture.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_board_read_path.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_board_service.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_board_state.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_board_wire.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_brain.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_branch_model.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_bug_intake.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_build_worker_image_env_update.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cargo_cache.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_ci_acceptance_gate_1950.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_ci_parity_2091.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_ci_store.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_claim.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_acceptance.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_assign.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_assign_interactive_oracle_gate.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_assign_interactive_remote.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_assign_provider.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_assign_repo_drift_2219.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_audit.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_chat_continue.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_diagnose_config_provenance.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_diagnose_graph.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_doctor.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_doctor_config_free_1801.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_doctor_config_mismatch_1712.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_drive.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_drive_queue.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_escalate.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_fix_headless_review.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_gate_a.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_install_drift.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_install_skills.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_issue_create_label.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_issue_reopen.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_merge.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_milestone_assign.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_milestone_capture.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_milestone_chat_add_child.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_milestone_dispatch.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_milestone_gate_b.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_milestone_gate_c.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_milestone_order.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_milestone_remove_and_issue_close.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_milestone_ship.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_network.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_new_issue_chat.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_plans.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_portal.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_pull_artifact.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_queue.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_reattach_sessions.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_refine_board.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_release_preflight.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_release_propagate.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_release_window.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_repo_2220.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_scorecard.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_set_review_findings.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_status_advisory_terminal.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_status_merge_queue.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_status_provider.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_status_review_finalizing.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_status_test_failed_tag.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_status_usage_limit.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_sync_comments_873.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_test_plan.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_track.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_tui_update.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cli_wait.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_client_base_install.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_comments.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_completion_summary.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_config.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_config_acceptance.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_config_audit.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_config_pricing.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_config_snapshot_noncanonical_2208.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_config_usage_gate.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_conflict_fix.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_conflict_fix_semantic.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_coord_test.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_coord_test_runner_baseline.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_coord_test_runner_routing.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_coord_test_runner_toolchain.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_coord_web_sse_restart_live.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_coordinator_machine.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_cross_platform_imports.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_dashboard.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_dashboard_fixture.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_dashboard_terminal.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_dashboard_terminal_live.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_db.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_dead_end.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_deploy_coord_db_backup.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_deploy_coord_web_dist.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_deploy_coord_web_rollback.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_deploy_drive_queue_unit.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_deploy_manifest.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_deploy_units_lane.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_deploy_web_unit.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_deps.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_diagnose.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_dispatch.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_dispatch_target_validation.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_done_housekeeping.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_drive.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_drive_queue.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_drive_state.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_drive_tmux.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_epic_up_capability_detection.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_epic_up_down_symlinked_config_1887.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_epic_up_image_provenance.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_errors.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_events.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_failure_class.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_filelock.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_finalize_interactive_exit_test_verdict.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_fix_of_force_override.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_fleet_config_health.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_fleet_health_probes.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_fleet_health_snapshot.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_freshness.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_gate_a.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_gate_b.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_gate_snapshot_staleness.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_gates.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_gather_fleet_tmux_sessions.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_generated_types_fixture.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_github_ops.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_goal.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_graph_health.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_graph_selfheal_absent_2237.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_handoff.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_health_checks.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_health_cli.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_health_cli_graph.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_health_config.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_health_context.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_health_deploy_lane_facts.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_health_incident_regression.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_health_pypi.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_health_registry.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_health_timer_active.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_health_toolchain.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_health_unit_drift.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_health_unit_enablement.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_hooks.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_human_attended_437.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_init.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_integration.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_interactive_briefing_echo.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_interactive_prefill_state.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_interactive_session_relaunch.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_interactive_test_verdict_backstop.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_interactive_token_attribution.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_interactive_worktree.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_issue_store_seam.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_liveness_auditor.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_liveness_notify.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_machine_pause.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_merge_queue.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_merge_verify.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_milestone_chat.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_milestone_dispatch.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_milestone_gate.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_milestone_order.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_milestone_seam.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_mock_author.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_model_tiering.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_models.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_models_config_labels.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_needs_attention.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_network.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_new_issue_chat.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_next_release_tag.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_no_direct_gh_calls.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_node_shim.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_notifier_baseline.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_notifier_cli.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_notifier_collect.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_notifier_config.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_notifier_drive_seam.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_notifier_isolation.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_notifier_predicate.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_notifier_quiet_hours.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_notifier_service.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_notify.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_notify_drain.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_openapi.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_operational_defaults.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_overlap_fence.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_overlap_predict.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_packaged_deploy_units.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_parentage.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_paste_landed.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_pipeline.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_plan_followup_approve_plan_command.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_plan_followup_pr_command.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_plan_followup_review_command.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_plan_only.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_plan_parser.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_platform_paths.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_portal_bridge.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_portal_config.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_portal_sync.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_pr_body_lint.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_prereqs.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_production_db_guard.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_progress.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_provider_seam.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_providers.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_providers_config_labels.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_providers_pty.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_quiet_hours.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_quiet_hours_store_2146.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_reap_merged_sessions.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_reap_stale_interactive_tick.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_reconcile_branch.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_reconcile_completions.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_reconcile_merges.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_reconcile_no_agent_record.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_reconcile_usage_limit_done.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_refine_chat.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_release_cordon_2101.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_release_cordon_daemon_leads_2176.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_release_cordon_deadlock_2240.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_release_propagate.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_release_unified_1242.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_release_verify.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_release_window.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_remote_auto_prune.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_remote_interactive_reaper.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_repo_edit_2220.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_repo_graph_fleet_2237.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_repo_onboard_2220.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_report_result_push.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_reports.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_retry.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_retry_advisory_1606.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_retry_type_1636.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_revalidate.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_review.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_review_end_review_without_verdict.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_review_parse_failure_diagnostic.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_review_reaffirm.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_review_state.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_review_verdict_backstop.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_review_verdict_override_audit.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_review_verdict_relay.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_review_zero_commits.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_scoped_review_wiring.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_scorecard.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_serve.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_serve_app_board_trim.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_session.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_slice_issue_attribution.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_smoke.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_smoke_live_checkout_restore.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_smoke_workflow.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_spend_ceiling.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_spend_ceiling_coordinator.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_split.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_split_work.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_stage_projection.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_stalled_pipeline.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_state.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_state_review_findings_daemon.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_status_fleet_footer.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_stop_1567.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_stuck.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_terminal_command.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_test_author.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_test_chat.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_test_orchestrator.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_test_report.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_test_verdict_parsing.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_test_verdict_transcript_floor.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_thin_client_board_audit.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_thin_client_config_load_1080.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_thin_client_daemon_routing_906.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_tmux_host.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_tmux_session.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_transcript_floor.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_usage.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_usage_limits.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_usage_rollup.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_venv_live_install_2121.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_watch.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_worker_events.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_worker_image_pin_sync.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_worker_safety.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_worker_test_scoping.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_worktree.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tests/test_worktree_rmtree_chokepoint.py +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/Cargo.lock +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/Cargo.toml +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/cargo-config-local-quadraui.toml.example +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/audit.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/chat.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/data.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/dialogs.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/drive.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/drive_queue.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/escalation.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/events.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/fixtures.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/fleet_health.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/fleet_sessions.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/fleet_terminals.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/format.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/milestone_dag.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/mod.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/msv.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/pipeline.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/plans.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/render.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/reports.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/sessions.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/settings_ui.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/sidebar.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/terminal.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/tests.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/types.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/app/workspace.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/bin/gtk.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/commands.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/lib.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/main.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/src/settings.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/tests/acceptance.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/tests/cli.rs +0 -0
- {code_coordinator-0.5.109 → code_coordinator-0.5.111}/tui/tests/fixtures/board_sample.json +0 -0
|
@@ -56,35 +56,44 @@ jobs:
|
|
|
56
56
|
# 2026-08-08 stall (`parked — CI running: windows`): each drive parked on it
|
|
57
57
|
# and handed off, which is how five PRs piled up unmerged.
|
|
58
58
|
#
|
|
59
|
-
# What that latency bought per-PR was ~nothing
|
|
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.111
|
|
4
4
|
Summary: Coordinate Claude Code workers across multiple machines and repos.
|
|
5
5
|
Author-email: John Donaghy <johnfdonaghy@gmail.com>
|
|
6
6
|
License-Expression: LicenseRef-FSL-1.1-MIT
|
|
@@ -38,11 +38,11 @@ Requires-Dist: setuptools-scm>=8; extra == "dev"
|
|
|
38
38
|
Requires-Dist: wheel; extra == "dev"
|
|
39
39
|
Dynamic: license-file
|
|
40
40
|
|
|
41
|
-
#
|
|
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.111
|
|
4
4
|
Summary: Coordinate Claude Code workers across multiple machines and repos.
|
|
5
5
|
Author-email: John Donaghy <johnfdonaghy@gmail.com>
|
|
6
6
|
License-Expression: LicenseRef-FSL-1.1-MIT
|
|
@@ -38,11 +38,11 @@ Requires-Dist: setuptools-scm>=8; extra == "dev"
|
|
|
38
38
|
Requires-Dist: wheel; extra == "dev"
|
|
39
39
|
Dynamic: license-file
|
|
40
40
|
|
|
41
|
-
#
|
|
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.
|
|
@@ -193,10 +193,10 @@ coord/dashboard/webapp/dist/index.html
|
|
|
193
193
|
coord/dashboard/webapp/dist/manifest.webmanifest
|
|
194
194
|
coord/dashboard/webapp/dist/sw.js
|
|
195
195
|
coord/dashboard/webapp/dist/workbox-e4022e15.js
|
|
196
|
-
coord/dashboard/webapp/dist/assets/Gallery-
|
|
196
|
+
coord/dashboard/webapp/dist/assets/Gallery-BoKs3mpY.js
|
|
197
197
|
coord/dashboard/webapp/dist/assets/Terminal-9CEnUXvW.css
|
|
198
|
-
coord/dashboard/webapp/dist/assets/Terminal-
|
|
199
|
-
coord/dashboard/webapp/dist/assets/index-
|
|
198
|
+
coord/dashboard/webapp/dist/assets/Terminal-CEsP08iX.js
|
|
199
|
+
coord/dashboard/webapp/dist/assets/index-CDHPlB6k.js
|
|
200
200
|
coord/dashboard/webapp/dist/assets/index-Dq4kwTdw.css
|
|
201
201
|
coord/dashboard/webapp/dist/assets/workbox-window.prod.es5-BqEJf4Xk.js
|
|
202
202
|
coord/dashboard/webapp/dist/icons/icon-192.png
|
|
@@ -745,6 +745,7 @@ tests/test_usage_rollup.py
|
|
|
745
745
|
tests/test_venv_live_install_2121.py
|
|
746
746
|
tests/test_version_single_source.py
|
|
747
747
|
tests/test_watch.py
|
|
748
|
+
tests/test_windows_job_is_a_real_gate_2000.py
|
|
748
749
|
tests/test_worker_events.py
|
|
749
750
|
tests/test_worker_image_pin_sync.py
|
|
750
751
|
tests/test_worker_safety.py
|
{code_coordinator-0.5.109 → code_coordinator-0.5.111}/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",
|
|
@@ -124,13 +124,13 @@ def _resolve_version(names: tuple[str, ...] = CANDIDATE_NAMES) -> str:
|
|
|
124
124
|
version literal; a release is just ``git tag vX.Y.Z && git push origin
|
|
125
125
|
vX.Y.Z``.
|
|
126
126
|
|
|
127
|
-
#2103: resolves through :func:`coord.dist_name.resolve_installed`
|
|
128
|
-
than a
|
|
129
|
-
``/health``'s ``"version"`` field reports, which is the *only*
|
|
130
|
-
``coord agent update``'s polling loop keys off of to decide a
|
|
131
|
-
"came back". A
|
|
132
|
-
``"0+unknown"``
|
|
133
|
-
|
|
127
|
+
#2103/#2106: resolves through :func:`coord.dist_name.resolve_installed`
|
|
128
|
+
rather than a hardcoded distribution name literal — ``__version__`` is
|
|
129
|
+
what ``/health``'s ``"version"`` field reports, which is the *only*
|
|
130
|
+
field ``coord agent update``'s polling loop keys off of to decide a
|
|
131
|
+
machine "came back". A hardcoded literal here would need editing at the
|
|
132
|
+
next rename and would degrade to ``"0+unknown"`` on every machine in
|
|
133
|
+
between, faking a fleet-wide "did not come back".
|
|
134
134
|
|
|
135
135
|
#2010: for a wheel install that metadata is always correct — it's a
|
|
136
136
|
frozen snapshot of a build that just happened. For an *editable*
|
|
@@ -36,14 +36,13 @@ def _agent_pkg_spec() -> str:
|
|
|
36
36
|
`[server]` extra — a bare upgrade would, on a fresh venv, leave the
|
|
37
37
|
agent without starlette/uvicorn and dead on the next restart.
|
|
38
38
|
|
|
39
|
-
#2103: resolved
|
|
40
|
-
`claude-coordinator`
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
tried, instead of guessing.
|
|
39
|
+
#2103/#2106: resolved via `coord.dist_name` rather than a hardcoded
|
|
40
|
+
`claude-coordinator[server]` — installing the wrong name either 404s
|
|
41
|
+
against PyPI or, worse, silently reinstalls a stale package.
|
|
42
|
+
Deliberately NOT caught here: if the name doesn't resolve, the caller
|
|
43
|
+
(`_do_update`'s existing try/except) turns that into an explicit
|
|
44
|
+
`last_update.json` failure naming what was expected, instead of
|
|
45
|
+
guessing.
|
|
47
46
|
"""
|
|
48
47
|
return _dist_pkg_spec(extra="server")
|
|
49
48
|
|
|
@@ -82,18 +81,18 @@ def _installed_version() -> str | None:
|
|
|
82
81
|
process hasn't restarted since the last update" apart from "the update
|
|
83
82
|
never happened".
|
|
84
83
|
|
|
85
|
-
#2103:
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
84
|
+
#2103/#2106: resolves via ``coord.dist_name`` (see that module) rather
|
|
85
|
+
than hardcoding the distribution name — installing under a name this
|
|
86
|
+
process doesn't query used to make a fully-updated agent report
|
|
87
|
+
``None`` here, the exact false negative behind the fleet's
|
|
88
|
+
most-recurring `✗ did not come back`.
|
|
90
89
|
|
|
91
90
|
This is a *report* site, not an *act* site (contrast `_agent_pkg_spec`,
|
|
92
91
|
which deliberately lets `DistributionNotFoundError` propagate): callers
|
|
93
92
|
already fall back to the literal string `"unknown"` when this returns
|
|
94
|
-
`None`, so
|
|
95
|
-
|
|
96
|
-
|
|
93
|
+
`None`, so a miss isn't silently swallowed end to end — but it's still
|
|
94
|
+
logged here, naming what was expected, rather than disappearing into a
|
|
95
|
+
bare `None` with no trace of why.
|
|
97
96
|
"""
|
|
98
97
|
try:
|
|
99
98
|
return resolve_installed().version
|
|
@@ -414,12 +413,11 @@ def _detect_install_mode() -> tuple[bool, str | None]:
|
|
|
414
413
|
``pip install -e .``). *project_path* is the on-disk source directory for
|
|
415
414
|
editable installs, or *None* for regular (site-packages) installs.
|
|
416
415
|
|
|
417
|
-
#2103: ``pip show`` needs an exact distribution name, so this
|
|
418
|
-
which
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
fleet's mid-rename.
|
|
416
|
+
#2103/#2106: ``pip show`` needs an exact distribution name, so this
|
|
417
|
+
resolves which name is actually installed (see ``coord.dist_name``)
|
|
418
|
+
first rather than hardcoding one — asking `pip show` for a name
|
|
419
|
+
nothing is installed under always reports "not editable", which would
|
|
420
|
+
misreport a real editable install.
|
|
423
421
|
"""
|
|
424
422
|
dist_name = resolve_installed_name()
|
|
425
423
|
if dist_name is None:
|
|
@@ -538,17 +538,15 @@ def _smoke_check(slot: Path, *, target_version: str | None) -> tuple[bool, str |
|
|
|
538
538
|
mechanism :func:`_installed_version` uses) so a single subprocess call
|
|
539
539
|
covers both "does it import" and "what version is this."
|
|
540
540
|
|
|
541
|
-
#2103: the version print resolves via
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
``coord.agent_app._agent_pkg_spec``), so a
|
|
546
|
-
raise inside the new slot's own interpreter
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
genuinely broken, which is exactly what a failed smoke check should
|
|
551
|
-
report.
|
|
541
|
+
#2103/#2106: the version print resolves via
|
|
542
|
+
``coord.dist_name.resolve_installed`` rather than a hardcoded
|
|
543
|
+
``m.version('claude-coordinator')`` — *slot* was just installed from a
|
|
544
|
+
pkg spec that itself resolves via the same module (see
|
|
545
|
+
``coord.agent_app._agent_pkg_spec``), so a name mismatch here would
|
|
546
|
+
raise inside the new slot's own interpreter for no reason. Raising when
|
|
547
|
+
the name isn't installed at all is still the right behavior here (not
|
|
548
|
+
caught) — that means the fresh install is genuinely broken, which is
|
|
549
|
+
exactly what a failed smoke check should report.
|
|
552
550
|
"""
|
|
553
551
|
python = slot / "bin" / "python"
|
|
554
552
|
coord_bin = slot / "bin" / "coord"
|
|
@@ -255,21 +255,17 @@ def _warn_if_source_install_drift() -> None:
|
|
|
255
255
|
if staleness["days_behind"] is not None
|
|
256
256
|
else ""
|
|
257
257
|
)
|
|
258
|
-
# #2103: suggest an upgrade of
|
|
259
|
-
#
|
|
260
|
-
#
|
|
261
|
-
#
|
|
262
|
-
#
|
|
263
|
-
#
|
|
264
|
-
#
|
|
265
|
-
#
|
|
266
|
-
#
|
|
267
|
-
#
|
|
268
|
-
# `
|
|
269
|
-
# another version. `_dist_pkg_spec` is the module-level
|
|
270
|
-
# `coord.dist_name` import above (real module, independent of
|
|
271
|
-
# `_coord` here potentially being a test stand-in), so this
|
|
272
|
-
# doesn't depend on `coord.dist_name` already being cached.
|
|
258
|
+
# #2103/#2106: suggest an upgrade of the installed distribution
|
|
259
|
+
# name (`code-coordinator`), resolved via `coord.dist_name`
|
|
260
|
+
# rather than hardcoded. `_coord.__file__` is already confirmed
|
|
261
|
+
# above to be a real site-packages install, so resolution is
|
|
262
|
+
# guaranteed to succeed here; the literal fallback only guards a
|
|
263
|
+
# resolution race between that check and this one — the only
|
|
264
|
+
# way to reach it is "the distribution vanished between the two
|
|
265
|
+
# checks". `_dist_pkg_spec` is the module-level `coord.dist_name`
|
|
266
|
+
# import above (real module, independent of `_coord` here
|
|
267
|
+
# potentially being a test stand-in), so this doesn't depend on
|
|
268
|
+
# `coord.dist_name` already being cached.
|
|
273
269
|
try:
|
|
274
270
|
install_target = _dist_pkg_spec(extra="server")
|
|
275
271
|
except Exception: # noqa: BLE001 — best-effort, never break the CLI
|