code-coordinator 0.5.55__tar.gz → 0.5.57__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.55/code_coordinator.egg-info → code_coordinator-0.5.57}/PKG-INFO +1 -1
- {code_coordinator-0.5.55 → code_coordinator-0.5.57/code_coordinator.egg-info}/PKG-INFO +1 -1
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/code_coordinator.egg-info/SOURCES.txt +5 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/code_coordinator.egg-info/scm_file_list.json +5 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/code_coordinator.egg-info/scm_version.json +2 -2
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/cli.py +4 -0
- code_coordinator-0.5.57/coord/commands/portal.py +120 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/config.py +118 -0
- code_coordinator-0.5.57/coord/portal_bridge.py +350 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/smoke.py +13 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coordinator.example.yml +29 -0
- code_coordinator-0.5.57/tests/test_cli_portal.py +163 -0
- code_coordinator-0.5.57/tests/test_portal_bridge.py +296 -0
- code_coordinator-0.5.57/tests/test_portal_config.py +124 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_smoke.py +58 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/.claude/commands/board.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/.claude/commands/complete-session.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/.claude/commands/coordinator.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/.githooks/_lib.sh +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/.githooks/post-checkout +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/.githooks/post-commit +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/.githooks/post-merge +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/.github/workflows/auto-release.yml +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/.github/workflows/cargo-test.yml +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/.github/workflows/publish.yml +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/.github/workflows/release-tui.yml +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/.github/workflows/test.yml +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/.gitignore +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/CLAUDE.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/GOAL.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/LICENSE +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/MANIFEST.in +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/README.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/code_coordinator.egg-info/dependency_links.txt +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/code_coordinator.egg-info/entry_points.txt +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/code_coordinator.egg-info/requires.txt +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/code_coordinator.egg-info/top_level.txt +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/__init__.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/_board_mapping.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/acceptance.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/acceptance_drivers.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/agent.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/agent_app.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/agent_update.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/agents/opencode/.gitignore +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/agents/opencode/agents/work.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/agents/opencode/routing.jsonc +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/audit.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/auto_loop.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/board_bool_guard.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/board_service.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/board_wire.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/brain.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/branch_model.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/bug_intake.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/cargo_cache.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/ci_github.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/ci_store.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/claim.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/client.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/commands/__init__.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/commands/_common.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/commands/acceptance.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/commands/agent_ops.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/commands/audit.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/commands/chat.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/commands/dispatch.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/commands/dispatch_workers.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/commands/drive.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/commands/drive_queue.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/commands/gate_a.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/commands/gates.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/commands/issues.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/commands/lifecycle.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/commands/merge.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/commands/milestone.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/commands/plan_followup.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/commands/plans.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/commands/release.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/commands/report.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/commands/review.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/commands/scorecard.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/commands/sessions.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/commands/setup.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/commands/status.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/commands/terminal.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/commands/test_gate.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/commands/tui.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/comments.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/conflict_fix.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dao.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/__init__.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/fixture.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/index.html +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/server.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/terminal.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/.gitignore +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/components.json +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/dist/assets/Gallery-da3qNiIw.js +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/dist/assets/Terminal-9CEnUXvW.css +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/dist/assets/Terminal-skVFCxPU.js +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/dist/assets/index-DltfZR5f.js +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/dist/assets/index-Dq4kwTdw.css +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/dist/assets/workbox-window.prod.es5-BqEJf4Xk.js +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/dist/icons/icon-192.png +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/dist/icons/icon-512.png +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/dist/icons/icon.svg +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/dist/index.html +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/dist/manifest.webmanifest +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/dist/sw.js +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/dist/workbox-e4022e15.js +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/e2e/available-gates-terminal.spec.ts +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/e2e/deep-link.spec.ts +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/e2e/fixtureServer.ts +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/e2e/live-update-fixture.spec.ts +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/e2e/realtime.spec.ts +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/e2e/shell.spec.ts +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/e2e/smoke.spec.ts +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/e2e/terminal.spec.ts +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/e2e/theme.spec.ts +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/eslint.config.js +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/index.html +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/node_modules/flatted/python/flatted.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/package-lock.json +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/package.json +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/playwright.acceptance.config.ts +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/playwright.config.ts +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/postcss.config.js +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/public/icons/icon-192.png +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/public/icons/icon-512.png +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/public/icons/icon.svg +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/App.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/api/client.ts +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/api/generated.ts +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/components/ConnectionBadge.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/components/Detail.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/components/Gallery.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/components/Home.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/components/MobileKeyBar.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/components/PanelHeader.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/components/PipelineCard.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/components/SessionCard.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/components/SessionDetail.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/components/SessionsList.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/components/Terminal.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/components/__tests__/ConnectionBadge.test.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/components/__tests__/Detail.test.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/components/__tests__/Gallery.test.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/components/__tests__/Home.test.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/components/__tests__/MobileKeyBar.test.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/components/__tests__/PipelineCard.test.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/components/__tests__/SessionCard.test.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/components/__tests__/Terminal.test.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/components/ui/badge.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/components/ui/button.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/components/ui/card.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/components/ui/dialog.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/components/ui/dropdown-menu.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/components/ui/empty-state.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/components/ui/sheet.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/components/ui/skeleton.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/components/ui/tabs.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/components/ui/theme-provider.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/components/ui/theme-toggle.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/components/ui/toast.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/components/ui/toaster.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/components/ui/tooltip.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/components/ui/use-toast.ts +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/index.css +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/lib/pipeline.ts +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/lib/utils.ts +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/main.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/realtime/RealtimeProvider.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/realtime/__tests__/RealtimeProvider.test.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/realtime/__tests__/connection.test.ts +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/realtime/connection.ts +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/realtime/events.ts +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/routes/__tests__/paths.test.ts +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/routes/paths.ts +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/shell/ActivityRail.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/shell/AppShell.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/shell/ComingSoon.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/shell/EmptyDetail.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/shell/RouteNotFound.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/shell/ShellLayout.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/shell/StatusBar.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/shell/__tests__/ShellLayout.test.tsx +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/shell/__tests__/shellState.test.ts +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/shell/__tests__/stubViewport.ts +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/shell/breakpoints.ts +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/shell/railItems.ts +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/shell/shellState.ts +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/shell/useRegionFocus.ts +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/test-setup.ts +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/src/vite-env.d.ts +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/tailwind.config.js +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/tsconfig.json +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/tsconfig.node.json +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dashboard/webapp/vite.config.ts +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/db.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dead_end.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/deploy/README.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/deploy/coord-agent.service +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/deploy/coord-db-backup.service +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/deploy/coord-db-backup.sh +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/deploy/coord-db-backup.timer +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/deploy/coord-drive-queue.service +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/deploy/coord-drive-queue.timer +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/deploy/coord-notify.service +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/deploy/coord-notify.timer +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/deploy/coord-release-propagate.service +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/deploy/coord-release-propagate.timer +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/deploy/coord-release-window.service +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/deploy/coord-release-window.timer +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/deploy/coord-serve.service +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/deploy/coord-web-dist-build.service +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/deploy/coord-web-dist-build.timer +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/deploy/coord-web.service +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/deploy_manifest.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/deploy_units.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/deps.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/diagnose.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dispatch.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/dist_name.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/drive.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/drive_queue.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/drive_state.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/events.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/failure_class.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/filelock.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/fleet_config_health.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/freshness.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/gate_a.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/gate_b.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/gate_snapshot.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/gates.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/github_ops.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/goal.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/graph_health.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/health/__init__.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/health/aggregate.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/health/checks/__init__.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/health/checks/agent_install.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/health/checks/cargo_targets.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/health/checks/claude_binary.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/health/checks/deploy_lane_facts.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/health/checks/disk.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/health/checks/fleet_board.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/health/checks/fleet_deploy_lanes.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/health/checks/fleet_phantom.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/health/checks/fleet_unit_drift.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/health/checks/graph.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/health/checks/plan_usage.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/health/checks/repo_state.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/health/checks/spawned_coord.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/health/checks/timer_active.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/health/checks/toolchain.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/health/checks/unit_drift.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/health/checks/unit_enablement.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/health/checks/worktrees.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/health/cli.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/health/context.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/health/fleet_snapshot.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/health/models.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/health/pypi.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/health/registry.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/health/render.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/health/units.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/hooks.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/housekeeping.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/interactive.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/issue_store.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/liveness_auditor.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/machine_pause.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/merge_queue.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/milestone_chat.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/milestone_dispatch.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/milestone_gate.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/milestone_order.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/mock_author.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/models.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/network.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/new_issue_chat.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/notifier/__init__.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/notifier/baseline.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/notifier/cli.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/notifier/collect.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/notifier/digest.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/notifier/models.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/notifier/predicate.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/notifier/service.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/notifier/store.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/notifier/transport.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/notify.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/openapi.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/overlap_fence.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/parentage.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/parentage_github.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/pipeline.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/plan_parser.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/plans.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/platform_paths.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/pr_body_lint.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/prereqs.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/progress.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/providers/__init__.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/providers/base.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/providers/claude.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/providers/claude_pty.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/providers/opencode.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/reconcile.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/refine_chat.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/release_cordon.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/release_propagate.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/release_verify.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/release_window.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/reports.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/revalidate.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/review.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/scorecard.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/serve_app.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/skills/update-issue/SKILL.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/spend_ceiling.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/split_work.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/stage_projection.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/state.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/test_author.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/test_chat.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/test_orchestrator.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/test_report.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/tui_release.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/usage.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/usage_limits.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/usage_rollup.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/coord/worker_events.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/deploy/coord-agent.service +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/deploy/coord-db-backup.service +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/deploy/coord-db-backup.sh +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/deploy/coord-db-backup.timer +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/deploy/coord-drive-queue.service +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/deploy/coord-drive-queue.timer +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/deploy/coord-notify.service +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/deploy/coord-notify.timer +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/deploy/coord-release-propagate.service +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/deploy/coord-release-propagate.timer +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/deploy/coord-release-window.service +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/deploy/coord-release-window.timer +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/deploy/coord-serve.service +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/deploy/coord-web-dist-build.service +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/deploy/coord-web-dist-build.sh +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/deploy/coord-web-dist-build.timer +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/deploy/coord-web-rollback.sh +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/deploy/coord-web.service +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/deploy/node-shim.sh +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/docs/AGENT_OPERATIONS.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/docs/ARCHITECTURE.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/docs/ARCH_SECURITY_GATES.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/docs/COCKPIT.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/docs/CONTROL_CENTER.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/docs/CROSS_PLATFORM.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/docs/CUSTOMER_PORTAL.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/docs/DRIVE_QUEUE.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/docs/EPHEMERAL_WORKERS.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/docs/FORGE_MIGRATION.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/docs/GRAPHIFY_SETUP.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/docs/ISSUE_GUIDANCE.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/docs/MAC_MINI.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/docs/MERGE_AUTO_DRAIN_TRUST_BAR.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/docs/NOTIFIER.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/docs/OPENCODE_VERIFICATION.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/docs/OPERATING_GOTCHAS.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/docs/ORACLE_LOOP.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/docs/PHONE_WEBAPP.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/docs/PIPELINE_V2.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/docs/PLATFORM_EVOLUTION.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/docs/SECOND_BACKEND.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/docs/STORE_SERVICE.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/docs/TEST_FIRST_BUG_LANE.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/docs/WEB_CONTROL_CENTER.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/docs/mocks/web/README.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/docs/mocks/web/_tokens.css +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/docs/mocks/web/issue-detail.html +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/docs/mocks/web/pipeline-narrow.html +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/docs/mocks/web/pipeline-wide.html +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/graphify-out/.gitignore +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/install-agent.sh +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/pyproject.toml +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/scripts/audit_review_verdict_overrides.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/scripts/azure-workers/bootstrap-shared.sh +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/scripts/azure-workers/build-worker-image.sh +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/scripts/azure-workers/coordinator-machine.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/scripts/azure-workers/epic-down.sh +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/scripts/azure-workers/epic-up.sh +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/scripts/azure-workers/preflight.sh +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/scripts/azure-workers/provision-worker.sh +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/scripts/azure-workers/scrub-and-generalize.sh +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/scripts/azure-workers/tailnet-acl.hujson +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/scripts/azure-workers/verify-github-token.sh +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/scripts/codegen.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/scripts/coord-test-runner.sh +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/scripts/drive-batch.sh +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/scripts/gen_board_fixture.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/scripts/next_release_tag.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/scripts/run_tests_in_populated_home.sh +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/scripts/run_tests_without_gh.sh +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/scripts/smoke_437_interactive.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/scripts/verify_878_review_capture.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/scripts/verify_release_published.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/scripts/verify_release_wheel.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/setup.cfg +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/SMOKE_SET.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/__init__.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/acceptance/ms-33/audit_1039.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/acceptance/ms-33/contract.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/acceptance/ms-33/manifest.yml +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/acceptance/ms-33/mocks/audit-panel-detail.screen +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/acceptance/ms-33/mocks/audit-panel-empty.screen +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/acceptance/ms-33/mocks/audit-panel-filters.screen +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/acceptance/ms-33/mocks/audit-panel-populated.screen +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/acceptance/ms-37/conftest.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/acceptance/ms-37/contract.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/acceptance/ms-37/manifest.yml +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/acceptance/ms-37/test_usage_cli_1115.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/acceptance/ms-37/test_usage_core_1118.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/acceptance/ms-38/contract.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/acceptance/ms-38/manifest.yml +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/acceptance/ms-38/mocks/plans-base.screen +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/acceptance/ms-38/mocks/plans-detail-pane.screen +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/acceptance/ms-38/mocks/plans-help-overlay.screen +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/acceptance/ms-38/mocks/plans-palette.screen +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/acceptance/ms-38/mocks/plans-rightclick-epic.screen +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/acceptance/ms-38/mocks/plans-rightclick-header.screen +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/acceptance/ms-38/mocks/plans-rightclick-stub.screen +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/acceptance/ms-38/plans_detail_1122.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/acceptance/ms-38/plans_help_1124.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/acceptance/ms-38/plans_rightclick_1123.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/acceptance/ms-51/contract.md +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/acceptance/ms-51/home-active-extended.spec.ts +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/acceptance/ms-51/home-active.spec.ts +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/acceptance/ms-51/manifest.yml +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/acceptance/ms-51/mocks/home-active.html +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/acceptance/ms-51/tsconfig.json +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/acceptance/ms-example/mocks/home-active.html +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/conftest.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/fixtures/board-pipeline-basic.json +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/fixtures/board-pipeline-terminal-gates.json +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/fixtures/opencode_run_failure_sample.jsonl +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/fixtures/opencode_run_sample.jsonl +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/fixtures/playwright/all_pass.json +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/fixtures/playwright/global_setup_crash.json +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/fixtures/playwright/mixed_fail.json +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/fixtures/playwright/retry_then_pass.json +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/fixtures/playwright/retry_then_pass.junit.xml +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/fixtures/playwright/skip.json +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/fixtures/playwright/truncated.json +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/fixtures/test_report/cargo_compile_error.txt +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/fixtures/test_report/cargo_multi_target_failures.txt +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/fixtures/test_report/cargo_no_parseable_failures.txt +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/fixtures/test_report/pytest_collection_error.txt +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/fixtures/test_report/pytest_error_string_in_body.txt +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/fixtures/test_report/pytest_internal_error.txt +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/fixtures/test_report/pytest_mixed_failures.txt +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/fixtures/test_report/pytest_no_parseable_failures.txt +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_acceptance.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_acceptance_drivers.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_agent.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_agent_api_error.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_agent_app.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_agent_branch_base.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_agent_branch_capture.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_agent_config_free_1712.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_agent_deploy_units_endpoint.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_agent_dirty_worktree.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_agent_graph_self_heal.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_agent_health_h3.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_agent_idle_restart.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_agent_push_failure.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_agent_reap.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_agent_repos_and_pull.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_agent_restart_services_endpoint.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_agent_startup_diagnostics.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_agent_update.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_agent_update_bluegreen.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_agent_usage_limit.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_agent_zero_commit.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_ambient_home_isolation.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_approve_reject_plan.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_approve_usage_gate.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_assignment_already_recorded_daemon.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_audit_log.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_audit_outcome.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_audit_query.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_auto_loop.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_auto_release_publish_2035.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_base_checkout_restore.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_board_cap_762.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_board_fixture.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_board_read_path.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_board_service.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_board_state.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_board_wire.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_brain.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_branch_model.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_bug_intake.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_build_worker_image_env_update.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cargo_cache.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_ci_acceptance_gate_1950.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_ci_store.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_claim.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_acceptance.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_assign.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_assign_interactive_oracle_gate.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_assign_interactive_remote.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_assign_provider.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_audit.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_chat_continue.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_diagnose_config_provenance.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_diagnose_graph.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_doctor.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_doctor_config_free_1801.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_doctor_config_mismatch_1712.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_drive.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_drive_queue.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_escalate.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_fix_headless_review.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_gate_a.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_install_drift.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_install_skills.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_issue_create_label.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_issue_reopen.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_merge.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_milestone_assign.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_milestone_capture.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_milestone_chat_add_child.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_milestone_dispatch.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_milestone_gate_b.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_milestone_gate_c.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_milestone_order.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_milestone_remove_and_issue_close.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_milestone_ship.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_network.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_new_issue_chat.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_plans.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_pull_artifact.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_queue.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_reattach_sessions.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_refine_board.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_release_preflight.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_release_propagate.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_release_window.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_scorecard.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_set_review_findings.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_status_advisory_terminal.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_status_merge_queue.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_status_provider.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_status_review_finalizing.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_status_test_failed_tag.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_status_usage_limit.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_sync_comments_873.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_test_plan.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_track.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_tui_update.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cli_wait.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_client_base_install.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_comments.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_completion_summary.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_config.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_config_acceptance.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_config_audit.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_config_pricing.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_config_usage_gate.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_conflict_fix.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_conflict_fix_semantic.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_coord_test.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_coord_test_runner_baseline.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_coord_test_runner_routing.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_coord_test_runner_toolchain.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_coord_web_sse_restart_live.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_coordinator_machine.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_cross_platform_imports.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_dashboard.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_dashboard_fixture.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_dashboard_terminal.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_dashboard_terminal_live.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_db.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_dead_end.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_deploy_coord_db_backup.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_deploy_coord_web_dist.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_deploy_coord_web_rollback.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_deploy_drive_queue_unit.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_deploy_manifest.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_deploy_units_lane.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_deploy_web_unit.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_deps.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_diagnose.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_dispatch.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_dispatch_target_validation.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_dist_name.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_done_housekeeping.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_drive.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_drive_queue.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_drive_state.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_drive_tmux.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_epic_up_capability_detection.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_epic_up_down_symlinked_config_1887.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_epic_up_image_provenance.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_errors.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_events.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_failure_class.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_filelock.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_finalize_interactive_exit_test_verdict.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_fix_of_force_override.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_fleet_config_health.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_fleet_health_probes.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_fleet_health_snapshot.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_freshness.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_gate_a.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_gate_b.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_gate_snapshot_staleness.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_gates.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_generated_types_fixture.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_github_ops.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_goal.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_graph_health.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_handoff.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_health_checks.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_health_cli.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_health_cli_graph.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_health_config.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_health_context.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_health_deploy_lane_facts.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_health_incident_regression.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_health_pypi.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_health_registry.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_health_timer_active.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_health_toolchain.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_health_unit_drift.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_health_unit_enablement.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_hooks.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_human_attended_437.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_init.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_integration.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_interactive_briefing_echo.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_interactive_prefill_state.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_interactive_session_relaunch.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_interactive_test_verdict_backstop.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_interactive_token_attribution.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_interactive_worktree.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_issue_store_seam.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_liveness_auditor.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_liveness_notify.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_machine_pause.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_merge_queue.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_merge_verify.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_milestone_chat.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_milestone_dispatch.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_milestone_gate.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_milestone_order.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_milestone_seam.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_mock_author.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_model_tiering.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_models.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_models_config_labels.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_needs_attention.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_network.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_new_issue_chat.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_next_release_tag.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_no_direct_gh_calls.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_node_shim.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_notifier_baseline.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_notifier_cli.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_notifier_collect.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_notifier_config.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_notifier_drive_seam.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_notifier_isolation.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_notifier_predicate.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_notifier_quiet_hours.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_notifier_service.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_notify.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_notify_drain.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_openapi.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_operational_defaults.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_overlap_fence.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_packaged_deploy_units.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_parentage.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_paste_landed.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_pipeline.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_plan_followup_approve_plan_command.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_plan_followup_pr_command.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_plan_followup_review_command.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_plan_only.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_plan_parser.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_platform_paths.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_pr_body_lint.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_prereqs.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_production_db_guard.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_progress.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_provider_seam.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_providers.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_providers_config_labels.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_providers_pty.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_quiet_hours.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_quiet_hours_store_2146.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_reap_merged_sessions.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_reap_stale_interactive_tick.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_reconcile_branch.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_reconcile_completions.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_reconcile_merges.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_reconcile_usage_limit_done.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_refine_chat.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_release_cordon_2101.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_release_propagate.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_release_unified_1242.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_release_verify.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_release_window.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_remote_auto_prune.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_remote_interactive_reaper.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_report_result_push.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_reports.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_retry.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_retry_advisory_1606.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_retry_type_1636.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_revalidate.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_review.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_review_end_review_without_verdict.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_review_parse_failure_diagnostic.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_review_reaffirm.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_review_state.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_review_verdict_backstop.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_review_verdict_override_audit.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_review_verdict_relay.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_review_zero_commits.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_scoped_review_wiring.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_scorecard.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_serve.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_serve_app_board_trim.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_session.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_slice_issue_attribution.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_smoke_live_checkout_restore.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_smoke_workflow.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_spend_ceiling.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_spend_ceiling_coordinator.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_split.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_split_work.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_stage_projection.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_stalled_pipeline.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_state.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_state_review_findings_daemon.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_status_fleet_footer.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_stop_1567.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_stuck.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_terminal_command.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_test_author.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_test_chat.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_test_orchestrator.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_test_report.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_test_verdict_parsing.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_test_verdict_transcript_floor.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_thin_client_board_audit.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_thin_client_config_load_1080.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_thin_client_daemon_routing_906.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_tmux_host.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_tmux_session.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_transcript_floor.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_usage.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_usage_limits.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_usage_rollup.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_venv_live_install_2121.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_version_single_source.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_watch.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_worker_events.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_worker_image_pin_sync.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_worker_safety.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_worktree.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tests/test_worktree_rmtree_chokepoint.py +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/Cargo.lock +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/Cargo.toml +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/cargo-config-local-quadraui.toml.example +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/src/app/audit.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/src/app/chat.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/src/app/data.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/src/app/dialogs.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/src/app/drive.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/src/app/drive_queue.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/src/app/escalation.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/src/app/events.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/src/app/fixtures.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/src/app/fleet_health.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/src/app/fleet_sessions.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/src/app/fleet_terminals.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/src/app/format.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/src/app/milestone_dag.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/src/app/mod.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/src/app/msv.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/src/app/pipeline.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/src/app/plans.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/src/app/render.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/src/app/reports.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/src/app/sessions.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/src/app/settings_ui.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/src/app/sidebar.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/src/app/terminal.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/src/app/tests.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/src/app/types.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/src/app/workspace.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/src/bin/gtk.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/src/commands.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/src/lib.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/src/main.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/src/settings.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/tests/acceptance.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/tests/cli.rs +0 -0
- {code_coordinator-0.5.55 → code_coordinator-0.5.57}/tui/tests/fixtures/board_sample.json +0 -0
|
@@ -100,6 +100,7 @@ coord/pipeline.py
|
|
|
100
100
|
coord/plan_parser.py
|
|
101
101
|
coord/plans.py
|
|
102
102
|
coord/platform_paths.py
|
|
103
|
+
coord/portal_bridge.py
|
|
103
104
|
coord/pr_body_lint.py
|
|
104
105
|
coord/prereqs.py
|
|
105
106
|
coord/progress.py
|
|
@@ -149,6 +150,7 @@ coord/commands/merge.py
|
|
|
149
150
|
coord/commands/milestone.py
|
|
150
151
|
coord/commands/plan_followup.py
|
|
151
152
|
coord/commands/plans.py
|
|
153
|
+
coord/commands/portal.py
|
|
152
154
|
coord/commands/release.py
|
|
153
155
|
coord/commands/report.py
|
|
154
156
|
coord/commands/review.py
|
|
@@ -484,6 +486,7 @@ tests/test_cli_milestone_ship.py
|
|
|
484
486
|
tests/test_cli_network.py
|
|
485
487
|
tests/test_cli_new_issue_chat.py
|
|
486
488
|
tests/test_cli_plans.py
|
|
489
|
+
tests/test_cli_portal.py
|
|
487
490
|
tests/test_cli_pull_artifact.py
|
|
488
491
|
tests/test_cli_queue.py
|
|
489
492
|
tests/test_cli_reattach_sessions.py
|
|
@@ -634,6 +637,8 @@ tests/test_plan_followup_review_command.py
|
|
|
634
637
|
tests/test_plan_only.py
|
|
635
638
|
tests/test_plan_parser.py
|
|
636
639
|
tests/test_platform_paths.py
|
|
640
|
+
tests/test_portal_bridge.py
|
|
641
|
+
tests/test_portal_config.py
|
|
637
642
|
tests/test_pr_body_lint.py
|
|
638
643
|
tests/test_prereqs.py
|
|
639
644
|
tests/test_production_db_guard.py
|
{code_coordinator-0.5.55 → code_coordinator-0.5.57}/code_coordinator.egg-info/scm_file_list.json
RENAMED
|
@@ -61,6 +61,7 @@
|
|
|
61
61
|
"coord/commands/milestone.py",
|
|
62
62
|
"coord/commands/plan_followup.py",
|
|
63
63
|
"coord/commands/plans.py",
|
|
64
|
+
"coord/commands/portal.py",
|
|
64
65
|
"coord/commands/release.py",
|
|
65
66
|
"coord/commands/report.py",
|
|
66
67
|
"coord/commands/review.py",
|
|
@@ -272,6 +273,7 @@
|
|
|
272
273
|
"coord/plan_parser.py",
|
|
273
274
|
"coord/plans.py",
|
|
274
275
|
"coord/platform_paths.py",
|
|
276
|
+
"coord/portal_bridge.py",
|
|
275
277
|
"coord/pr_body_lint.py",
|
|
276
278
|
"coord/prereqs.py",
|
|
277
279
|
"coord/progress.py",
|
|
@@ -514,6 +516,7 @@
|
|
|
514
516
|
"tests/test_cli_network.py",
|
|
515
517
|
"tests/test_cli_new_issue_chat.py",
|
|
516
518
|
"tests/test_cli_plans.py",
|
|
519
|
+
"tests/test_cli_portal.py",
|
|
517
520
|
"tests/test_cli_pull_artifact.py",
|
|
518
521
|
"tests/test_cli_queue.py",
|
|
519
522
|
"tests/test_cli_reattach_sessions.py",
|
|
@@ -664,6 +667,8 @@
|
|
|
664
667
|
"tests/test_plan_only.py",
|
|
665
668
|
"tests/test_plan_parser.py",
|
|
666
669
|
"tests/test_platform_paths.py",
|
|
670
|
+
"tests/test_portal_bridge.py",
|
|
671
|
+
"tests/test_portal_config.py",
|
|
667
672
|
"tests/test_pr_body_lint.py",
|
|
668
673
|
"tests/test_prereqs.py",
|
|
669
674
|
"tests/test_production_db_guard.py",
|
|
@@ -87,6 +87,9 @@ from coord.health.cli import health
|
|
|
87
87
|
# #1632: same arrangement for the fleet notifier — predicate, baselines,
|
|
88
88
|
# transport seam and CLI all live in coord/notifier/.
|
|
89
89
|
from coord.notifier.cli import notifier_group
|
|
90
|
+
# #2179: coord-portal sync bridge client — coord/portal_bridge.py is the
|
|
91
|
+
# client, coord/commands/portal.py is the CLI over it.
|
|
92
|
+
from coord.commands.portal import portal_group
|
|
90
93
|
from coord.commands.merge import (
|
|
91
94
|
bounce,
|
|
92
95
|
merge,
|
|
@@ -391,6 +394,7 @@ main.add_command(gates)
|
|
|
391
394
|
main.add_command(doctor)
|
|
392
395
|
main.add_command(health)
|
|
393
396
|
main.add_command(notifier_group)
|
|
397
|
+
main.add_command(portal_group)
|
|
394
398
|
main.add_command(issue_group)
|
|
395
399
|
main.add_command(context_group)
|
|
396
400
|
main.add_command(audit)
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"""``coord portal`` — exercise the coord-portal sync bridge client (#2179).
|
|
2
|
+
|
|
3
|
+
Everything that automatically decides *when* to push a status, and *which*
|
|
4
|
+
coord-side work a portal submission maps to, is out of scope here (see
|
|
5
|
+
``coord/portal_bridge.py``'s module docstring — that is follow-up work this
|
|
6
|
+
issue deliberately did not take on). What exists today is the thin client
|
|
7
|
+
plus enough CLI surface to:
|
|
8
|
+
|
|
9
|
+
* prove the credential pair actually works (``coord portal heartbeat``),
|
|
10
|
+
which is also how an operator manually verifies #2179's acceptance shape
|
|
11
|
+
end to end once ``BRIDGE_CLIENT_ID``/``BRIDGE_CLIENT_SECRET`` are set — a
|
|
12
|
+
submission's ``/deliveries`` row going ``queued`` → ``sent`` in production
|
|
13
|
+
is only reachable at all once something has pushed a status; and
|
|
14
|
+
* push one status update by hand (``coord portal push``), so a submission's
|
|
15
|
+
status can be moved even before anything automatic drives it.
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
from __future__ import annotations
|
|
19
|
+
|
|
20
|
+
import json
|
|
21
|
+
|
|
22
|
+
import click
|
|
23
|
+
|
|
24
|
+
from coord.commands._common import _CONFIG_OPTION, _load_config
|
|
25
|
+
from coord.portal_bridge import (
|
|
26
|
+
PortalBridgeError,
|
|
27
|
+
SUBMISSION_STATUSES,
|
|
28
|
+
client_from_config,
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
@click.group("portal")
|
|
33
|
+
def portal_group() -> None:
|
|
34
|
+
"""coord-portal sync bridge — status, manual push, heartbeat (#2179)."""
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
@portal_group.command("status")
|
|
38
|
+
@_CONFIG_OPTION
|
|
39
|
+
@click.option("--json", "as_json", is_flag=True, default=False)
|
|
40
|
+
def portal_status(config_path, as_json: bool) -> None:
|
|
41
|
+
"""Show whether the portal bridge is configured, without sending anything."""
|
|
42
|
+
cfg = _load_config(config_path).portal
|
|
43
|
+
payload = {
|
|
44
|
+
"enabled": cfg.enabled,
|
|
45
|
+
"base_url": cfg.base_url,
|
|
46
|
+
"credentials_set": bool(cfg.bridge_client_id and cfg.bridge_client_secret),
|
|
47
|
+
"timeout_secs": cfg.timeout_secs,
|
|
48
|
+
"max_retries": cfg.max_retries,
|
|
49
|
+
}
|
|
50
|
+
if as_json:
|
|
51
|
+
click.echo(json.dumps(payload, indent=2, sort_keys=True))
|
|
52
|
+
return
|
|
53
|
+
if not cfg.enabled:
|
|
54
|
+
click.echo("portal: disabled (no 'portal:' block, or portal.enabled: false)")
|
|
55
|
+
return
|
|
56
|
+
click.echo(f"portal: ENABLED base_url={cfg.base_url} "
|
|
57
|
+
f"credentials={'set' if payload['credentials_set'] else 'MISSING'}")
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
@portal_group.command("heartbeat")
|
|
61
|
+
@_CONFIG_OPTION
|
|
62
|
+
def portal_heartbeat(config_path) -> None:
|
|
63
|
+
"""Send one heartbeat, proving the credential pair and base_url work.
|
|
64
|
+
|
|
65
|
+
Exits non-zero on failure — a 401 here means BRIDGE_CLIENT_ID/SECRET on
|
|
66
|
+
this side do not match what the portal has (or Cloudflare Access is
|
|
67
|
+
rejecting the request before it even gets there).
|
|
68
|
+
"""
|
|
69
|
+
cfg = _load_config(config_path).portal
|
|
70
|
+
client = client_from_config(cfg)
|
|
71
|
+
if client is None:
|
|
72
|
+
click.secho(
|
|
73
|
+
"portal is not enabled — nothing to do (see `coord portal status`)",
|
|
74
|
+
fg="yellow",
|
|
75
|
+
)
|
|
76
|
+
raise SystemExit(1)
|
|
77
|
+
try:
|
|
78
|
+
ok = client.heartbeat()
|
|
79
|
+
except PortalBridgeError as exc:
|
|
80
|
+
click.secho(f"heartbeat failed: {exc}", fg="red")
|
|
81
|
+
raise SystemExit(1) from exc
|
|
82
|
+
if ok:
|
|
83
|
+
click.secho("heartbeat sent", fg="green")
|
|
84
|
+
return
|
|
85
|
+
click.secho("heartbeat sent but portal did not confirm 'ok'", fg="red")
|
|
86
|
+
raise SystemExit(1)
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
@portal_group.command("push")
|
|
90
|
+
@_CONFIG_OPTION
|
|
91
|
+
@click.argument("submission_id")
|
|
92
|
+
@click.argument("revision", type=int)
|
|
93
|
+
@click.argument("status", type=click.Choice(SUBMISSION_STATUSES))
|
|
94
|
+
def portal_push(config_path, submission_id: str, revision: int, status: str) -> None:
|
|
95
|
+
"""Push one status update by hand: SUBMISSION_ID REVISION STATUS.
|
|
96
|
+
|
|
97
|
+
REVISION must be strictly greater than whatever the portal last accepted
|
|
98
|
+
for this submission, or the push comes back `already_applied` (a
|
|
99
|
+
success, not an error — see coord-portal's src/bridge/updates.ts).
|
|
100
|
+
"""
|
|
101
|
+
cfg = _load_config(config_path).portal
|
|
102
|
+
client = client_from_config(cfg)
|
|
103
|
+
if client is None:
|
|
104
|
+
click.secho(
|
|
105
|
+
"portal is not enabled — nothing to do (see `coord portal status`)",
|
|
106
|
+
fg="yellow",
|
|
107
|
+
)
|
|
108
|
+
raise SystemExit(1)
|
|
109
|
+
try:
|
|
110
|
+
result = client.push_status(submission_id, revision, status)
|
|
111
|
+
except PortalBridgeError as exc:
|
|
112
|
+
click.secho(f"push failed: {exc}", fg="red")
|
|
113
|
+
raise SystemExit(1) from exc
|
|
114
|
+
if result.ok:
|
|
115
|
+
click.secho(f"{result.outcome}: {submission_id}@{revision} -> {status}", fg="green")
|
|
116
|
+
return
|
|
117
|
+
click.secho(
|
|
118
|
+
f"rejected: {submission_id}@{revision} -> {status} ({result.reason})", fg="red"
|
|
119
|
+
)
|
|
120
|
+
raise SystemExit(1)
|
|
@@ -1671,6 +1671,41 @@ class NotificationsConfig:
|
|
|
1671
1671
|
cold_ceiling_mins: dict[str, float] = field(default_factory=dict)
|
|
1672
1672
|
|
|
1673
1673
|
|
|
1674
|
+
@dataclass
|
|
1675
|
+
class PortalConfig:
|
|
1676
|
+
"""The outbound client to coord-portal's sync bridge (#2179, ``docs/CUSTOMER_PORTAL.md``).
|
|
1677
|
+
|
|
1678
|
+
Absent block == disabled == coord never talks to the portal — unchanged
|
|
1679
|
+
behaviour for every existing deployment, and the correct default until
|
|
1680
|
+
``BRIDGE_CLIENT_ID``/``BRIDGE_CLIENT_SECRET`` actually exist in production
|
|
1681
|
+
(they do not, as of #2179: ``wrangler secret list`` on the portal has no
|
|
1682
|
+
entry for either).
|
|
1683
|
+
|
|
1684
|
+
The portal is a third party from coord's perspective — a push failure
|
|
1685
|
+
must be retried and surfaced, never fatal to a merge or a dispatch.
|
|
1686
|
+
Nothing in :mod:`coord.portal_bridge` sits on the dispatch path; it is a
|
|
1687
|
+
client other code calls, not a check anything blocks on.
|
|
1688
|
+
"""
|
|
1689
|
+
|
|
1690
|
+
enabled: bool = False
|
|
1691
|
+
# e.g. "https://intake.heurontech.com". No default: a client pointed at
|
|
1692
|
+
# nothing by accident is worse than one that refuses to start.
|
|
1693
|
+
base_url: str | None = None
|
|
1694
|
+
# The Cloudflare Access service-token pair coord-portal's
|
|
1695
|
+
# ``isBridgeAuthorized`` requires as a matched, non-empty pair (half a
|
|
1696
|
+
# credential is not a credential, and it fails closed on exactly that).
|
|
1697
|
+
# Support ``${VAR}`` expansion (mirrors ``providers.definitions[*].env``)
|
|
1698
|
+
# so the real secret lives in the environment, never committed in
|
|
1699
|
+
# coordinator.yml.
|
|
1700
|
+
bridge_client_id: str | None = None
|
|
1701
|
+
bridge_client_secret: str | None = None
|
|
1702
|
+
timeout_secs: float = 10.0
|
|
1703
|
+
# Retries are for transient/5xx failures only — see
|
|
1704
|
+
# coord.portal_bridge.PortalBridgeClient. A 401 never retries: a bad
|
|
1705
|
+
# credential does not become a good one on attempt two.
|
|
1706
|
+
max_retries: int = 2
|
|
1707
|
+
|
|
1708
|
+
|
|
1674
1709
|
@dataclass
|
|
1675
1710
|
class Config:
|
|
1676
1711
|
repos: list[Repo]
|
|
@@ -1695,6 +1730,8 @@ class Config:
|
|
|
1695
1730
|
health: HealthConfig = field(default_factory=HealthConfig)
|
|
1696
1731
|
# #1632 — absent block == disabled == today's behaviour (silence).
|
|
1697
1732
|
notifications: NotificationsConfig = field(default_factory=NotificationsConfig)
|
|
1733
|
+
# #2179 — absent block == disabled == coord never talks to coord-portal.
|
|
1734
|
+
portal: PortalConfig = field(default_factory=PortalConfig)
|
|
1698
1735
|
path: Path | None = None
|
|
1699
1736
|
|
|
1700
1737
|
def repo(self, name: str) -> Repo | None:
|
|
@@ -1767,6 +1804,7 @@ def parse_mapping(raw: Any, *, path: Path | None = None) -> Config:
|
|
|
1767
1804
|
pricing = _parse_pricing(raw.get("pricing"))
|
|
1768
1805
|
health = _parse_health(raw.get("health"))
|
|
1769
1806
|
notifications = _parse_notifications(raw.get("notifications"))
|
|
1807
|
+
portal = _parse_portal(raw.get("portal"))
|
|
1770
1808
|
|
|
1771
1809
|
return Config(
|
|
1772
1810
|
repos=repos,
|
|
@@ -1789,6 +1827,7 @@ def parse_mapping(raw: Any, *, path: Path | None = None) -> Config:
|
|
|
1789
1827
|
pricing=pricing,
|
|
1790
1828
|
health=health,
|
|
1791
1829
|
notifications=notifications,
|
|
1830
|
+
portal=portal,
|
|
1792
1831
|
path=p,
|
|
1793
1832
|
)
|
|
1794
1833
|
|
|
@@ -3239,6 +3278,85 @@ def _expand_env_vars(value: str) -> str:
|
|
|
3239
3278
|
return _ENV_VAR_RE.sub(_replace, value)
|
|
3240
3279
|
|
|
3241
3280
|
|
|
3281
|
+
_PORTAL_PLAIN_STR_FIELDS = ("base_url",)
|
|
3282
|
+
_PORTAL_SECRET_STR_FIELDS = ("bridge_client_id", "bridge_client_secret")
|
|
3283
|
+
|
|
3284
|
+
|
|
3285
|
+
def _parse_portal(raw: Any) -> PortalConfig:
|
|
3286
|
+
"""Parse the optional ``portal:`` block from coordinator.yml (#2179).
|
|
3287
|
+
|
|
3288
|
+
An absent block returns a **disabled** :class:`PortalConfig` — unchanged
|
|
3289
|
+
behaviour for every existing deployment, and the correct default until
|
|
3290
|
+
``BRIDGE_CLIENT_ID``/``BRIDGE_CLIENT_SECRET`` exist in production.
|
|
3291
|
+
"""
|
|
3292
|
+
if raw is None:
|
|
3293
|
+
return PortalConfig()
|
|
3294
|
+
if not isinstance(raw, dict):
|
|
3295
|
+
raise ConfigError("'portal' must be a mapping")
|
|
3296
|
+
|
|
3297
|
+
cfg = PortalConfig()
|
|
3298
|
+
known = {f.name for f in fields(PortalConfig)}
|
|
3299
|
+
unknown = sorted(set(raw) - known)
|
|
3300
|
+
if unknown:
|
|
3301
|
+
raise ConfigError(
|
|
3302
|
+
f"unknown portal option(s): {', '.join(unknown)} "
|
|
3303
|
+
f"(valid: {', '.join(sorted(known))})"
|
|
3304
|
+
)
|
|
3305
|
+
|
|
3306
|
+
if "enabled" in raw:
|
|
3307
|
+
if not isinstance(raw["enabled"], bool):
|
|
3308
|
+
raise ConfigError("portal.enabled must be a boolean")
|
|
3309
|
+
cfg.enabled = raw["enabled"]
|
|
3310
|
+
|
|
3311
|
+
for key in _PORTAL_PLAIN_STR_FIELDS:
|
|
3312
|
+
if key in raw:
|
|
3313
|
+
value = raw[key]
|
|
3314
|
+
if value is not None and not isinstance(value, str):
|
|
3315
|
+
raise ConfigError(f"portal.{key} must be a string or null")
|
|
3316
|
+
if isinstance(value, str) and not value.strip():
|
|
3317
|
+
raise ConfigError(f"portal.{key} must be a non-empty string or null")
|
|
3318
|
+
setattr(cfg, key, value.strip().rstrip("/") if isinstance(value, str) else None)
|
|
3319
|
+
|
|
3320
|
+
for key in _PORTAL_SECRET_STR_FIELDS:
|
|
3321
|
+
if key in raw:
|
|
3322
|
+
value = raw[key]
|
|
3323
|
+
if value is not None and not isinstance(value, str):
|
|
3324
|
+
raise ConfigError(f"portal.{key} must be a string or null")
|
|
3325
|
+
if isinstance(value, str):
|
|
3326
|
+
# ${VAR} expansion (mirrors providers.definitions[*].env) so the
|
|
3327
|
+
# real secret lives in the environment, never committed here —
|
|
3328
|
+
# coordinator.yml is public-repo-adjacent operator config, and
|
|
3329
|
+
# these two values are exactly what coord-portal is public
|
|
3330
|
+
# about NOT holding on its own side of the boundary.
|
|
3331
|
+
value = _expand_env_vars(value).strip()
|
|
3332
|
+
if not value:
|
|
3333
|
+
raise ConfigError(f"portal.{key} must be a non-empty string or null")
|
|
3334
|
+
setattr(cfg, key, value if isinstance(value, str) else None)
|
|
3335
|
+
|
|
3336
|
+
if "timeout_secs" in raw:
|
|
3337
|
+
value = raw["timeout_secs"]
|
|
3338
|
+
if isinstance(value, bool) or not isinstance(value, (int, float)) or value <= 0:
|
|
3339
|
+
raise ConfigError("portal.timeout_secs must be a positive number")
|
|
3340
|
+
cfg.timeout_secs = float(value)
|
|
3341
|
+
|
|
3342
|
+
if "max_retries" in raw:
|
|
3343
|
+
value = raw["max_retries"]
|
|
3344
|
+
if isinstance(value, bool) or not isinstance(value, int) or value < 0:
|
|
3345
|
+
raise ConfigError("portal.max_retries must be a non-negative integer")
|
|
3346
|
+
cfg.max_retries = value
|
|
3347
|
+
|
|
3348
|
+
if cfg.enabled and not (cfg.base_url and cfg.bridge_client_id and cfg.bridge_client_secret):
|
|
3349
|
+
# Half a credential is not a credential — coord-portal's
|
|
3350
|
+
# isBridgeAuthorized takes the identical position and fails closed on
|
|
3351
|
+
# exactly this. Refuse at parse time rather than 401-looping forever.
|
|
3352
|
+
raise ConfigError(
|
|
3353
|
+
"portal.enabled is true but base_url/bridge_client_id/bridge_client_secret "
|
|
3354
|
+
"are not all set"
|
|
3355
|
+
)
|
|
3356
|
+
|
|
3357
|
+
return cfg
|
|
3358
|
+
|
|
3359
|
+
|
|
3242
3360
|
def _parse_providers(raw: Any) -> ProvidersConfig:
|
|
3243
3361
|
"""Parse the optional ``providers:`` block from coordinator.yml.
|
|
3244
3362
|
|