code-coordinator 0.5.753__tar.gz → 0.5.755__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.753 → code_coordinator-0.5.755}/CLAUDE.md +3 -1
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/PKG-INFO +1 -1
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/code_coordinator.egg-info/PKG-INFO +1 -1
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/code_coordinator.egg-info/scm_version.json +2 -2
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/agent.py +15 -1
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/claim.py +1 -1
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/drive_queue.py +74 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/decomposition_chat.py +40 -6
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/dispatch.py +12 -1
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/drive_queue.py +76 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/gates.py +16 -1
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/notify.py +26 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/stage_projection.py +13 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_push_failure.py +56 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_claim.py +33 -5
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_drive_queue.py +209 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_decomposition_chat.py +41 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dispatch.py +26 -4
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_drive_queue.py +81 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_gates.py +32 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_notify.py +34 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_stage_projection.py +22 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/.claude/commands/board.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/.claude/commands/complete-session.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/.claude/commands/coordinator.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/.githooks/_lib.sh +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/.githooks/post-checkout +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/.githooks/post-commit +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/.githooks/post-merge +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/.github/coord-ci-acceptance.yml +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/.github/workflows/auto-release.yml +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/.github/workflows/publish.yml +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/.github/workflows/test.yml +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/.gitignore +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/GOAL.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/LICENSE +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/MANIFEST.in +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/README.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/code_coordinator.egg-info/SOURCES.txt +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/code_coordinator.egg-info/dependency_links.txt +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/code_coordinator.egg-info/entry_points.txt +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/code_coordinator.egg-info/requires.txt +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/code_coordinator.egg-info/scm_file_list.json +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/code_coordinator.egg-info/top_level.txt +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/__init__.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/_board_mapping.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/acceptance.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/acceptance_drivers.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/agent_app.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/agent_update.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/agents/opencode/.gitignore +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/agents/opencode/agents/work.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/agents/opencode/routing.jsonc +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/app_drive.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/app_drive_daemon.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/approved_work.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/audit.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/auto_loop.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/backup.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/block_log.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/board_doctor.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/board_doctor_followthrough.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/board_doctor_permissions.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/board_doctor_policy.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/board_schema.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/board_service.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/board_wire.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/brain.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/branch_model.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/briefing_lessons.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/bug_intake.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/bugbash.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/cargo_cache.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/ci_fix.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/ci_github.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/ci_gitlab.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/ci_store.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/claude_setup_token.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/cli.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/client.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/codegen.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/__init__.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/_common.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/acceptance.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/agent_ops.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/app_drive.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/audit.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/backup.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/bugbash.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/chat.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/ci.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/codegen.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/dispatch.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/dispatch_workers.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/dr.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/drive.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/gate_a.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/gates.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/issues.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/lifecycle.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/machine.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/merge.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/milestone.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/plan_followup.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/plans.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/portal.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/pr.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/release.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/repo.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/report.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/review.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/scorecard.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/sessions.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/setup.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/smoke.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/status.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/store_migrate.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/terminal.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/test_gate.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/commands/tui.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/comments.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/config.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/config_reload.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/confirm_test.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/conflict_fix.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/dao.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/dashboard/__init__.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/dashboard/fixture.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/dashboard/index.html +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/dashboard/reports.html +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/dashboard/server.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/dashboard/terminal.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/db.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/dead_end.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/README.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-agent.service +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-backup.service +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-backup.timer +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-board-doctor.service +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-board-doctor.timer +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-db-backup.service +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-db-backup.sh +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-db-backup.timer +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-dr-verify.service +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-dr-verify.timer +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-drive-queue.service +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-drive-queue.timer +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-failure-notify.service +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-fleet-watchdog.service +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-fleet-watchdog.timer +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-nightly-smoke.service +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-nightly-smoke.timer +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-notify.service +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-notify.timer +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-release-propagate.service +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-release-propagate.timer +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-release-window.service +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-release-window.timer +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-serve.service +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-web-dist-build.service +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-web-dist-build.timer +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy/coord-web.service +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy_manifest.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deploy_units.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deprecation_telemetry.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/deps.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/diagnose.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/dirlink.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/dispatch_liveness.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/dist_name.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/dr_promote.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/dr_verify.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/drive.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/drive_sessions_snapshot.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/drive_state.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/entry_truth.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/events.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/failure_class.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/failure_classifier.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/filelock.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/fleet_config_health.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/forge_availability.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/freshness.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/gate_a.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/gate_b.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/gate_snapshot.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/gen_board_fixture.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/github_ops.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/github_throttle.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/goal.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/graph_health.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/gtk_native_driver.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/__init__.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/aggregate.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/__init__.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/_ci_pin.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/agent_install.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/cargo_targets.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/claude_binary.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/config_drift.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/coord_tui_ci_pin.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/coord_web_ci_pin.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/deploy_lane_facts.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/disk.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/fleet_board.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/fleet_deploy_lanes.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/fleet_phantom.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/fleet_unit_drift.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/graph.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/graphify_cli.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/gui_lane_preflight.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/index_lock.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/issues_sync_staleness.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/local_machine_identity.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/plan_usage.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/pr_churn.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/release_cordon.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/repo_state.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/spawned_coord.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/stalled_pipeline.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/sustained_cpu.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/timer_active.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/toolchain.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/unit_drift.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/unit_enablement.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/wedged_drive_queue.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/checks/worktrees.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/cli.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/context.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/fleet_snapshot.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/models.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/pypi.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/registry.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/render.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/health/units.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/hooks.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/housekeeping.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/interactive.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/invariant_alarms.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/issue_store.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/issues_sync_status.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/key_spec.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/liveness_auditor.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/mac_native_driver.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/machine_fault.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/machine_metrics.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/machine_onboard.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/machine_pause.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/machine_stats.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/merge_queue.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/milestone_chat.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/milestone_dispatch.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/milestone_gate.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/milestone_order.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/mock_author.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/models.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/native_fs_wait.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/native_pixels.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/network.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/new_issue_chat.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/nightly_runner.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/nightly_smoke.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/nightly_status.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/nightly_store.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/notifier/__init__.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/notifier/baseline.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/notifier/cli.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/notifier/collect.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/notifier/digest.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/notifier/models.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/notifier/predicate.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/notifier/service.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/notifier/store.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/notifier/transport.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/openapi.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/overlap_fence.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/overlap_predict.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/parentage.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/parentage_github.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/pipeline.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/plan_parser.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/plans.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/platform_paths.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/portal_bridge.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/portal_store.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/portal_sync.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/pr_body_lint.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/preflight_size.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/prereqs.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/prereview_gate.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/progress.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/providers/__init__.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/providers/base.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/providers/claude.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/providers/claude_pty.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/providers/opencode.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/queue_diagnose.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/reconcile.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/reconcile_tick.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/refine_chat.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/release_cordon.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/release_gate.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/release_propagate.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/release_verify.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/release_window.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/repo_dormancy.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/repo_edit.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/repo_onboard.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/reports.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/rest_schema.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/restart_cmd.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/revalidate.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/review.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/scorecard.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/self_health.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/serve_app.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/shell_exec_wrap.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/skills/coord-dispatch-verbs/SKILL.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/skills/drive-queue-preflight/SKILL.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/skills/fleet-restart-safety/SKILL.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/skills/merge-stuck-triage/SKILL.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/skills/pipeline-limbo-triage/SKILL.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/skills/portal-followup/SKILL.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/skills/release-now/SKILL.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/skills/review-verdict-recovery/SKILL.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/skills/tui-quadraui-workflow/SKILL.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/skills/update-issue/SKILL.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/smoke.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/smoke_tags.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/spend_ceiling.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/split_work.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/sql.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/state.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/store_migrate.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/store_parity.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/templates/deploy-cloudflare.node.yml +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/test_author.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/test_chat.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/test_orchestrator.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/test_report.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/tui_pty_driver.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/tui_release.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/uat_checks.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/upstream_gaps.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/usage.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/usage_limits.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/usage_rollup.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/win_native_bridge.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/win_native_driver.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coord/worker_events.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/coordinator.example.yml +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-agent.service +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-backup.service +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-backup.timer +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-board-doctor.service +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-board-doctor.timer +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-db-backup.service +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-db-backup.sh +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-db-backup.timer +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-dr-verify.service +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-dr-verify.timer +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-drive-queue.service +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-drive-queue.timer +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-failure-notify.service +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-failure-notify.sh +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-fleet-watchdog.service +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-fleet-watchdog.timer +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-nightly-smoke.service +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-nightly-smoke.timer +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-notify.service +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-notify.timer +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-release-propagate.service +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-release-propagate.timer +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-release-window.service +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-release-window.timer +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-serve.service +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-web-dist-build.service +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-web-dist-build.sh +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-web-dist-build.timer +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-web-rollback.sh +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/coord-web.service +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/deploy/node-shim.sh +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/ADR_COORD_TUI_CI.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/ADR_COORD_WEB_ACCEPTANCE_SUITE.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/ADR_COORD_WEB_CI.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/ADR_COORD_WEB_DIST.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/ADR_PY_RUST_MIRRORS.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/AGENT_OPERATIONS.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/ARCHITECTURE.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/ARCH_SECURITY_GATES.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/COCKPIT.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/CONTROL_CENTER.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/COST_DISCIPLINE.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/CROSS_PLATFORM.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/CUSTOMER_FACING_APPS.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/CUSTOMER_PORTAL.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/DATA_STORE_SELECTION.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/DISASTER_RECOVERY.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/DRIVE_QUEUE.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/EPHEMERAL_WORKERS.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/FORGE_MIGRATION.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/GRAPHIFY_SETUP.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/ISSUE_GUIDANCE.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/MAC_MINI.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/MERGE_AUTO_DRAIN_TRUST_BAR.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/NOTIFIER.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/OPENCODE_VERIFICATION.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/OPERATING_GOTCHAS.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/OPERATOR_GUIDES.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/ORACLE_LOOP.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/PHONE_WEBAPP.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/PIPELINE_V2.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/PLATFORM_EVOLUTION.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/SECOND_BACKEND.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/STORE_SERVICE.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/TEST_FIRST_BUG_LANE.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/WEB_CONTROL_CENTER.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/WSL_WINDOWS_WORKER.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/mocks/web/README.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/mocks/web/_tokens.css +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/mocks/web/issue-detail.html +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/mocks/web/pipeline-narrow.html +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/docs/mocks/web/pipeline-wide.html +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/graphify-out/.gitignore +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/install-agent.sh +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/pyproject.toml +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/audit_review_verdict_overrides.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/azure-workers/bootstrap-shared.sh +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/azure-workers/build-worker-image.sh +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/azure-workers/coordinator-machine.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/azure-workers/dr-down.sh +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/azure-workers/dr-up.sh +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/azure-workers/epic-down.sh +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/azure-workers/epic-up.sh +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/azure-workers/preflight.sh +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/azure-workers/provision-server.sh +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/azure-workers/provision-worker.sh +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/azure-workers/scrub-and-generalize.sh +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/azure-workers/tailnet-acl.hujson +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/azure-workers/throwaway-vm.sh +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/azure-workers/verify-github-token.sh +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/check_gh_argv_containment.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/codegen.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/comment_cruft.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/coord-test-runner.sh +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/coord-tui-scaffold/.github/coord-ci-acceptance.yml +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/coord-tui-scaffold/.github/workflows/cargo-test.yml +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/coord-tui-scaffold/.github/workflows/codegen-drift.yml +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/coord-tui-scaffold/CLAUDE.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/coord-venv-rollback.sh +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/drive-batch.sh +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/extract-coord-tui.sh +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/fleet_watchdog.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/gen_board_fixture.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/gen_mock_index.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/lib/provision-core.sh +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/next_release_tag.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/provision-machine.sh +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/run_tests_in_populated_home.sh +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/run_tests_without_gh.sh +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/setup-macmini.sh +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/smoke_437_interactive.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/verify-provision-noble.sh +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/verify_878_review_capture.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/verify_release_published.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/scripts/verify_release_wheel.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/setup.cfg +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/SMOKE_SET.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/__init__.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/acceptance/ms-37/conftest.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/acceptance/ms-37/contract.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/acceptance/ms-37/manifest.yml +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/acceptance/ms-37/test_usage_cli_1115.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/acceptance/ms-37/test_usage_core_1118.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/acceptance/ms-51/contract.md +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/acceptance/ms-51/home-active-extended.spec.ts +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/acceptance/ms-51/home-active.spec.ts +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/acceptance/ms-51/manifest.yml +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/acceptance/ms-51/mocks/home-active.html +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/acceptance/ms-51/tsconfig.json +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/acceptance/ms-example/mocks/home-active.html +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/backends.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/conftest.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/board-pipeline-basic.json +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/board-pipeline-terminal-gates.json +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/opencode_run_failure_sample.jsonl +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/opencode_run_length_sample.jsonl +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/opencode_run_sample.jsonl +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/playwright/all_pass.json +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/playwright/global_setup_crash.json +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/playwright/mixed_fail.json +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/playwright/retry_then_pass.json +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/playwright/retry_then_pass.junit.xml +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/playwright/skip.json +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/playwright/truncated.json +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/test_report/cargo_compile_error.txt +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/test_report/cargo_multi_target_failures.txt +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/test_report/cargo_no_parseable_failures.txt +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/test_report/pytest_collection_error.txt +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/test_report/pytest_error_log_record.txt +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/test_report/pytest_error_string_in_body.txt +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/test_report/pytest_internal_error.txt +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/test_report/pytest_mixed_failures.txt +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/fixtures/test_report/pytest_no_parseable_failures.txt +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_acceptance.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_acceptance_drivers.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_api_error.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_app.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_branch_base.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_branch_capture.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_config_free_1712.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_deploy_units_endpoint.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_dirty_worktree.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_drive_queue_reconcile_2373.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_graceful_shutdown_3649.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_graph_refresh.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_graph_self_heal.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_health_h3.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_idle_restart.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_reap.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_repos_and_pull.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_restart_services_endpoint.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_skills_self_heal.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_startup_diagnostics.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_update.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_update_bluegreen.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_usage_limit.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_agent_zero_commit.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_ambient_home_isolation.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_app_drive.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_approve_capability_reroute_3241.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_approve_dependency_busy_2804.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_approve_reject_plan.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_approve_usage_gate.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_approved_work_2532.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_approved_work_2996.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_assignment_already_recorded_daemon.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_audit_log.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_audit_outcome.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_audit_query.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_auto_loop.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_auto_release_publish_2035.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_backend_selection.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_backup.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_base_checkout_restore.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_block_log.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_board_cap_762.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_board_doctor.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_board_doctor_followthrough.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_board_doctor_permissions.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_board_doctor_policy.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_board_fixture.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_board_nightly_status.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_board_read_path.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_board_schema.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_board_service.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_board_state.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_board_wire.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_brain.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_branch_model.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_briefing_lessons.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_bug_intake.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_bugbash.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_build_worker_image_env_update.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cargo_cache.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_check_gh_argv_containment.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_ci_acceptance_gate_1950.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_ci_fix.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_ci_github.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_ci_gitlab.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_ci_parity_2091.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_ci_store.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_claude_md_budget.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_claude_setup_token.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_acceptance.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_assign.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_assign_interactive_oracle_gate.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_assign_interactive_remote.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_assign_provider.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_assign_repo_drift_2219.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_audit.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_chat_continue.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_ci.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_codegen.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_decide.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_diagnose_capability_rules.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_diagnose_config_provenance.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_diagnose_forge_availability.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_diagnose_graph.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_diagnose_self.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_diagnose_test_coverage.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_doctor.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_doctor_config_free_1801.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_doctor_config_mismatch_1712.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_doctor_store_backend_3084.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_drive.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_drive_queue_investigate.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_drive_queue_stranded_prereq.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_escalate.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_fix_headless_review.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_gate_a.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_gates_next_action.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_inject_board_less.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_install_drift.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_install_skills.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_issue_close_wrong_repo.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_issue_comment.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_issue_create_label.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_issue_reopen.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_issue_view_list.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_issues.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_merge.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_milestone_assign.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_milestone_capture.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_milestone_chat_add_child.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_milestone_dispatch.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_milestone_gate_b.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_milestone_gate_c.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_milestone_order.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_milestone_remove_and_issue_close.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_milestone_ship.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_network.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_new_issue_chat.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_plans.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_portal.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_pr.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_pull_artifact.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_queue.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_reattach_sessions.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_refine_board.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_release_preflight.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_release_propagate.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_release_window.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_repo_2220.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_review_test_author_tracking_epic_2639.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_scorecard.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_serve_store_backend_3084.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_set_review_findings.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_smoke_nightly.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_smoke_nightly_sweep.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_status_advisory_terminal.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_status_contested_tag.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_status_invariant_alarms.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_status_machine_fault.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_status_merge_queue.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_status_nightly.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_status_provider.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_status_retried_3340.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_status_review_finalizing.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_status_supervisor_3366.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_status_test_failed_tag.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_status_usage_limit.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_sync_comments_873.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_test_plan.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_track.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_tui_update.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cli_wait.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_client.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_client_base_install.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_client_config_cache_atomic_3052.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_client_resource_migration_1946.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_commands_common.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_comment_cruft.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_comments.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_completion_summary.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_config.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_config_acceptance.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_config_audit.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_config_drift_check.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_config_effective.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_config_prereview_gate.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_config_pricing.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_config_snapshot_noncanonical_2208.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_config_usage_gate.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_confirm_test.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_conflict_fix.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_conflict_fix_semantic.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_coord_log_daemon_fallback_2547.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_coord_test.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_coord_test_runner_acceptance_toolchain_2936.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_coord_test_runner_baseline.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_coord_test_runner_populated_home.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_coord_test_runner_routing.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_coord_test_runner_toolchain.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_coord_test_runner_venv_setup.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_coord_uat.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_coord_web_sse_restart_live.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_coordinator_machine.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_cross_platform_imports.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dao.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dashboard.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dashboard_api.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dashboard_fixture.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dashboard_reports.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dashboard_server.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dashboard_terminal.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dashboard_terminal_live.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_db.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dead_end.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_deploy_coord_db_backup.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_deploy_coord_web_dist.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_deploy_coord_web_rollback.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_deploy_db_backup_unit.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_deploy_drive_queue_unit.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_deploy_failure_notify_unit.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_deploy_manifest.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_deploy_notify_unit.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_deploy_units_lane.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_deploy_web_unit.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_deprecation_telemetry.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_deps.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_diagnose.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dirlink.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dispatch_liveness.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dispatch_target_validation.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dispatch_workers.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dist_name.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_done_housekeeping.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dr_azure_scripts.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dr_promote.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_dr_verify.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_drive.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_drive_machine_fault.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_drive_queue_blocked_rendering.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_drive_queue_launch_argv.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_drive_queue_max_parallel_config.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_drive_queue_max_parallel_per_repo_config.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_drive_queue_roll_pending.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_drive_queue_self_cordon_escalation.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_drive_sessions_snapshot.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_drive_state.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_drive_tmux.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_entry_truth.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_epic_up_capability_detection.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_epic_up_down_symlinked_config_1887.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_epic_up_image_provenance.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_errors.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_events.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_failure_class.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_failure_classifier.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_filelock.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_finalize_interactive_exit_test_verdict.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_fix_escalation_classifier.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_fix_of_force_override.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_fleet_config_health.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_fleet_health_probes.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_fleet_health_snapshot.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_fleet_watchdog.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_forge_availability.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_freshness.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_gate_a.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_gate_b.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_gate_snapshot_staleness.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_gather_fleet_tmux_sessions.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_gen_mock_index.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_generated_rust_fixture.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_generated_rust_requests.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_generated_types_fixture.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_github_ops.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_github_throttle.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_goal.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_graph_health.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_graph_selfheal_absent_2237.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_gtk_native_driver.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_handoff.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_checks.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_cli.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_cli_graph.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_config.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_context.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_coord_tui_ci_pin.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_coord_web_ci_pin.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_deploy_lane_facts.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_fix.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_incident_regression.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_issues_sync_staleness.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_pr_churn.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_pypi.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_registry.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_release_cordon_probe.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_sustained_cpu.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_timer_active.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_toolchain.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_unit_drift.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_unit_enablement.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_health_wedged_drive_queue.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_hooks.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_housekeeping.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_human_attended_437.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_init.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_install_agent_capabilities_3515.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_install_agent_venv_2911.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_install_agent_wsl_bridge_3515.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_integration.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_interactive.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_interactive_briefing_echo.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_interactive_pane_log_2541.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_interactive_prefill_state.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_interactive_session_relaunch.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_interactive_test_verdict_backstop.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_interactive_token_attribution.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_interactive_worktree.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_invariant_alarms.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_issue_store_seam.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_issues_sync_status.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_key_spec.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_liveness_auditor.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_liveness_notify.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_lock_contention_ratchet.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_mac_native_driver.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_machine_fault.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_machine_metrics.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_machine_onboard.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_machine_pause.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_machine_stats.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_merge_queue.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_merge_verification.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_merge_verify.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_milestone_chat.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_milestone_dispatch.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_milestone_gate.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_milestone_order.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_milestone_seam.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_mock_author.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_model_tiering.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_models.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_models_config_labels.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_models_pinned_1650.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_native_fs_wait.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_native_pixels.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_needs_attention.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_network.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_new_issue_chat.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_next_release_tag.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_nightly_runner.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_nightly_smoke.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_nightly_status.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_nightly_store.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_no_eligible_host_3600.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_node_shim.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_notifier_baseline.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_notifier_cli.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_notifier_collect.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_notifier_config.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_notifier_drive_seam.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_notifier_isolation.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_notifier_predicate.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_notifier_quiet_hours.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_notifier_service.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_notify_drain.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_openapi.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_operational_defaults.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_overlap_fence.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_overlap_predict.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_packaged_deploy_units.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_parentage.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_paste_landed.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_pause_store_guard_recursion_3789.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_phantom_heal_venv_independence_2570.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_pipeline.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_plain_runner_smoke_3673.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_plan_followup_approve_plan_command.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_plan_followup_pr_command.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_plan_followup_review_command.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_plan_only.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_plan_parser.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_platform_paths.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_portal_bridge.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_portal_config.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_portal_store.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_portal_sync.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_pr_body_lint.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_preflight_size.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_prereqs.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_prereview_gate.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_production_db_guard.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_progress.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_provider_seam.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_providers.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_providers_config_labels.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_providers_pty.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_provision_core.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_provision_machine.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_py_rust_mirror_inventory.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_queue_diagnose.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_quiet_hours.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_quiet_hours_store_2146.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_reap_merged_sessions.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_reap_stale_interactive_tick.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_reconcile.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_reconcile_branch.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_reconcile_completions.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_reconcile_late_agent_reports_2547.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_reconcile_merges.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_reconcile_no_agent_record.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_reconcile_tick.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_reconcile_usage_limit_done.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_refine_chat.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_release_cordon_2101.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_release_cordon_daemon_leads_2176.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_release_cordon_deadlock_2240.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_release_cordon_drain_stall_3336.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_release_cordon_stuck_2490.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_release_gate.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_release_propagate.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_release_propagate_threshold.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_release_roll_between_legs_2854.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_release_roll_window_handoff.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_release_unified_1242.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_release_verify.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_release_window.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_remote_auto_prune.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_remote_interactive_reaper.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_repo_add.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_repo_dormancy.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_repo_edit_2220.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_repo_graph_fleet_2237.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_repo_max_parallel_3423.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_repo_onboard_2220.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_report_public_export.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_report_result_push.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_reports.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_restart_cmd.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_retry.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_retry_advisory_1606.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_retry_escalation_classify_3360.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_retry_type_1636.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_revalidate.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_review.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_review_end_review_without_verdict.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_review_parse_failure_diagnostic.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_review_reaffirm.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_review_state.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_review_verdict_backstop.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_review_verdict_override_audit.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_review_verdict_relay.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_review_zero_commits.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_scoped_review_wiring.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_scorecard.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_self_health.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_serve.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_serve_app.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_serve_app_board_trim.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_serve_rest_routes.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_session.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_slice_issue_attribution.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_smoke.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_smoke_fanout_manifest_3333.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_smoke_live_checkout_restore.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_smoke_plain_runner_3673.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_smoke_workflow.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_spend_ceiling.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_spend_ceiling_coordinator.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_split.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_split_work.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_sql_dialect.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_sqlite_connect_ratchet.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_stale_busy_reviewer_697.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_stalled_pipeline.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_state.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_state_review_findings_daemon.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_status_fleet_footer.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_stop_1567.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_store_contract.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_store_migrate.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_stuck.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_stuck_test_state_watchdog_2803.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_terminal_command.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_test_author.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_test_chat.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_test_orchestrator.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_test_report.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_test_verdict_parsing.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_test_verdict_transcript_floor.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_text_io_encoding_audit.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_thin_client_board_audit.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_thin_client_config_load_1080.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_thin_client_daemon_routing_906.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_throwaway_vm.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_tmux_host.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_tmux_session.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_transcript_floor.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_tui_pty_driver.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_uat_checks.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_upstream_gaps.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_usage.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_usage_limits.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_usage_rollup.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_venv_live_install_2121.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_version_single_source.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_watch.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_win_native_bridge.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_win_native_driver.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_windows_job_is_a_real_gate_2000.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_worker_env_venv_isolation.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_worker_events.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_worker_image_pin_sync.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_worker_safety.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_worker_test_scoping.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_worktree.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_worktree_rmtree_chokepoint.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/test_write_parity.py +0 -0
- {code_coordinator-0.5.753 → code_coordinator-0.5.755}/tests/write_parity.py +0 -0
|
@@ -140,7 +140,9 @@ in [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md#design-decisions--the-settled-r
|
|
|
140
140
|
session on a *different* machine reviews your diff against this file, with **zero shared
|
|
141
141
|
context with you** — so your diff and final message must stand on their own. Put the
|
|
142
142
|
*why* of a fix in the commit message and final message, not in code comments: comments
|
|
143
|
-
describe the code as it is, with no issue numbers or "used to" history.
|
|
143
|
+
describe the code as it is, with no issue numbers or "used to" history. **An unplanned
|
|
144
|
+
`ISSUE_RESOLUTION: partial` is a blocking finding** (scope you cut yourself, or a call
|
|
145
|
+
site left unwired); only an upstream blocker or a tranche the issue defines is allowed.
|
|
144
146
|
|
|
145
147
|
## Rules for workers
|
|
146
148
|
|
|
@@ -30,6 +30,7 @@ from typing import TYPE_CHECKING, Any, Callable, Iterable
|
|
|
30
30
|
from coord import cargo_cache
|
|
31
31
|
from coord.claude_setup_token import inject_setup_token
|
|
32
32
|
from coord.config_reload import reload_config_if_stale
|
|
33
|
+
from coord.decomposition_chat import is_size_triage_review_target
|
|
33
34
|
from coord.models import DELIVERABLE_ANALYSIS_LABEL
|
|
34
35
|
from coord.platform_paths import default_coord_dir
|
|
35
36
|
from coord.smoke_tags import smoke_leg_capabilities
|
|
@@ -11971,7 +11972,20 @@ class AgentServer:
|
|
|
11971
11972
|
# timeout (60 s) but MUST NOT let a hung push block the
|
|
11972
11973
|
# status update — so we catch both _GitError *and*
|
|
11973
11974
|
# subprocess.TimeoutExpired and treat both as non-fatal.
|
|
11974
|
-
|
|
11975
|
+
# #3975: a size-triage leg is read-only by its own system prompt
|
|
11976
|
+
# (`build_size_triage_briefing` forbids commits) and its branch
|
|
11977
|
+
# is cut fresh from the default branch's tip with zero commits
|
|
11978
|
+
# of its own. Pushing that branch anyway gives #3376's
|
|
11979
|
+
# issue-scoped `any_matching_branch_merged` fallback a
|
|
11980
|
+
# zero-commit `issue-N-size-triage-*` branch to mis-read as
|
|
11981
|
+
# "already merged" (it's an ancestor of the default branch),
|
|
11982
|
+
# which refuses the very Work dispatch the triage verdict just
|
|
11983
|
+
# unblocked. Skip the push entirely for this leg shape — there
|
|
11984
|
+
# is nothing of this leg's own to push, so there's nothing lost.
|
|
11985
|
+
_is_size_triage_leg = is_size_triage_review_target(
|
|
11986
|
+
getattr(assignment.spec, "review_target", None)
|
|
11987
|
+
)
|
|
11988
|
+
if assignment.worktree_path and not _is_size_triage_leg:
|
|
11975
11989
|
wt_path = Path(assignment.worktree_path)
|
|
11976
11990
|
if wt_path.exists() and exit_code == 0:
|
|
11977
11991
|
# #3869: a history-rewrite leg (today, only
|
|
@@ -478,7 +478,7 @@ def _default_branch_lookup(repo_github: str, issue_number: int) -> list[str]:
|
|
|
478
478
|
# distinction has to be verified per-dispatcher, not assumed; see the
|
|
479
479
|
# issue's suggested structural alternative (branch never had commits, ever)
|
|
480
480
|
# for a fix that wouldn't require keeping this list exhaustive by hand.
|
|
481
|
-
_OBSERVER_LEG_TAGS = ("review", "scoped-review", "smoke", "gate-b")
|
|
481
|
+
_OBSERVER_LEG_TAGS = ("review", "scoped-review", "smoke", "gate-b", "size-triage")
|
|
482
482
|
|
|
483
483
|
|
|
484
484
|
def _is_observer_leg_branch(branch: str, issue_number: int) -> bool:
|
|
@@ -5842,6 +5842,72 @@ def _fetch_gate_a_pending(entries: list) -> dict[str, bool]:
|
|
|
5842
5842
|
return pending
|
|
5843
5843
|
|
|
5844
5844
|
|
|
5845
|
+
def _fetch_size_triage_pending(entries: list) -> dict[str, bool]:
|
|
5846
|
+
"""``{entry_key: still_waiting_on_the_triage_leg}`` for every entry
|
|
5847
|
+
parked on `coord.dispatch.enforce_preflight_guard`'s size-triage-pending
|
|
5848
|
+
refusal (#3971, `coord.decomposition_chat.SIZE_TRIAGE_PENDING_MARKER`).
|
|
5849
|
+
|
|
5850
|
+
Re-derives the SAME evidence `enforce_preflight_guard` itself consults
|
|
5851
|
+
on its next real invocation — a matching `review_target` row's own
|
|
5852
|
+
`status` column (#2096: one question, one answer) — rather than a
|
|
5853
|
+
second, independent notion of "is the triage done". Board read only, no
|
|
5854
|
+
`gh` call, and no work at all on a tick where nothing is parked this
|
|
5855
|
+
way (the common case).
|
|
5856
|
+
|
|
5857
|
+
Reads the raw ``assignments`` rows out of :func:`_fetch_board_payload`
|
|
5858
|
+
rather than `coord.state.build_board`, for the #615 reason every other
|
|
5859
|
+
reader in this module routes: that fetch answers from the daemon's
|
|
5860
|
+
``GET /board`` when ``board_service`` is configured and from the local
|
|
5861
|
+
DB only when it is not, so a thin client sees the real rows instead of
|
|
5862
|
+
an empty board. `BoardView` cannot answer this one — it reduces the
|
|
5863
|
+
board to per-issue facts and carries no ``review_target`` at all — and
|
|
5864
|
+
the triage row is keyed by ``review_target``, not by its issue.
|
|
5865
|
+
|
|
5866
|
+
Fails **closed**, same posture as :func:`_fetch_gate_a_pending`: an
|
|
5867
|
+
entry whose triage status can't be confirmed stays parked. Being wrong
|
|
5868
|
+
that way costs a parked row an operator can see and release; being
|
|
5869
|
+
wrong the other way resumes Work dispatch while a paid triage session
|
|
5870
|
+
might still be about to propose splitting this issue into pieces no
|
|
5871
|
+
single worker should touch at once. A board the fetch CAN read that
|
|
5872
|
+
simply carries no row for this ``review_target`` is a different
|
|
5873
|
+
answer, not an unreadable one — nothing is in flight, so the entry
|
|
5874
|
+
resumes and the relaunch's own guard call re-derives the verdict.
|
|
5875
|
+
"""
|
|
5876
|
+
from coord.decomposition_chat import ( # noqa: PLC0415
|
|
5877
|
+
is_size_triage_pending_reason,
|
|
5878
|
+
size_triage_review_target_for,
|
|
5879
|
+
)
|
|
5880
|
+
from coord.drive_state import TERMINAL_STATUSES # noqa: PLC0415
|
|
5881
|
+
|
|
5882
|
+
targets = [
|
|
5883
|
+
e for e in entries
|
|
5884
|
+
if e.state == STATE_PARKED
|
|
5885
|
+
and is_size_triage_pending_reason(getattr(e, "last_reason", "") or "")
|
|
5886
|
+
]
|
|
5887
|
+
if not targets:
|
|
5888
|
+
return {}
|
|
5889
|
+
|
|
5890
|
+
try:
|
|
5891
|
+
payload = _fetch_board_payload()
|
|
5892
|
+
except Exception: # noqa: BLE001 — fail closed, stay parked
|
|
5893
|
+
return {e.key: True for e in targets}
|
|
5894
|
+
|
|
5895
|
+
rows = payload.get("assignments") or []
|
|
5896
|
+
pending: dict[str, bool] = {}
|
|
5897
|
+
for e in targets:
|
|
5898
|
+
review_target = size_triage_review_target_for(e.issue)
|
|
5899
|
+
matches = [
|
|
5900
|
+
r for r in rows
|
|
5901
|
+
if (r.get("review_target") or "") == review_target
|
|
5902
|
+
and (r.get("repo_name") or "") == e.repo
|
|
5903
|
+
]
|
|
5904
|
+
pending[e.key] = any(
|
|
5905
|
+
str(r.get("status") or "").lower() not in TERMINAL_STATUSES
|
|
5906
|
+
for r in matches
|
|
5907
|
+
)
|
|
5908
|
+
return pending
|
|
5909
|
+
|
|
5910
|
+
|
|
5845
5911
|
def _fetch_live_ci_gate(
|
|
5846
5912
|
entries: list, config_path: Path | None
|
|
5847
5913
|
) -> tuple[dict[str, bool], dict[str, str]]:
|
|
@@ -8509,6 +8575,13 @@ def drive_queue_tick(
|
|
|
8509
8575
|
# tick when no entry is parked that way — which is the common case.
|
|
8510
8576
|
gate_a_pending = _fetch_gate_a_pending(entries)
|
|
8511
8577
|
|
|
8578
|
+
# #3971: the same live re-read, for every entry parked on a size-
|
|
8579
|
+
# triage review still in flight — see `_fetch_size_triage_pending`'s
|
|
8580
|
+
# docstring for the incident this closes (a flagged issue's
|
|
8581
|
+
# drive-queue row, and every `after=` dependent behind it, stuck
|
|
8582
|
+
# `blocked` even after the triage leg posted `proceed`).
|
|
8583
|
+
size_triage_pending = _fetch_size_triage_pending(entries)
|
|
8584
|
+
|
|
8512
8585
|
# #2182: for every entry parked on a CI reason, a fresh single-entry
|
|
8513
8586
|
# re-derivation of its gate, taken live THIS tick — see
|
|
8514
8587
|
# `_fetch_live_ci_gate`'s docstring for the gap this closes (a park
|
|
@@ -8614,6 +8687,7 @@ def drive_queue_tick(
|
|
|
8614
8687
|
exit_refused=exit_refused,
|
|
8615
8688
|
exit_dead_end=exit_dead_end,
|
|
8616
8689
|
gate_a_pending=gate_a_pending,
|
|
8690
|
+
size_triage_pending=size_triage_pending,
|
|
8617
8691
|
cordons=cordons,
|
|
8618
8692
|
no_eligible_host=no_eligible_host,
|
|
8619
8693
|
live_ci_gate=live_ci_gate,
|
|
@@ -1024,16 +1024,50 @@ def size_triage_review_target_for(issue_number: int) -> str:
|
|
|
1024
1024
|
|
|
1025
1025
|
Mirrors `coord.gate_b.review_target_for`: keeping it non-int-parseable
|
|
1026
1026
|
means `coord.notify._try_parse_and_post_review`'s `int(review_target)`
|
|
1027
|
-
sniff falls through
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1027
|
+
sniff falls through rather than mistaking this for a per-issue code
|
|
1028
|
+
review of a real PR. It also exists so `latest`-style lookups (if one
|
|
1029
|
+
is ever needed) can find this assignment unambiguously among a repo's
|
|
1030
|
+
other `type="review"` rows, and so `coord.notify.notify`'s own
|
|
1031
|
+
completion handler (#3971) can recognise this ONE `type="review"`
|
|
1032
|
+
shape and skip review-findings extraction / the "Review assignment
|
|
1033
|
+
completed" comment for it — a leg this dispatch-time sentinel marks is
|
|
1034
|
+
a read-only size triage, never a real code review, whatever its
|
|
1035
|
+
board-row `type` says.
|
|
1033
1036
|
"""
|
|
1034
1037
|
return f"size-triage-{issue_number}"
|
|
1035
1038
|
|
|
1036
1039
|
|
|
1040
|
+
def is_size_triage_review_target(review_target: str | None) -> bool:
|
|
1041
|
+
"""Whether *review_target* identifies a size-triage dispatch rather than
|
|
1042
|
+
a real code review (#3971) — the inverse of
|
|
1043
|
+
:func:`size_triage_review_target_for`, for a caller holding only the
|
|
1044
|
+
string back out of an `Assignment` row.
|
|
1045
|
+
"""
|
|
1046
|
+
return bool(review_target) and str(review_target).startswith("size-triage-")
|
|
1047
|
+
|
|
1048
|
+
|
|
1049
|
+
# #3971: a TEMPORARY wait, not a permanent pre-dispatch guard refusal
|
|
1050
|
+
# (#1844) — unlike `enforce_oracle_readiness`/`enforce_epic_dispatch_guard`'s
|
|
1051
|
+
# refusals, `enforce_preflight_guard`'s "a size-triage review is running —
|
|
1052
|
+
# retry once it posts its verdict" refusal clears on its own the moment that
|
|
1053
|
+
# leg reaches a terminal status, no operator action needed. Embedded in that
|
|
1054
|
+
# refusal's text so `coord.drive_queue._reconcile_running` can recognise it
|
|
1055
|
+
# BEFORE the generic `exit_refused` → `blocked` branch (#1844) every other
|
|
1056
|
+
# `DispatchRefused` falls into, and park instead — the same precedent
|
|
1057
|
+
# `coord.gate_a.is_gate_a_refusal_reason`'s own marker set for a refusal with
|
|
1058
|
+
# a self-clearing condition. Lives here, not in `coord.dispatch`, because
|
|
1059
|
+
# this module already owns every other size-triage-shaped sentinel
|
|
1060
|
+
# (`size_triage_review_target_for`, `is_size_triage_review_target`) and
|
|
1061
|
+
# `coord.dispatch`/`coord.drive_queue` both already import from it.
|
|
1062
|
+
SIZE_TRIAGE_PENDING_MARKER = "[size-triage-pending]"
|
|
1063
|
+
|
|
1064
|
+
|
|
1065
|
+
def is_size_triage_pending_reason(text: str | None) -> bool:
|
|
1066
|
+
"""Whether *text* is `enforce_preflight_guard`'s triage-in-flight
|
|
1067
|
+
refusal (#3971) — see :data:`SIZE_TRIAGE_PENDING_MARKER`."""
|
|
1068
|
+
return bool(text) and SIZE_TRIAGE_PENDING_MARKER in text
|
|
1069
|
+
|
|
1070
|
+
|
|
1037
1071
|
SIZE_TRIAGE_SYSTEM_PROMPT = """You are an independent triage agent dispatched by the coordinator to \
|
|
1038
1072
|
decide whether a single GitHub issue, already flagged by a heuristic size \
|
|
1039
1073
|
scorer as plausibly too large for one worker, should be split into smaller \
|
|
@@ -450,6 +450,7 @@ def enforce_preflight_guard(
|
|
|
450
450
|
return
|
|
451
451
|
|
|
452
452
|
from coord.decomposition_chat import ( # noqa: PLC0415
|
|
453
|
+
SIZE_TRIAGE_PENDING_MARKER,
|
|
453
454
|
SizeTriageError,
|
|
454
455
|
dispatch_size_triage_review,
|
|
455
456
|
size_triage_review_target_for,
|
|
@@ -540,12 +541,22 @@ def enforce_preflight_guard(
|
|
|
540
541
|
# follow-up in flight to ever clear the refusal.
|
|
541
542
|
return
|
|
542
543
|
|
|
544
|
+
# #3971: this refusal is TEMPORARY — the triage leg just dispatched (or
|
|
545
|
+
# already in flight) clears it on its own the moment it posts a
|
|
546
|
+
# verdict, unlike `enforce_oracle_readiness`/`enforce_epic_dispatch_
|
|
547
|
+
# guard`'s refusals above, which nothing but an operator action can
|
|
548
|
+
# clear. `SIZE_TRIAGE_PENDING_MARKER` lets `coord.drive_queue.
|
|
549
|
+
# _reconcile_running` tell this ONE `DispatchRefused` shape apart from
|
|
550
|
+
# every other one sharing the same `EXIT_DISPATCH_REFUSED` exit code
|
|
551
|
+
# (#1844) and park the drive-queue row instead of blocking it forever —
|
|
552
|
+
# see that function's #3971 comment for the quadraui#2304 incident this
|
|
553
|
+
# closes.
|
|
543
554
|
raise DispatchRefused(
|
|
544
555
|
f"issue #{issue_number} flagged by the preflight size scorer "
|
|
545
556
|
f"(score {score.total:g}/{score.threshold:g}): {score.reason}. "
|
|
546
557
|
f"A size-triage review is {'already ' if in_flight is not None else ''}"
|
|
547
558
|
f"running on {machine.name!r} (review_target={review_target!r}) — "
|
|
548
|
-
"retry once it posts its verdict."
|
|
559
|
+
f"retry once it posts its verdict. {SIZE_TRIAGE_PENDING_MARKER}"
|
|
549
560
|
)
|
|
550
561
|
|
|
551
562
|
|
|
@@ -91,6 +91,7 @@ from dataclasses import dataclass, field, replace
|
|
|
91
91
|
from pathlib import Path
|
|
92
92
|
from typing import Any, Iterable, Mapping, Sequence
|
|
93
93
|
|
|
94
|
+
from coord.decomposition_chat import is_size_triage_pending_reason
|
|
94
95
|
from coord.drive_state import TERMINAL_STATUSES, WORK_LIKE
|
|
95
96
|
from coord.entry_truth import (
|
|
96
97
|
EntryTruth,
|
|
@@ -5804,6 +5805,45 @@ def _reconcile_running(
|
|
|
5804
5805
|
None,
|
|
5805
5806
|
)
|
|
5806
5807
|
|
|
5808
|
+
# #3971 rides the SAME "pending verdict, not a standing refusal" shape
|
|
5809
|
+
# as #2063's Gate-A park immediately above: `coord.dispatch.
|
|
5810
|
+
# enforce_preflight_guard`'s "a size-triage review is running — retry
|
|
5811
|
+
# once it posts its verdict" refusal is TEMPORARY — the condition that
|
|
5812
|
+
# refused it (a non-terminal triage leg) clears on its own the moment
|
|
5813
|
+
# that leg finishes, no operator action needed — yet it reached here as
|
|
5814
|
+
# a PLAIN `EXIT_DISPATCH_REFUSED` (#1844's exit code for every
|
|
5815
|
+
# `DispatchRefused`, permanent or not) and would otherwise fall straight
|
|
5816
|
+
# into the `exit_refused` → `blocked` branch below and stay blocked
|
|
5817
|
+
# forever even after the verdict posts PROCEED (quadraui#2304, 2026-11-10
|
|
5818
|
+
# UTC: every dependent behind the row cascaded to `blocked` three minutes
|
|
5819
|
+
# before the triage leg itself returned `proceed`). Checked purely off
|
|
5820
|
+
# `own_reason`'s marker — independent of `exit_refused` — the same
|
|
5821
|
+
# "recognise this refusal by its own text, not by the exit code every
|
|
5822
|
+
# `DispatchRefused` shares" posture #2063/#2234 already established.
|
|
5823
|
+
# Parks rather than blocks; `plan_tick`'s pre-pass below un-parks it the
|
|
5824
|
+
# tick after the matching `review_target` assignment goes terminal, same
|
|
5825
|
+
# "no queue surgery needed" contract Gate-A's park gives.
|
|
5826
|
+
if own_reason and is_size_triage_pending_reason(own_reason):
|
|
5827
|
+
reason = (
|
|
5828
|
+
f"{own_reason} — parking without spending an attempt; the queue "
|
|
5829
|
+
"resumes it automatically once the size-triage review posts its "
|
|
5830
|
+
"verdict, no queue surgery needed (#3971)"
|
|
5831
|
+
)
|
|
5832
|
+
return (
|
|
5833
|
+
Reconcile(
|
|
5834
|
+
entry.key,
|
|
5835
|
+
"parked",
|
|
5836
|
+
reason,
|
|
5837
|
+
occupies=False,
|
|
5838
|
+
updates={
|
|
5839
|
+
"state": STATE_PARKED,
|
|
5840
|
+
"last_reason": reason,
|
|
5841
|
+
"session_name": None,
|
|
5842
|
+
},
|
|
5843
|
+
),
|
|
5844
|
+
None,
|
|
5845
|
+
)
|
|
5846
|
+
|
|
5807
5847
|
# #2234 rides the SAME evidence as `refused` below (the drive's own
|
|
5808
5848
|
# `drive_exited` reason) but, like #2063 above, reaches the OPPOSITE
|
|
5809
5849
|
# conclusion from a PLAIN `EXIT_TERMINAL_FAILURE` — `coord.drive.
|
|
@@ -7602,6 +7642,7 @@ def plan_tick(
|
|
|
7602
7642
|
exit_refused: Mapping[str, bool] | None = None,
|
|
7603
7643
|
exit_dead_end: Mapping[str, bool] | None = None,
|
|
7604
7644
|
gate_a_pending: Mapping[str, bool] | None = None,
|
|
7645
|
+
size_triage_pending: Mapping[str, bool] | None = None,
|
|
7605
7646
|
cordons: Mapping[str, str] | None = None,
|
|
7606
7647
|
no_eligible_host: Mapping[str, str] | None = None,
|
|
7607
7648
|
live_ci_gate: Mapping[str, bool] | None = None,
|
|
@@ -8656,6 +8697,41 @@ def plan_tick(
|
|
|
8656
8697
|
states[entry.key] = STATE_WAITING
|
|
8657
8698
|
effective_attempts[entry.key] = 0 # #2273: see #2182 branch above
|
|
8658
8699
|
continue
|
|
8700
|
+
# #3971: the SAME "external verdict, re-check every tick" shape as
|
|
8701
|
+
# the Gate-A branch just above, for `enforce_preflight_guard`'s
|
|
8702
|
+
# size-triage-pending park. The shell resolves `size_triage_pending`
|
|
8703
|
+
# by re-reading the matching `review_target` assignment's own
|
|
8704
|
+
# `status` column — a local board read, no `gh` call per entry; an
|
|
8705
|
+
# entry it can't resolve stays parked, same fail-closed posture as
|
|
8706
|
+
# Gate-A's. Resuming does NOT itself decide proceed/split — it only
|
|
8707
|
+
# lets the next real `enforce_preflight_guard` call run again, which
|
|
8708
|
+
# is what actually consumes the verdict (falls through for PROCEED/
|
|
8709
|
+
# unparseable, raises a fresh — unmarked, permanent — refusal that
|
|
8710
|
+
# supersedes the original for SPLIT).
|
|
8711
|
+
if is_size_triage_pending_reason(entry.last_reason):
|
|
8712
|
+
if (size_triage_pending or {}).get(entry.key, True):
|
|
8713
|
+
continue
|
|
8714
|
+
reason = (
|
|
8715
|
+
f"the size-triage review for {entry.key} has posted its "
|
|
8716
|
+
"verdict — resuming from parked without spending an "
|
|
8717
|
+
"attempt (#3971)"
|
|
8718
|
+
)
|
|
8719
|
+
reconciles.append(
|
|
8720
|
+
Reconcile(
|
|
8721
|
+
entry.key,
|
|
8722
|
+
"resumed",
|
|
8723
|
+
reason,
|
|
8724
|
+
occupies=False,
|
|
8725
|
+
updates={
|
|
8726
|
+
"state": STATE_WAITING,
|
|
8727
|
+
"attempts": 0,
|
|
8728
|
+
"last_reason": reason,
|
|
8729
|
+
},
|
|
8730
|
+
)
|
|
8731
|
+
)
|
|
8732
|
+
states[entry.key] = STATE_WAITING
|
|
8733
|
+
effective_attempts[entry.key] = 0
|
|
8734
|
+
continue
|
|
8659
8735
|
# #2234: a policy-refusal park has NO external verdict to poll for —
|
|
8660
8736
|
# the rule it names is standing, not pending — so unlike the Gate-A
|
|
8661
8737
|
# branch just above, this one never resumes itself. Without this
|
|
@@ -201,9 +201,24 @@ class GateReport:
|
|
|
201
201
|
|
|
202
202
|
|
|
203
203
|
def _row_from_assignment(a: "Assignment") -> AssignmentGateRow:
|
|
204
|
+
from coord.decomposition_chat import is_size_triage_review_target # noqa: PLC0415
|
|
205
|
+
|
|
206
|
+
# #3975: a size-triage leg is dispatched with `type="review"` only to
|
|
207
|
+
# reuse coord.agent's read-only deny-list for that type — it never
|
|
208
|
+
# produces a REVIEW_VERDICT and is not evidence toward the issue's
|
|
209
|
+
# review gate. Label the raw row "size-triage" instead of "review" so
|
|
210
|
+
# `coord gates`' row listing (and its `--json`/`report_to_dict` form)
|
|
211
|
+
# can't be mistaken for the issue's actual review stage — see
|
|
212
|
+
# `build_gate_report`'s `work_like` gate above, which already excludes
|
|
213
|
+
# this row from ever backing a "review" GateDecision.
|
|
214
|
+
row_type = (
|
|
215
|
+
"size-triage"
|
|
216
|
+
if a.type == "review" and is_size_triage_review_target(a.review_target)
|
|
217
|
+
else (a.type or "work")
|
|
218
|
+
)
|
|
204
219
|
return AssignmentGateRow(
|
|
205
220
|
assignment_id=a.assignment_id,
|
|
206
|
-
type=
|
|
221
|
+
type=row_type,
|
|
207
222
|
status=a.status,
|
|
208
223
|
branch=a.branch,
|
|
209
224
|
machine_name=a.machine_name,
|
|
@@ -49,6 +49,7 @@ from coord.comments import (
|
|
|
49
49
|
format_stuck,
|
|
50
50
|
)
|
|
51
51
|
from coord.config import Config
|
|
52
|
+
from coord.decomposition_chat import is_size_triage_review_target
|
|
52
53
|
from coord.dispatch import (
|
|
53
54
|
AGENT_PORT,
|
|
54
55
|
post_advisory,
|
|
@@ -4452,6 +4453,31 @@ def post_transition(transition: Transition, record: dict, entry: dict) -> None:
|
|
|
4452
4453
|
EVENT_PLAN if posted else EVENT_COMPLETION,
|
|
4453
4454
|
branch=entry.get("branch"),
|
|
4454
4455
|
)
|
|
4456
|
+
elif (
|
|
4457
|
+
transition.event == EVENT_COMPLETION
|
|
4458
|
+
and assignment_type == "review"
|
|
4459
|
+
and is_size_triage_review_target(record.get("review_target"))
|
|
4460
|
+
):
|
|
4461
|
+
# #3971: a size-triage leg (`coord.decomposition_chat.
|
|
4462
|
+
# dispatch_size_triage_review`) is dispatched as `type="review"`
|
|
4463
|
+
# ONLY to reuse `coord.agent`'s CLI-enforced read-only deny-list for
|
|
4464
|
+
# that type (see that function's own comment) — it is never a real
|
|
4465
|
+
# code review, has no PR to review, and (per its own briefing) never
|
|
4466
|
+
# emits REVIEW_VERDICT/END_REVIEW. Before this branch existed, the
|
|
4467
|
+
# generic `assignment_type == "review"` arm below tried to extract
|
|
4468
|
+
# findings from a `SIZE_TRIAGE_VERDICT`-shaped log, failed, and
|
|
4469
|
+
# posted "Review assignment completed but findings could not be
|
|
4470
|
+
# extracted" to the issue (quadraui#2304, 2026-11-10 UTC) — a
|
|
4471
|
+
# confusing, actionable-looking comment about a leg that already
|
|
4472
|
+
# posts no comment at all by design (`dispatch_size_triage_review`'s
|
|
4473
|
+
# own docstring). `coord.dispatch.enforce_preflight_guard` is what
|
|
4474
|
+
# actually consumes this leg's verdict (fetching and parsing the
|
|
4475
|
+
# raw log itself the next time it runs) — nothing here needs to.
|
|
4476
|
+
mark_notified(
|
|
4477
|
+
transition.assignment_id,
|
|
4478
|
+
transition.event,
|
|
4479
|
+
branch=entry.get("branch"),
|
|
4480
|
+
)
|
|
4455
4481
|
elif transition.event == EVENT_COMPLETION and assignment_type == "review":
|
|
4456
4482
|
# For review assignments, parse the structured findings and post as a
|
|
4457
4483
|
# PR review (or issue comment when no PR number is available). Fall
|
|
@@ -34,6 +34,7 @@ from __future__ import annotations
|
|
|
34
34
|
import dataclasses
|
|
35
35
|
from typing import Any, Protocol, runtime_checkable
|
|
36
36
|
|
|
37
|
+
from coord.decomposition_chat import is_size_triage_review_target
|
|
37
38
|
from coord.models import CLOSES_ISSUE_TYPES, WORK_LIKE_TYPES, effective_issue_number
|
|
38
39
|
# #3191: the two #3182 fan-out encodings this module has to PARSE to count
|
|
39
40
|
# Test *rounds* rather than raw smoke rows — see `_test_stage_leg_count`.
|
|
@@ -167,6 +168,16 @@ def assignments_for_stage(
|
|
|
167
168
|
``require_plan`` and no ``type="plan"`` assignment for this issue),
|
|
168
169
|
plan-typed assignments fold into "work" so a ``--plan-only`` dispatch
|
|
169
170
|
without ``require_plan`` doesn't disappear from the Work stage.
|
|
171
|
+
|
|
172
|
+
#3975: a size-triage leg is dispatched with ``type="review"`` purely to
|
|
173
|
+
reuse ``coord.agent``'s read-only deny-list for that type (see
|
|
174
|
+
``coord.decomposition_chat.dispatch_size_triage_review``'s own comment)
|
|
175
|
+
— it is not a code review and carries no ``review_verdict`` a real
|
|
176
|
+
review would. Counting it toward the "review" stage painted
|
|
177
|
+
quadraui#2304's board as "review" while Work hadn't even been
|
|
178
|
+
dispatched yet (a size-triage leg's ``status="running"`` trips the
|
|
179
|
+
ACTIVE check in ``stage_status_for`` before any work row exists). Drop
|
|
180
|
+
it here, once, rather than at every stage-status call site.
|
|
170
181
|
"""
|
|
171
182
|
fold_plan_into_work = (
|
|
172
183
|
stage == "work"
|
|
@@ -175,6 +186,8 @@ def assignments_for_stage(
|
|
|
175
186
|
)
|
|
176
187
|
out = []
|
|
177
188
|
for a in assignments_for_issue:
|
|
189
|
+
if is_size_triage_review_target(getattr(a, "review_target", None)):
|
|
190
|
+
continue
|
|
178
191
|
t = a.type or "work"
|
|
179
192
|
if fold_plan_into_work:
|
|
180
193
|
if t in ("work", "plan"):
|
|
@@ -22,6 +22,16 @@ history has actually been rewritten). `TestHistoryRewriteLegSafetyNetPush`
|
|
|
22
22
|
below covers the `--force-with-lease` push this file's `_HISTORY_REWRITE_
|
|
23
23
|
TYPES` leg now uses instead, and the promotion of a non-fast-forward/
|
|
24
24
|
stale-lease rejection to the same FAILED outcome as an auth break.
|
|
25
|
+
|
|
26
|
+
#3975: a size-triage leg (`coord.decomposition_chat.dispatch_size_triage_
|
|
27
|
+
review`) is read-only by its own system prompt and its branch is cut fresh
|
|
28
|
+
from the default branch's tip, so this reap-time safety-net push has
|
|
29
|
+
nothing of the leg's own to push in the first place — and pushing the
|
|
30
|
+
empty branch anyway hands #3376's `any_matching_branch_merged` fallback a
|
|
31
|
+
zero-commit `issue-N-size-triage-*` branch to mis-read as "already
|
|
32
|
+
merged", refusing the Work dispatch the triage verdict just unblocked
|
|
33
|
+
(quadraui#2304). `test_size_triage_leg_reap_skips_the_push` below pins
|
|
34
|
+
down that this reap-time push is never even attempted for that leg shape.
|
|
25
35
|
"""
|
|
26
36
|
|
|
27
37
|
from __future__ import annotations
|
|
@@ -508,6 +518,52 @@ def test_successful_push_leaves_push_failure_reason_none(
|
|
|
508
518
|
server.shutdown()
|
|
509
519
|
|
|
510
520
|
|
|
521
|
+
def test_size_triage_leg_reap_skips_the_push(
|
|
522
|
+
tmp_path: Path, repo_with_rejecting_remote: tuple[Path, Path]
|
|
523
|
+
) -> None:
|
|
524
|
+
"""#3975: a size-triage leg's reap must never attempt the
|
|
525
|
+
belt-and-suspenders push at all — not even one that would otherwise
|
|
526
|
+
fail loudly. The rejecting remote proves the point: if reap attempted
|
|
527
|
+
the push, this leg would come back FAILED with an auth-shaped
|
|
528
|
+
`push_failure_reason`; since the leg is read-only, it must instead come
|
|
529
|
+
back DONE with no push attempted and no branch created on origin."""
|
|
530
|
+
clone, origin = repo_with_rejecting_remote
|
|
531
|
+
server = AgentServer(
|
|
532
|
+
machine_name="t",
|
|
533
|
+
repos=["api"],
|
|
534
|
+
repo_paths={"api": str(clone)},
|
|
535
|
+
state_dir=tmp_path / "state",
|
|
536
|
+
worker_command=lambda spec: ["/bin/sh", "-c", "true"], # read-only, no commits
|
|
537
|
+
)
|
|
538
|
+
spec = AssignmentSpec(
|
|
539
|
+
repo_name="api",
|
|
540
|
+
repo_path=str(clone),
|
|
541
|
+
issue_number=2304,
|
|
542
|
+
issue_title="[size-triage] shared app layer 2a widgetid",
|
|
543
|
+
briefing="b",
|
|
544
|
+
branch="main",
|
|
545
|
+
type="review",
|
|
546
|
+
review_target="size-triage-2304",
|
|
547
|
+
)
|
|
548
|
+
a = server.assign(spec)
|
|
549
|
+
final = server.wait_for(a.id, timeout=15)
|
|
550
|
+
|
|
551
|
+
assert final.status == DONE
|
|
552
|
+
assert final.push_failure_reason is None
|
|
553
|
+
log_text = Path(final.log_path).read_text()
|
|
554
|
+
assert "# reap: push starting" not in log_text
|
|
555
|
+
assert "# reap: push completed" not in log_text
|
|
556
|
+
# The branch the agent would have minted (`issue-2304-size-triage-...`)
|
|
557
|
+
# must never reach origin — the whole bug was that empty branch landing
|
|
558
|
+
# there and being misread as "this issue's work already merged".
|
|
559
|
+
refs = subprocess.run(
|
|
560
|
+
["git", "ls-remote", "--heads", str(origin)],
|
|
561
|
+
capture_output=True, text=True, check=True,
|
|
562
|
+
).stdout
|
|
563
|
+
assert "size-triage" not in refs
|
|
564
|
+
server.shutdown()
|
|
565
|
+
|
|
566
|
+
|
|
511
567
|
@pytest.fixture
|
|
512
568
|
def repo_with_existing_branch(tmp_path: Path) -> tuple[Path, Path]:
|
|
513
569
|
"""A clone with `origin` configured and a `feature` branch already
|
|
@@ -973,12 +973,37 @@ def test_any_matching_branch_merged_issue_scoped_ignores_gate_b_leg(
|
|
|
973
973
|
assert claim_mod.any_matching_branch_merged("acme/vimcode", 900) is False
|
|
974
974
|
|
|
975
975
|
|
|
976
|
+
def test_any_matching_branch_merged_issue_scoped_ignores_size_triage_leg(
|
|
977
|
+
monkeypatch,
|
|
978
|
+
) -> None:
|
|
979
|
+
"""#3975: quadraui#2304's exact shape — a zero-commit
|
|
980
|
+
`issue-{N}-size-triage-*` branch (cut from the default branch's tip by
|
|
981
|
+
the read-only size-triage leg) sitting at `ahead_by == 0`, with no real
|
|
982
|
+
work branch dispatched yet. `any_matching_branch_merged` with no
|
|
983
|
+
*branch* (the dispatch-liveness fallback a re-queued Work dispatch
|
|
984
|
+
hits right after the triage leg says `proceed`) must not read the
|
|
985
|
+
triage branch as "this issue's work already merged" — that misread is
|
|
986
|
+
exactly what refused the Work dispatch in the incident."""
|
|
987
|
+
import coord.claim as claim_mod
|
|
988
|
+
|
|
989
|
+
monkeypatch.setattr(
|
|
990
|
+
"coord.github_ops._gh",
|
|
991
|
+
_gh_stub_with_matching_refs(
|
|
992
|
+
["issue-2304-size-triage-shared-app-layer-2a-widgetid"],
|
|
993
|
+
"develop",
|
|
994
|
+
{"issue-2304-size-triage-shared-app-layer-2a-widgetid": 0},
|
|
995
|
+
),
|
|
996
|
+
)
|
|
997
|
+
assert claim_mod.any_matching_branch_merged("acme/vimcode", 2304) is False
|
|
998
|
+
|
|
999
|
+
|
|
976
1000
|
def test_is_observer_leg_branch_matches_review_scoped_review_smoke_and_gate_b() -> None:
|
|
977
|
-
"""#3442: the exact prefixes review/smoke/gate-b legs
|
|
978
|
-
else — a bare `issue-N-review` (no trailing content)
|
|
979
|
-
`issue-N-review-...`/`issue-N-scoped-review
|
|
980
|
-
`issue-N-gate-b-...` shapes
|
|
981
|
-
|
|
1001
|
+
"""#3442/#3975: the exact prefixes review/smoke/gate-b/size-triage legs
|
|
1002
|
+
mint, and nothing else — a bare `issue-N-review` (no trailing content)
|
|
1003
|
+
and the slugified `issue-N-review-...`/`issue-N-scoped-review-...`/
|
|
1004
|
+
`issue-N-smoke-...`/`issue-N-gate-b-...`/`issue-N-size-triage-...` shapes
|
|
1005
|
+
all match; an unrelated branch, or one that merely CONTAINS "review"
|
|
1006
|
+
past the issue-number prefix, must not."""
|
|
982
1007
|
import coord.claim as claim_mod
|
|
983
1008
|
|
|
984
1009
|
assert claim_mod._is_observer_leg_branch("issue-9-review", 9) is True
|
|
@@ -990,6 +1015,9 @@ def test_is_observer_leg_branch_matches_review_scoped_review_smoke_and_gate_b()
|
|
|
990
1015
|
assert claim_mod._is_observer_leg_branch(
|
|
991
1016
|
"issue-9-gate-b-ms-9-milestone-verdict", 9
|
|
992
1017
|
) is True
|
|
1018
|
+
assert claim_mod._is_observer_leg_branch(
|
|
1019
|
+
"issue-9-size-triage-shared-app-layer", 9
|
|
1020
|
+
) is True
|
|
993
1021
|
assert claim_mod._is_observer_leg_branch("issue-9-real-work", 9) is False
|
|
994
1022
|
assert claim_mod._is_observer_leg_branch(
|
|
995
1023
|
"issue-9-reviewer-onboarding", 9
|