code-coordinator 0.5.186__tar.gz → 0.5.187__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.186 → code_coordinator-0.5.187}/PKG-INFO +1 -1
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/code_coordinator.egg-info/PKG-INFO +1 -1
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/code_coordinator.egg-info/scm_version.json +2 -2
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/commands/merge.py +3 -1
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/conflict_fix.py +55 -6
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/merge_queue.py +12 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/notify.py +8 -2
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_conflict_fix.py +94 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/.claude/commands/board.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/.claude/commands/complete-session.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/.claude/commands/coordinator.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/.githooks/_lib.sh +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/.githooks/post-checkout +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/.githooks/post-commit +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/.githooks/post-merge +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/.github/coord-ci-acceptance.yml +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/.github/workflows/auto-release.yml +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/.github/workflows/cargo-test.yml +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/.github/workflows/publish.yml +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/.github/workflows/release-tui.yml +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/.github/workflows/test.yml +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/.gitignore +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/CLAUDE.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/GOAL.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/LICENSE +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/MANIFEST.in +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/README.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/code_coordinator.egg-info/SOURCES.txt +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/code_coordinator.egg-info/dependency_links.txt +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/code_coordinator.egg-info/entry_points.txt +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/code_coordinator.egg-info/requires.txt +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/code_coordinator.egg-info/scm_file_list.json +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/code_coordinator.egg-info/top_level.txt +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/__init__.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/_board_mapping.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/acceptance.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/acceptance_drivers.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/agent.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/agent_app.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/agent_update.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/agents/opencode/.gitignore +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/agents/opencode/agents/work.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/agents/opencode/routing.jsonc +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/audit.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/auto_loop.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/block_log.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/board_bool_guard.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/board_service.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/board_wire.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/brain.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/branch_model.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/bug_intake.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/cargo_cache.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/ci_github.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/ci_store.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/claim.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/cli.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/client.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/commands/__init__.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/commands/_common.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/commands/acceptance.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/commands/agent_ops.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/commands/audit.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/commands/chat.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/commands/dispatch.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/commands/dispatch_workers.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/commands/drive.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/commands/drive_queue.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/commands/gate_a.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/commands/gates.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/commands/issues.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/commands/lifecycle.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/commands/milestone.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/commands/plan_followup.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/commands/plans.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/commands/portal.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/commands/release.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/commands/repo.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/commands/report.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/commands/review.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/commands/scorecard.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/commands/sessions.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/commands/setup.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/commands/status.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/commands/terminal.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/commands/test_gate.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/commands/tui.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/comments.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/config.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/config_reload.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/dao.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/dashboard/__init__.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/dashboard/fixture.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/dashboard/index.html +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/dashboard/server.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/dashboard/terminal.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/db.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/dead_end.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/deploy/README.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/deploy/coord-agent.service +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/deploy/coord-db-backup.service +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/deploy/coord-db-backup.sh +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/deploy/coord-db-backup.timer +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/deploy/coord-drive-queue.service +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/deploy/coord-drive-queue.timer +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/deploy/coord-notify.service +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/deploy/coord-notify.timer +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/deploy/coord-release-propagate.service +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/deploy/coord-release-propagate.timer +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/deploy/coord-release-window.service +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/deploy/coord-release-window.timer +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/deploy/coord-serve.service +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/deploy/coord-web-dist-build.service +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/deploy/coord-web-dist-build.timer +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/deploy/coord-web.service +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/deploy_manifest.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/deploy_units.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/deps.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/diagnose.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/dispatch.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/dist_name.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/drive.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/drive_queue.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/drive_state.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/events.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/failure_class.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/filelock.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/fleet_config_health.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/freshness.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/gate_a.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/gate_b.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/gate_snapshot.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/gates.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/github_ops.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/goal.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/graph_health.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/health/__init__.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/health/aggregate.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/health/checks/__init__.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/health/checks/agent_install.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/health/checks/cargo_targets.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/health/checks/claude_binary.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/health/checks/coord_web_ci_pin.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/health/checks/deploy_lane_facts.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/health/checks/disk.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/health/checks/fleet_board.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/health/checks/fleet_deploy_lanes.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/health/checks/fleet_phantom.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/health/checks/fleet_unit_drift.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/health/checks/graph.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/health/checks/graphify_cli.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/health/checks/index_lock.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/health/checks/plan_usage.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/health/checks/repo_state.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/health/checks/spawned_coord.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/health/checks/timer_active.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/health/checks/toolchain.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/health/checks/unit_drift.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/health/checks/unit_enablement.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/health/checks/worktrees.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/health/cli.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/health/context.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/health/fleet_snapshot.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/health/models.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/health/pypi.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/health/registry.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/health/render.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/health/units.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/hooks.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/housekeeping.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/interactive.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/issue_store.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/liveness_auditor.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/machine_pause.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/milestone_chat.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/milestone_dispatch.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/milestone_gate.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/milestone_order.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/mock_author.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/models.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/network.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/new_issue_chat.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/notifier/__init__.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/notifier/baseline.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/notifier/cli.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/notifier/collect.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/notifier/digest.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/notifier/models.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/notifier/predicate.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/notifier/service.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/notifier/store.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/notifier/transport.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/openapi.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/overlap_fence.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/overlap_predict.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/parentage.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/parentage_github.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/pipeline.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/plan_parser.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/plans.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/platform_paths.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/portal_bridge.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/portal_store.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/portal_sync.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/pr_body_lint.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/prereqs.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/progress.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/providers/__init__.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/providers/base.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/providers/claude.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/providers/claude_pty.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/providers/opencode.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/queue_diagnose.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/reconcile.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/reconcile_tick.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/refine_chat.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/release_cordon.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/release_propagate.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/release_verify.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/release_window.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/repo_edit.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/repo_onboard.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/reports.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/revalidate.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/review.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/scorecard.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/self_health.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/serve_app.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/skills/coord-dispatch-verbs/SKILL.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/skills/drive-queue-preflight/SKILL.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/skills/fleet-restart-safety/SKILL.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/skills/merge-stuck-triage/SKILL.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/skills/pipeline-limbo-triage/SKILL.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/skills/portal-followup/SKILL.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/skills/review-verdict-recovery/SKILL.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/skills/tui-quadraui-workflow/SKILL.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/skills/update-issue/SKILL.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/smoke.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/spend_ceiling.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/split_work.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/stage_projection.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/state.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/test_author.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/test_chat.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/test_orchestrator.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/test_report.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/tui_release.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/usage.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/usage_limits.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/usage_rollup.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/worker_events.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/coordinator.example.yml +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/deploy/coord-agent.service +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/deploy/coord-db-backup.service +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/deploy/coord-db-backup.sh +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/deploy/coord-db-backup.timer +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/deploy/coord-drive-queue.service +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/deploy/coord-drive-queue.timer +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/deploy/coord-notify.service +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/deploy/coord-notify.timer +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/deploy/coord-release-propagate.service +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/deploy/coord-release-propagate.timer +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/deploy/coord-release-window.service +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/deploy/coord-release-window.timer +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/deploy/coord-serve.service +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/deploy/coord-web-dist-build.service +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/deploy/coord-web-dist-build.sh +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/deploy/coord-web-dist-build.timer +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/deploy/coord-web-rollback.sh +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/deploy/coord-web.service +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/deploy/node-shim.sh +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/docs/ADR_COORD_WEB_ACCEPTANCE_SUITE.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/docs/ADR_COORD_WEB_CI.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/docs/ADR_COORD_WEB_DIST.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/docs/AGENT_OPERATIONS.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/docs/ARCHITECTURE.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/docs/ARCH_SECURITY_GATES.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/docs/COCKPIT.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/docs/CONTROL_CENTER.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/docs/COST_DISCIPLINE.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/docs/CROSS_PLATFORM.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/docs/CUSTOMER_PORTAL.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/docs/DRIVE_QUEUE.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/docs/EPHEMERAL_WORKERS.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/docs/FORGE_MIGRATION.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/docs/GRAPHIFY_SETUP.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/docs/ISSUE_GUIDANCE.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/docs/MAC_MINI.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/docs/MERGE_AUTO_DRAIN_TRUST_BAR.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/docs/NOTIFIER.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/docs/OPENCODE_VERIFICATION.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/docs/OPERATING_GOTCHAS.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/docs/ORACLE_LOOP.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/docs/PHONE_WEBAPP.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/docs/PIPELINE_V2.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/docs/PLATFORM_EVOLUTION.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/docs/SECOND_BACKEND.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/docs/STORE_SERVICE.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/docs/TEST_FIRST_BUG_LANE.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/docs/WEB_CONTROL_CENTER.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/docs/WSL_WINDOWS_WORKER.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/docs/mocks/web/README.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/docs/mocks/web/_tokens.css +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/docs/mocks/web/issue-detail.html +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/docs/mocks/web/pipeline-narrow.html +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/docs/mocks/web/pipeline-wide.html +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/graphify-out/.gitignore +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/install-agent.sh +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/pyproject.toml +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/scripts/audit_review_verdict_overrides.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/scripts/azure-workers/bootstrap-shared.sh +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/scripts/azure-workers/build-worker-image.sh +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/scripts/azure-workers/coordinator-machine.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/scripts/azure-workers/epic-down.sh +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/scripts/azure-workers/epic-up.sh +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/scripts/azure-workers/preflight.sh +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/scripts/azure-workers/provision-worker.sh +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/scripts/azure-workers/scrub-and-generalize.sh +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/scripts/azure-workers/tailnet-acl.hujson +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/scripts/azure-workers/verify-github-token.sh +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/scripts/codegen.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/scripts/coord-test-runner.sh +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/scripts/drive-batch.sh +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/scripts/gen_board_fixture.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/scripts/next_release_tag.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/scripts/run_tests_in_populated_home.sh +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/scripts/run_tests_without_gh.sh +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/scripts/smoke_437_interactive.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/scripts/verify_878_review_capture.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/scripts/verify_release_published.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/scripts/verify_release_wheel.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/setup.cfg +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/SMOKE_SET.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/__init__.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-33/audit_1039.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-33/contract.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-33/manifest.yml +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-33/mocks/audit-panel-detail.screen +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-33/mocks/audit-panel-empty.screen +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-33/mocks/audit-panel-filters.screen +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-33/mocks/audit-panel-populated.screen +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-37/conftest.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-37/contract.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-37/manifest.yml +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-37/test_usage_cli_1115.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-37/test_usage_core_1118.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-38/contract.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-38/manifest.yml +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-38/mocks/plans-base.screen +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-38/mocks/plans-detail-pane.screen +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-38/mocks/plans-help-overlay.screen +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-38/mocks/plans-palette.screen +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-38/mocks/plans-rightclick-epic.screen +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-38/mocks/plans-rightclick-header.screen +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-38/mocks/plans-rightclick-stub.screen +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-38/plans_detail_1122.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-38/plans_help_1124.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-38/plans_rightclick_1123.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-51/contract.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-51/home-active-extended.spec.ts +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-51/home-active.spec.ts +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-51/manifest.yml +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-51/mocks/home-active.html +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-51/tsconfig.json +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-65/board_split_2288.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-65/board_tabs_2282.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-65/board_tabs_close_2283.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-65/contract.md +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-65/detail_substate_2285.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-65/manifest.yml +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-65/mocks/board-baseline-no-tabs.screen +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-65/mocks/board-pinned-3-tabs.screen +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-65/mocks/board-preview-tab.screen +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-65/mocks/board-split-side-by-side.screen +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-65/mocks/board-tab-context-menu.screen +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-65/mocks/board-tabs-help-overlay.screen +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-65/mocks/board-tabs-overflow.screen +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-65/mocks/pipeline-tabs-independent.screen +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-65/pipeline_tabs_2284.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-65/tabs_discoverability_2287.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-65/tabs_persistence_2286.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/acceptance/ms-example/mocks/home-active.html +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/conftest.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/fixtures/board-pipeline-basic.json +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/fixtures/board-pipeline-terminal-gates.json +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/fixtures/opencode_run_failure_sample.jsonl +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/fixtures/opencode_run_length_sample.jsonl +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/fixtures/opencode_run_sample.jsonl +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/fixtures/playwright/all_pass.json +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/fixtures/playwright/global_setup_crash.json +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/fixtures/playwright/mixed_fail.json +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/fixtures/playwright/retry_then_pass.json +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/fixtures/playwright/retry_then_pass.junit.xml +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/fixtures/playwright/skip.json +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/fixtures/playwright/truncated.json +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/fixtures/test_report/cargo_compile_error.txt +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/fixtures/test_report/cargo_multi_target_failures.txt +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/fixtures/test_report/cargo_no_parseable_failures.txt +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/fixtures/test_report/pytest_collection_error.txt +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/fixtures/test_report/pytest_error_string_in_body.txt +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/fixtures/test_report/pytest_internal_error.txt +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/fixtures/test_report/pytest_mixed_failures.txt +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/fixtures/test_report/pytest_no_parseable_failures.txt +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_acceptance.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_acceptance_drivers.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_agent.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_agent_api_error.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_agent_app.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_agent_branch_base.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_agent_branch_capture.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_agent_config_free_1712.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_agent_deploy_units_endpoint.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_agent_dirty_worktree.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_agent_drive_queue_reconcile_2373.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_agent_graph_self_heal.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_agent_health_h3.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_agent_idle_restart.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_agent_push_failure.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_agent_reap.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_agent_repos_and_pull.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_agent_restart_services_endpoint.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_agent_skills_self_heal.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_agent_startup_diagnostics.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_agent_update.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_agent_update_bluegreen.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_agent_usage_limit.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_agent_zero_commit.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_ambient_home_isolation.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_approve_reject_plan.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_approve_usage_gate.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_assignment_already_recorded_daemon.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_audit_log.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_audit_outcome.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_audit_query.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_auto_loop.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_auto_release_publish_2035.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_base_checkout_restore.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_block_log.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_board_cap_762.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_board_fixture.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_board_read_path.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_board_service.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_board_state.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_board_wire.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_brain.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_branch_model.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_bug_intake.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_build_worker_image_env_update.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cargo_cache.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_ci_acceptance_gate_1950.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_ci_parity_2091.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_ci_store.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_claim.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_acceptance.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_assign.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_assign_interactive_oracle_gate.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_assign_interactive_remote.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_assign_provider.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_assign_repo_drift_2219.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_audit.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_chat_continue.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_decide.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_diagnose_config_provenance.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_diagnose_graph.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_diagnose_self.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_doctor.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_doctor_config_free_1801.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_doctor_config_mismatch_1712.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_drive.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_drive_queue.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_escalate.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_fix_headless_review.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_gate_a.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_install_drift.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_install_skills.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_issue_create_label.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_issue_reopen.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_merge.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_milestone_assign.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_milestone_capture.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_milestone_chat_add_child.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_milestone_dispatch.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_milestone_gate_b.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_milestone_gate_c.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_milestone_order.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_milestone_remove_and_issue_close.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_milestone_ship.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_network.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_new_issue_chat.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_plans.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_portal.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_pull_artifact.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_queue.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_reattach_sessions.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_refine_board.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_release_preflight.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_release_propagate.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_release_window.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_repo_2220.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_scorecard.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_set_review_findings.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_status_advisory_terminal.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_status_merge_queue.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_status_provider.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_status_review_finalizing.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_status_test_failed_tag.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_status_usage_limit.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_sync_comments_873.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_test_plan.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_track.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_tui_update.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cli_wait.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_client_base_install.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_comments.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_completion_summary.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_config.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_config_acceptance.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_config_audit.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_config_pricing.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_config_snapshot_noncanonical_2208.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_config_usage_gate.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_conflict_fix_semantic.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_coord_test.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_coord_test_runner_baseline.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_coord_test_runner_populated_home.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_coord_test_runner_routing.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_coord_test_runner_toolchain.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_coord_web_sse_restart_live.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_coordinator_machine.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_cross_platform_imports.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_dashboard.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_dashboard_fixture.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_dashboard_terminal.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_dashboard_terminal_live.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_db.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_dead_end.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_deploy_coord_db_backup.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_deploy_coord_web_dist.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_deploy_coord_web_rollback.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_deploy_drive_queue_unit.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_deploy_manifest.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_deploy_units_lane.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_deploy_web_unit.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_deps.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_diagnose.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_dispatch.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_dispatch_target_validation.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_dist_name.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_done_housekeeping.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_drive.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_drive_queue.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_drive_state.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_drive_tmux.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_epic_up_capability_detection.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_epic_up_down_symlinked_config_1887.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_epic_up_image_provenance.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_errors.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_events.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_failure_class.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_filelock.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_finalize_interactive_exit_test_verdict.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_fix_of_force_override.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_fleet_config_health.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_fleet_health_probes.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_fleet_health_snapshot.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_freshness.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_gate_a.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_gate_b.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_gate_snapshot_staleness.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_gates.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_gather_fleet_tmux_sessions.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_generated_types_fixture.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_github_ops.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_goal.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_graph_health.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_graph_selfheal_absent_2237.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_handoff.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_health_checks.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_health_cli.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_health_cli_graph.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_health_config.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_health_context.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_health_coord_web_ci_pin.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_health_deploy_lane_facts.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_health_incident_regression.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_health_pypi.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_health_registry.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_health_timer_active.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_health_toolchain.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_health_unit_drift.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_health_unit_enablement.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_hooks.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_human_attended_437.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_init.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_integration.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_interactive_briefing_echo.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_interactive_prefill_state.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_interactive_session_relaunch.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_interactive_test_verdict_backstop.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_interactive_token_attribution.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_interactive_worktree.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_issue_store_seam.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_liveness_auditor.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_liveness_notify.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_machine_pause.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_merge_queue.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_merge_verify.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_milestone_chat.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_milestone_dispatch.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_milestone_gate.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_milestone_order.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_milestone_seam.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_mock_author.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_model_tiering.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_models.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_models_config_labels.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_needs_attention.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_network.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_new_issue_chat.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_next_release_tag.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_no_direct_gh_calls.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_node_shim.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_notifier_baseline.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_notifier_cli.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_notifier_collect.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_notifier_config.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_notifier_drive_seam.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_notifier_isolation.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_notifier_predicate.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_notifier_quiet_hours.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_notifier_service.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_notify.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_notify_drain.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_openapi.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_operational_defaults.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_overlap_fence.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_overlap_predict.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_packaged_deploy_units.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_parentage.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_paste_landed.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_pipeline.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_plan_followup_approve_plan_command.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_plan_followup_pr_command.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_plan_followup_review_command.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_plan_only.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_plan_parser.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_platform_paths.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_portal_bridge.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_portal_config.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_portal_sync.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_pr_body_lint.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_prereqs.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_production_db_guard.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_progress.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_provider_seam.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_providers.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_providers_config_labels.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_providers_pty.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_quiet_hours.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_quiet_hours_store_2146.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_reap_merged_sessions.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_reap_stale_interactive_tick.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_reconcile.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_reconcile_branch.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_reconcile_completions.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_reconcile_merges.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_reconcile_no_agent_record.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_reconcile_tick.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_reconcile_usage_limit_done.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_refine_chat.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_release_cordon_2101.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_release_cordon_daemon_leads_2176.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_release_cordon_deadlock_2240.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_release_propagate.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_release_unified_1242.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_release_verify.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_release_window.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_remote_auto_prune.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_remote_interactive_reaper.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_repo_edit_2220.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_repo_graph_fleet_2237.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_repo_onboard_2220.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_report_result_push.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_reports.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_retry.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_retry_advisory_1606.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_retry_type_1636.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_revalidate.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_review.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_review_end_review_without_verdict.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_review_parse_failure_diagnostic.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_review_reaffirm.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_review_state.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_review_verdict_backstop.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_review_verdict_override_audit.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_review_verdict_relay.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_review_zero_commits.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_scoped_review_wiring.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_scorecard.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_self_health.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_serve.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_serve_app_board_trim.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_session.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_slice_issue_attribution.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_smoke.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_smoke_live_checkout_restore.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_smoke_workflow.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_spend_ceiling.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_spend_ceiling_coordinator.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_split.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_split_work.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_stage_projection.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_stalled_pipeline.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_state.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_state_review_findings_daemon.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_status_fleet_footer.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_stop_1567.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_stuck.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_terminal_command.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_test_author.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_test_chat.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_test_orchestrator.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_test_report.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_test_verdict_parsing.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_test_verdict_transcript_floor.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_thin_client_board_audit.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_thin_client_config_load_1080.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_thin_client_daemon_routing_906.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_tmux_host.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_tmux_session.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_transcript_floor.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_usage.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_usage_limits.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_usage_rollup.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_venv_live_install_2121.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_version_single_source.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_watch.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_windows_job_is_a_real_gate_2000.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_worker_events.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_worker_image_pin_sync.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_worker_safety.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_worker_test_scoping.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_worktree.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tests/test_worktree_rmtree_chokepoint.py +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/Cargo.lock +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/Cargo.toml +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/cargo-config-local-quadraui.toml.example +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/src/app/audit.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/src/app/chat.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/src/app/data.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/src/app/dialogs.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/src/app/doc_tabs.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/src/app/drive.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/src/app/drive_queue.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/src/app/escalation.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/src/app/events.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/src/app/fixtures.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/src/app/fleet_health.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/src/app/fleet_sessions.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/src/app/fleet_terminals.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/src/app/format.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/src/app/milestone_dag.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/src/app/mod.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/src/app/msv.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/src/app/pipeline.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/src/app/plans.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/src/app/render.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/src/app/reports.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/src/app/sessions.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/src/app/settings_ui.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/src/app/sidebar.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/src/app/terminal.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/src/app/tests.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/src/app/types.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/src/app/workspace.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/src/bin/gtk.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/src/commands.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/src/lib.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/src/main.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/src/settings.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/tests/acceptance.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/tests/cli.rs +0 -0
- {code_coordinator-0.5.186 → code_coordinator-0.5.187}/tui/tests/fixtures/board_sample.json +0 -0
|
@@ -456,7 +456,9 @@ def _dispatch_conflict_fixes(events, config, *, dry_run: bool) -> None:
|
|
|
456
456
|
# failed for this entry in this session, don't loop — mark
|
|
457
457
|
# HUMAN_REQUIRED so the user takes over. A successful
|
|
458
458
|
# prior fix does not trigger this guard (#784).
|
|
459
|
-
if has_prior_conflict_fix(
|
|
459
|
+
if has_prior_conflict_fix(
|
|
460
|
+
fix_board, ev.entry.assignment_id, current_error=ev.entry.error,
|
|
461
|
+
):
|
|
460
462
|
ev.entry.state = HUMAN_REQUIRED
|
|
461
463
|
click.echo(
|
|
462
464
|
f" {ev.entry.repo_name} #{ev.entry.issue_number}: "
|
|
@@ -367,7 +367,32 @@ def _has_active_conflict_fix(board: Board, merge_entry_id: str | None) -> bool:
|
|
|
367
367
|
)
|
|
368
368
|
|
|
369
369
|
|
|
370
|
-
def
|
|
370
|
+
def _dispatched_error(assignment: Assignment) -> str | None:
|
|
371
|
+
"""The merge-failure text *assignment*'s briefing was built from.
|
|
372
|
+
|
|
373
|
+
``build_conflict_fix_briefing``/``build_semantic_conflict_briefing``
|
|
374
|
+
both embed the triggering ``QueuedMerge.error`` verbatim (as a
|
|
375
|
+
``"Reason: …"``/``"Last merge error: …"`` line) — that's the only durable
|
|
376
|
+
record of what the merge looked like *at dispatch time*, since
|
|
377
|
+
``on_conflict_fix_done`` clears ``entry.error`` back to ``None`` on
|
|
378
|
+
success before the merge is retried. Returns ``None`` when the briefing
|
|
379
|
+
doesn't carry either marker (e.g. a hand-built test ``Assignment``).
|
|
380
|
+
"""
|
|
381
|
+
briefing = assignment.briefing or ""
|
|
382
|
+
for line in briefing.splitlines():
|
|
383
|
+
if line.startswith("Reason: "):
|
|
384
|
+
return line[len("Reason: "):]
|
|
385
|
+
if line.startswith("Last merge error: "):
|
|
386
|
+
return line[len("Last merge error: "):]
|
|
387
|
+
return None
|
|
388
|
+
|
|
389
|
+
|
|
390
|
+
def has_prior_conflict_fix(
|
|
391
|
+
board: Board,
|
|
392
|
+
merge_entry_id: str | None,
|
|
393
|
+
*,
|
|
394
|
+
current_error: str | None = None,
|
|
395
|
+
) -> bool:
|
|
371
396
|
"""True when a second conflict-fix dispatch for *merge_entry_id* is blocked.
|
|
372
397
|
|
|
373
398
|
Blocks when a conflict-fix is **active** (running/pending — don't spawn a
|
|
@@ -379,6 +404,18 @@ def has_prior_conflict_fix(board: Board, merge_entry_id: str | None) -> bool:
|
|
|
379
404
|
followed by a new conflict if other PRs merged in the meantime; that is a
|
|
380
405
|
fresh situation and warrants a fresh fix attempt. Only actual failures
|
|
381
406
|
consume the one-per-entry cap.
|
|
407
|
+
|
|
408
|
+
#2475: that "successful" carve-out assumed a ``done`` conflict-fix always
|
|
409
|
+
resolved *something*. It doesn't when the merge was never blocked by a
|
|
410
|
+
content conflict in the first place (e.g. a permanently-unmergeable
|
|
411
|
+
branch-protection state) — the worker finds nothing to rebase, exits
|
|
412
|
+
``done``, and the merge queue retries into the *identical* failure
|
|
413
|
+
forever (#2009's 38-turn thrash). When *current_error* is given and a
|
|
414
|
+
prior ``done`` conflict-fix's dispatch-time error
|
|
415
|
+
(:func:`_dispatched_error`) matches it exactly, that's the same blocker
|
|
416
|
+
recurring unchanged — not a fresh conflict — so it now consumes the cap
|
|
417
|
+
too. Callers that don't pass *current_error* keep the pre-#2475 behaviour
|
|
418
|
+
(``done`` never blocks) since they have no error text to compare.
|
|
382
419
|
"""
|
|
383
420
|
if merge_entry_id is None:
|
|
384
421
|
return False
|
|
@@ -393,9 +430,16 @@ def has_prior_conflict_fix(board: Board, merge_entry_id: str | None) -> bool:
|
|
|
393
430
|
# Genuine failure — retry cap consumed, surface to human.
|
|
394
431
|
if a.status in ("failed", "advisory"):
|
|
395
432
|
return True
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
433
|
+
if a.status == "done":
|
|
434
|
+
if current_error is not None and _dispatched_error(a) == current_error:
|
|
435
|
+
# Same failure text recurring after a "successful" fix means
|
|
436
|
+
# nothing was actually fixed — treat like a genuine failure.
|
|
437
|
+
return True
|
|
438
|
+
# Otherwise: successful rebase, different (or unknown) situation
|
|
439
|
+
# now → cap not consumed; a re-conflict is new.
|
|
440
|
+
# "cancelled" falls through here too — a cancelled attempt did no
|
|
441
|
+
# work, so it is treated the same as an unrelated "done": re-dispatch
|
|
442
|
+
# is allowed.
|
|
399
443
|
return False
|
|
400
444
|
|
|
401
445
|
|
|
@@ -463,7 +507,10 @@ def dispatch_conflict_fix(
|
|
|
463
507
|
the caller marks the entry ``HUMAN_REQUIRED``. A ``done`` (successful)
|
|
464
508
|
conflict-fix does *not* block a new dispatch — a successful rebase can be
|
|
465
509
|
followed by a fresh conflict if other PRs merged in the meantime, and that
|
|
466
|
-
warrants a new attempt rather than an immediate human escalation (#784)
|
|
510
|
+
warrants a new attempt rather than an immediate human escalation (#784) —
|
|
511
|
+
UNLESS (#2475) *entry.error* is identical to the error the prior ``done``
|
|
512
|
+
attempt was dispatched for, which means the merge failed the same way
|
|
513
|
+
again with nothing actually fixed; see :func:`has_prior_conflict_fix`.
|
|
467
514
|
|
|
468
515
|
``semantic=True`` (#1291) dispatches the escalated second attempt: a
|
|
469
516
|
different, less prescriptive briefing (see
|
|
@@ -481,7 +528,9 @@ def dispatch_conflict_fix(
|
|
|
481
528
|
return None
|
|
482
529
|
if _has_active_conflict_fix(board, entry.assignment_id):
|
|
483
530
|
return None
|
|
484
|
-
elif has_prior_conflict_fix(
|
|
531
|
+
elif has_prior_conflict_fix(
|
|
532
|
+
board, entry.assignment_id, current_error=entry.error,
|
|
533
|
+
):
|
|
485
534
|
return None
|
|
486
535
|
|
|
487
536
|
repo = config.repo(entry.repo_name)
|
|
@@ -93,6 +93,18 @@ _HUMAN_SIGNALS = (
|
|
|
93
93
|
"permission",
|
|
94
94
|
"protected branch",
|
|
95
95
|
"branch protection",
|
|
96
|
+
# #2475: GitHub's wording when a required status check can never report
|
|
97
|
+
# — e.g. its source CI job was deleted from the workflow while the
|
|
98
|
+
# check was still required in branch protection. This is a *permanent*
|
|
99
|
+
# block; no rebase or content change fixes it. The full message is
|
|
100
|
+
# something like "Pull request X is not mergeable: the base branch
|
|
101
|
+
# policy prohibits the merge.", which also contains "not mergeable" —
|
|
102
|
+
# a _REBASEABLE_SIGNALS entry — so without this specific phrase here,
|
|
103
|
+
# classify_conflict fell through past _HUMAN_SIGNALS (no match) to
|
|
104
|
+
# _REBASEABLE_SIGNALS's generic "not mergeable" match and misclassified
|
|
105
|
+
# the failure as "rebaseable", dispatching a conflict-fix worker that
|
|
106
|
+
# could never succeed (#2009's 38-turn thrash).
|
|
107
|
+
"policy prohibits the merge",
|
|
96
108
|
)
|
|
97
109
|
|
|
98
110
|
|
|
@@ -884,7 +884,11 @@ def detect_stalled_pipeline(
|
|
|
884
884
|
elif (
|
|
885
885
|
matching_entry.state == CONFLICT
|
|
886
886
|
and classify_conflict(matching_entry.error) == "rebaseable"
|
|
887
|
-
and not has_prior_conflict_fix(
|
|
887
|
+
and not has_prior_conflict_fix(
|
|
888
|
+
board,
|
|
889
|
+
matching_entry.assignment_id,
|
|
890
|
+
current_error=matching_entry.error,
|
|
891
|
+
)
|
|
888
892
|
):
|
|
889
893
|
# #1478: a rebaseable CONFLICT with no active/failed
|
|
890
894
|
# conflict-fix attempt — the #1474 classify-and-dispatch step
|
|
@@ -1412,7 +1416,9 @@ def dispatch_stalled_pipeline_action(
|
|
|
1412
1416
|
return StalledDispatchAction(
|
|
1413
1417
|
kind="no_action", detail="merge queue entry no longer found",
|
|
1414
1418
|
)
|
|
1415
|
-
if has_prior_conflict_fix(
|
|
1419
|
+
if has_prior_conflict_fix(
|
|
1420
|
+
board, entry.assignment_id, current_error=entry.error,
|
|
1421
|
+
):
|
|
1416
1422
|
return StalledDispatchAction(
|
|
1417
1423
|
kind="skipped_human_required",
|
|
1418
1424
|
detail="conflict-fix already active or its retry cap was already hit",
|
|
@@ -111,6 +111,21 @@ class TestClassifyConflict:
|
|
|
111
111
|
def test_human(self, msg: str) -> None:
|
|
112
112
|
assert classify_conflict(msg) == "human"
|
|
113
113
|
|
|
114
|
+
def test_branch_policy_block_is_human_not_rebaseable(self) -> None:
|
|
115
|
+
"""#2475: GitHub's wording when a required status check can never
|
|
116
|
+
report (its source CI job was deleted while still required) also
|
|
117
|
+
contains "not mergeable" — a _REBASEABLE_SIGNALS entry — so without
|
|
118
|
+
a specific _HUMAN_SIGNALS match this fell through and was
|
|
119
|
+
misclassified "rebaseable", dispatching a conflict-fix worker that
|
|
120
|
+
could never succeed (#2009's 38-turn thrash: 38 dispatches over ~7
|
|
121
|
+
hours before a human intervened).
|
|
122
|
+
"""
|
|
123
|
+
msg = (
|
|
124
|
+
"Pull request #2471 is not mergeable: the base branch policy "
|
|
125
|
+
"prohibits the merge."
|
|
126
|
+
)
|
|
127
|
+
assert classify_conflict(msg) == "human"
|
|
128
|
+
|
|
114
129
|
def test_unknown(self) -> None:
|
|
115
130
|
assert classify_conflict("some other error") == "unknown"
|
|
116
131
|
assert classify_conflict("") == "unknown"
|
|
@@ -445,6 +460,38 @@ class TestDispatch:
|
|
|
445
460
|
)
|
|
446
461
|
assert len(client.calls) == 1, "HTTP should have been called"
|
|
447
462
|
|
|
463
|
+
def test_retry_cap_blocks_when_done_fix_precedes_identical_error(
|
|
464
|
+
self, two_machine_config: Config, coord_db,
|
|
465
|
+
) -> None:
|
|
466
|
+
"""#2475: a `done` conflict-fix that is immediately followed by the
|
|
467
|
+
SAME merge failure text must consume the retry cap — the worker
|
|
468
|
+
found nothing to rebase (no real content conflict), so a second
|
|
469
|
+
dispatch would just repeat the same no-op forever (#2009's 38-turn
|
|
470
|
+
thrash)."""
|
|
471
|
+
board = Board()
|
|
472
|
+
first_client = _FakeHTTPClient({"id": "prev-fix"})
|
|
473
|
+
first = dispatch_conflict_fix(
|
|
474
|
+
_entry(), board, two_machine_config,
|
|
475
|
+
http_client=first_client, prefer_machine="laptop",
|
|
476
|
+
)
|
|
477
|
+
assert first is not None
|
|
478
|
+
# Simulate the worker finishing successfully and the merge queue
|
|
479
|
+
# retrying — same entry, same error (nothing was actually fixed).
|
|
480
|
+
board.active.remove(first)
|
|
481
|
+
first.status = "done"
|
|
482
|
+
board.completed.append(first)
|
|
483
|
+
|
|
484
|
+
second_client = _FakeHTTPClient({"id": "would-not-fire"})
|
|
485
|
+
result = dispatch_conflict_fix(
|
|
486
|
+
_entry(), board, two_machine_config,
|
|
487
|
+
http_client=second_client, prefer_machine="laptop",
|
|
488
|
+
)
|
|
489
|
+
assert result is None
|
|
490
|
+
assert second_client.calls == [], (
|
|
491
|
+
"HTTP should not be called when the identical failure recurs "
|
|
492
|
+
"after a done conflict-fix"
|
|
493
|
+
)
|
|
494
|
+
|
|
448
495
|
|
|
449
496
|
class TestHasPriorConflictFix:
|
|
450
497
|
"""Cover the retry-cap predicate directly so the cli.py guard is exercised."""
|
|
@@ -487,6 +534,53 @@ class TestHasPriorConflictFix:
|
|
|
487
534
|
))
|
|
488
535
|
assert has_prior_conflict_fix(board, "abc123") is False
|
|
489
536
|
|
|
537
|
+
def test_false_when_successful_fix_precedes_a_different_error(self) -> None:
|
|
538
|
+
"""#2475: passing `current_error` doesn't change the #784 outcome
|
|
539
|
+
when the new failure is genuinely different — only an IDENTICAL
|
|
540
|
+
recurrence should consume the cap."""
|
|
541
|
+
from coord.conflict_fix import has_prior_conflict_fix
|
|
542
|
+
board = Board()
|
|
543
|
+
board.completed.append(Assignment(
|
|
544
|
+
machine_name="m", repo_name="api", issue_number=1, issue_title="x",
|
|
545
|
+
type="conflict-fix", review_of_assignment_id="abc123",
|
|
546
|
+
status="done",
|
|
547
|
+
briefing="# Conflict fix\nReason: Merge conflict in foo.py\n",
|
|
548
|
+
))
|
|
549
|
+
assert has_prior_conflict_fix(
|
|
550
|
+
board, "abc123", current_error="Merge conflict in bar.py",
|
|
551
|
+
) is False
|
|
552
|
+
|
|
553
|
+
def test_true_when_successful_fix_precedes_the_identical_error(self) -> None:
|
|
554
|
+
"""#2475: a `done` conflict-fix whose worker found nothing to
|
|
555
|
+
rebase (because the real blocker was never a content conflict —
|
|
556
|
+
e.g. a permanent branch-policy block, #2009) is followed by the
|
|
557
|
+
merge queue retrying into the SAME failure text. That is not a
|
|
558
|
+
fresh conflict (#784's carve-out), so it now consumes the retry cap
|
|
559
|
+
just like a genuine failure would — otherwise the queue loops
|
|
560
|
+
forever dispatching conflict-fix workers that can never help.
|
|
561
|
+
"""
|
|
562
|
+
from coord.conflict_fix import has_prior_conflict_fix
|
|
563
|
+
board = Board()
|
|
564
|
+
board.completed.append(Assignment(
|
|
565
|
+
machine_name="m", repo_name="api", issue_number=1, issue_title="x",
|
|
566
|
+
type="conflict-fix", review_of_assignment_id="abc123",
|
|
567
|
+
status="done",
|
|
568
|
+
briefing=(
|
|
569
|
+
"# Conflict fix: acme/api branch `issue-1-fix`\n\n"
|
|
570
|
+
"The merge of `issue-1-fix` → `main` failed.\n"
|
|
571
|
+
"Reason: Pull request #2471 is not mergeable: the base "
|
|
572
|
+
"branch policy prohibits the merge.\n"
|
|
573
|
+
),
|
|
574
|
+
))
|
|
575
|
+
assert has_prior_conflict_fix(
|
|
576
|
+
board,
|
|
577
|
+
"abc123",
|
|
578
|
+
current_error=(
|
|
579
|
+
"Pull request #2471 is not mergeable: the base branch "
|
|
580
|
+
"policy prohibits the merge."
|
|
581
|
+
),
|
|
582
|
+
) is True
|
|
583
|
+
|
|
490
584
|
def test_ignores_non_conflict_fix_types(self) -> None:
|
|
491
585
|
from coord.conflict_fix import has_prior_conflict_fix
|
|
492
586
|
board = Board()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_coordinator-0.5.186 → code_coordinator-0.5.187}/code_coordinator.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{code_coordinator-0.5.186 → code_coordinator-0.5.187}/code_coordinator.egg-info/entry_points.txt
RENAMED
|
File without changes
|
{code_coordinator-0.5.186 → code_coordinator-0.5.187}/code_coordinator.egg-info/requires.txt
RENAMED
|
File without changes
|
{code_coordinator-0.5.186 → code_coordinator-0.5.187}/code_coordinator.egg-info/scm_file_list.json
RENAMED
|
File without changes
|
{code_coordinator-0.5.186 → code_coordinator-0.5.187}/code_coordinator.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/deploy/coord-drive-queue.service
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/deploy/coord-release-propagate.service
RENAMED
|
File without changes
|
{code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/deploy/coord-release-propagate.timer
RENAMED
|
File without changes
|
{code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/deploy/coord-release-window.service
RENAMED
|
File without changes
|
{code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/deploy/coord-release-window.timer
RENAMED
|
File without changes
|
|
File without changes
|
{code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/deploy/coord-web-dist-build.service
RENAMED
|
File without changes
|
{code_coordinator-0.5.186 → code_coordinator-0.5.187}/coord/deploy/coord-web-dist-build.timer
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|