code-coordinator 0.5.654__tar.gz → 0.5.656__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.654 → code_coordinator-0.5.656}/PKG-INFO +1 -1
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/code_coordinator.egg-info/PKG-INFO +1 -1
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/code_coordinator.egg-info/scm_version.json +2 -2
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/agent.py +121 -22
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/providers/claude.py +8 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/smoke.py +7 -2
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_agent_reap.py +50 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_plain_runner_smoke_3673.py +82 -8
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/.claude/commands/board.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/.claude/commands/complete-session.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/.claude/commands/coordinator.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/.githooks/_lib.sh +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/.githooks/post-checkout +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/.githooks/post-commit +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/.githooks/post-merge +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/.github/coord-ci-acceptance.yml +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/.github/workflows/auto-release.yml +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/.github/workflows/publish.yml +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/.github/workflows/test.yml +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/.gitignore +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/CLAUDE.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/GOAL.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/LICENSE +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/MANIFEST.in +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/README.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/code_coordinator.egg-info/SOURCES.txt +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/code_coordinator.egg-info/dependency_links.txt +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/code_coordinator.egg-info/entry_points.txt +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/code_coordinator.egg-info/requires.txt +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/code_coordinator.egg-info/scm_file_list.json +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/code_coordinator.egg-info/top_level.txt +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/__init__.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/_board_mapping.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/acceptance.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/acceptance_drivers.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/agent_app.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/agent_update.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/agents/opencode/.gitignore +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/agents/opencode/agents/work.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/agents/opencode/routing.jsonc +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/app_drive.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/app_drive_daemon.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/approved_work.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/audit.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/auto_loop.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/backup.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/block_log.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/board_schema.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/board_service.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/board_wire.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/brain.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/branch_model.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/briefing_lessons.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/bug_intake.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/bugbash.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/cargo_cache.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/ci_fix.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/ci_github.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/ci_gitlab.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/ci_store.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/claim.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/claude_setup_token.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/cli.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/client.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/codegen.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/__init__.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/_common.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/acceptance.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/agent_ops.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/app_drive.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/audit.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/backup.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/bugbash.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/chat.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/ci.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/codegen.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/dispatch.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/dispatch_workers.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/dr.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/drive.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/drive_queue.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/gate_a.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/gates.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/issues.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/lifecycle.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/machine.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/merge.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/milestone.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/plan_followup.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/plans.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/portal.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/pr.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/release.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/repo.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/report.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/review.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/scorecard.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/sessions.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/setup.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/smoke.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/status.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/store_migrate.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/terminal.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/test_gate.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/commands/tui.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/comments.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/config.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/config_reload.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/confirm_test.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/conflict_fix.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/dao.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/dashboard/__init__.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/dashboard/fixture.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/dashboard/index.html +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/dashboard/reports.html +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/dashboard/server.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/dashboard/terminal.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/db.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/dead_end.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/decomposition_chat.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/deploy/README.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/deploy/coord-agent.service +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/deploy/coord-backup.service +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/deploy/coord-backup.timer +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/deploy/coord-db-backup.service +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/deploy/coord-db-backup.sh +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/deploy/coord-db-backup.timer +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/deploy/coord-dr-verify.service +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/deploy/coord-dr-verify.timer +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/deploy/coord-drive-queue.service +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/deploy/coord-drive-queue.timer +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/deploy/coord-failure-notify.service +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/deploy/coord-fleet-watchdog.service +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/deploy/coord-fleet-watchdog.timer +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/deploy/coord-nightly-smoke.service +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/deploy/coord-nightly-smoke.timer +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/deploy/coord-notify.service +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/deploy/coord-notify.timer +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/deploy/coord-release-propagate.service +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/deploy/coord-release-propagate.timer +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/deploy/coord-release-window.service +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/deploy/coord-release-window.timer +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/deploy/coord-serve.service +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/deploy/coord-web-dist-build.service +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/deploy/coord-web-dist-build.timer +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/deploy/coord-web.service +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/deploy_manifest.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/deploy_units.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/deprecation_telemetry.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/deps.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/diagnose.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/dirlink.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/dispatch.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/dispatch_liveness.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/dist_name.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/dr_promote.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/dr_verify.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/drive.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/drive_queue.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/drive_sessions_snapshot.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/drive_state.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/events.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/failure_class.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/failure_classifier.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/filelock.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/fleet_config_health.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/forge_availability.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/freshness.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/gate_a.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/gate_b.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/gate_snapshot.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/gates.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/gen_board_fixture.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/github_ops.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/github_throttle.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/goal.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/graph_health.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/gtk_native_driver.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/__init__.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/aggregate.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/checks/__init__.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/checks/_ci_pin.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/checks/agent_install.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/checks/cargo_targets.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/checks/claude_binary.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/checks/config_drift.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/checks/coord_tui_ci_pin.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/checks/coord_web_ci_pin.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/checks/deploy_lane_facts.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/checks/disk.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/checks/fleet_board.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/checks/fleet_deploy_lanes.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/checks/fleet_phantom.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/checks/fleet_unit_drift.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/checks/graph.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/checks/graphify_cli.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/checks/gui_lane_preflight.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/checks/index_lock.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/checks/issues_sync_staleness.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/checks/local_machine_identity.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/checks/plan_usage.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/checks/pr_churn.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/checks/release_cordon.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/checks/repo_state.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/checks/spawned_coord.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/checks/stalled_pipeline.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/checks/timer_active.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/checks/toolchain.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/checks/unit_drift.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/checks/unit_enablement.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/checks/wedged_drive_queue.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/checks/worktrees.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/cli.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/context.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/fleet_snapshot.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/models.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/pypi.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/registry.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/render.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/health/units.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/hooks.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/housekeeping.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/interactive.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/invariant_alarms.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/issue_store.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/issues_sync_status.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/key_spec.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/liveness_auditor.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/mac_native_driver.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/machine_fault.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/machine_metrics.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/machine_onboard.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/machine_pause.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/machine_stats.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/merge_queue.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/milestone_chat.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/milestone_dispatch.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/milestone_gate.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/milestone_order.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/mock_author.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/models.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/native_fs_wait.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/native_pixels.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/network.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/new_issue_chat.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/nightly_runner.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/nightly_smoke.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/nightly_status.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/nightly_store.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/notifier/__init__.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/notifier/baseline.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/notifier/cli.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/notifier/collect.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/notifier/digest.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/notifier/models.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/notifier/predicate.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/notifier/service.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/notifier/store.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/notifier/transport.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/notify.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/openapi.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/overlap_fence.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/overlap_predict.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/parentage.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/parentage_github.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/pipeline.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/plan_parser.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/plans.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/platform_paths.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/portal_bridge.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/portal_store.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/portal_sync.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/pr_body_lint.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/prereqs.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/prereview_gate.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/progress.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/providers/__init__.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/providers/base.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/providers/claude_pty.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/providers/opencode.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/queue_diagnose.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/reconcile.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/reconcile_tick.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/refine_chat.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/release_cordon.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/release_gate.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/release_propagate.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/release_verify.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/release_window.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/repo_dormancy.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/repo_edit.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/repo_onboard.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/reports.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/rest_schema.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/restart_cmd.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/revalidate.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/review.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/scorecard.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/self_health.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/serve_app.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/shell_exec_wrap.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/skills/coord-dispatch-verbs/SKILL.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/skills/drive-queue-preflight/SKILL.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/skills/fleet-restart-safety/SKILL.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/skills/merge-stuck-triage/SKILL.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/skills/pipeline-limbo-triage/SKILL.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/skills/portal-followup/SKILL.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/skills/release-now/SKILL.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/skills/review-verdict-recovery/SKILL.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/skills/tui-quadraui-workflow/SKILL.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/skills/update-issue/SKILL.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/smoke_tags.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/spend_ceiling.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/split_work.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/sql.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/stage_projection.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/state.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/store_migrate.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/store_parity.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/templates/deploy-cloudflare.node.yml +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/test_author.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/test_chat.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/test_orchestrator.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/test_report.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/tui_pty_driver.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/tui_release.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/uat_checks.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/upstream_gaps.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/usage.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/usage_limits.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/usage_rollup.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/win_native_bridge.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/win_native_driver.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coord/worker_events.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/coordinator.example.yml +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/deploy/coord-agent.service +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/deploy/coord-backup.service +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/deploy/coord-backup.timer +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/deploy/coord-db-backup.service +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/deploy/coord-db-backup.sh +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/deploy/coord-db-backup.timer +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/deploy/coord-dr-verify.service +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/deploy/coord-dr-verify.timer +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/deploy/coord-drive-queue.service +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/deploy/coord-drive-queue.timer +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/deploy/coord-failure-notify.service +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/deploy/coord-failure-notify.sh +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/deploy/coord-fleet-watchdog.service +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/deploy/coord-fleet-watchdog.timer +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/deploy/coord-nightly-smoke.service +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/deploy/coord-nightly-smoke.timer +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/deploy/coord-notify.service +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/deploy/coord-notify.timer +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/deploy/coord-release-propagate.service +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/deploy/coord-release-propagate.timer +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/deploy/coord-release-window.service +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/deploy/coord-release-window.timer +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/deploy/coord-serve.service +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/deploy/coord-web-dist-build.service +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/deploy/coord-web-dist-build.sh +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/deploy/coord-web-dist-build.timer +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/deploy/coord-web-rollback.sh +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/deploy/coord-web.service +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/deploy/node-shim.sh +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/ADR_COORD_TUI_CI.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/ADR_COORD_WEB_ACCEPTANCE_SUITE.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/ADR_COORD_WEB_CI.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/ADR_COORD_WEB_DIST.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/ADR_PY_RUST_MIRRORS.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/AGENT_OPERATIONS.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/ARCHITECTURE.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/ARCH_SECURITY_GATES.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/COCKPIT.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/CONTROL_CENTER.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/COST_DISCIPLINE.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/CROSS_PLATFORM.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/CUSTOMER_FACING_APPS.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/CUSTOMER_PORTAL.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/DATA_STORE_SELECTION.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/DISASTER_RECOVERY.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/DRIVE_QUEUE.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/EPHEMERAL_WORKERS.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/FORGE_MIGRATION.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/GRAPHIFY_SETUP.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/ISSUE_GUIDANCE.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/MAC_MINI.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/MERGE_AUTO_DRAIN_TRUST_BAR.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/NOTIFIER.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/OPENCODE_VERIFICATION.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/OPERATING_GOTCHAS.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/OPERATOR_GUIDES.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/ORACLE_LOOP.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/PHONE_WEBAPP.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/PIPELINE_V2.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/PLATFORM_EVOLUTION.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/SECOND_BACKEND.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/STORE_SERVICE.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/TEST_FIRST_BUG_LANE.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/WEB_CONTROL_CENTER.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/WSL_WINDOWS_WORKER.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/mocks/web/README.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/mocks/web/_tokens.css +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/mocks/web/issue-detail.html +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/mocks/web/pipeline-narrow.html +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/docs/mocks/web/pipeline-wide.html +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/graphify-out/.gitignore +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/install-agent.sh +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/pyproject.toml +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/audit_review_verdict_overrides.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/azure-workers/bootstrap-shared.sh +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/azure-workers/build-worker-image.sh +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/azure-workers/coordinator-machine.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/azure-workers/dr-down.sh +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/azure-workers/dr-up.sh +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/azure-workers/epic-down.sh +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/azure-workers/epic-up.sh +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/azure-workers/preflight.sh +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/azure-workers/provision-server.sh +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/azure-workers/provision-worker.sh +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/azure-workers/scrub-and-generalize.sh +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/azure-workers/tailnet-acl.hujson +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/azure-workers/throwaway-vm.sh +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/azure-workers/verify-github-token.sh +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/check_gh_argv_containment.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/codegen.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/comment_cruft.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/coord-test-runner.sh +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/coord-tui-scaffold/.github/coord-ci-acceptance.yml +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/coord-tui-scaffold/.github/workflows/cargo-test.yml +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/coord-tui-scaffold/.github/workflows/codegen-drift.yml +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/coord-tui-scaffold/CLAUDE.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/coord-venv-rollback.sh +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/drive-batch.sh +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/extract-coord-tui.sh +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/fleet_watchdog.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/gen_board_fixture.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/gen_mock_index.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/lib/provision-core.sh +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/next_release_tag.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/provision-machine.sh +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/run_tests_in_populated_home.sh +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/run_tests_without_gh.sh +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/setup-macmini.sh +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/smoke_437_interactive.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/verify-provision-noble.sh +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/verify_878_review_capture.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/verify_release_published.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/scripts/verify_release_wheel.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/setup.cfg +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/SMOKE_SET.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/__init__.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/acceptance/ms-37/conftest.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/acceptance/ms-37/contract.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/acceptance/ms-37/manifest.yml +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/acceptance/ms-37/test_usage_cli_1115.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/acceptance/ms-37/test_usage_core_1118.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/acceptance/ms-51/contract.md +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/acceptance/ms-51/home-active-extended.spec.ts +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/acceptance/ms-51/home-active.spec.ts +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/acceptance/ms-51/manifest.yml +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/acceptance/ms-51/mocks/home-active.html +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/acceptance/ms-51/tsconfig.json +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/acceptance/ms-example/mocks/home-active.html +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/backends.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/conftest.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/fixtures/board-pipeline-basic.json +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/fixtures/board-pipeline-terminal-gates.json +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/fixtures/opencode_run_failure_sample.jsonl +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/fixtures/opencode_run_length_sample.jsonl +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/fixtures/opencode_run_sample.jsonl +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/fixtures/playwright/all_pass.json +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/fixtures/playwright/global_setup_crash.json +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/fixtures/playwright/mixed_fail.json +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/fixtures/playwright/retry_then_pass.json +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/fixtures/playwright/retry_then_pass.junit.xml +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/fixtures/playwright/skip.json +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/fixtures/playwright/truncated.json +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/fixtures/test_report/cargo_compile_error.txt +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/fixtures/test_report/cargo_multi_target_failures.txt +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/fixtures/test_report/cargo_no_parseable_failures.txt +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/fixtures/test_report/pytest_collection_error.txt +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/fixtures/test_report/pytest_error_log_record.txt +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/fixtures/test_report/pytest_error_string_in_body.txt +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/fixtures/test_report/pytest_internal_error.txt +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/fixtures/test_report/pytest_mixed_failures.txt +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/fixtures/test_report/pytest_no_parseable_failures.txt +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_acceptance.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_acceptance_drivers.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_agent.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_agent_api_error.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_agent_app.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_agent_branch_base.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_agent_branch_capture.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_agent_config_free_1712.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_agent_deploy_units_endpoint.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_agent_dirty_worktree.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_agent_drive_queue_reconcile_2373.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_agent_graceful_shutdown_3649.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_agent_graph_refresh.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_agent_graph_self_heal.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_agent_health_h3.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_agent_idle_restart.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_agent_push_failure.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_agent_repos_and_pull.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_agent_restart_services_endpoint.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_agent_skills_self_heal.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_agent_startup_diagnostics.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_agent_update.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_agent_update_bluegreen.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_agent_usage_limit.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_agent_zero_commit.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_ambient_home_isolation.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_app_drive.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_approve_capability_reroute_3241.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_approve_dependency_busy_2804.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_approve_reject_plan.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_approve_usage_gate.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_approved_work_2532.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_approved_work_2996.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_assignment_already_recorded_daemon.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_audit_log.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_audit_outcome.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_audit_query.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_auto_loop.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_auto_release_publish_2035.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_backend_selection.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_backup.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_base_checkout_restore.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_block_log.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_board_cap_762.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_board_fixture.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_board_nightly_status.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_board_read_path.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_board_schema.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_board_service.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_board_state.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_board_wire.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_brain.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_branch_model.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_briefing_lessons.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_bug_intake.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_bugbash.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_build_worker_image_env_update.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cargo_cache.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_check_gh_argv_containment.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_ci_acceptance_gate_1950.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_ci_fix.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_ci_github.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_ci_gitlab.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_ci_parity_2091.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_ci_store.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_claim.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_claude_md_budget.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_claude_setup_token.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_acceptance.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_assign.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_assign_interactive_oracle_gate.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_assign_interactive_remote.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_assign_provider.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_assign_repo_drift_2219.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_audit.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_chat_continue.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_ci.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_codegen.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_decide.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_diagnose_capability_rules.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_diagnose_config_provenance.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_diagnose_forge_availability.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_diagnose_graph.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_diagnose_self.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_diagnose_test_coverage.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_doctor.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_doctor_config_free_1801.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_doctor_config_mismatch_1712.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_doctor_store_backend_3084.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_drive.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_drive_queue.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_escalate.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_fix_headless_review.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_gate_a.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_inject_board_less.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_install_drift.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_install_skills.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_issue_close_wrong_repo.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_issue_comment.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_issue_create_label.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_issue_reopen.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_issue_view_list.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_issues.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_merge.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_milestone_assign.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_milestone_capture.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_milestone_chat_add_child.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_milestone_dispatch.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_milestone_gate_b.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_milestone_gate_c.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_milestone_order.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_milestone_remove_and_issue_close.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_milestone_ship.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_network.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_new_issue_chat.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_plans.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_portal.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_pr.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_pull_artifact.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_queue.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_reattach_sessions.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_refine_board.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_release_preflight.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_release_propagate.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_release_window.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_repo_2220.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_review_test_author_tracking_epic_2639.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_scorecard.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_serve_store_backend_3084.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_set_review_findings.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_smoke_nightly.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_smoke_nightly_sweep.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_status_advisory_terminal.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_status_contested_tag.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_status_invariant_alarms.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_status_machine_fault.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_status_merge_queue.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_status_nightly.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_status_provider.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_status_retried_3340.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_status_review_finalizing.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_status_supervisor_3366.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_status_test_failed_tag.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_status_usage_limit.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_sync_comments_873.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_test_plan.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_track.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_tui_update.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cli_wait.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_client.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_client_base_install.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_client_config_cache_atomic_3052.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_client_resource_migration_1946.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_commands_common.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_comment_cruft.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_comments.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_completion_summary.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_config.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_config_acceptance.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_config_audit.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_config_drift_check.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_config_effective.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_config_prereview_gate.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_config_pricing.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_config_snapshot_noncanonical_2208.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_config_usage_gate.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_confirm_test.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_conflict_fix.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_conflict_fix_semantic.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_coord_log_daemon_fallback_2547.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_coord_test.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_coord_test_runner_acceptance_toolchain_2936.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_coord_test_runner_baseline.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_coord_test_runner_populated_home.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_coord_test_runner_routing.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_coord_test_runner_toolchain.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_coord_uat.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_coord_web_sse_restart_live.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_coordinator_machine.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_cross_platform_imports.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_dao.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_dashboard.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_dashboard_api.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_dashboard_fixture.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_dashboard_reports.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_dashboard_server.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_dashboard_terminal.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_dashboard_terminal_live.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_db.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_dead_end.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_decomposition_chat.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_deploy_coord_db_backup.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_deploy_coord_web_dist.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_deploy_coord_web_rollback.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_deploy_db_backup_unit.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_deploy_drive_queue_unit.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_deploy_failure_notify_unit.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_deploy_manifest.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_deploy_notify_unit.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_deploy_units_lane.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_deploy_web_unit.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_deprecation_telemetry.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_deps.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_diagnose.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_dirlink.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_dispatch.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_dispatch_liveness.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_dispatch_target_validation.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_dispatch_workers.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_dist_name.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_done_housekeeping.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_dr_azure_scripts.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_dr_promote.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_dr_verify.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_drive.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_drive_machine_fault.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_drive_queue.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_drive_queue_blocked_rendering.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_drive_queue_launch_argv.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_drive_queue_max_parallel_config.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_drive_queue_max_parallel_per_repo_config.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_drive_queue_roll_pending.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_drive_queue_self_cordon_escalation.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_drive_sessions_snapshot.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_drive_state.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_drive_tmux.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_epic_up_capability_detection.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_epic_up_down_symlinked_config_1887.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_epic_up_image_provenance.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_errors.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_events.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_failure_class.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_failure_classifier.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_filelock.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_finalize_interactive_exit_test_verdict.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_fix_escalation_classifier.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_fix_of_force_override.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_fleet_config_health.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_fleet_health_probes.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_fleet_health_snapshot.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_fleet_watchdog.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_forge_availability.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_freshness.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_gate_a.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_gate_b.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_gate_snapshot_staleness.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_gates.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_gather_fleet_tmux_sessions.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_gen_mock_index.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_generated_rust_fixture.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_generated_rust_requests.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_generated_types_fixture.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_github_ops.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_github_throttle.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_goal.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_graph_health.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_graph_selfheal_absent_2237.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_gtk_native_driver.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_handoff.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_health_checks.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_health_cli.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_health_cli_graph.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_health_config.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_health_context.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_health_coord_tui_ci_pin.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_health_coord_web_ci_pin.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_health_deploy_lane_facts.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_health_fix.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_health_incident_regression.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_health_issues_sync_staleness.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_health_pr_churn.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_health_pypi.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_health_registry.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_health_release_cordon_probe.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_health_timer_active.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_health_toolchain.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_health_unit_drift.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_health_unit_enablement.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_health_wedged_drive_queue.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_hooks.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_housekeeping.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_human_attended_437.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_init.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_install_agent_capabilities_3515.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_install_agent_venv_2911.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_install_agent_wsl_bridge_3515.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_integration.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_interactive.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_interactive_briefing_echo.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_interactive_pane_log_2541.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_interactive_prefill_state.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_interactive_session_relaunch.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_interactive_test_verdict_backstop.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_interactive_token_attribution.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_interactive_worktree.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_invariant_alarms.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_issue_store_seam.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_issues_sync_status.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_key_spec.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_liveness_auditor.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_liveness_notify.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_lock_contention_ratchet.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_mac_native_driver.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_machine_fault.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_machine_metrics.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_machine_onboard.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_machine_pause.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_machine_stats.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_merge_queue.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_merge_verification.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_merge_verify.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_milestone_chat.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_milestone_dispatch.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_milestone_gate.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_milestone_order.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_milestone_seam.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_mock_author.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_model_tiering.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_models.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_models_config_labels.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_models_pinned_1650.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_native_fs_wait.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_native_pixels.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_needs_attention.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_network.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_new_issue_chat.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_next_release_tag.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_nightly_runner.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_nightly_smoke.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_nightly_status.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_nightly_store.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_no_eligible_host_3600.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_node_shim.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_notifier_baseline.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_notifier_cli.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_notifier_collect.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_notifier_config.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_notifier_drive_seam.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_notifier_isolation.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_notifier_predicate.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_notifier_quiet_hours.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_notifier_service.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_notify.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_notify_drain.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_openapi.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_operational_defaults.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_overlap_fence.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_overlap_predict.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_packaged_deploy_units.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_parentage.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_paste_landed.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_phantom_heal_venv_independence_2570.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_pipeline.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_plan_followup_approve_plan_command.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_plan_followup_pr_command.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_plan_followup_review_command.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_plan_only.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_plan_parser.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_platform_paths.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_portal_bridge.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_portal_config.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_portal_store.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_portal_sync.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_pr_body_lint.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_prereqs.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_prereview_gate.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_production_db_guard.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_progress.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_provider_seam.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_providers.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_providers_config_labels.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_providers_pty.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_provision_core.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_provision_machine.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_py_rust_mirror_inventory.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_quiet_hours.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_quiet_hours_store_2146.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_reap_merged_sessions.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_reap_stale_interactive_tick.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_reconcile.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_reconcile_branch.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_reconcile_completions.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_reconcile_late_agent_reports_2547.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_reconcile_merges.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_reconcile_no_agent_record.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_reconcile_tick.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_reconcile_usage_limit_done.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_refine_chat.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_release_cordon_2101.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_release_cordon_daemon_leads_2176.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_release_cordon_deadlock_2240.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_release_cordon_drain_stall_3336.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_release_cordon_stuck_2490.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_release_gate.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_release_propagate.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_release_propagate_threshold.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_release_roll_between_legs_2854.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_release_roll_window_handoff.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_release_unified_1242.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_release_verify.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_release_window.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_remote_auto_prune.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_remote_interactive_reaper.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_repo_add.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_repo_dormancy.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_repo_edit_2220.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_repo_graph_fleet_2237.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_repo_max_parallel_3423.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_repo_onboard_2220.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_report_public_export.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_report_result_push.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_reports.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_restart_cmd.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_retry.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_retry_advisory_1606.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_retry_escalation_classify_3360.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_retry_type_1636.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_revalidate.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_review.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_review_end_review_without_verdict.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_review_parse_failure_diagnostic.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_review_reaffirm.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_review_state.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_review_verdict_backstop.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_review_verdict_override_audit.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_review_verdict_relay.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_review_zero_commits.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_scoped_review_wiring.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_scorecard.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_self_health.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_serve.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_serve_app.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_serve_app_board_trim.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_serve_rest_routes.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_session.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_slice_issue_attribution.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_smoke.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_smoke_fanout_manifest_3333.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_smoke_live_checkout_restore.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_smoke_plain_runner_3673.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_smoke_workflow.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_spend_ceiling.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_spend_ceiling_coordinator.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_split.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_split_work.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_sql_dialect.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_sqlite_connect_ratchet.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_stage_projection.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_stale_busy_reviewer_697.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_stalled_pipeline.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_state.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_state_review_findings_daemon.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_status_fleet_footer.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_stop_1567.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_store_contract.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_store_migrate.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_stuck.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_stuck_test_state_watchdog_2803.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_terminal_command.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_test_author.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_test_chat.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_test_orchestrator.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_test_report.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_test_verdict_parsing.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_test_verdict_transcript_floor.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_text_io_encoding_audit.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_thin_client_board_audit.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_thin_client_config_load_1080.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_thin_client_daemon_routing_906.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_throwaway_vm.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_tmux_host.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_tmux_session.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_transcript_floor.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_tui_pty_driver.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_uat_checks.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_upstream_gaps.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_usage.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_usage_limits.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_usage_rollup.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_venv_live_install_2121.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_version_single_source.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_watch.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_win_native_bridge.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_win_native_driver.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_windows_job_is_a_real_gate_2000.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_worker_env_venv_isolation.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_worker_events.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_worker_image_pin_sync.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_worker_safety.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_worker_test_scoping.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_worktree.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_worktree_rmtree_chokepoint.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/test_write_parity.py +0 -0
- {code_coordinator-0.5.654 → code_coordinator-0.5.656}/tests/write_parity.py +0 -0
|
@@ -1165,11 +1165,11 @@ class AssignmentSpec:
|
|
|
1165
1165
|
# agent reason (docs/EPHEMERAL_WORKERS.md).
|
|
1166
1166
|
runtime_ceiling_s: float | None = None
|
|
1167
1167
|
# #3673: "make the Test stage a plain runner by default" — when True AND
|
|
1168
|
-
# ``type == "smoke"`` AND ``
|
|
1169
|
-
# ``smoke_command``
|
|
1170
|
-
#
|
|
1171
|
-
#
|
|
1172
|
-
#
|
|
1168
|
+
# ``type == "smoke"`` AND ``smoke_command`` is set, ``_spawn`` runs
|
|
1169
|
+
# ``smoke_command`` directly as a subprocess
|
|
1170
|
+
# (:func:`run_plain_runner_command`) instead of spawning a ``claude -p``
|
|
1171
|
+
# session, and derives the Test-stage verdict from its exit code alone —
|
|
1172
|
+
# an LLM session is spawned only to SUMMARISE a failure
|
|
1173
1173
|
# (:func:`AgentServer._spawn_plain_runner_failure_summary`), never to
|
|
1174
1174
|
# decide pass/fail. Defaults to ``False`` — the same "unrecognized kwarg
|
|
1175
1175
|
# 400s a config-free/older agent" discipline every other optional field
|
|
@@ -1178,6 +1178,10 @@ class AssignmentSpec:
|
|
|
1178
1178
|
# actual default-on policy) opts a leg into this path; every other
|
|
1179
1179
|
# assignment type, and any caller that predates this field, is
|
|
1180
1180
|
# completely unaffected.
|
|
1181
|
+
#
|
|
1182
|
+
# #3736: ``smoke_needs_judgement`` is no longer a second gate on this —
|
|
1183
|
+
# see that field's own docstring below for why every plain-runner leg,
|
|
1184
|
+
# judgement-needing or not, now takes this subprocess path.
|
|
1181
1185
|
plain_runner: bool = False
|
|
1182
1186
|
# #3673: the resolved shell command a plain-runner leg executes
|
|
1183
1187
|
# (``coord.smoke.resolve_smoke_command``'s result, carried structurally
|
|
@@ -1199,10 +1203,17 @@ class AssignmentSpec:
|
|
|
1199
1203
|
smoke_timeout_s: float | None = None
|
|
1200
1204
|
# #3673: True when this leg's required capabilities need genuine
|
|
1201
1205
|
# judgement rather than a bare exit code (GUI/real-host drivers — see
|
|
1202
|
-
# ``coord.smoke.smoke_needs_judgement``).
|
|
1203
|
-
#
|
|
1204
|
-
#
|
|
1205
|
-
#
|
|
1206
|
+
# ``coord.smoke.smoke_needs_judgement``). Still carried on the wire and
|
|
1207
|
+
# still read by ``coord.smoke``'s own dispatch bookkeeping, but #3736
|
|
1208
|
+
# removed its use as a SECOND gate in ``_spawn``: it no longer routes a
|
|
1209
|
+
# leg to the ordinary ``claude -p`` chat path on its own.
|
|
1210
|
+
# ``SMOKE_SYSTEM_PROMPT`` (``coord.smoke``) has no actual GUI/real-host
|
|
1211
|
+
# judgement logic beyond polling the same command and reading its exit
|
|
1212
|
+
# code, so a judgement-needing leg gains nothing from that path that the
|
|
1213
|
+
# plain-runner subprocess doesn't already do — while losing the Bash
|
|
1214
|
+
# tool's 600s ceiling, which a long judgement-needing build (e.g. a cold
|
|
1215
|
+
# Windows cross-compile) can exceed and get backgrounded-and-abandoned
|
|
1216
|
+
# into a #2244 no-verdict park (see ``_spawn``'s own comment for detail).
|
|
1206
1217
|
smoke_needs_judgement: bool = False
|
|
1207
1218
|
# #3681: opts a ``type="work"`` leg into running as a Claude Code
|
|
1208
1219
|
# *workflow* — multiple agents (implement → adversarial review → fix)
|
|
@@ -5886,6 +5897,27 @@ def _workflow_leg_system_prompt_suffix() -> str:
|
|
|
5886
5897
|
hands a dispatched Review leg (see the ``elif spec.type == "review"``
|
|
5887
5898
|
branch above) — never a second, hand-copied description of what a
|
|
5888
5899
|
reviewer checks (#2096: one question, one answer).
|
|
5900
|
+
|
|
5901
|
+
#3730 adds three more guardrails on top of #3681's Workflow/Task
|
|
5902
|
+
un-denial, each a system-prompt-level mitigation rather than a new CLI
|
|
5903
|
+
flag (no documented, stable way to express any of the three as
|
|
5904
|
+
``--settings``/``--allowedTools`` was found):
|
|
5905
|
+
|
|
5906
|
+
* isolation — the leg already runs inside its own dedicated worktree;
|
|
5907
|
+
a workflow subagent that additionally requests ``isolation:
|
|
5908
|
+
"worktree"``/``"remote"`` would nest a second worktree inside it,
|
|
5909
|
+
risking collision with the leg's own base-checkout guard and the
|
|
5910
|
+
graphify symlink. Subagents must stay in the leg's own working
|
|
5911
|
+
directory instead.
|
|
5912
|
+
* fail-fast — a Workflow invocation that still gets denied (e.g. the
|
|
5913
|
+
confirmation dialog auto-denies despite the --allowedTools grant)
|
|
5914
|
+
must not be retried; retrying was observed to thrash into the
|
|
5915
|
+
fleet's rapid-refill cost breaker. The leg must fall back to
|
|
5916
|
+
performing the assignment directly, as a normal non-workflow leg
|
|
5917
|
+
would.
|
|
5918
|
+
* size — a small, bounded workflow (few agents/phases) keeps cost and
|
|
5919
|
+
token usage predictable; ``WORK_AUTOCOMPACT_TOKENS`` is still the
|
|
5920
|
+
hard backstop regardless.
|
|
5889
5921
|
"""
|
|
5890
5922
|
from coord.review import REVIEWER_SYSTEM_PROMPT # noqa: PLC0415
|
|
5891
5923
|
|
|
@@ -5906,7 +5938,24 @@ def _workflow_leg_system_prompt_suffix() -> str:
|
|
|
5906
5938
|
"exactly the following as that review step's system prompt/lens "
|
|
5907
5939
|
"(this is the identical text coord's own dispatched Review leg "
|
|
5908
5940
|
"receives for this repo, byte for byte):\n\n"
|
|
5909
|
-
"-----\n" + REVIEWER_SYSTEM_PROMPT + "\n-----\n"
|
|
5941
|
+
"-----\n" + REVIEWER_SYSTEM_PROMPT + "\n-----\n\n"
|
|
5942
|
+
"Three more rules for this workflow specifically (#3730):\n\n"
|
|
5943
|
+
"1. Isolation: this leg already runs inside its own dedicated git "
|
|
5944
|
+
"worktree. Do NOT give any agent in your workflow script "
|
|
5945
|
+
"`isolation: \"worktree\"` or `isolation: \"remote\"` — that would "
|
|
5946
|
+
"nest a second worktree inside the one you're already in, which is "
|
|
5947
|
+
"unsupported here and risks colliding with this leg's own "
|
|
5948
|
+
"base-checkout guard. Leave isolation unset (or `\"none\"`) so every "
|
|
5949
|
+
"subagent shares this leg's own working directory.\n"
|
|
5950
|
+
"2. Fail fast: if starting the workflow (or the Workflow tool call "
|
|
5951
|
+
"itself) is ever denied, do NOT retry it — retrying has thrashed "
|
|
5952
|
+
"other legs into the fleet's cost circuit breaker. Immediately fall "
|
|
5953
|
+
"back to completing this assignment directly yourself, exactly as a "
|
|
5954
|
+
"non-workflow leg would, and say so in your final message.\n"
|
|
5955
|
+
"3. Keep it small: use the fewest agents/phases that can do the "
|
|
5956
|
+
"job (e.g. implement, review, fix — not a long chain). This leg "
|
|
5957
|
+
"still has its own hard context/cost caps regardless, but a small "
|
|
5958
|
+
"workflow keeps you well inside them.\n"
|
|
5910
5959
|
)
|
|
5911
5960
|
|
|
5912
5961
|
|
|
@@ -6272,6 +6321,16 @@ def default_worker_command(spec: AssignmentSpec, *, binary: str = DEFAULT_WORKER
|
|
|
6272
6321
|
# the dedicated `elif spec.type == "smoke"` branch above, which
|
|
6273
6322
|
# deliberately withholds it instead.
|
|
6274
6323
|
allowed_tools = "Read,Edit,Write,Bash,Monitor"
|
|
6324
|
+
# #3730: being absent from --disallowedTools (worker_disallowed_tools
|
|
6325
|
+
# above) is not sufficient for Workflow/Task — the Workflow tool's
|
|
6326
|
+
# own confirmation dialog still fires per invocation, and a headless
|
|
6327
|
+
# `-p` leg has no TTY to answer it, so without an explicit
|
|
6328
|
+
# --allowedTools grant it is auto-denied exactly like any other
|
|
6329
|
+
# unconfirmed permission prompt. Granting it here is the same
|
|
6330
|
+
# pre-approval mechanism `Bash` already relies on in this list to
|
|
6331
|
+
# skip its own per-command confirmations.
|
|
6332
|
+
if spec.workflow:
|
|
6333
|
+
allowed_tools += ",Workflow,Task"
|
|
6275
6334
|
# #3672: force earlier auto-compaction for work-shaped legs — see
|
|
6276
6335
|
# `WORK_AUTOCOMPACT_TOKENS`'s docstring. These are exactly the legs
|
|
6277
6336
|
# the cost analysis found running 200-450 turns with zero
|
|
@@ -6414,8 +6473,10 @@ def _user_message_line(text: str) -> bytes:
|
|
|
6414
6473
|
# session) and derives the verdict from the exit code alone. An LLM session
|
|
6415
6474
|
# is spawned only to SUMMARISE a failure for a human-readable report — never
|
|
6416
6475
|
# to decide pass/fail — via `AgentServer._spawn_plain_runner_failure_summary`.
|
|
6417
|
-
# `
|
|
6418
|
-
#
|
|
6476
|
+
# #3736: every `plain_runner` leg takes this path, including one
|
|
6477
|
+
# `coord.smoke.smoke_needs_judgement` flags as GUI/real-host-driver — see
|
|
6478
|
+
# `AgentServer._spawn`'s routing comment for why that stopped being a
|
|
6479
|
+
# second gate.
|
|
6419
6480
|
|
|
6420
6481
|
#: How much of a plain-runner command's combined stdout+stderr survives into
|
|
6421
6482
|
#: the leg's log (and, on failure, the summary request) — generous enough to
|
|
@@ -10391,6 +10452,25 @@ class AgentServer:
|
|
|
10391
10452
|
_log.exception(
|
|
10392
10453
|
"plain-runner smoke %s: execute_plain_runner_smoke raised", assignment.id,
|
|
10393
10454
|
)
|
|
10455
|
+
# #3736: write the SAME `SMOKE:` marker vocabulary the normal
|
|
10456
|
+
# path writes, even on this crash branch — `_fail` alone sets
|
|
10457
|
+
# the assignment FAILED but writes nothing to the log, which
|
|
10458
|
+
# left `coord.progress.parse_smoke_verdict_from_log` (read via
|
|
10459
|
+
# `coord.notify._smoke_worker_verdict`) with no marker to find
|
|
10460
|
+
# and the leg parked as a #2244 no-verdict rather than recorded
|
|
10461
|
+
# as a failure a human can act on. `_SMOKE_VERDICT_RE` is a
|
|
10462
|
+
# line-anchored `^SMOKE:\s*(pass|fail|baseline-red)\b\s*(.*)$`
|
|
10463
|
+
# match, so the free-text reason after `fail` here is read back
|
|
10464
|
+
# as the verdict's `reason` exactly like a `claude -p` worker's
|
|
10465
|
+
# own `SMOKE: fail <reason>` line.
|
|
10466
|
+
try:
|
|
10467
|
+
with open(assignment.log_path, "a", encoding="utf-8") as fh:
|
|
10468
|
+
fh.write(f"\nSMOKE: fail plain-runner smoke crashed: {exc}\n")
|
|
10469
|
+
except OSError:
|
|
10470
|
+
_log.exception(
|
|
10471
|
+
"plain-runner smoke %s: failed to write crash marker to log %s",
|
|
10472
|
+
assignment.id, assignment.log_path,
|
|
10473
|
+
)
|
|
10394
10474
|
self._fail(assignment, f"plain-runner smoke crashed: {exc}")
|
|
10395
10475
|
return
|
|
10396
10476
|
|
|
@@ -10496,16 +10576,35 @@ class AgentServer:
|
|
|
10496
10576
|
# `_spawn` is ever reached.
|
|
10497
10577
|
spec = assignment.spec
|
|
10498
10578
|
|
|
10499
|
-
# #3673: the plain-runner path — a smoke leg this policy
|
|
10500
|
-
# never spawns `claude -p` for its verdict at all, so it
|
|
10501
|
-
# checked before any provider resolution/argv-building below,
|
|
10502
|
-
# exists purely to build THAT spawn.
|
|
10503
|
-
|
|
10504
|
-
|
|
10505
|
-
|
|
10506
|
-
|
|
10507
|
-
|
|
10508
|
-
|
|
10579
|
+
# #3673/#3736: the plain-runner path — a smoke leg this policy
|
|
10580
|
+
# applies to never spawns `claude -p` for its verdict at all, so it
|
|
10581
|
+
# must be checked before any provider resolution/argv-building below,
|
|
10582
|
+
# which exists purely to build THAT spawn.
|
|
10583
|
+
#
|
|
10584
|
+
# #3736: `smoke_needs_judgement` no longer excludes a leg from this
|
|
10585
|
+
# path. It used to (the `and not spec.smoke_needs_judgement` clause
|
|
10586
|
+
# that lived here routed a "judgement-needing" leg — in practice,
|
|
10587
|
+
# every default-config `windows` capability leg, e.g. quadraui's
|
|
10588
|
+
# win-msvc cross-compile smoke — through the ordinary `claude -p`
|
|
10589
|
+
# chat session instead). That session runs `SMOKE_SYSTEM_PROMPT`
|
|
10590
|
+
# (coord/smoke.py), which has no visual/interactive judgement logic
|
|
10591
|
+
# of its own: it polls the SAME command this subprocess path runs and
|
|
10592
|
+
# derives the SAME pass/fail from its exit code, just inside a
|
|
10593
|
+
# `claude -p` turn bounded by the Bash tool's 600s ceiling — long
|
|
10594
|
+
# enough for a cold cross-build that a worker then backgrounds and
|
|
10595
|
+
# abandons when it ends its (one-shot, non-resumable) turn to "wait
|
|
10596
|
+
# for a notification" that never arrives. The result was a #2244
|
|
10597
|
+
# no-verdict park with no `SMOKE:` marker ever written (quadraui#1616)
|
|
10598
|
+
# — exactly the failure mode `run_plain_runner_command`'s own
|
|
10599
|
+
# `subprocess.run(..., timeout=...)` call cannot have, since it never
|
|
10600
|
+
# runs inside a Claude Code tool call at all. This also closes the
|
|
10601
|
+
# #2085 split-brain with `coord.notify._is_plain_runner_leg`, which
|
|
10602
|
+
# already classified every leg here as plain-runner (`plain_runner`
|
|
10603
|
+
# rides the wire unconditionally True, per `coord.smoke.
|
|
10604
|
+
# _walk_candidates_and_dispatch`'s docstring) — that classification
|
|
10605
|
+
# now matches how the leg actually executes, for every leg, with no
|
|
10606
|
+
# change needed on the `coord.notify` side.
|
|
10607
|
+
if spec.type == "smoke" and spec.plain_runner and spec.smoke_command:
|
|
10509
10608
|
self._run_plain_runner_smoke(assignment, repo_path)
|
|
10510
10609
|
return
|
|
10511
10610
|
|
|
@@ -263,6 +263,14 @@ class ClaudeProvider(Provider):
|
|
|
263
263
|
# backgrounded long-running command. #2301: this grant is for
|
|
264
264
|
# work-shaped legs only — smoke has its own branch above.
|
|
265
265
|
_at = "Read,Edit,Write,Bash,Monitor"
|
|
266
|
+
# #3730: keep in sync with default_worker_command's identical
|
|
267
|
+
# `if spec.workflow:` branch — being absent from
|
|
268
|
+
# --disallowedTools is not enough to actually use Workflow/
|
|
269
|
+
# Task; its per-invocation confirmation dialog auto-denies
|
|
270
|
+
# with no TTY unless pre-approved via --allowedTools, the
|
|
271
|
+
# same mechanism `Bash` already relies on above.
|
|
272
|
+
if spec.workflow:
|
|
273
|
+
_at += ",Workflow,Task"
|
|
266
274
|
# #3672: keep in sync with default_worker_command's identical
|
|
267
275
|
# branch — force earlier auto-compaction for work-shaped legs.
|
|
268
276
|
# #3697: fix/conflict-fix legs carry the review findings as
|
|
@@ -2775,8 +2775,13 @@ def _walk_candidates_and_dispatch(
|
|
|
2775
2775
|
session) instead of the briefing-driven chat the SMOKE_SYSTEM_PROMPT
|
|
2776
2776
|
above describes. `plain_runner` is unconditionally `True` on every
|
|
2777
2777
|
dispatch this function makes — #3673's "make the Test stage a plain
|
|
2778
|
-
runner by default" policy
|
|
2779
|
-
|
|
2778
|
+
runner by default" policy. `smoke_needs_judgement` still rides along
|
|
2779
|
+
(GUI/real-host-driver specs, :func:`smoke_needs_judgement`) and is still
|
|
2780
|
+
read by this module's own dispatch bookkeeping, but #3736 removed its
|
|
2781
|
+
use in `_spawn` as a second gate: every `plain_runner` leg takes the
|
|
2782
|
+
subprocess path regardless, since `SMOKE_SYSTEM_PROMPT`'s chat path has
|
|
2783
|
+
no judgement logic of its own beyond polling the same command's exit
|
|
2784
|
+
code, and loses the Bash tool's 600s ceiling for nothing in return. The
|
|
2780
2785
|
briefing text is sent either way so a plain-runner-ineligible agent (one
|
|
2781
2786
|
whose `default_worker_command` predates #3673, or any OTHER assignment
|
|
2782
2787
|
type reusing this wire shape) still gets a fully-formed `claude -p`
|
|
@@ -29,6 +29,7 @@ from coord.agent import (
|
|
|
29
29
|
_workflow_leg_system_prompt_suffix,
|
|
30
30
|
_PTY_RESULT_LINE_MARKER,
|
|
31
31
|
_RESULT_LINE_MARKER,
|
|
32
|
+
default_worker_command,
|
|
32
33
|
format_host_sleep_reason,
|
|
33
34
|
format_runtime_ceiling_reason,
|
|
34
35
|
is_host_sleep_reason,
|
|
@@ -561,6 +562,29 @@ def test_disallowed_tools_un_disallows_workflow_and_task_only_for_opted_in_leg()
|
|
|
561
562
|
assert pattern in not_opted_in
|
|
562
563
|
|
|
563
564
|
|
|
565
|
+
# ── workflow opt-in: --allowedTools (#3730) ──────────────────────────────────
|
|
566
|
+
|
|
567
|
+
|
|
568
|
+
def test_allowed_tools_grants_workflow_and_task_only_for_opted_in_leg() -> None:
|
|
569
|
+
"""#3730 item 2: merely absent from --disallowedTools is not enough to
|
|
570
|
+
actually use Workflow — its own per-invocation confirmation dialog
|
|
571
|
+
auto-denies with no TTY unless pre-approved via --allowedTools (the same
|
|
572
|
+
mechanism `Bash` already relies on in this list). A workflow leg's argv
|
|
573
|
+
must explicitly grant `Workflow`/`Task`; a non-opted-in leg must not."""
|
|
574
|
+
opted_in = default_worker_command(_make_spec(workflow=True))
|
|
575
|
+
not_opted_in = default_worker_command(_make_spec(workflow=False))
|
|
576
|
+
|
|
577
|
+
opted_in_allowed = opted_in[opted_in.index("--allowedTools") + 1].split(",")
|
|
578
|
+
not_opted_in_allowed = not_opted_in[
|
|
579
|
+
not_opted_in.index("--allowedTools") + 1
|
|
580
|
+
].split(",")
|
|
581
|
+
|
|
582
|
+
assert "Workflow" in opted_in_allowed
|
|
583
|
+
assert "Task" in opted_in_allowed
|
|
584
|
+
assert "Workflow" not in not_opted_in_allowed
|
|
585
|
+
assert "Task" not in not_opted_in_allowed
|
|
586
|
+
|
|
587
|
+
|
|
564
588
|
# ── in-workflow review system prompt (#3681 item 5) ──────────────────────────
|
|
565
589
|
|
|
566
590
|
def test_workflow_system_prompt_suffix_embeds_the_real_reviewer_prompt_verbatim() -> None:
|
|
@@ -579,6 +603,32 @@ def test_workflow_system_prompt_suffix_embeds_the_real_reviewer_prompt_verbatim(
|
|
|
579
603
|
assert suffix[start : start + len(REVIEWER_SYSTEM_PROMPT)] == REVIEWER_SYSTEM_PROMPT
|
|
580
604
|
|
|
581
605
|
|
|
606
|
+
def test_workflow_system_prompt_suffix_tells_worker_not_to_nest_worktree_isolation() -> None:
|
|
607
|
+
"""#3730 item 3: the leg already runs inside its own dedicated worktree;
|
|
608
|
+
a workflow subagent must not additionally request `isolation:
|
|
609
|
+
"worktree"`/`"remote"`, which would nest a second worktree inside it."""
|
|
610
|
+
suffix = _workflow_leg_system_prompt_suffix()
|
|
611
|
+
assert 'isolation: "worktree"' in suffix
|
|
612
|
+
assert 'isolation: "remote"' in suffix
|
|
613
|
+
|
|
614
|
+
|
|
615
|
+
def test_workflow_system_prompt_suffix_tells_worker_to_fail_fast_on_denial() -> None:
|
|
616
|
+
"""#3730 item 4: a denied Workflow invocation must not be retried — a
|
|
617
|
+
real leg thrashed into the fleet's rapid-refill cost breaker doing
|
|
618
|
+
exactly that — the worker must fall back to a direct, non-workflow
|
|
619
|
+
completion of the assignment instead."""
|
|
620
|
+
suffix = _workflow_leg_system_prompt_suffix()
|
|
621
|
+
assert "do NOT retry it" in suffix
|
|
622
|
+
assert "fall back to completing this assignment directly" in suffix
|
|
623
|
+
|
|
624
|
+
|
|
625
|
+
def test_workflow_system_prompt_suffix_tells_worker_to_keep_workflow_small() -> None:
|
|
626
|
+
"""#3730 item 5: guide the worker toward a small/bounded workflow rather
|
|
627
|
+
than shipping an unverified workflow-size settings flag."""
|
|
628
|
+
suffix = _workflow_leg_system_prompt_suffix()
|
|
629
|
+
assert "Keep it small" in suffix
|
|
630
|
+
|
|
631
|
+
|
|
582
632
|
# ── _log_has_output ──────────────────────────────────────────────────────────
|
|
583
633
|
|
|
584
634
|
def test_log_has_output_false_for_header_only(tmp_path: Path) -> None:
|
|
@@ -10,8 +10,9 @@ no real `claude -p`. The end-to-end tests drive the real
|
|
|
10
10
|
:class:`coord.agent.AgentServer` (reusing the ``_server``/``_spec``/
|
|
11
11
|
``_init_repo`` fixtures from :mod:`tests.test_agent`) through
|
|
12
12
|
``server.assign(...)`` and confirm no `claude` binary is ever invoked for a
|
|
13
|
-
plain-runner leg's verdict
|
|
14
|
-
|
|
13
|
+
plain-runner leg's verdict — including a judgement-needing leg (#3736:
|
|
14
|
+
`smoke_needs_judgement` no longer routes a `plain_runner` leg to the
|
|
15
|
+
ordinary `claude -p` chat path; see `coord.agent.AgentServer._spawn`).
|
|
15
16
|
"""
|
|
16
17
|
|
|
17
18
|
from __future__ import annotations
|
|
@@ -20,8 +21,10 @@ import subprocess
|
|
|
20
21
|
import sys
|
|
21
22
|
from pathlib import Path
|
|
22
23
|
|
|
24
|
+
import coord.agent as agent_mod
|
|
23
25
|
from coord.agent import (
|
|
24
26
|
DONE,
|
|
27
|
+
FAILED,
|
|
25
28
|
AssignmentSpec,
|
|
26
29
|
PlainRunnerVerdict,
|
|
27
30
|
execute_plain_runner_smoke,
|
|
@@ -290,12 +293,15 @@ def test_agent_plain_runner_leg_failure_spawns_a_claude_summariser(
|
|
|
290
293
|
server.shutdown()
|
|
291
294
|
|
|
292
295
|
|
|
293
|
-
def
|
|
296
|
+
def test_agent_smoke_needing_judgement_also_takes_the_plain_runner_path(
|
|
294
297
|
tmp_path: Path,
|
|
295
298
|
) -> None:
|
|
296
|
-
"""``smoke_needs_judgement=True``
|
|
297
|
-
|
|
298
|
-
|
|
299
|
+
"""#3736: ``smoke_needs_judgement=True`` no longer opts a ``plain_runner``
|
|
300
|
+
leg out of the subprocess path — the ordinary `claude -p` chat session
|
|
301
|
+
(`SMOKE_SYSTEM_PROMPT`) has no judgement logic beyond polling the same
|
|
302
|
+
command's exit code, and is bounded by the Bash tool's 600s ceiling that
|
|
303
|
+
this fix exists to route around. The leg must get a `SMOKE:` verdict
|
|
304
|
+
from the subprocess, with no `claude` binary ever invoked."""
|
|
299
305
|
repo = _init_repo(tmp_path / "repo")
|
|
300
306
|
server = _server(
|
|
301
307
|
tmp_path, repo_path=repo,
|
|
@@ -308,7 +314,75 @@ def test_agent_smoke_needing_judgement_falls_through_to_the_claude_path(
|
|
|
308
314
|
a = server.assign(spec)
|
|
309
315
|
final = server.wait_for(a.id, timeout=10)
|
|
310
316
|
|
|
317
|
+
assert final.status == DONE
|
|
318
|
+
assert final.exit_code == 0
|
|
311
319
|
log = Path(final.log_path).read_text()
|
|
312
|
-
assert "
|
|
313
|
-
assert "plain-runner (#3673)"
|
|
320
|
+
assert "SMOKE: pass" in log
|
|
321
|
+
assert "plain-runner (#3673)" in log
|
|
322
|
+
assert "claude-path-ran" not in log
|
|
323
|
+
server.shutdown()
|
|
324
|
+
|
|
325
|
+
|
|
326
|
+
def test_agent_plain_runner_smoke_exceeding_the_bash_tool_ceiling_still_verdicts(
|
|
327
|
+
tmp_path: Path,
|
|
328
|
+
) -> None:
|
|
329
|
+
"""#3736: a smoke command that would run well past the Bash tool's 600s
|
|
330
|
+
ceiling still yields a recorded ``SMOKE:`` verdict — because it never
|
|
331
|
+
runs inside a `claude -p` turn that could background-and-abandon it. A
|
|
332
|
+
short ``smoke_timeout_s`` stands in for "exceeds the ceiling" so the
|
|
333
|
+
test itself stays fast; what matters is that the command runs to
|
|
334
|
+
completion (or is reaped by ITS OWN timeout) as a bare subprocess, with
|
|
335
|
+
no `claude` binary ever invoked and no #2244 no-verdict park."""
|
|
336
|
+
repo = _init_repo(tmp_path / "repo")
|
|
337
|
+
server = _server(
|
|
338
|
+
tmp_path, repo_path=repo,
|
|
339
|
+
argv=[sys.executable, "-c", "print('claude-path-ran')"],
|
|
340
|
+
)
|
|
341
|
+
spec = _spec(
|
|
342
|
+
repo, type="smoke", plain_runner=True, smoke_needs_judgement=True,
|
|
343
|
+
smoke_command=f"{sys.executable} -c \"import time; time.sleep(0.3)\"",
|
|
344
|
+
smoke_timeout_s=30,
|
|
345
|
+
)
|
|
346
|
+
a = server.assign(spec)
|
|
347
|
+
final = server.wait_for(a.id, timeout=10)
|
|
348
|
+
|
|
349
|
+
assert final.status == DONE
|
|
350
|
+
assert final.exit_code == 0
|
|
351
|
+
log = Path(final.log_path).read_text()
|
|
352
|
+
assert "SMOKE: pass" in log
|
|
353
|
+
assert "claude-path-ran" not in log
|
|
354
|
+
server.shutdown()
|
|
355
|
+
|
|
356
|
+
|
|
357
|
+
def test_agent_plain_runner_smoke_crash_still_writes_a_smoke_marker(
|
|
358
|
+
tmp_path: Path, monkeypatch,
|
|
359
|
+
) -> None:
|
|
360
|
+
"""#3736: if :func:`execute_plain_runner_smoke` itself raises (not a
|
|
361
|
+
smoke-command failure — an infra crash in the executor), the leg must
|
|
362
|
+
still get a parseable ``SMOKE: fail`` line in its log, not just a FAILED
|
|
363
|
+
status with nothing for `coord.progress.parse_smoke_verdict_from_log` to
|
|
364
|
+
find — the same #2244 no-verdict park this whole fix targets, reachable
|
|
365
|
+
from a second angle."""
|
|
366
|
+
repo = _init_repo(tmp_path / "repo")
|
|
367
|
+
server = _server(
|
|
368
|
+
tmp_path, repo_path=repo,
|
|
369
|
+
argv=[sys.executable, "-c", "print('claude-path-ran')"],
|
|
370
|
+
)
|
|
371
|
+
|
|
372
|
+
def fake_execute(*args, **kwargs):
|
|
373
|
+
raise RuntimeError("boom")
|
|
374
|
+
|
|
375
|
+
monkeypatch.setattr(agent_mod, "execute_plain_runner_smoke", fake_execute)
|
|
376
|
+
|
|
377
|
+
spec = _spec(
|
|
378
|
+
repo, type="smoke", plain_runner=True, smoke_command="exit 0",
|
|
379
|
+
)
|
|
380
|
+
a = server.assign(spec)
|
|
381
|
+
final = server.wait_for(a.id, timeout=10)
|
|
382
|
+
|
|
383
|
+
assert final.status == FAILED
|
|
384
|
+
log = Path(final.log_path).read_text()
|
|
385
|
+
assert "SMOKE: fail" in log
|
|
386
|
+
assert "boom" in log
|
|
387
|
+
assert "claude-path-ran" not in log
|
|
314
388
|
server.shutdown()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_coordinator-0.5.654 → code_coordinator-0.5.656}/code_coordinator.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{code_coordinator-0.5.654 → code_coordinator-0.5.656}/code_coordinator.egg-info/entry_points.txt
RENAMED
|
File without changes
|
{code_coordinator-0.5.654 → code_coordinator-0.5.656}/code_coordinator.egg-info/requires.txt
RENAMED
|
File without changes
|
{code_coordinator-0.5.654 → code_coordinator-0.5.656}/code_coordinator.egg-info/scm_file_list.json
RENAMED
|
File without changes
|
{code_coordinator-0.5.654 → code_coordinator-0.5.656}/code_coordinator.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|