code-coordinator 0.5.148__tar.gz → 0.5.153__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.148 → code_coordinator-0.5.153}/PKG-INFO +1 -1
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/code_coordinator.egg-info/PKG-INFO +1 -1
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/code_coordinator.egg-info/SOURCES.txt +1 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/code_coordinator.egg-info/scm_file_list.json +1 -0
- code_coordinator-0.5.153/code_coordinator.egg-info/scm_version.json +8 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/commands/drive_queue.py +54 -10
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/drive_queue.py +13 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/merge_queue.py +16 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-65/manifest.yml +127 -0
- code_coordinator-0.5.153/tests/acceptance/ms-65/pipeline_tabs_2284.rs +778 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_drive_queue.py +59 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_drive_queue.py +110 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/src/app/data.rs +13 -1
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/src/app/dialogs.rs +147 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/src/app/doc_tabs.rs +8 -7
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/src/app/events.rs +103 -2
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/src/app/fixtures.rs +1 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/src/app/format.rs +105 -4
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/src/app/mod.rs +22 -2
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/src/app/pipeline.rs +391 -30
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/src/app/render.rs +110 -6
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/src/app/sidebar.rs +2 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/src/app/tests.rs +615 -38
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/src/app/types.rs +24 -1
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/tests/acceptance.rs +1 -0
- code_coordinator-0.5.148/code_coordinator.egg-info/scm_version.json +0 -8
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/.claude/commands/board.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/.claude/commands/complete-session.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/.claude/commands/coordinator.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/.githooks/_lib.sh +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/.githooks/post-checkout +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/.githooks/post-commit +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/.githooks/post-merge +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/.github/coord-ci-acceptance.yml +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/.github/workflows/acceptance-web.yml +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/.github/workflows/auto-release.yml +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/.github/workflows/cargo-test.yml +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/.github/workflows/publish.yml +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/.github/workflows/release-tui.yml +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/.github/workflows/test.yml +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/.gitignore +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/CLAUDE.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/GOAL.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/LICENSE +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/MANIFEST.in +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/README.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/code_coordinator.egg-info/dependency_links.txt +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/code_coordinator.egg-info/entry_points.txt +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/code_coordinator.egg-info/requires.txt +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/code_coordinator.egg-info/top_level.txt +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/__init__.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/_board_mapping.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/acceptance.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/acceptance_drivers.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/agent.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/agent_app.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/agent_update.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/agents/opencode/.gitignore +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/agents/opencode/agents/work.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/agents/opencode/routing.jsonc +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/audit.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/auto_loop.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/block_log.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/board_bool_guard.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/board_service.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/board_wire.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/brain.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/branch_model.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/bug_intake.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/cargo_cache.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/ci_github.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/ci_store.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/claim.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/cli.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/client.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/commands/__init__.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/commands/_common.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/commands/acceptance.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/commands/agent_ops.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/commands/audit.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/commands/chat.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/commands/dispatch.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/commands/dispatch_workers.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/commands/drive.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/commands/gate_a.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/commands/gates.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/commands/issues.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/commands/lifecycle.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/commands/merge.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/commands/milestone.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/commands/plan_followup.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/commands/plans.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/commands/portal.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/commands/release.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/commands/repo.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/commands/report.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/commands/review.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/commands/scorecard.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/commands/sessions.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/commands/setup.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/commands/status.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/commands/terminal.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/commands/test_gate.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/commands/tui.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/comments.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/config.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/config_reload.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/conflict_fix.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dao.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/__init__.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/fixture.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/index.html +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/server.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/terminal.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/.gitignore +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/components.json +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/dist/assets/Gallery-BoKs3mpY.js +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/dist/assets/Terminal-9CEnUXvW.css +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/dist/assets/Terminal-CEsP08iX.js +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/dist/assets/index-CDHPlB6k.js +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/dist/assets/index-Dq4kwTdw.css +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/dist/assets/workbox-window.prod.es5-BqEJf4Xk.js +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/dist/icons/icon-192.png +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/dist/icons/icon-512.png +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/dist/icons/icon.svg +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/dist/index.html +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/dist/manifest.webmanifest +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/dist/sw.js +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/dist/workbox-e4022e15.js +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/e2e/available-gates-terminal.spec.ts +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/e2e/deep-link.spec.ts +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/e2e/fixtureServer.ts +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/e2e/live-update-fixture.spec.ts +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/e2e/realtime.spec.ts +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/e2e/shell.spec.ts +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/e2e/smoke.spec.ts +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/e2e/terminal.spec.ts +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/e2e/theme.spec.ts +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/eslint.config.js +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/index.html +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/node_modules/flatted/python/flatted.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/package-lock.json +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/package.json +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/playwright.acceptance.config.ts +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/playwright.config.ts +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/postcss.config.js +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/public/icons/icon-192.png +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/public/icons/icon-512.png +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/public/icons/icon.svg +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/App.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/api/client.ts +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/api/generated.ts +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/components/ConnectionBadge.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/components/Detail.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/components/Gallery.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/components/Home.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/components/MobileKeyBar.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/components/PanelHeader.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/components/PipelineCard.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/components/SessionCard.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/components/SessionDetail.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/components/SessionsList.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/components/Terminal.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/components/__tests__/ConnectionBadge.test.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/components/__tests__/Detail.test.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/components/__tests__/Gallery.test.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/components/__tests__/Home.test.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/components/__tests__/MobileKeyBar.test.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/components/__tests__/PipelineCard.test.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/components/__tests__/SessionCard.test.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/components/__tests__/Terminal.test.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/components/ui/badge.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/components/ui/button.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/components/ui/card.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/components/ui/dialog.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/components/ui/dropdown-menu.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/components/ui/empty-state.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/components/ui/sheet.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/components/ui/skeleton.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/components/ui/tabs.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/components/ui/theme-provider.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/components/ui/theme-toggle.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/components/ui/toast.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/components/ui/toaster.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/components/ui/tooltip.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/components/ui/use-toast.ts +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/index.css +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/lib/pipeline.ts +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/lib/utils.ts +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/main.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/realtime/RealtimeProvider.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/realtime/__tests__/RealtimeProvider.test.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/realtime/__tests__/connection.test.ts +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/realtime/connection.ts +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/realtime/events.ts +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/routes/__tests__/paths.test.ts +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/routes/paths.ts +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/shell/ActivityRail.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/shell/AppShell.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/shell/ComingSoon.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/shell/EmptyDetail.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/shell/RouteNotFound.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/shell/ShellLayout.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/shell/StatusBar.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/shell/__tests__/ShellLayout.test.tsx +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/shell/__tests__/shellState.test.ts +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/shell/__tests__/stubViewport.ts +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/shell/breakpoints.ts +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/shell/railItems.ts +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/shell/shellState.ts +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/shell/useRegionFocus.ts +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/test-setup.ts +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/src/vite-env.d.ts +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/tailwind.config.js +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/tsconfig.json +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/tsconfig.node.json +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dashboard/webapp/vite.config.ts +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/db.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dead_end.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/deploy/README.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/deploy/coord-agent.service +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/deploy/coord-db-backup.service +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/deploy/coord-db-backup.sh +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/deploy/coord-db-backup.timer +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/deploy/coord-drive-queue.service +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/deploy/coord-drive-queue.timer +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/deploy/coord-notify.service +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/deploy/coord-notify.timer +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/deploy/coord-release-propagate.service +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/deploy/coord-release-propagate.timer +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/deploy/coord-release-window.service +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/deploy/coord-release-window.timer +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/deploy/coord-serve.service +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/deploy/coord-web-dist-build.service +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/deploy/coord-web-dist-build.timer +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/deploy/coord-web.service +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/deploy_manifest.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/deploy_units.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/deps.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/diagnose.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dispatch.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/dist_name.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/drive.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/drive_state.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/events.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/failure_class.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/filelock.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/fleet_config_health.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/freshness.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/gate_a.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/gate_b.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/gate_snapshot.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/gates.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/github_ops.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/goal.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/graph_health.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/health/__init__.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/health/aggregate.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/health/checks/__init__.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/health/checks/agent_install.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/health/checks/cargo_targets.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/health/checks/claude_binary.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/health/checks/deploy_lane_facts.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/health/checks/disk.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/health/checks/fleet_board.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/health/checks/fleet_deploy_lanes.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/health/checks/fleet_phantom.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/health/checks/fleet_unit_drift.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/health/checks/graph.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/health/checks/graphify_cli.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/health/checks/index_lock.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/health/checks/plan_usage.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/health/checks/repo_state.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/health/checks/spawned_coord.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/health/checks/timer_active.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/health/checks/toolchain.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/health/checks/unit_drift.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/health/checks/unit_enablement.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/health/checks/worktrees.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/health/cli.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/health/context.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/health/fleet_snapshot.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/health/models.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/health/pypi.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/health/registry.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/health/render.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/health/units.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/hooks.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/housekeeping.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/interactive.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/issue_store.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/liveness_auditor.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/machine_pause.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/milestone_chat.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/milestone_dispatch.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/milestone_gate.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/milestone_order.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/mock_author.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/models.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/network.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/new_issue_chat.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/notifier/__init__.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/notifier/baseline.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/notifier/cli.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/notifier/collect.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/notifier/digest.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/notifier/models.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/notifier/predicate.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/notifier/service.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/notifier/store.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/notifier/transport.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/notify.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/openapi.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/overlap_fence.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/overlap_predict.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/parentage.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/parentage_github.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/pipeline.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/plan_parser.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/plans.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/platform_paths.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/portal_bridge.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/portal_store.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/portal_sync.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/pr_body_lint.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/prereqs.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/progress.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/providers/__init__.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/providers/base.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/providers/claude.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/providers/claude_pty.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/providers/opencode.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/queue_diagnose.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/reconcile.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/reconcile_tick.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/refine_chat.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/release_cordon.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/release_propagate.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/release_verify.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/release_window.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/repo_edit.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/repo_onboard.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/reports.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/revalidate.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/review.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/scorecard.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/serve_app.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/skills/portal-followup/SKILL.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/skills/update-issue/SKILL.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/smoke.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/spend_ceiling.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/split_work.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/stage_projection.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/state.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/test_author.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/test_chat.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/test_orchestrator.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/test_report.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/tui_release.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/usage.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/usage_limits.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/usage_rollup.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coord/worker_events.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/coordinator.example.yml +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/deploy/coord-agent.service +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/deploy/coord-db-backup.service +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/deploy/coord-db-backup.sh +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/deploy/coord-db-backup.timer +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/deploy/coord-drive-queue.service +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/deploy/coord-drive-queue.timer +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/deploy/coord-notify.service +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/deploy/coord-notify.timer +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/deploy/coord-release-propagate.service +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/deploy/coord-release-propagate.timer +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/deploy/coord-release-window.service +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/deploy/coord-release-window.timer +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/deploy/coord-serve.service +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/deploy/coord-web-dist-build.service +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/deploy/coord-web-dist-build.sh +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/deploy/coord-web-dist-build.timer +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/deploy/coord-web-rollback.sh +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/deploy/coord-web.service +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/deploy/node-shim.sh +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/docs/ADR_COORD_WEB_DIST.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/docs/AGENT_OPERATIONS.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/docs/ARCHITECTURE.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/docs/ARCH_SECURITY_GATES.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/docs/COCKPIT.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/docs/CONTROL_CENTER.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/docs/COST_DISCIPLINE.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/docs/CROSS_PLATFORM.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/docs/CUSTOMER_PORTAL.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/docs/DRIVE_QUEUE.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/docs/EPHEMERAL_WORKERS.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/docs/FORGE_MIGRATION.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/docs/GRAPHIFY_SETUP.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/docs/ISSUE_GUIDANCE.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/docs/MAC_MINI.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/docs/MERGE_AUTO_DRAIN_TRUST_BAR.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/docs/NOTIFIER.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/docs/OPENCODE_VERIFICATION.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/docs/OPERATING_GOTCHAS.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/docs/ORACLE_LOOP.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/docs/PHONE_WEBAPP.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/docs/PIPELINE_V2.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/docs/PLATFORM_EVOLUTION.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/docs/SECOND_BACKEND.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/docs/STORE_SERVICE.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/docs/TEST_FIRST_BUG_LANE.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/docs/WEB_CONTROL_CENTER.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/docs/WSL_WINDOWS_WORKER.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/docs/mocks/web/README.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/docs/mocks/web/_tokens.css +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/docs/mocks/web/issue-detail.html +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/docs/mocks/web/pipeline-narrow.html +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/docs/mocks/web/pipeline-wide.html +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/graphify-out/.gitignore +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/install-agent.sh +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/pyproject.toml +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/scripts/audit_review_verdict_overrides.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/scripts/azure-workers/bootstrap-shared.sh +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/scripts/azure-workers/build-worker-image.sh +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/scripts/azure-workers/coordinator-machine.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/scripts/azure-workers/epic-down.sh +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/scripts/azure-workers/epic-up.sh +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/scripts/azure-workers/preflight.sh +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/scripts/azure-workers/provision-worker.sh +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/scripts/azure-workers/scrub-and-generalize.sh +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/scripts/azure-workers/tailnet-acl.hujson +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/scripts/azure-workers/verify-github-token.sh +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/scripts/codegen.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/scripts/coord-test-runner.sh +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/scripts/drive-batch.sh +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/scripts/gen_board_fixture.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/scripts/next_release_tag.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/scripts/run_tests_in_populated_home.sh +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/scripts/run_tests_without_gh.sh +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/scripts/smoke_437_interactive.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/scripts/verify_878_review_capture.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/scripts/verify_release_published.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/scripts/verify_release_wheel.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/setup.cfg +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/SMOKE_SET.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/__init__.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-33/audit_1039.rs +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-33/contract.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-33/manifest.yml +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-33/mocks/audit-panel-detail.screen +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-33/mocks/audit-panel-empty.screen +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-33/mocks/audit-panel-filters.screen +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-33/mocks/audit-panel-populated.screen +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-37/conftest.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-37/contract.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-37/manifest.yml +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-37/test_usage_cli_1115.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-37/test_usage_core_1118.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-38/contract.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-38/manifest.yml +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-38/mocks/plans-base.screen +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-38/mocks/plans-detail-pane.screen +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-38/mocks/plans-help-overlay.screen +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-38/mocks/plans-palette.screen +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-38/mocks/plans-rightclick-epic.screen +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-38/mocks/plans-rightclick-header.screen +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-38/mocks/plans-rightclick-stub.screen +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-38/plans_detail_1122.rs +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-38/plans_help_1124.rs +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-38/plans_rightclick_1123.rs +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-51/contract.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-51/home-active-extended.spec.ts +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-51/home-active.spec.ts +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-51/manifest.yml +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-51/mocks/home-active.html +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-51/tsconfig.json +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-65/board_tabs_2282.rs +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-65/board_tabs_close_2283.rs +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-65/contract.md +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-65/mocks/board-baseline-no-tabs.screen +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-65/mocks/board-pinned-3-tabs.screen +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-65/mocks/board-preview-tab.screen +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-65/mocks/board-split-side-by-side.screen +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-65/mocks/board-tab-context-menu.screen +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-65/mocks/board-tabs-help-overlay.screen +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-65/mocks/board-tabs-overflow.screen +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-65/mocks/pipeline-tabs-independent.screen +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/acceptance/ms-example/mocks/home-active.html +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/conftest.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/fixtures/board-pipeline-basic.json +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/fixtures/board-pipeline-terminal-gates.json +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/fixtures/opencode_run_failure_sample.jsonl +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/fixtures/opencode_run_length_sample.jsonl +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/fixtures/opencode_run_sample.jsonl +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/fixtures/playwright/all_pass.json +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/fixtures/playwright/global_setup_crash.json +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/fixtures/playwright/mixed_fail.json +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/fixtures/playwright/retry_then_pass.json +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/fixtures/playwright/retry_then_pass.junit.xml +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/fixtures/playwright/skip.json +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/fixtures/playwright/truncated.json +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/fixtures/test_report/cargo_compile_error.txt +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/fixtures/test_report/cargo_multi_target_failures.txt +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/fixtures/test_report/cargo_no_parseable_failures.txt +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/fixtures/test_report/pytest_collection_error.txt +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/fixtures/test_report/pytest_error_string_in_body.txt +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/fixtures/test_report/pytest_internal_error.txt +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/fixtures/test_report/pytest_mixed_failures.txt +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/fixtures/test_report/pytest_no_parseable_failures.txt +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_acceptance.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_acceptance_drivers.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_agent.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_agent_api_error.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_agent_app.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_agent_branch_base.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_agent_branch_capture.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_agent_config_free_1712.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_agent_deploy_units_endpoint.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_agent_dirty_worktree.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_agent_drive_queue_reconcile_2373.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_agent_graph_self_heal.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_agent_health_h3.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_agent_idle_restart.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_agent_push_failure.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_agent_reap.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_agent_repos_and_pull.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_agent_restart_services_endpoint.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_agent_startup_diagnostics.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_agent_update.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_agent_update_bluegreen.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_agent_usage_limit.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_agent_zero_commit.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_ambient_home_isolation.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_approve_reject_plan.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_approve_usage_gate.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_assignment_already_recorded_daemon.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_audit_log.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_audit_outcome.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_audit_query.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_auto_loop.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_auto_release_publish_2035.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_base_checkout_restore.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_block_log.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_board_cap_762.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_board_fixture.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_board_read_path.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_board_service.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_board_state.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_board_wire.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_brain.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_branch_model.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_bug_intake.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_build_worker_image_env_update.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cargo_cache.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_ci_acceptance_gate_1950.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_ci_parity_2091.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_ci_store.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_claim.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_acceptance.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_assign.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_assign_interactive_oracle_gate.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_assign_interactive_remote.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_assign_provider.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_assign_repo_drift_2219.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_audit.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_chat_continue.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_decide.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_diagnose_config_provenance.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_diagnose_graph.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_doctor.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_doctor_config_free_1801.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_doctor_config_mismatch_1712.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_drive.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_escalate.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_fix_headless_review.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_gate_a.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_install_drift.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_install_skills.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_issue_create_label.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_issue_reopen.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_merge.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_milestone_assign.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_milestone_capture.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_milestone_chat_add_child.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_milestone_dispatch.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_milestone_gate_b.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_milestone_gate_c.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_milestone_order.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_milestone_remove_and_issue_close.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_milestone_ship.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_network.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_new_issue_chat.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_plans.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_portal.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_pull_artifact.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_queue.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_reattach_sessions.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_refine_board.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_release_preflight.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_release_propagate.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_release_window.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_repo_2220.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_scorecard.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_set_review_findings.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_status_advisory_terminal.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_status_merge_queue.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_status_provider.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_status_review_finalizing.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_status_test_failed_tag.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_status_usage_limit.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_sync_comments_873.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_test_plan.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_track.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_tui_update.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cli_wait.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_client_base_install.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_comments.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_completion_summary.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_config.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_config_acceptance.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_config_audit.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_config_pricing.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_config_snapshot_noncanonical_2208.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_config_usage_gate.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_conflict_fix.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_conflict_fix_semantic.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_coord_test.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_coord_test_runner_baseline.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_coord_test_runner_populated_home.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_coord_test_runner_routing.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_coord_test_runner_toolchain.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_coord_web_sse_restart_live.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_coordinator_machine.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_cross_platform_imports.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_dashboard.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_dashboard_fixture.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_dashboard_terminal.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_dashboard_terminal_live.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_db.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_dead_end.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_deploy_coord_db_backup.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_deploy_coord_web_dist.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_deploy_coord_web_rollback.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_deploy_drive_queue_unit.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_deploy_manifest.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_deploy_units_lane.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_deploy_web_unit.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_deps.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_diagnose.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_dispatch.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_dispatch_target_validation.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_dist_name.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_done_housekeeping.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_drive.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_drive_state.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_drive_tmux.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_epic_up_capability_detection.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_epic_up_down_symlinked_config_1887.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_epic_up_image_provenance.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_errors.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_events.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_failure_class.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_filelock.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_finalize_interactive_exit_test_verdict.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_fix_of_force_override.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_fleet_config_health.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_fleet_health_probes.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_fleet_health_snapshot.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_freshness.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_gate_a.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_gate_b.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_gate_snapshot_staleness.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_gates.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_gather_fleet_tmux_sessions.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_generated_types_fixture.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_github_ops.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_goal.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_graph_health.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_graph_selfheal_absent_2237.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_handoff.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_health_checks.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_health_cli.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_health_cli_graph.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_health_config.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_health_context.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_health_deploy_lane_facts.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_health_incident_regression.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_health_pypi.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_health_registry.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_health_timer_active.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_health_toolchain.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_health_unit_drift.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_health_unit_enablement.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_hooks.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_human_attended_437.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_init.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_integration.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_interactive_briefing_echo.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_interactive_prefill_state.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_interactive_session_relaunch.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_interactive_test_verdict_backstop.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_interactive_token_attribution.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_interactive_worktree.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_issue_store_seam.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_liveness_auditor.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_liveness_notify.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_machine_pause.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_merge_queue.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_merge_verify.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_milestone_chat.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_milestone_dispatch.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_milestone_gate.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_milestone_order.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_milestone_seam.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_mock_author.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_model_tiering.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_models.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_models_config_labels.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_needs_attention.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_network.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_new_issue_chat.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_next_release_tag.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_no_direct_gh_calls.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_node_shim.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_notifier_baseline.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_notifier_cli.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_notifier_collect.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_notifier_config.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_notifier_drive_seam.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_notifier_isolation.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_notifier_predicate.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_notifier_quiet_hours.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_notifier_service.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_notify.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_notify_drain.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_openapi.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_operational_defaults.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_overlap_fence.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_overlap_predict.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_packaged_deploy_units.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_parentage.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_paste_landed.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_pipeline.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_plan_followup_approve_plan_command.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_plan_followup_pr_command.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_plan_followup_review_command.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_plan_only.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_plan_parser.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_platform_paths.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_portal_bridge.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_portal_config.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_portal_sync.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_pr_body_lint.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_prereqs.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_production_db_guard.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_progress.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_provider_seam.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_providers.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_providers_config_labels.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_providers_pty.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_quiet_hours.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_quiet_hours_store_2146.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_reap_merged_sessions.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_reap_stale_interactive_tick.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_reconcile.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_reconcile_branch.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_reconcile_completions.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_reconcile_merges.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_reconcile_no_agent_record.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_reconcile_tick.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_reconcile_usage_limit_done.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_refine_chat.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_release_cordon_2101.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_release_cordon_daemon_leads_2176.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_release_cordon_deadlock_2240.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_release_propagate.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_release_unified_1242.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_release_verify.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_release_window.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_remote_auto_prune.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_remote_interactive_reaper.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_repo_edit_2220.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_repo_graph_fleet_2237.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_repo_onboard_2220.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_report_result_push.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_reports.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_retry.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_retry_advisory_1606.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_retry_type_1636.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_revalidate.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_review.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_review_end_review_without_verdict.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_review_parse_failure_diagnostic.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_review_reaffirm.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_review_state.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_review_verdict_backstop.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_review_verdict_override_audit.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_review_verdict_relay.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_review_zero_commits.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_scoped_review_wiring.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_scorecard.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_serve.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_serve_app_board_trim.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_session.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_slice_issue_attribution.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_smoke.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_smoke_live_checkout_restore.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_smoke_workflow.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_spend_ceiling.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_spend_ceiling_coordinator.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_split.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_split_work.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_stage_projection.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_stalled_pipeline.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_state.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_state_review_findings_daemon.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_status_fleet_footer.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_stop_1567.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_stuck.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_terminal_command.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_test_author.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_test_chat.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_test_orchestrator.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_test_report.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_test_verdict_parsing.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_test_verdict_transcript_floor.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_thin_client_board_audit.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_thin_client_config_load_1080.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_thin_client_daemon_routing_906.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_tmux_host.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_tmux_session.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_transcript_floor.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_usage.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_usage_limits.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_usage_rollup.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_venv_live_install_2121.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_version_single_source.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_watch.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_windows_job_is_a_real_gate_2000.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_worker_events.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_worker_image_pin_sync.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_worker_safety.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_worker_test_scoping.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_worktree.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tests/test_worktree_rmtree_chokepoint.py +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/Cargo.lock +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/Cargo.toml +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/cargo-config-local-quadraui.toml.example +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/src/app/audit.rs +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/src/app/chat.rs +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/src/app/drive.rs +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/src/app/drive_queue.rs +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/src/app/escalation.rs +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/src/app/fleet_health.rs +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/src/app/fleet_sessions.rs +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/src/app/fleet_terminals.rs +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/src/app/milestone_dag.rs +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/src/app/msv.rs +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/src/app/plans.rs +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/src/app/reports.rs +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/src/app/sessions.rs +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/src/app/settings_ui.rs +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/src/app/terminal.rs +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/src/app/workspace.rs +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/src/bin/gtk.rs +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/src/commands.rs +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/src/lib.rs +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/src/main.rs +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/src/settings.rs +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/tests/cli.rs +0 -0
- {code_coordinator-0.5.148 → code_coordinator-0.5.153}/tui/tests/fixtures/board_sample.json +0 -0
|
@@ -796,6 +796,7 @@ tests/acceptance/ms-65/board_tabs_2282.rs
|
|
|
796
796
|
tests/acceptance/ms-65/board_tabs_close_2283.rs
|
|
797
797
|
tests/acceptance/ms-65/contract.md
|
|
798
798
|
tests/acceptance/ms-65/manifest.yml
|
|
799
|
+
tests/acceptance/ms-65/pipeline_tabs_2284.rs
|
|
799
800
|
tests/acceptance/ms-65/mocks/board-baseline-no-tabs.screen
|
|
800
801
|
tests/acceptance/ms-65/mocks/board-pinned-3-tabs.screen
|
|
801
802
|
tests/acceptance/ms-65/mocks/board-preview-tab.screen
|
{code_coordinator-0.5.148 → code_coordinator-0.5.153}/code_coordinator.egg-info/scm_file_list.json
RENAMED
|
@@ -445,6 +445,7 @@
|
|
|
445
445
|
"tests/acceptance/ms-65/mocks/board-tabs-help-overlay.screen",
|
|
446
446
|
"tests/acceptance/ms-65/mocks/board-tabs-overflow.screen",
|
|
447
447
|
"tests/acceptance/ms-65/mocks/pipeline-tabs-independent.screen",
|
|
448
|
+
"tests/acceptance/ms-65/pipeline_tabs_2284.rs",
|
|
448
449
|
"tests/acceptance/ms-example/mocks/home-active.html",
|
|
449
450
|
"tests/conftest.py",
|
|
450
451
|
"tests/fixtures/board-pipeline-basic.json",
|
|
@@ -71,6 +71,7 @@ from coord.drive_queue import (
|
|
|
71
71
|
find_cycle,
|
|
72
72
|
fired_holds,
|
|
73
73
|
is_permanent_block_reason,
|
|
74
|
+
is_unsatisfiable_prereq_reason,
|
|
74
75
|
parse_after_spec,
|
|
75
76
|
parse_key,
|
|
76
77
|
pending_probe_targets,
|
|
@@ -562,13 +563,31 @@ _BLOCKED_REMEDY = (
|
|
|
562
563
|
"actually fixed, not merely because a pre-req merged"
|
|
563
564
|
)
|
|
564
565
|
|
|
565
|
-
# #
|
|
566
|
-
# `
|
|
567
|
-
#
|
|
568
|
-
#
|
|
569
|
-
#
|
|
570
|
-
# `
|
|
571
|
-
#
|
|
566
|
+
# #2362: a `blocked` row (never `failed` — the tick's `after=` resume sweep,
|
|
567
|
+
# `coord.drive_queue._reconcile_blocked_after`, is scoped to `blocked` only)
|
|
568
|
+
# whose OWN `last_reason` IS `_resolve_prereqs`'s "queued but blocked/failed
|
|
569
|
+
# — it will never satisfy" verdict is auto re-checked every tick, and
|
|
570
|
+
# resumes to `waiting` on its own the moment every named pre-req lands.
|
|
571
|
+
# `_BLOCKED_REMEDY` above is flatly wrong for exactly this row shape (it is
|
|
572
|
+
# in fact re-checked, on its own, without an operator) — this note replaces
|
|
573
|
+
# it there instead of merely appending, mirroring #2230's own concern: an
|
|
574
|
+
# operator told "never re-checked" for a row about to self-resume would
|
|
575
|
+
# either do a needless remove+add or race the automatic one.
|
|
576
|
+
_BLOCKED_AFTER_NOTE = (
|
|
577
|
+
"remedy: {state}'s `after=` graph above IS re-checked automatically "
|
|
578
|
+
"every tick (#2362) — once every named pre-req lands (`facts.landed`), "
|
|
579
|
+
"this row resumes to `waiting` on its own, attempt budget reset; no "
|
|
580
|
+
"operator remove+add needed. See `resumes=` above if it has already "
|
|
581
|
+
"self-resumed and re-blocked for an unrelated reason."
|
|
582
|
+
)
|
|
583
|
+
|
|
584
|
+
# #2230: `blocked`'s MERGE GATE (as opposed to its `after=` graph, handled by
|
|
585
|
+
# `_BLOCKED_AFTER_NOTE`/`_BLOCKED_REMEDY` above) is no longer unconditionally
|
|
586
|
+
# terminal — see `coord.drive_queue.is_permanent_block_reason`/
|
|
587
|
+
# `_reconcile_blocked`. Shown only for `blocked` (never `failed`, which
|
|
588
|
+
# #2230 does not touch at all) so an operator reading `list` right after this
|
|
589
|
+
# ships doesn't have to go read the issue to learn their remove+add might be
|
|
590
|
+
# about to race an automatic resume.
|
|
572
591
|
_BLOCKED_GATE_NOTE = (
|
|
573
592
|
"note: a re-evaluable blocked cause (i.e. not a #1844/#2019 permanent "
|
|
574
593
|
"refusal) IS re-checked against the merge gate automatically (#2230) — "
|
|
@@ -693,12 +712,37 @@ def drive_queue_list(repo: str | None, output_json: bool, config_path: Path) ->
|
|
|
693
712
|
# #2183 point 4: `blocked`/`failed` is terminal — say so where the
|
|
694
713
|
# operator is already reading the row, not just in an unrelated
|
|
695
714
|
# operator's hand-written `--hold-after` note.
|
|
696
|
-
|
|
715
|
+
#
|
|
716
|
+
# #2404: EXCEPT when this row's own `last_reason` is exactly the
|
|
717
|
+
# unsatisfiable-`after=`-pre-req verdict on a `blocked` (not
|
|
718
|
+
# `failed`) entry — that shape auto-resumes on its own every tick
|
|
719
|
+
# (#2362), so the generic "never re-checked on its own" remedy
|
|
720
|
+
# would be actively wrong for it; swap in the note that says so.
|
|
721
|
+
if entry.state == STATE_BLOCKED and is_unsatisfiable_prereq_reason(
|
|
722
|
+
entry.last_reason
|
|
723
|
+
):
|
|
724
|
+
click.echo(f" {_BLOCKED_AFTER_NOTE.format(state=entry.state)}")
|
|
725
|
+
else:
|
|
726
|
+
click.echo(f" {_BLOCKED_REMEDY.format(state=entry.state)}")
|
|
697
727
|
# #2230: independent of the `after=` diagnosis above (most `blocked`
|
|
698
728
|
# rows have no `after=` at all — they blocked on attempts, not a
|
|
699
729
|
# pre-req), so gated on the row's OWN state and cause, not `diagnosed`.
|
|
700
|
-
|
|
701
|
-
|
|
730
|
+
#
|
|
731
|
+
# #2404 review: EXCLUDE the unsatisfiable-`after=`-pre-req shape
|
|
732
|
+
# `_BLOCKED_AFTER_NOTE` above already covers. #2230's sweep
|
|
733
|
+
# (`_blocked_gate_reading`) returns `None` — "no evidence" — for an
|
|
734
|
+
# entry that never reached the merge queue at all, which is exactly
|
|
735
|
+
# what a purely `after=`-caused block is; showing this note there
|
|
736
|
+
# would stack two auto-recheck notes citing two different issue
|
|
737
|
+
# numbers under one row, one of which has nothing to say about that
|
|
738
|
+
# row's actual cause. `is_permanent_block_reason` rows already skip
|
|
739
|
+
# this note on their own; this adds the sibling exclusion so the two
|
|
740
|
+
# notes stay mutually exclusive, matching what each mechanism can
|
|
741
|
+
# actually promise for a given row.
|
|
742
|
+
if (
|
|
743
|
+
entry.state == STATE_BLOCKED
|
|
744
|
+
and not is_permanent_block_reason(entry.last_reason)
|
|
745
|
+
and not is_unsatisfiable_prereq_reason(entry.last_reason)
|
|
702
746
|
):
|
|
703
747
|
click.echo(f" {_BLOCKED_GATE_NOTE}")
|
|
704
748
|
for line in _hold_lines(entry):
|
|
@@ -1600,6 +1600,19 @@ def _is_unsatisfiable_prereq_reason(text: str | None) -> bool:
|
|
|
1600
1600
|
return bool(text) and _UNSATISFIABLE_PREREQ_MARKER in text
|
|
1601
1601
|
|
|
1602
1602
|
|
|
1603
|
+
def is_unsatisfiable_prereq_reason(text: str | None) -> bool:
|
|
1604
|
+
"""Public alias for :func:`_is_unsatisfiable_prereq_reason`.
|
|
1605
|
+
|
|
1606
|
+
`coord drive-queue list`'s rendering (#2404) needs to tell whether a
|
|
1607
|
+
`blocked` row's frozen ``last_reason`` is the exact shape
|
|
1608
|
+
:func:`_reconcile_blocked_after` (#2362) auto-resumes once every named
|
|
1609
|
+
pre-req lands, so it can stop telling the operator the ``after=`` graph
|
|
1610
|
+
"is never re-checked on its own" for a row where that has stopped being
|
|
1611
|
+
true — see ``coord.commands.drive_queue._BLOCKED_AFTER_NOTE``.
|
|
1612
|
+
"""
|
|
1613
|
+
return _is_unsatisfiable_prereq_reason(text)
|
|
1614
|
+
|
|
1615
|
+
|
|
1603
1616
|
def _reconcile_blocked_after(
|
|
1604
1617
|
entry: QueueEntry,
|
|
1605
1618
|
board: BoardView,
|
|
@@ -3984,6 +3984,17 @@ class PlannedMerge:
|
|
|
3984
3984
|
# when no PR is open yet, or `ci_store` has no checks for this PR.
|
|
3985
3985
|
pr_number: int | None = None
|
|
3986
3986
|
ci_summary: "CiCheckSummary | None" = None
|
|
3987
|
+
# #2397: mirrors `config.merge.auto_drain` (default False) at plan-build
|
|
3988
|
+
# time — read-only exposure, no gate-logic change. The TUI's per-issue
|
|
3989
|
+
# Merge stage box needs this to tell "nothing retries until a human runs
|
|
3990
|
+
# `coord merge`" (auto_drain off) apart from "an automatic retry tick is
|
|
3991
|
+
# already handling this" (auto_drain on); today it has no way to know
|
|
3992
|
+
# and the box renders identically either way (issue #2397's incident:
|
|
3993
|
+
# `#2284`'s acceptance-authoring slice sat "pending — waiting 2:22" with
|
|
3994
|
+
# no signal that `merge.auto_drain: false` meant nothing was coming on
|
|
3995
|
+
# its own). Same value on every entry in one `plan()` call — it's a
|
|
3996
|
+
# single process-wide config flag, not per-entry state.
|
|
3997
|
+
auto_drain: bool = False
|
|
3987
3998
|
|
|
3988
3999
|
|
|
3989
4000
|
def _load_milestones_for_queue(
|
|
@@ -4058,6 +4069,10 @@ def plan(
|
|
|
4058
4069
|
"""
|
|
4059
4070
|
items = load_queue()
|
|
4060
4071
|
milestones = _load_milestones_for_queue(items)
|
|
4072
|
+
# #2397: read once, stamped on every entry below — see `PlannedMerge
|
|
4073
|
+
# .auto_drain`'s doc comment for why the TUI needs this alongside
|
|
4074
|
+
# `reason`.
|
|
4075
|
+
auto_drain = bool(getattr(getattr(config, "merge", None), "auto_drain", False))
|
|
4061
4076
|
|
|
4062
4077
|
# ── Group by (repo_github, target_branch) ──────────────────────────────
|
|
4063
4078
|
group_order: list[tuple[str, str]] = []
|
|
@@ -4133,6 +4148,7 @@ def plan(
|
|
|
4133
4148
|
enqueued_at=entry.enqueued_at,
|
|
4134
4149
|
last_attempt=entry.last_attempt,
|
|
4135
4150
|
milestone=milestones.get((entry.repo_name, entry.issue_number)),
|
|
4151
|
+
auto_drain=auto_drain,
|
|
4136
4152
|
))
|
|
4137
4153
|
|
|
4138
4154
|
return result
|
|
@@ -86,6 +86,35 @@ tests:
|
|
|
86
86
|
# zero-tab state. THIS IS THE GREEN CONTROL — see `expected_red` below.
|
|
87
87
|
board_tabs_close_2283::zero_tabs_render_no_close_or_overflow_glyphs: 2283
|
|
88
88
|
|
|
89
|
+
# ── #2284 (W-3) — Pipeline's own independent tab set (contract §3) ────────
|
|
90
|
+
# Slice: pipeline_tabs_2284.rs · mocks: pipeline-tabs-independent.screen
|
|
91
|
+
# (plus board-pinned-3-tabs.screen — §3b calls the two "the independence
|
|
92
|
+
# pair")
|
|
93
|
+
#
|
|
94
|
+
# §3a — zero Pipeline tabs render no strip on Pipeline. THIS IS THE GREEN
|
|
95
|
+
# CONTROL — see the `expected_red` block below.
|
|
96
|
+
pipeline_tabs_2284::pipeline_with_zero_doc_tabs_renders_no_tab_strip: 2284
|
|
97
|
+
# §3a — Pipeline has no toolbar, so its strip is the FIRST main-panel content
|
|
98
|
+
# row, immediately above the Overview/Issue/Log/Summary/Terminal sub-tab bar
|
|
99
|
+
# (with §3a's own stated contrast: on Board the toolbar precedes the strip)
|
|
100
|
+
pipeline_tabs_2284::pipeline_doc_tab_strip_is_the_first_main_panel_row_with_no_toolbar_above_it: 2284
|
|
101
|
+
# §3b bullet 1 — switching to Pipeline shows Pipeline's (empty) set, not the
|
|
102
|
+
# Board's three tabs, and does not lose them. THIS IS A GREEN RATCHET — see
|
|
103
|
+
# the `expected_red` block below.
|
|
104
|
+
pipeline_tabs_2284::switching_to_pipeline_hides_the_boards_tabs_without_losing_them: 2284
|
|
105
|
+
# §3b + #2284 AC 1 — two Pipeline tabs with three already open on the Board
|
|
106
|
+
# shows EXACTLY two on Pipeline, and no Board document leaks into the strip
|
|
107
|
+
pipeline_tabs_2284::pipeline_opens_its_own_two_tabs_while_the_board_keeps_three: 2284
|
|
108
|
+
# §3b bullet 2 + AC 2 — the milestone's headline round trip: Board →
|
|
109
|
+
# Pipeline → Board restores the same three tabs, same order, same active tab
|
|
110
|
+
pipeline_tabs_2284::board_pipeline_board_round_trip_restores_the_boards_tabs_order_and_active_tab: 2284
|
|
111
|
+
# §3b + AC 3 — each scope owns its own preview slot: a single click in
|
|
112
|
+
# Pipeline leaves the Board's `∘ ` preview tab exactly where it was
|
|
113
|
+
pipeline_tabs_2284::each_scope_owns_its_own_preview_slot: 2284
|
|
114
|
+
# §3b + AC 4 — reveal-on-activate is per scope: activating a Pipeline tab
|
|
115
|
+
# selects its row in the PIPELINE sidebar and leaves the Board's selection
|
|
116
|
+
pipeline_tabs_2284::activating_a_pipeline_tab_reveals_its_row_in_the_pipeline_sidebar_not_the_boards: 2284
|
|
117
|
+
|
|
89
118
|
# ── expected_red (#2164) ───────────────────────────────────────────────────
|
|
90
119
|
# Hand-derived from a REAL run of the sealed suite against origin/main at the
|
|
91
120
|
# time of authoring (`cd tui && cargo test --test acceptance --features
|
|
@@ -140,6 +169,34 @@ expected_red:
|
|
|
140
169
|
- board_tabs_close_2283::activating_a_scrolled_out_tab_scrolls_it_back_into_view_and_renders_the_right_affordance
|
|
141
170
|
- board_tabs_close_2283::closing_the_last_tab_restores_the_zero_tab_baseline
|
|
142
171
|
|
|
172
|
+
# #2284 — OBSERVED, not intended. Taken from three consecutive real runs of
|
|
173
|
+
# the sealed suite (`cd tui && RUSTC_BOOTSTRAP=1 cargo test --test acceptance
|
|
174
|
+
# --features test-support -- -Z unstable-options --format json`, the driver
|
|
175
|
+
# command in coordinator.yml) at authoring time: of this slice's 7 ids, the
|
|
176
|
+
# same 5 FAILED and the same 2 passed on every run. The 2 that passed are
|
|
177
|
+
# deliberately ABSENT below:
|
|
178
|
+
#
|
|
179
|
+
# * `pipeline_with_zero_doc_tabs_renders_no_tab_strip` — the CONTROL.
|
|
180
|
+
# Green today (no panel paints a strip with nothing open) and must stay
|
|
181
|
+
# green after #2284 lands: an implementation that reserves the Pipeline
|
|
182
|
+
# strip row unconditionally, or that renders the Board's tabs on
|
|
183
|
+
# Pipeline, breaks exactly this test. Listing it would make its
|
|
184
|
+
# inevitable pass a HARD FAILURE.
|
|
185
|
+
# * `switching_to_pipeline_hides_the_boards_tabs_without_losing_them` — a
|
|
186
|
+
# RATCHET. Green today for the degenerate reason that the single global
|
|
187
|
+
# set #2282 shipped renders only on the Board, so nothing leaks onto
|
|
188
|
+
# Pipeline and nothing is lost coming back. Both halves become real
|
|
189
|
+
# constraints the moment the set is keyed by scope: a per-scope map that
|
|
190
|
+
# rebuilds (rather than preserves) the outgoing scope's entry fails the
|
|
191
|
+
# return leg, and a strip that paints the focused scope's tabs on the
|
|
192
|
+
# wrong panel fails the outbound one.
|
|
193
|
+
2284:
|
|
194
|
+
- pipeline_tabs_2284::pipeline_doc_tab_strip_is_the_first_main_panel_row_with_no_toolbar_above_it
|
|
195
|
+
- pipeline_tabs_2284::pipeline_opens_its_own_two_tabs_while_the_board_keeps_three
|
|
196
|
+
- pipeline_tabs_2284::board_pipeline_board_round_trip_restores_the_boards_tabs_order_and_active_tab
|
|
197
|
+
- pipeline_tabs_2284::each_scope_owns_its_own_preview_slot
|
|
198
|
+
- pipeline_tabs_2284::activating_a_pipeline_tab_reveals_its_row_in_the_pipeline_sidebar_not_the_boards
|
|
199
|
+
|
|
143
200
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
144
201
|
# FOR THE COORDINATOR — three findings from authoring this slice. None of them
|
|
145
202
|
# is a worker's to fix, and none was resolved by editing the contract (a
|
|
@@ -255,3 +312,73 @@ expected_red:
|
|
|
255
312
|
# (quadraui#593) have also landed (`style_at`/`styled_row`), but §1's ruling
|
|
256
313
|
# stands: the `∘ ` marker remains the pinned preview signal, and this slice
|
|
257
314
|
# asserts no styles.
|
|
315
|
+
|
|
316
|
+
# ═══════════════════════════════════════════════════════════════════════════
|
|
317
|
+
# FOR THE COORDINATOR — findings from authoring the #2284 slice (contract §3).
|
|
318
|
+
# Independent of the #2282 / #2283 notes above; again, none is a worker's to
|
|
319
|
+
# fix by editing this suite, and none was resolved by editing the contract.
|
|
320
|
+
# ═══════════════════════════════════════════════════════════════════════════
|
|
321
|
+
#
|
|
322
|
+
# 7. LIVE HARNESS BLOCKER (flaky, machine-dependent, and it will bite #2284's
|
|
323
|
+
# worker on the very first run): **entering the Pipeline panel destroys the
|
|
324
|
+
# seeded fixture in the sealed suite.** Switching panels runs
|
|
325
|
+
# `sync_active_view_from_shell` -> `maybe_kick_pipeline_loader` ->
|
|
326
|
+
# `refresh()` -> `start_data_load()` (`tui/src/app/data.rs:2620`). That
|
|
327
|
+
# function short-circuits to `BoardData::default()` — so
|
|
328
|
+
# `apply_pending_data`'s #620 degraded-tick guard keeps the seeded board —
|
|
329
|
+
# but the short-circuit is gated `#[cfg(test)]` ONLY. `tui/tests/acceptance.rs`
|
|
330
|
+
# is a separate integration-test crate, so the `coord_tui` it links is built
|
|
331
|
+
# WITHOUT `cfg(test)`; the loader therefore reads the real local
|
|
332
|
+
# `~/.coord/coord.db`, and the next dispatched event (`dispatch_handle`
|
|
333
|
+
# drains the receiver before handling anything) wholesale-replaces
|
|
334
|
+
# `self.data`. Measured on this machine: two clicks after landing on
|
|
335
|
+
# Pipeline, the Board sidebar renders the developer's real `api (1)` repo
|
|
336
|
+
# and the Pipeline tree is empty ("Loading tracked issues…").
|
|
337
|
+
#
|
|
338
|
+
# It is a RACE, not a certainty — the load runs on a spawned thread, so
|
|
339
|
+
# whether the fixture survives depends on whether that thread finished
|
|
340
|
+
# before the next event. Across three authoring runs, 3 of the 5 red ids
|
|
341
|
+
# died at the harness precondition and 2 got far enough to fail on the real
|
|
342
|
+
# §3a clause; which is which varied run to run. Every affected assertion
|
|
343
|
+
# says `HARNESS PRECONDITION (NOT a #2284 defect …)` in its panic message so
|
|
344
|
+
# the two failure modes are distinguishable from a JSON report alone.
|
|
345
|
+
#
|
|
346
|
+
# The fix is one line of app code, and this repo has already made it once
|
|
347
|
+
# for the same reason: `resolve_board_service()`
|
|
348
|
+
# (`tui/src/app/data.rs:1950`) is gated
|
|
349
|
+
# `#[cfg(any(test, feature = "test-support"))]` with a comment citing #1039
|
|
350
|
+
# and naming this exact external-crate `cfg(test)` trap.
|
|
351
|
+
# `start_data_load()`'s stub needs the same widening. It is NOT in #2284's
|
|
352
|
+
# "Files" list, so the coordinator should either land it as a prerequisite
|
|
353
|
+
# or explicitly authorise the worker to widen that cfg — without it the five
|
|
354
|
+
# red ids below cannot go green reliably no matter how correct the
|
|
355
|
+
# per-scope tab model is.
|
|
356
|
+
#
|
|
357
|
+
# 8. §3b's "same scroll position as before the switch" is not asserted. The
|
|
358
|
+
# round-trip test opens three tabs in an 82-column strip, where nothing is
|
|
359
|
+
# scrolled, and the contract pins no rendered signal for a *restored* strip
|
|
360
|
+
# scroll offset beyond §4's `‹`/`›` affordances — which are #2283's slice
|
|
361
|
+
# and whose own mock the #2283 author already flagged (finding 4) as
|
|
362
|
+
# contradicting §2b's label width. Inventing an observable for it would
|
|
363
|
+
# have meant inventing a width. Flagged as a `TODO(test-author)` in the
|
|
364
|
+
# slice.
|
|
365
|
+
#
|
|
366
|
+
# 9. §2f's scroll half is likewise not re-asserted for the Pipeline scope.
|
|
367
|
+
# #2284's own AC says "reveals its row in the Pipeline sidebar, not the
|
|
368
|
+
# Board's", and the contract pins the scroll requirement only for the Board
|
|
369
|
+
# (§2f, five issues on a short viewport). This slice asserts the per-scope
|
|
370
|
+
# SELECTION (`▸ #201` inside the Pipeline sidebar's columns 3–37, plus the
|
|
371
|
+
# Board's own `▸ #103` surviving a Pipeline-side activation) and leaves the
|
|
372
|
+
# scroll half to #2282's slice, which owns §2f. Also a `TODO(test-author)`.
|
|
373
|
+
#
|
|
374
|
+
# Also worth knowing, not a contract problem: the Pipeline sidebar nests
|
|
375
|
+
# tracked issues under state -> repo -> milestone nodes whose innermost node is
|
|
376
|
+
# COLLAPSED by default, and renders rows as `#201 Add retry backoffwork`
|
|
377
|
+
# (two spaces, title truncated to the 35-column sidebar, stage badge butted
|
|
378
|
+
# against it) — nothing like the mocks' `#201 Add retry backoff to fetch`. The
|
|
379
|
+
# slice therefore targets Pipeline rows by their `#<N>` tag restricted to the
|
|
380
|
+
# sidebar columns (§0), never by a full row string, and expands that group as a
|
|
381
|
+
# labelled precondition. The fixture also gives #101–#103 an untracked label
|
|
382
|
+
# and #201–#203 the tracked `coord` one: the Board sidebar lists all six (it
|
|
383
|
+
# does not filter by label) while the Pipeline lists only the 200s, which is
|
|
384
|
+
# what makes the mocks' 100s/200s ranges disjoint in a single seeded board.
|