code-coordinator 0.5.517__tar.gz → 0.5.519__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.517 → code_coordinator-0.5.519}/PKG-INFO +1 -1
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/code_coordinator.egg-info/PKG-INFO +1 -1
- code_coordinator-0.5.519/code_coordinator.egg-info/scm_version.json +8 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/conflict_fix.py +44 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/merge_queue.py +86 -22
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/notify.py +15 -3
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/reconcile.py +118 -22
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_merge.py +6 -3
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_conflict_fix.py +147 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_coord_test_runner_toolchain.py +9 -6
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_gates.py +48 -6
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_merge_queue.py +172 -39
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_notify.py +78 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_reconcile.py +103 -4
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_smoke.py +45 -7
- code_coordinator-0.5.517/code_coordinator.egg-info/scm_version.json +0 -8
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/.claude/commands/board.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/.claude/commands/complete-session.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/.claude/commands/coordinator.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/.githooks/_lib.sh +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/.githooks/post-checkout +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/.githooks/post-commit +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/.githooks/post-merge +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/.github/coord-ci-acceptance.yml +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/.github/workflows/auto-release.yml +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/.github/workflows/publish.yml +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/.github/workflows/test.yml +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/.gitignore +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/CLAUDE.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/GOAL.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/LICENSE +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/MANIFEST.in +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/README.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/code_coordinator.egg-info/SOURCES.txt +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/code_coordinator.egg-info/dependency_links.txt +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/code_coordinator.egg-info/entry_points.txt +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/code_coordinator.egg-info/requires.txt +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/code_coordinator.egg-info/scm_file_list.json +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/code_coordinator.egg-info/top_level.txt +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/__init__.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/_board_mapping.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/acceptance.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/acceptance_drivers.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/agent.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/agent_app.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/agent_update.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/agents/opencode/.gitignore +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/agents/opencode/agents/work.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/agents/opencode/routing.jsonc +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/approved_work.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/audit.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/auto_loop.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/backup.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/block_log.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/board_schema.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/board_service.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/board_wire.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/brain.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/branch_model.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/bug_intake.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/cargo_cache.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/ci_fix.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/ci_github.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/ci_gitlab.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/ci_store.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/claim.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/claude_setup_token.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/cli.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/client.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/codegen.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/__init__.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/_common.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/acceptance.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/agent_ops.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/audit.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/backup.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/chat.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/ci.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/codegen.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/dispatch.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/dispatch_workers.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/dr.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/drive.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/drive_queue.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/gate_a.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/gates.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/issues.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/lifecycle.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/machine.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/merge.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/milestone.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/plan_followup.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/plans.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/portal.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/pr.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/release.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/repo.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/report.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/review.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/scorecard.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/sessions.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/setup.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/status.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/store_migrate.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/terminal.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/test_gate.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/commands/tui.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/comments.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/config.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/config_reload.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/confirm_test.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/dao.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/dashboard/__init__.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/dashboard/fixture.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/dashboard/index.html +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/dashboard/server.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/dashboard/terminal.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/db.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/dead_end.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/decomposition_chat.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/deploy/README.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/deploy/coord-agent.service +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/deploy/coord-backup.service +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/deploy/coord-backup.timer +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/deploy/coord-db-backup.service +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/deploy/coord-db-backup.sh +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/deploy/coord-db-backup.timer +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/deploy/coord-dr-verify.service +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/deploy/coord-dr-verify.timer +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/deploy/coord-drive-queue.service +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/deploy/coord-drive-queue.timer +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/deploy/coord-failure-notify.service +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/deploy/coord-fleet-watchdog.service +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/deploy/coord-fleet-watchdog.timer +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/deploy/coord-notify.service +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/deploy/coord-notify.timer +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/deploy/coord-release-propagate.service +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/deploy/coord-release-propagate.timer +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/deploy/coord-release-window.service +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/deploy/coord-release-window.timer +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/deploy/coord-serve.service +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/deploy/coord-web-dist-build.service +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/deploy/coord-web-dist-build.timer +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/deploy/coord-web.service +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/deploy_manifest.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/deploy_units.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/deprecation_telemetry.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/deps.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/diagnose.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/dispatch.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/dispatch_liveness.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/dist_name.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/dr_promote.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/dr_verify.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/drive.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/drive_queue.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/drive_sessions_snapshot.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/drive_state.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/events.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/failure_class.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/failure_classifier.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/filelock.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/fleet_config_health.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/forge_availability.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/freshness.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/gate_a.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/gate_b.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/gate_snapshot.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/gates.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/gen_board_fixture.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/github_ops.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/github_throttle.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/goal.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/graph_health.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/__init__.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/aggregate.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/checks/__init__.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/checks/_ci_pin.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/checks/agent_install.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/checks/cargo_targets.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/checks/claude_binary.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/checks/config_drift.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/checks/coord_tui_ci_pin.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/checks/coord_web_ci_pin.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/checks/deploy_lane_facts.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/checks/disk.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/checks/fleet_board.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/checks/fleet_deploy_lanes.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/checks/fleet_phantom.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/checks/fleet_unit_drift.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/checks/graph.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/checks/graphify_cli.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/checks/index_lock.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/checks/issues_sync_staleness.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/checks/local_machine_identity.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/checks/plan_usage.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/checks/pr_churn.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/checks/release_cordon.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/checks/repo_state.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/checks/spawned_coord.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/checks/stalled_pipeline.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/checks/timer_active.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/checks/toolchain.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/checks/unit_drift.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/checks/unit_enablement.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/checks/wedged_drive_queue.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/checks/worktrees.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/cli.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/context.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/fleet_snapshot.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/models.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/pypi.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/registry.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/render.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/health/units.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/hooks.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/housekeeping.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/interactive.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/invariant_alarms.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/issue_store.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/issues_sync_status.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/liveness_auditor.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/machine_fault.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/machine_metrics.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/machine_onboard.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/machine_pause.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/machine_stats.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/milestone_chat.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/milestone_dispatch.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/milestone_gate.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/milestone_order.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/mock_author.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/models.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/network.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/new_issue_chat.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/notifier/__init__.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/notifier/baseline.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/notifier/cli.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/notifier/collect.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/notifier/digest.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/notifier/models.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/notifier/predicate.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/notifier/service.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/notifier/store.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/notifier/transport.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/openapi.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/overlap_fence.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/overlap_predict.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/parentage.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/parentage_github.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/pipeline.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/plan_parser.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/plans.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/platform_paths.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/portal_bridge.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/portal_store.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/portal_sync.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/pr_body_lint.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/prereqs.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/progress.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/providers/__init__.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/providers/base.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/providers/claude.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/providers/claude_pty.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/providers/opencode.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/queue_diagnose.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/reconcile_tick.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/refine_chat.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/release_cordon.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/release_propagate.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/release_verify.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/release_window.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/repo_dormancy.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/repo_edit.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/repo_onboard.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/reports.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/rest_schema.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/restart_cmd.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/revalidate.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/review.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/scorecard.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/self_health.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/serve_app.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/skills/coord-dispatch-verbs/SKILL.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/skills/drive-queue-preflight/SKILL.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/skills/fleet-restart-safety/SKILL.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/skills/merge-stuck-triage/SKILL.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/skills/pipeline-limbo-triage/SKILL.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/skills/portal-followup/SKILL.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/skills/release-now/SKILL.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/skills/review-verdict-recovery/SKILL.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/skills/tui-quadraui-workflow/SKILL.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/skills/update-issue/SKILL.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/smoke.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/spend_ceiling.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/split_work.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/sql.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/stage_projection.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/state.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/store_migrate.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/store_parity.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/templates/deploy-cloudflare.node.yml +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/test_author.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/test_chat.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/test_orchestrator.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/test_report.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/tui_release.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/uat_checks.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/usage.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/usage_limits.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/usage_rollup.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coord/worker_events.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/coordinator.example.yml +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/deploy/coord-agent.service +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/deploy/coord-backup.service +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/deploy/coord-backup.timer +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/deploy/coord-db-backup.service +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/deploy/coord-db-backup.sh +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/deploy/coord-db-backup.timer +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/deploy/coord-dr-verify.service +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/deploy/coord-dr-verify.timer +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/deploy/coord-drive-queue.service +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/deploy/coord-drive-queue.timer +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/deploy/coord-failure-notify.service +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/deploy/coord-failure-notify.sh +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/deploy/coord-fleet-watchdog.service +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/deploy/coord-fleet-watchdog.timer +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/deploy/coord-notify.service +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/deploy/coord-notify.timer +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/deploy/coord-release-propagate.service +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/deploy/coord-release-propagate.timer +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/deploy/coord-release-window.service +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/deploy/coord-release-window.timer +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/deploy/coord-serve.service +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/deploy/coord-web-dist-build.service +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/deploy/coord-web-dist-build.sh +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/deploy/coord-web-dist-build.timer +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/deploy/coord-web-rollback.sh +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/deploy/coord-web.service +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/deploy/node-shim.sh +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/ADR_COORD_TUI_CI.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/ADR_COORD_WEB_ACCEPTANCE_SUITE.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/ADR_COORD_WEB_CI.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/ADR_COORD_WEB_DIST.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/ADR_PY_RUST_MIRRORS.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/AGENT_OPERATIONS.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/ARCHITECTURE.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/ARCH_SECURITY_GATES.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/COCKPIT.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/CONTROL_CENTER.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/COST_DISCIPLINE.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/CROSS_PLATFORM.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/CUSTOMER_FACING_APPS.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/CUSTOMER_PORTAL.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/DATA_STORE_SELECTION.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/DISASTER_RECOVERY.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/DRIVE_QUEUE.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/EPHEMERAL_WORKERS.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/FORGE_MIGRATION.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/GRAPHIFY_SETUP.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/ISSUE_GUIDANCE.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/MAC_MINI.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/MERGE_AUTO_DRAIN_TRUST_BAR.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/NOTIFIER.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/OPENCODE_VERIFICATION.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/OPERATING_GOTCHAS.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/OPERATOR_GUIDES.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/ORACLE_LOOP.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/PHONE_WEBAPP.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/PIPELINE_V2.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/PLATFORM_EVOLUTION.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/SECOND_BACKEND.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/STORE_SERVICE.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/TEST_FIRST_BUG_LANE.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/WEB_CONTROL_CENTER.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/WSL_WINDOWS_WORKER.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/mocks/web/README.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/mocks/web/_tokens.css +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/mocks/web/issue-detail.html +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/mocks/web/pipeline-narrow.html +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/docs/mocks/web/pipeline-wide.html +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/graphify-out/.gitignore +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/install-agent.sh +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/pyproject.toml +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/audit_review_verdict_overrides.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/azure-workers/bootstrap-shared.sh +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/azure-workers/build-worker-image.sh +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/azure-workers/coordinator-machine.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/azure-workers/dr-down.sh +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/azure-workers/dr-up.sh +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/azure-workers/epic-down.sh +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/azure-workers/epic-up.sh +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/azure-workers/preflight.sh +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/azure-workers/provision-server.sh +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/azure-workers/provision-worker.sh +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/azure-workers/scrub-and-generalize.sh +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/azure-workers/tailnet-acl.hujson +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/azure-workers/throwaway-vm.sh +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/azure-workers/verify-github-token.sh +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/check_gh_argv_containment.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/codegen.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/coord-test-runner.sh +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/coord-tui-scaffold/.github/coord-ci-acceptance.yml +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/coord-tui-scaffold/.github/workflows/cargo-test.yml +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/coord-tui-scaffold/.github/workflows/codegen-drift.yml +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/coord-tui-scaffold/CLAUDE.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/coord-venv-rollback.sh +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/drive-batch.sh +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/extract-coord-tui.sh +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/fleet_watchdog.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/gen_board_fixture.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/gen_mock_index.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/lib/provision-core.sh +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/next_release_tag.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/provision-machine.sh +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/run_tests_in_populated_home.sh +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/run_tests_without_gh.sh +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/setup-macmini.sh +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/smoke_437_interactive.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/verify-provision-noble.sh +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/verify_878_review_capture.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/verify_release_published.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/scripts/verify_release_wheel.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/setup.cfg +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/SMOKE_SET.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/__init__.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/acceptance/ms-37/conftest.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/acceptance/ms-37/contract.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/acceptance/ms-37/manifest.yml +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/acceptance/ms-37/test_usage_cli_1115.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/acceptance/ms-37/test_usage_core_1118.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/acceptance/ms-51/contract.md +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/acceptance/ms-51/home-active-extended.spec.ts +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/acceptance/ms-51/home-active.spec.ts +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/acceptance/ms-51/manifest.yml +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/acceptance/ms-51/mocks/home-active.html +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/acceptance/ms-51/tsconfig.json +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/acceptance/ms-example/mocks/home-active.html +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/backends.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/conftest.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/fixtures/board-pipeline-basic.json +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/fixtures/board-pipeline-terminal-gates.json +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/fixtures/opencode_run_failure_sample.jsonl +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/fixtures/opencode_run_length_sample.jsonl +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/fixtures/opencode_run_sample.jsonl +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/fixtures/playwright/all_pass.json +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/fixtures/playwright/global_setup_crash.json +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/fixtures/playwright/mixed_fail.json +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/fixtures/playwright/retry_then_pass.json +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/fixtures/playwright/retry_then_pass.junit.xml +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/fixtures/playwright/skip.json +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/fixtures/playwright/truncated.json +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/fixtures/test_report/cargo_compile_error.txt +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/fixtures/test_report/cargo_multi_target_failures.txt +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/fixtures/test_report/cargo_no_parseable_failures.txt +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/fixtures/test_report/pytest_collection_error.txt +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/fixtures/test_report/pytest_error_string_in_body.txt +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/fixtures/test_report/pytest_internal_error.txt +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/fixtures/test_report/pytest_mixed_failures.txt +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/fixtures/test_report/pytest_no_parseable_failures.txt +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_acceptance.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_acceptance_drivers.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_agent.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_agent_api_error.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_agent_app.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_agent_branch_base.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_agent_branch_capture.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_agent_config_free_1712.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_agent_deploy_units_endpoint.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_agent_dirty_worktree.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_agent_drive_queue_reconcile_2373.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_agent_graph_self_heal.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_agent_health_h3.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_agent_idle_restart.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_agent_push_failure.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_agent_reap.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_agent_repos_and_pull.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_agent_restart_services_endpoint.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_agent_skills_self_heal.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_agent_startup_diagnostics.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_agent_update.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_agent_update_bluegreen.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_agent_usage_limit.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_agent_zero_commit.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_ambient_home_isolation.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_approve_capability_reroute_3241.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_approve_dependency_busy_2804.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_approve_reject_plan.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_approve_usage_gate.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_approved_work_2532.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_approved_work_2996.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_assignment_already_recorded_daemon.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_audit_log.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_audit_outcome.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_audit_query.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_auto_loop.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_auto_release_publish_2035.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_backend_selection.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_backup.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_base_checkout_restore.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_block_log.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_board_cap_762.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_board_fixture.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_board_read_path.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_board_schema.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_board_service.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_board_state.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_board_wire.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_brain.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_branch_model.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_bug_intake.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_build_worker_image_env_update.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cargo_cache.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_check_gh_argv_containment.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_ci_acceptance_gate_1950.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_ci_fix.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_ci_github.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_ci_gitlab.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_ci_parity_2091.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_ci_store.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_claim.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_claude_md_budget.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_claude_setup_token.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_acceptance.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_assign.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_assign_interactive_oracle_gate.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_assign_interactive_remote.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_assign_provider.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_assign_repo_drift_2219.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_audit.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_chat_continue.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_ci.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_codegen.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_decide.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_diagnose_capability_rules.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_diagnose_config_provenance.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_diagnose_forge_availability.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_diagnose_graph.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_diagnose_self.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_diagnose_test_coverage.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_doctor.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_doctor_config_free_1801.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_doctor_config_mismatch_1712.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_doctor_store_backend_3084.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_drive.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_drive_queue.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_escalate.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_fix_headless_review.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_gate_a.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_install_drift.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_install_skills.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_issue_comment.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_issue_create_label.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_issue_reopen.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_issue_view_list.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_issues.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_milestone_assign.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_milestone_capture.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_milestone_chat_add_child.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_milestone_dispatch.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_milestone_gate_b.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_milestone_gate_c.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_milestone_order.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_milestone_remove_and_issue_close.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_milestone_ship.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_network.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_new_issue_chat.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_plans.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_portal.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_pr.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_pull_artifact.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_queue.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_reattach_sessions.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_refine_board.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_release_preflight.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_release_propagate.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_release_window.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_repo_2220.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_review_test_author_tracking_epic_2639.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_scorecard.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_serve_store_backend_3084.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_set_review_findings.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_status_advisory_terminal.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_status_contested_tag.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_status_invariant_alarms.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_status_machine_fault.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_status_merge_queue.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_status_provider.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_status_retried_3340.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_status_review_finalizing.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_status_supervisor_3366.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_status_test_failed_tag.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_status_usage_limit.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_sync_comments_873.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_test_plan.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_track.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_tui_update.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cli_wait.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_client.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_client_base_install.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_client_config_cache_atomic_3052.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_client_resource_migration_1946.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_commands_common.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_comments.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_completion_summary.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_config.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_config_acceptance.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_config_audit.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_config_drift_check.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_config_effective.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_config_pricing.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_config_snapshot_noncanonical_2208.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_config_usage_gate.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_confirm_test.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_conflict_fix_semantic.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_coord_log_daemon_fallback_2547.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_coord_test.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_coord_test_runner_acceptance_toolchain_2936.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_coord_test_runner_baseline.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_coord_test_runner_populated_home.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_coord_test_runner_routing.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_coord_uat.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_coord_web_sse_restart_live.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_coordinator_machine.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_cross_platform_imports.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_dao.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_dashboard.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_dashboard_api.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_dashboard_fixture.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_dashboard_server.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_dashboard_terminal.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_dashboard_terminal_live.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_db.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_dead_end.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_decomposition_chat.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_deploy_coord_db_backup.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_deploy_coord_web_dist.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_deploy_coord_web_rollback.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_deploy_db_backup_unit.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_deploy_drive_queue_unit.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_deploy_failure_notify_unit.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_deploy_manifest.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_deploy_notify_unit.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_deploy_units_lane.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_deploy_web_unit.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_deprecation_telemetry.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_deps.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_diagnose.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_dispatch.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_dispatch_liveness.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_dispatch_target_validation.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_dispatch_workers.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_dist_name.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_done_housekeeping.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_dr_azure_scripts.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_dr_promote.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_dr_verify.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_drive.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_drive_machine_fault.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_drive_queue.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_drive_queue_blocked_rendering.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_drive_queue_launch_argv.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_drive_queue_max_parallel_config.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_drive_queue_max_parallel_per_repo_config.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_drive_queue_roll_pending.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_drive_queue_self_cordon_escalation.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_drive_sessions_snapshot.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_drive_state.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_drive_tmux.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_epic_up_capability_detection.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_epic_up_down_symlinked_config_1887.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_epic_up_image_provenance.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_errors.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_events.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_failure_class.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_failure_classifier.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_filelock.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_finalize_interactive_exit_test_verdict.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_fix_escalation_classifier.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_fix_of_force_override.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_fleet_config_health.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_fleet_health_probes.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_fleet_health_snapshot.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_fleet_watchdog.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_forge_availability.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_freshness.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_gate_a.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_gate_b.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_gate_snapshot_staleness.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_gather_fleet_tmux_sessions.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_gen_mock_index.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_generated_rust_fixture.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_generated_rust_requests.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_generated_types_fixture.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_github_ops.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_github_throttle.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_goal.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_graph_health.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_graph_selfheal_absent_2237.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_handoff.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_health_checks.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_health_cli.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_health_cli_graph.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_health_config.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_health_context.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_health_coord_tui_ci_pin.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_health_coord_web_ci_pin.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_health_deploy_lane_facts.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_health_fix.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_health_incident_regression.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_health_issues_sync_staleness.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_health_pr_churn.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_health_pypi.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_health_registry.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_health_release_cordon_probe.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_health_timer_active.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_health_toolchain.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_health_unit_drift.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_health_unit_enablement.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_health_wedged_drive_queue.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_hooks.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_housekeeping.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_human_attended_437.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_init.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_install_agent_venv_2911.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_integration.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_interactive.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_interactive_briefing_echo.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_interactive_pane_log_2541.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_interactive_prefill_state.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_interactive_session_relaunch.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_interactive_test_verdict_backstop.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_interactive_token_attribution.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_interactive_worktree.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_invariant_alarms.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_issue_store_seam.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_issues_sync_status.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_liveness_auditor.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_liveness_notify.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_lock_contention_ratchet.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_machine_fault.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_machine_metrics.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_machine_onboard.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_machine_pause.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_machine_stats.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_merge_verify.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_milestone_chat.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_milestone_dispatch.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_milestone_gate.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_milestone_order.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_milestone_seam.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_mock_author.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_model_tiering.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_models.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_models_config_labels.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_needs_attention.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_network.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_new_issue_chat.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_next_release_tag.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_node_shim.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_notifier_baseline.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_notifier_cli.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_notifier_collect.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_notifier_config.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_notifier_drive_seam.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_notifier_isolation.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_notifier_predicate.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_notifier_quiet_hours.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_notifier_service.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_notify_drain.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_openapi.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_operational_defaults.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_overlap_fence.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_overlap_predict.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_packaged_deploy_units.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_parentage.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_paste_landed.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_phantom_heal_venv_independence_2570.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_pipeline.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_plan_followup_approve_plan_command.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_plan_followup_pr_command.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_plan_followup_review_command.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_plan_only.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_plan_parser.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_platform_paths.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_portal_bridge.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_portal_config.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_portal_store.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_portal_sync.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_pr_body_lint.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_prereqs.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_production_db_guard.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_progress.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_provider_seam.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_providers.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_providers_config_labels.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_providers_pty.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_provision_core.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_provision_machine.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_py_rust_mirror_inventory.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_quiet_hours.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_quiet_hours_store_2146.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_reap_merged_sessions.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_reap_stale_interactive_tick.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_reconcile_branch.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_reconcile_completions.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_reconcile_late_agent_reports_2547.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_reconcile_merges.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_reconcile_no_agent_record.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_reconcile_tick.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_reconcile_usage_limit_done.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_refine_chat.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_release_cordon_2101.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_release_cordon_daemon_leads_2176.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_release_cordon_deadlock_2240.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_release_cordon_drain_stall_3336.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_release_cordon_stuck_2490.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_release_propagate.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_release_propagate_threshold.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_release_roll_between_legs_2854.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_release_roll_window_handoff.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_release_unified_1242.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_release_verify.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_release_window.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_remote_auto_prune.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_remote_interactive_reaper.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_repo_add.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_repo_dormancy.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_repo_edit_2220.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_repo_graph_fleet_2237.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_repo_max_parallel_3423.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_repo_onboard_2220.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_report_result_push.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_reports.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_restart_cmd.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_retry.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_retry_advisory_1606.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_retry_escalation_classify_3360.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_retry_type_1636.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_revalidate.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_review.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_review_end_review_without_verdict.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_review_parse_failure_diagnostic.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_review_reaffirm.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_review_state.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_review_verdict_backstop.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_review_verdict_override_audit.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_review_verdict_relay.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_review_zero_commits.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_scoped_review_wiring.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_scorecard.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_self_health.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_serve.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_serve_app.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_serve_app_board_trim.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_serve_rest_routes.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_session.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_slice_issue_attribution.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_smoke_fanout_manifest_3333.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_smoke_live_checkout_restore.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_smoke_workflow.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_spend_ceiling.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_spend_ceiling_coordinator.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_split.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_split_work.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_sql_dialect.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_sqlite_connect_ratchet.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_stage_projection.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_stale_busy_reviewer_697.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_stalled_pipeline.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_state.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_state_review_findings_daemon.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_status_fleet_footer.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_stop_1567.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_store_contract.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_store_migrate.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_stuck.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_stuck_test_state_watchdog_2803.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_terminal_command.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_test_author.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_test_chat.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_test_orchestrator.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_test_report.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_test_verdict_parsing.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_test_verdict_transcript_floor.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_text_io_encoding_audit.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_thin_client_board_audit.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_thin_client_config_load_1080.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_thin_client_daemon_routing_906.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_throwaway_vm.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_tmux_host.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_tmux_session.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_transcript_floor.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_uat_checks.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_usage.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_usage_limits.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_usage_rollup.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_venv_live_install_2121.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_version_single_source.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_watch.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_windows_job_is_a_real_gate_2000.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_worker_env_venv_isolation.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_worker_events.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_worker_image_pin_sync.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_worker_safety.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_worker_test_scoping.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_worktree.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_worktree_rmtree_chokepoint.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/test_write_parity.py +0 -0
- {code_coordinator-0.5.517 → code_coordinator-0.5.519}/tests/write_parity.py +0 -0
|
@@ -928,6 +928,7 @@ def has_prior_conflict_fix(
|
|
|
928
928
|
merge_entry_id: str | None,
|
|
929
929
|
*,
|
|
930
930
|
current_error: str | None = None,
|
|
931
|
+
ignore_stale_rebase_attempts: bool = False,
|
|
931
932
|
) -> bool:
|
|
932
933
|
"""True when a second conflict-fix dispatch for *merge_entry_id* is blocked.
|
|
933
934
|
|
|
@@ -952,6 +953,21 @@ def has_prior_conflict_fix(
|
|
|
952
953
|
recurring unchanged — not a fresh conflict — so it now consumes the cap
|
|
953
954
|
too. Callers that don't pass *current_error* keep the pre-#2475 behaviour
|
|
954
955
|
(``done`` never blocks) since they have no error text to compare.
|
|
956
|
+
|
|
957
|
+
*ignore_stale_rebase_attempts* (#3444): a stale-rebase dispatch
|
|
958
|
+
(``dispatch_conflict_fix(..., stale_rebase=True)``, title prefixed
|
|
959
|
+
:data:`STALE_REBASE_FIX_TITLE_PREFIX`) never even attempts a mechanical
|
|
960
|
+
resolution — it is authorized ONLY for a pure, content-preserving
|
|
961
|
+
rebase, and its own briefing embeds the SAME ``entry.error`` as its
|
|
962
|
+
"Reason:" line. Without this flag, its refusal (agent-reported ``done``,
|
|
963
|
+
downgraded to a give-up by the ``stale-rebase-mismatch`` marker — see
|
|
964
|
+
:func:`detect_stale_rebase_mismatch`) would trip the #2475
|
|
965
|
+
identical-error check above and block the ordinary conflict-fix #3444
|
|
966
|
+
escalates to right after, even though the ordinary path hasn't been
|
|
967
|
+
tried yet. Set by the one caller doing that escalation
|
|
968
|
+
(:func:`coord.reconcile._try_ordinary_escalation_after_stale_mismatch`)
|
|
969
|
+
to skip every stale-rebase-titled row entirely — active or not — so
|
|
970
|
+
ONLY prior *ordinary* conflict-fix attempts count against the cap.
|
|
955
971
|
"""
|
|
956
972
|
if merge_entry_id is None:
|
|
957
973
|
return False
|
|
@@ -960,6 +976,10 @@ def has_prior_conflict_fix(
|
|
|
960
976
|
continue
|
|
961
977
|
if a.review_of_assignment_id != merge_entry_id:
|
|
962
978
|
continue
|
|
979
|
+
if ignore_stale_rebase_attempts and (a.issue_title or "").startswith(
|
|
980
|
+
STALE_REBASE_FIX_TITLE_PREFIX,
|
|
981
|
+
):
|
|
982
|
+
continue
|
|
963
983
|
# Active attempt in flight — prevent duplicate dispatch.
|
|
964
984
|
if a.status in ("running", "pending"):
|
|
965
985
|
return True
|
|
@@ -1254,6 +1274,7 @@ def dispatch_conflict_fix(
|
|
|
1254
1274
|
model: str | None = None,
|
|
1255
1275
|
stuck_summary: str | None = None,
|
|
1256
1276
|
stale_rebase: bool = False,
|
|
1277
|
+
after_stale_rebase_mismatch: bool = False,
|
|
1257
1278
|
status_fetcher: Callable[..., StatusResult] | None = None,
|
|
1258
1279
|
machine_pick_out: "list[ConflictFixMachinePick] | None" = None,
|
|
1259
1280
|
) -> Assignment | None:
|
|
@@ -1357,6 +1378,23 @@ def dispatch_conflict_fix(
|
|
|
1357
1378
|
(non-``semantic``) path below — a staleness-only block that recurs
|
|
1358
1379
|
against the same error after a prior conflict-fix attempt escalates to
|
|
1359
1380
|
a human exactly like a recurring mechanical conflict would.
|
|
1381
|
+
|
|
1382
|
+
``after_stale_rebase_mismatch=True`` (#3444) dispatches the ORDINARY
|
|
1383
|
+
conflict-fix path (same briefing/system-prompt/title as the plain
|
|
1384
|
+
``else`` branch below — this is not a distinct dispatch kind, just a
|
|
1385
|
+
retry-cap carve-out) right after a stale-rebase worker's
|
|
1386
|
+
``stale-rebase-mismatch`` refusal: that verdict means the *just-stale*
|
|
1387
|
+
premise was wrong — the rebase hit a genuine content conflict, so this
|
|
1388
|
+
is an ordinary conflict that deserves the ordinary mechanical attempt,
|
|
1389
|
+
not an immediate HUMAN_REQUIRED. Passes
|
|
1390
|
+
``ignore_stale_rebase_attempts=True`` to :func:`has_prior_conflict_fix`
|
|
1391
|
+
so the just-failed stale-rebase attempt — which never even tried a
|
|
1392
|
+
mechanical resolution — doesn't itself consume this cap; only a prior
|
|
1393
|
+
*ordinary* conflict-fix attempt does, capping this escalation at one
|
|
1394
|
+
per entry same as everything else here. #3349's safety property is
|
|
1395
|
+
unaffected: the stale-rebase worker itself still never resolves
|
|
1396
|
+
anything — only this ordinary worker (or its own semantic-escalation
|
|
1397
|
+
tier) may.
|
|
1360
1398
|
"""
|
|
1361
1399
|
if semantic:
|
|
1362
1400
|
if has_prior_semantic_escalation(board, entry.assignment_id):
|
|
@@ -1365,6 +1403,7 @@ def dispatch_conflict_fix(
|
|
|
1365
1403
|
return None
|
|
1366
1404
|
elif has_prior_conflict_fix(
|
|
1367
1405
|
board, entry.assignment_id, current_error=entry.error,
|
|
1406
|
+
ignore_stale_rebase_attempts=after_stale_rebase_mismatch,
|
|
1368
1407
|
):
|
|
1369
1408
|
return None
|
|
1370
1409
|
|
|
@@ -1576,6 +1615,11 @@ def dispatch_conflict_fix(
|
|
|
1576
1615
|
# rebase dispatch from an ordinary conflict-fix without
|
|
1577
1616
|
# re-deriving it from the assignment title prefix.
|
|
1578
1617
|
"stale_rebase": stale_rebase,
|
|
1618
|
+
# #3444: distinguishes an ordinary conflict-fix dispatched
|
|
1619
|
+
# normally from one escalated right after a stale-rebase
|
|
1620
|
+
# worker's mismatch refusal — same title/briefing either way,
|
|
1621
|
+
# so this is the only durable trace of which path led here.
|
|
1622
|
+
"after_stale_rebase_mismatch": after_stale_rebase_mismatch,
|
|
1579
1623
|
},
|
|
1580
1624
|
)
|
|
1581
1625
|
|
|
@@ -3169,6 +3169,19 @@ def evaluate_smoke_verdict(
|
|
|
3169
3169
|
#821/#1475's existing convention), so rows/entries predating this
|
|
3170
3170
|
feature behave exactly as before.
|
|
3171
3171
|
|
|
3172
|
+
#3443: "the merge base moved" is not, by itself, "a rebase happened" —
|
|
3173
|
+
the smoke runner tests the branch checked out as-is, never a merge with
|
|
3174
|
+
the base, so a base that merely advanced underneath an UNREBASED branch
|
|
3175
|
+
changed nothing the suite could see. Before consulting the #1738/#1778/
|
|
3176
|
+
#1847 file-compare escape hatches below, a confirmed-unchanged branch
|
|
3177
|
+
head (``test_head_sha == current_branch_sha``) spares the base move
|
|
3178
|
+
outright — cheaper than any file compare, and exactly the signal that a
|
|
3179
|
+
rebase (which always changes the branch's head SHA) did *not* happen.
|
|
3180
|
+
Without it, `dispatch_pending_smoke` (#3309) re-tested an identical,
|
|
3181
|
+
un-rebased branch head on every single commit landing on an active
|
|
3182
|
+
target branch, converging on nothing but flakiness (vimcode#523/#526,
|
|
3183
|
+
2026-09-24/25: ~20 re-runs of an unchanged branch head in a few hours).
|
|
3184
|
+
|
|
3172
3185
|
#1732: ``skipped`` is deliberately excluded from all of the above. It is
|
|
3173
3186
|
not a measurement of code at a SHA the way ``passed`` is — it is a
|
|
3174
3187
|
structural claim about the diff itself ("contract/fixture-only, nothing
|
|
@@ -3385,6 +3398,7 @@ def evaluate_smoke_verdict(
|
|
|
3385
3398
|
|
|
3386
3399
|
base_move_spare_reason: str | None = None
|
|
3387
3400
|
test_base_sha = getattr(a, "test_base_sha", None)
|
|
3401
|
+
test_head_sha = getattr(a, "test_head_sha", None)
|
|
3388
3402
|
if test_state == "passed":
|
|
3389
3403
|
# Merge base moved: the tested combination (this branch + that
|
|
3390
3404
|
# base) no longer exists, even if the branch's own diff is
|
|
@@ -3425,32 +3439,78 @@ def evaluate_smoke_verdict(
|
|
|
3425
3439
|
)
|
|
3426
3440
|
continue
|
|
3427
3441
|
|
|
3428
|
-
# #
|
|
3429
|
-
#
|
|
3430
|
-
#
|
|
3431
|
-
#
|
|
3432
|
-
#
|
|
3433
|
-
#
|
|
3434
|
-
#
|
|
3435
|
-
#
|
|
3436
|
-
#
|
|
3437
|
-
#
|
|
3438
|
-
#
|
|
3439
|
-
#
|
|
3440
|
-
#
|
|
3441
|
-
#
|
|
3442
|
+
# #3443: before even asking whether the base move is content-
|
|
3443
|
+
# relevant, ask the cheaper, load-bearing question first — did
|
|
3444
|
+
# THIS branch actually move? The smoke runner checks the branch
|
|
3445
|
+
# out as-is; it does not merge or rebase onto the base before
|
|
3446
|
+
# testing (see the module-level #1479 note above), so a moved
|
|
3447
|
+
# target tip only invalidates a `passed` verdict when the
|
|
3448
|
+
# branch itself picked up new commits since the test ran (a
|
|
3449
|
+
# rebase). A branch head confirmed identical to what was tested
|
|
3450
|
+
# means its merge-base with the target cannot have changed
|
|
3451
|
+
# either — the target only grows forward; it never rewrites the
|
|
3452
|
+
# history the branch forked from — so re-dispatching a
|
|
3453
|
+
# byte-identical branch head every time the target advances
|
|
3454
|
+
# (#3309 looping against develop, vimcode#523/#526) is pure
|
|
3455
|
+
# spend, not a re-test of anything new. Probed here, ahead of
|
|
3456
|
+
# the base-move check, so a confirmed-unchanged branch spares it
|
|
3457
|
+
# before `_base_move_spared`'s file-compare hatches even run;
|
|
3458
|
+
# those stay as the fallback for what this can't confirm (probe
|
|
3459
|
+
# unavailable) or the case where the branch genuinely moved.
|
|
3460
|
+
if (
|
|
3461
|
+
test_head_sha is not None
|
|
3462
|
+
and current_branch_sha is None
|
|
3463
|
+
and not branch_sha_attempted
|
|
3464
|
+
and gh_ops is not None
|
|
3465
|
+
and repo_github
|
|
3466
|
+
and entry_branch
|
|
3467
|
+
):
|
|
3468
|
+
current_branch_sha, branch_sha_probe_failed, branch_sha_probe_error = (
|
|
3469
|
+
_gh_get_branch_sha(gh_ops, repo_github, entry_branch)
|
|
3470
|
+
)
|
|
3471
|
+
branch_sha_attempted = True
|
|
3472
|
+
|
|
3442
3473
|
if (
|
|
3443
3474
|
test_base_sha is not None
|
|
3444
3475
|
and current_base_sha is not None
|
|
3445
3476
|
and test_base_sha != current_base_sha
|
|
3446
3477
|
):
|
|
3447
|
-
|
|
3448
|
-
|
|
3449
|
-
|
|
3450
|
-
|
|
3451
|
-
|
|
3452
|
-
|
|
3453
|
-
|
|
3478
|
+
if (
|
|
3479
|
+
test_head_sha is not None
|
|
3480
|
+
and current_branch_sha is not None
|
|
3481
|
+
and test_head_sha == current_branch_sha
|
|
3482
|
+
):
|
|
3483
|
+
spared, base_move_spare_reason = (
|
|
3484
|
+
True,
|
|
3485
|
+
"branch head unchanged since test — no rebase, "
|
|
3486
|
+
"base move alone does not stale (#3443)",
|
|
3487
|
+
)
|
|
3488
|
+
else:
|
|
3489
|
+
# #1738/#1778/#1847: the base moved AND the branch head
|
|
3490
|
+
# also moved (or couldn't be confirmed unchanged), but a
|
|
3491
|
+
# moved base SHA still doesn't necessarily mean a content
|
|
3492
|
+
# change that could affect a test result.
|
|
3493
|
+
# `_base_move_spared` tries, in order: is the base move
|
|
3494
|
+
# itself provably inert content (docs/scripts/issue-
|
|
3495
|
+
# template only, #1738); failing that, is *this
|
|
3496
|
+
# branch*'s entire diff (as actually tested,
|
|
3497
|
+
# test_base_sha..test_head_sha) provably inert (#1778);
|
|
3498
|
+
# failing that, do the two diffs simply touch disjoint
|
|
3499
|
+
# files (#1847) — a substantive base move and a
|
|
3500
|
+
# substantive branch that have nothing to do with each
|
|
3501
|
+
# other. Any one being true means the tested combination
|
|
3502
|
+
# is still covered — fall through to the branch-content
|
|
3503
|
+
# check below instead of staling here. If the branch has
|
|
3504
|
+
# since gained real content, that check still catches it
|
|
3505
|
+
# independently via the patch-id compare (#1847 doesn't
|
|
3506
|
+
# short-circuit it).
|
|
3507
|
+
spared, base_move_spare_reason = _base_move_spared(
|
|
3508
|
+
gh_ops,
|
|
3509
|
+
repo_github,
|
|
3510
|
+
test_base_sha,
|
|
3511
|
+
current_base_sha,
|
|
3512
|
+
test_head_sha,
|
|
3513
|
+
)
|
|
3454
3514
|
if not spared:
|
|
3455
3515
|
# stale: re-verify against the new base
|
|
3456
3516
|
if stale is None:
|
|
@@ -3467,7 +3527,11 @@ def evaluate_smoke_verdict(
|
|
|
3467
3527
|
# Branch content changed since the test ran. Same SHA-then-patch-id
|
|
3468
3528
|
# fallback as has_approved_review: a content-identical rebase (SHA
|
|
3469
3529
|
# moved, patch-id didn't) does not invalidate the verdict.
|
|
3470
|
-
test_head_sha
|
|
3530
|
+
# `test_head_sha` was already read above (#3443's branch-probe
|
|
3531
|
+
# reordering); the probe below is a no-op here whenever the
|
|
3532
|
+
# `passed` branch already ran it (`branch_sha_attempted` guards it),
|
|
3533
|
+
# and is the FIRST attempt for a `skipped`/`baseline_red` row, which
|
|
3534
|
+
# never enters that block.
|
|
3471
3535
|
if (
|
|
3472
3536
|
test_head_sha is not None
|
|
3473
3537
|
and current_branch_sha is None
|
|
@@ -3809,9 +3809,14 @@ def post_transition(transition: Transition, record: dict, entry: dict) -> None:
|
|
|
3809
3809
|
except Exception: # noqa: BLE001
|
|
3810
3810
|
board, config = None, None
|
|
3811
3811
|
elif stale_rebase_mismatch:
|
|
3812
|
-
#
|
|
3813
|
-
#
|
|
3814
|
-
#
|
|
3812
|
+
# #3444: board/config ARE needed here now — a stale-rebase
|
|
3813
|
+
# mismatch escalates to the ORDINARY conflict-fix path
|
|
3814
|
+
# (`_try_ordinary_escalation_after_stale_mismatch`) inside
|
|
3815
|
+
# `on_conflict_fix_done`, not straight to HUMAN_REQUIRED.
|
|
3816
|
+
# Without them that escalation call returns `None`
|
|
3817
|
+
# immediately and this — the operationally dominant path,
|
|
3818
|
+
# per the comment above — would reproduce #3444's exact bug
|
|
3819
|
+
# on every stale-rebase-mismatch it sees.
|
|
3815
3820
|
progress = entry.get("progress") or {}
|
|
3816
3821
|
stuck_summary = progress.get("stuck")
|
|
3817
3822
|
if not stuck_summary and log_path:
|
|
@@ -3820,6 +3825,13 @@ def post_transition(transition: Transition, record: dict, entry: dict) -> None:
|
|
|
3820
3825
|
stuck_summary = parse_progress(log_path).stuck
|
|
3821
3826
|
except Exception: # noqa: BLE001
|
|
3822
3827
|
stuck_summary = None
|
|
3828
|
+
try:
|
|
3829
|
+
from coord.board_service import read_board # noqa: PLC0415
|
|
3830
|
+
from coord.config import load as _load_config # noqa: PLC0415
|
|
3831
|
+
board = read_board()
|
|
3832
|
+
config = _load_config()
|
|
3833
|
+
except Exception: # noqa: BLE001
|
|
3834
|
+
board, config = None, None
|
|
3823
3835
|
|
|
3824
3836
|
on_conflict_fix_done(
|
|
3825
3837
|
parent_assignment_id=parent_id,
|
|
@@ -2978,6 +2978,67 @@ def _try_semantic_escalation(
|
|
|
2978
2978
|
return None
|
|
2979
2979
|
|
|
2980
2980
|
|
|
2981
|
+
def _try_ordinary_escalation_after_stale_mismatch(
|
|
2982
|
+
entry: mq.QueuedMerge,
|
|
2983
|
+
*,
|
|
2984
|
+
board: Board | None,
|
|
2985
|
+
config: Config | None,
|
|
2986
|
+
machine_name: str,
|
|
2987
|
+
stuck_summary: str | None,
|
|
2988
|
+
) -> "Assignment | None":
|
|
2989
|
+
"""Dispatch the ordinary conflict-fix path after a stale-rebase
|
|
2990
|
+
worker's ``stale-rebase-mismatch`` refusal (#3444).
|
|
2991
|
+
|
|
2992
|
+
A ``stale-rebase-mismatch`` verdict means the ``checks_stale`` premise
|
|
2993
|
+
that triggered the stale-rebase dispatch was wrong — the rebase hit a
|
|
2994
|
+
genuine content conflict, not just a moved base. That makes this an
|
|
2995
|
+
ORDINARY conflict, so it deserves the ordinary #241 conflict-fix
|
|
2996
|
+
worker's mechanical/additive attempt (and its own
|
|
2997
|
+
``SEMANTIC_STUCK_MARKER`` → escalation-or-HUMAN_REQUIRED handling on a
|
|
2998
|
+
second failure) before anything goes to a human — not an immediate
|
|
2999
|
+
HUMAN_REQUIRED, which is what happened before this fix.
|
|
3000
|
+
|
|
3001
|
+
Returns the dispatched Assignment, or ``None`` when the plumbing isn't
|
|
3002
|
+
available or dispatch declined for any of the ordinary reasons (no
|
|
3003
|
+
capable machine, already active, retry cap already consumed by a prior
|
|
3004
|
+
*ordinary* attempt, …) — every ``None`` case falls through to the
|
|
3005
|
+
caller's pre-#3444 HUMAN_REQUIRED behaviour.
|
|
3006
|
+
|
|
3007
|
+
Deliberately does NOT gate on a config flag the way
|
|
3008
|
+
:func:`_try_semantic_escalation` gates on
|
|
3009
|
+
``pipeline.escalate_semantic_conflicts`` — unlike a semantic escalation
|
|
3010
|
+
to a stronger model, this is just the ordinary conflict-fix path that
|
|
3011
|
+
every other conflict already gets; there is no reason to withhold it
|
|
3012
|
+
here specifically.
|
|
3013
|
+
"""
|
|
3014
|
+
if board is None or config is None:
|
|
3015
|
+
return None
|
|
3016
|
+
|
|
3017
|
+
from coord.conflict_fix import dispatch_conflict_fix # noqa: PLC0415
|
|
3018
|
+
from coord.network import fetch_status # noqa: PLC0415
|
|
3019
|
+
|
|
3020
|
+
try:
|
|
3021
|
+
return dispatch_conflict_fix(
|
|
3022
|
+
entry,
|
|
3023
|
+
board,
|
|
3024
|
+
config,
|
|
3025
|
+
prefer_machine=machine_name or None,
|
|
3026
|
+
after_stale_rebase_mismatch=True,
|
|
3027
|
+
stuck_summary=stuck_summary,
|
|
3028
|
+
# #3353: same liveness-aware selection every other call site
|
|
3029
|
+
# here uses — a dead machine with zero active assignments must
|
|
3030
|
+
# not be picked first just because it looks idle on the board.
|
|
3031
|
+
status_fetcher=fetch_status,
|
|
3032
|
+
)
|
|
3033
|
+
except Exception as exc: # noqa: BLE001 — never break reconcile on this
|
|
3034
|
+
import logging # noqa: PLC0415
|
|
3035
|
+
logging.warning(
|
|
3036
|
+
"stale-rebase-mismatch → ordinary conflict-fix escalation "
|
|
3037
|
+
"dispatch failed: %s", exc,
|
|
3038
|
+
)
|
|
3039
|
+
return None
|
|
3040
|
+
|
|
3041
|
+
|
|
2981
3042
|
def on_conflict_fix_done(
|
|
2982
3043
|
*,
|
|
2983
3044
|
parent_assignment_id: str,
|
|
@@ -2998,16 +3059,21 @@ def on_conflict_fix_done(
|
|
|
2998
3059
|
can surface "manual resolution required", and a comment is posted on
|
|
2999
3060
|
the underlying issue so the user is notified outside the TUI too.
|
|
3000
3061
|
|
|
3001
|
-
*stale_rebase_mismatch* (#3349 review): when
|
|
3002
|
-
worker (dispatched for
|
|
3003
|
-
|
|
3004
|
-
|
|
3005
|
-
|
|
3006
|
-
|
|
3007
|
-
|
|
3008
|
-
|
|
3009
|
-
|
|
3010
|
-
|
|
3062
|
+
*stale_rebase_mismatch* (#3349 review, escalation added #3444): when
|
|
3063
|
+
``True``, a stale-rebase worker (dispatched for
|
|
3064
|
+
``merge_gate_checks_stale``, not an ordinary conflict) correctly
|
|
3065
|
+
refused to push per its own briefing's "When NOT to guess" section —
|
|
3066
|
+
its rebase either hit a real conflict marker or produced a different
|
|
3067
|
+
patch-id than the pre-rebase branch, so it is not a pure
|
|
3068
|
+
content-preserving rebase. That means the *just-stale* premise behind
|
|
3069
|
+
the stale-rebase dispatch was wrong — this is an ORDINARY conflict, so
|
|
3070
|
+
it gets the ordinary #241 conflict-fix worker's mechanical/additive
|
|
3071
|
+
attempt (:func:`_try_ordinary_escalation_after_stale_mismatch`) before
|
|
3072
|
+
anything reaches a human, exactly like any other conflict. Only when
|
|
3073
|
+
THAT dispatch itself declines (no capable machine, already active,
|
|
3074
|
+
retry cap consumed, …) does the entry land on HUMAN_REQUIRED — #3349's
|
|
3075
|
+
safety property (the stale-rebase worker itself never resolves
|
|
3076
|
+
anything) is unaffected either way.
|
|
3011
3077
|
|
|
3012
3078
|
#2566: when *semantic* is ``True`` and the tier-2 escalation didn't
|
|
3013
3079
|
fire specifically because ``pipeline.escalate_semantic_conflicts`` is
|
|
@@ -3058,24 +3124,54 @@ def on_conflict_fix_done(
|
|
|
3058
3124
|
)
|
|
3059
3125
|
failed_entry = entry
|
|
3060
3126
|
elif stale_rebase_mismatch:
|
|
3061
|
-
# #
|
|
3062
|
-
#
|
|
3063
|
-
#
|
|
3064
|
-
#
|
|
3065
|
-
#
|
|
3066
|
-
|
|
3127
|
+
# #3444: a stale-rebase worker's refusal means the
|
|
3128
|
+
# "just-stale" premise was wrong — this is a genuine
|
|
3129
|
+
# content conflict, i.e. an ORDINARY conflict, so it gets
|
|
3130
|
+
# the ordinary #241 conflict-fix worker's mechanical
|
|
3131
|
+
# attempt before anything reaches a human (previously this
|
|
3132
|
+
# skipped straight to HUMAN_REQUIRED — #3444's bug).
|
|
3067
3133
|
detail = stuck_summary or (
|
|
3068
3134
|
"rebase was not content-preserving (a conflict marker "
|
|
3069
3135
|
"appeared, or the resulting patch-id differed from the "
|
|
3070
3136
|
"pre-rebase branch's)"
|
|
3071
3137
|
)
|
|
3072
|
-
|
|
3073
|
-
|
|
3074
|
-
|
|
3075
|
-
|
|
3076
|
-
|
|
3138
|
+
fix = _try_ordinary_escalation_after_stale_mismatch(
|
|
3139
|
+
entry,
|
|
3140
|
+
board=board,
|
|
3141
|
+
config=config,
|
|
3142
|
+
machine_name=machine_name,
|
|
3143
|
+
stuck_summary=stuck_summary,
|
|
3077
3144
|
)
|
|
3078
|
-
|
|
3145
|
+
if fix is not None:
|
|
3146
|
+
# Stay in CONFLICT, not HUMAN_REQUIRED — the ordinary
|
|
3147
|
+
# conflict-fix worker is now in flight. If it also
|
|
3148
|
+
# fails (or itself judges the conflict SEMANTIC), this
|
|
3149
|
+
# hook runs again with `stale_rebase_mismatch=False`
|
|
3150
|
+
# and the ordinary/semantic-escalation-or-HUMAN_REQUIRED
|
|
3151
|
+
# logic below applies exactly as it does for any other
|
|
3152
|
+
# conflict.
|
|
3153
|
+
entry.state = mq.CONFLICT
|
|
3154
|
+
entry.error = (
|
|
3155
|
+
f"{existing_error}; stale-rebase worker refused to "
|
|
3156
|
+
f"push: {detail}. Not a stale-base mismatch after "
|
|
3157
|
+
"all — this is a genuine content conflict, "
|
|
3158
|
+
f"escalated to an ordinary conflict-fix (assignment "
|
|
3159
|
+
f"{fix.assignment_id}) on {fix.machine_name}."
|
|
3160
|
+
)
|
|
3161
|
+
else:
|
|
3162
|
+
# The ordinary escalation itself declined (no capable
|
|
3163
|
+
# machine, already active, retry cap already consumed
|
|
3164
|
+
# by a prior ordinary attempt, …) — fall through to
|
|
3165
|
+
# HUMAN_REQUIRED exactly like the pre-#3444 behaviour.
|
|
3166
|
+
entry.state = mq.HUMAN_REQUIRED
|
|
3167
|
+
entry.error = (
|
|
3168
|
+
f"{existing_error}; stale-rebase worker refused to "
|
|
3169
|
+
f"push: {detail}. This is a genuine content conflict "
|
|
3170
|
+
"against the new base, not a pure rebase, and the "
|
|
3171
|
+
"ordinary conflict-fix escalation could not be "
|
|
3172
|
+
"dispatched either — manual resolution required."
|
|
3173
|
+
)
|
|
3174
|
+
failed_entry = entry
|
|
3079
3175
|
else:
|
|
3080
3176
|
# #1291: a SEMANTIC give-up gets ONE escalated attempt from a
|
|
3081
3177
|
# stronger model before the entry is parked. Everything
|
|
@@ -2887,9 +2887,12 @@ class TestGateBlockedRowEntersQueueBlocked:
|
|
|
2887
2887
|
assert mq.load_queue() == []
|
|
2888
2888
|
|
|
2889
2889
|
def fake_get_branch_sha(repo, branch):
|
|
2890
|
-
# The base moved since the verdict was recorded
|
|
2891
|
-
# itself
|
|
2892
|
-
|
|
2890
|
+
# The base moved since the verdict was recorded, AND the branch
|
|
2891
|
+
# itself was rebased (its head moved too) — #3443: a base move
|
|
2892
|
+
# alone, with the branch head confirmed unchanged, no longer
|
|
2893
|
+
# stales the verdict, so this needs both to still exercise a
|
|
2894
|
+
# genuine STALE for the #1926 fallback-agreement check below.
|
|
2895
|
+
return "newbase111" if branch == "main" else "branchsha111"
|
|
2893
2896
|
|
|
2894
2897
|
with patch(
|
|
2895
2898
|
"coord.github_ops.get_branch_sha", side_effect=fake_get_branch_sha
|
|
@@ -1160,6 +1160,153 @@ class TestDispatch:
|
|
|
1160
1160
|
assert client.calls == []
|
|
1161
1161
|
|
|
1162
1162
|
|
|
1163
|
+
class TestAfterStaleRebaseMismatchEscalation:
|
|
1164
|
+
"""#3444: a `stale-rebase-mismatch` verdict must escalate to the
|
|
1165
|
+
ORDINARY conflict-fix path — `dispatch_conflict_fix(...,
|
|
1166
|
+
after_stale_rebase_mismatch=True)` — not straight to HUMAN_REQUIRED.
|
|
1167
|
+
That flag changes nothing about the dispatched briefing/title (same as
|
|
1168
|
+
the plain `else` branch) — it only carves the just-failed stale-rebase
|
|
1169
|
+
attempt out of the retry cap, since that attempt never even tried a
|
|
1170
|
+
mechanical resolution.
|
|
1171
|
+
"""
|
|
1172
|
+
|
|
1173
|
+
def test_sends_the_ordinary_briefing_and_title(
|
|
1174
|
+
self, two_machine_config: Config, coord_db,
|
|
1175
|
+
) -> None:
|
|
1176
|
+
client = _FakeHTTPClient({"id": "fix-id-ordinary-after-mismatch"})
|
|
1177
|
+
entry = _entry(error=f"{CI_STALE_PREFIX} checks predate the current base")
|
|
1178
|
+
result = dispatch_conflict_fix(
|
|
1179
|
+
entry, Board(), two_machine_config,
|
|
1180
|
+
http_client=client, prefer_machine="laptop",
|
|
1181
|
+
after_stale_rebase_mismatch=True,
|
|
1182
|
+
)
|
|
1183
|
+
assert result is not None
|
|
1184
|
+
assert not result.issue_title.startswith(STALE_REBASE_FIX_TITLE_PREFIX)
|
|
1185
|
+
assert result.issue_title.startswith("[conflict-fix]")
|
|
1186
|
+
_, payload = client.calls[0]
|
|
1187
|
+
assert payload["system_prompt"] == CONFLICT_FIX_SYSTEM_PROMPT
|
|
1188
|
+
|
|
1189
|
+
def test_a_failed_stale_rebase_attempt_does_not_consume_the_cap(
|
|
1190
|
+
self, two_machine_config: Config, coord_db,
|
|
1191
|
+
) -> None:
|
|
1192
|
+
"""The just-finished stale-rebase attempt is recorded on the board
|
|
1193
|
+
as a `[stale-rebase]`-titled conflict-fix row whose dispatch-time
|
|
1194
|
+
`Reason:` line is the SAME `entry.error` this escalation call
|
|
1195
|
+
carries (both dispatches read straight off `entry.error`) — without
|
|
1196
|
+
`ignore_stale_rebase_attempts`, the #2475 identical-error check
|
|
1197
|
+
would misread that as a recurring, already-failed mechanical
|
|
1198
|
+
attempt and block this escalation before it ever tries."""
|
|
1199
|
+
board = Board()
|
|
1200
|
+
error = f"{CI_STALE_PREFIX} checks predate the current base"
|
|
1201
|
+
board.completed.append(Assignment(
|
|
1202
|
+
machine_name="laptop", repo_name="api", issue_number=1,
|
|
1203
|
+
issue_title=f"{STALE_REBASE_FIX_TITLE_PREFIX} Fix the thing",
|
|
1204
|
+
assignment_id="stale-fix-1", status="done",
|
|
1205
|
+
type="conflict-fix", review_of_assignment_id="abc123",
|
|
1206
|
+
briefing=f"# Stale-CI rebase\nReason: {error}\n",
|
|
1207
|
+
))
|
|
1208
|
+
entry = _entry(error=error)
|
|
1209
|
+
client = _FakeHTTPClient({"id": "fix-id-escalated"})
|
|
1210
|
+
result = dispatch_conflict_fix(
|
|
1211
|
+
entry, board, two_machine_config,
|
|
1212
|
+
http_client=client, prefer_machine="laptop",
|
|
1213
|
+
after_stale_rebase_mismatch=True,
|
|
1214
|
+
)
|
|
1215
|
+
assert result is not None
|
|
1216
|
+
assert len(client.calls) == 1
|
|
1217
|
+
|
|
1218
|
+
def test_a_prior_ordinary_conflict_fix_failure_still_blocks(
|
|
1219
|
+
self, two_machine_config: Config, coord_db,
|
|
1220
|
+
) -> None:
|
|
1221
|
+
"""The carve-out is narrow: only stale-rebase-titled rows are
|
|
1222
|
+
ignored. A genuinely failed ORDINARY conflict-fix attempt for the
|
|
1223
|
+
same entry still consumes the cap exactly like any other retry."""
|
|
1224
|
+
board = Board()
|
|
1225
|
+
board.completed.append(Assignment(
|
|
1226
|
+
machine_name="laptop", repo_name="api", issue_number=1,
|
|
1227
|
+
issue_title="[conflict-fix] Fix the thing",
|
|
1228
|
+
assignment_id="ordinary-fix-1", status="failed",
|
|
1229
|
+
type="conflict-fix", review_of_assignment_id="abc123",
|
|
1230
|
+
))
|
|
1231
|
+
entry = _entry()
|
|
1232
|
+
client = _FakeHTTPClient({"id": "would-not-fire"})
|
|
1233
|
+
result = dispatch_conflict_fix(
|
|
1234
|
+
entry, board, two_machine_config,
|
|
1235
|
+
http_client=client, prefer_machine="laptop",
|
|
1236
|
+
after_stale_rebase_mismatch=True,
|
|
1237
|
+
)
|
|
1238
|
+
assert result is None
|
|
1239
|
+
assert client.calls == []
|
|
1240
|
+
|
|
1241
|
+
def test_no_double_dispatch_while_a_conflict_fix_is_already_active(
|
|
1242
|
+
self, two_machine_config: Config, coord_db,
|
|
1243
|
+
) -> None:
|
|
1244
|
+
"""Acceptance: no double-dispatch while one is active, regardless
|
|
1245
|
+
of which flavor is running."""
|
|
1246
|
+
board = Board()
|
|
1247
|
+
board.active.append(Assignment(
|
|
1248
|
+
machine_name="laptop", repo_name="api", issue_number=1,
|
|
1249
|
+
issue_title="[conflict-fix] Fix the thing",
|
|
1250
|
+
assignment_id="running-fix-1", status="running",
|
|
1251
|
+
type="conflict-fix", review_of_assignment_id="abc123",
|
|
1252
|
+
))
|
|
1253
|
+
entry = _entry()
|
|
1254
|
+
client = _FakeHTTPClient({"id": "would-not-fire"})
|
|
1255
|
+
result = dispatch_conflict_fix(
|
|
1256
|
+
entry, board, two_machine_config,
|
|
1257
|
+
http_client=client, prefer_machine="laptop",
|
|
1258
|
+
after_stale_rebase_mismatch=True,
|
|
1259
|
+
)
|
|
1260
|
+
assert result is None
|
|
1261
|
+
assert client.calls == []
|
|
1262
|
+
|
|
1263
|
+
|
|
1264
|
+
class TestHasPriorConflictFixIgnoresStaleRebaseAttempts:
|
|
1265
|
+
"""Direct coverage of `has_prior_conflict_fix`'s
|
|
1266
|
+
`ignore_stale_rebase_attempts` carve-out (#3444)."""
|
|
1267
|
+
|
|
1268
|
+
def test_failed_stale_rebase_row_ignored_when_flag_set(self) -> None:
|
|
1269
|
+
from coord.conflict_fix import has_prior_conflict_fix
|
|
1270
|
+
board = Board()
|
|
1271
|
+
board.completed.append(Assignment(
|
|
1272
|
+
machine_name="m", repo_name="api", issue_number=1,
|
|
1273
|
+
issue_title=f"{STALE_REBASE_FIX_TITLE_PREFIX} x",
|
|
1274
|
+
type="conflict-fix", review_of_assignment_id="abc123",
|
|
1275
|
+
status="failed",
|
|
1276
|
+
))
|
|
1277
|
+
assert has_prior_conflict_fix(
|
|
1278
|
+
board, "abc123", ignore_stale_rebase_attempts=True,
|
|
1279
|
+
) is False
|
|
1280
|
+
|
|
1281
|
+
def test_failed_stale_rebase_row_still_counts_by_default(self) -> None:
|
|
1282
|
+
"""Every OTHER caller (default `ignore_stale_rebase_attempts=False`)
|
|
1283
|
+
is byte-for-byte unaffected."""
|
|
1284
|
+
from coord.conflict_fix import has_prior_conflict_fix
|
|
1285
|
+
board = Board()
|
|
1286
|
+
board.completed.append(Assignment(
|
|
1287
|
+
machine_name="m", repo_name="api", issue_number=1,
|
|
1288
|
+
issue_title=f"{STALE_REBASE_FIX_TITLE_PREFIX} x",
|
|
1289
|
+
type="conflict-fix", review_of_assignment_id="abc123",
|
|
1290
|
+
status="failed",
|
|
1291
|
+
))
|
|
1292
|
+
assert has_prior_conflict_fix(board, "abc123") is True
|
|
1293
|
+
|
|
1294
|
+
def test_failed_ordinary_row_still_counts_even_with_flag_set(self) -> None:
|
|
1295
|
+
"""The carve-out is narrow: it names the stale-rebase title prefix
|
|
1296
|
+
specifically, not "any prior conflict-fix"."""
|
|
1297
|
+
from coord.conflict_fix import has_prior_conflict_fix
|
|
1298
|
+
board = Board()
|
|
1299
|
+
board.completed.append(Assignment(
|
|
1300
|
+
machine_name="m", repo_name="api", issue_number=1,
|
|
1301
|
+
issue_title="[conflict-fix] x",
|
|
1302
|
+
type="conflict-fix", review_of_assignment_id="abc123",
|
|
1303
|
+
status="failed",
|
|
1304
|
+
))
|
|
1305
|
+
assert has_prior_conflict_fix(
|
|
1306
|
+
board, "abc123", ignore_stale_rebase_attempts=True,
|
|
1307
|
+
) is True
|
|
1308
|
+
|
|
1309
|
+
|
|
1163
1310
|
class TestSemanticEscalationDisabled:
|
|
1164
1311
|
"""#2566: the predicate that lets HUMAN_REQUIRED messaging say *why*
|
|
1165
1312
|
the tier-2 semantic escalation didn't run, rather than reading as
|