code-coordinator 0.5.327__tar.gz → 0.5.328__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.327 → code_coordinator-0.5.328}/PKG-INFO +1 -1
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/code_coordinator.egg-info/PKG-INFO +1 -1
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/code_coordinator.egg-info/scm_version.json +2 -2
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/agent.py +30 -8
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/commands/portal.py +6 -3
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/decomposition_chat.py +220 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_decomposition_chat.py +453 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/.claude/commands/board.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/.claude/commands/complete-session.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/.claude/commands/coordinator.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/.githooks/_lib.sh +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/.githooks/post-checkout +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/.githooks/post-commit +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/.githooks/post-merge +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/.github/coord-ci-acceptance.yml +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/.github/workflows/auto-release.yml +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/.github/workflows/publish.yml +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/.github/workflows/test.yml +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/.gitignore +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/CLAUDE.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/GOAL.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/LICENSE +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/MANIFEST.in +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/README.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/code_coordinator.egg-info/SOURCES.txt +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/code_coordinator.egg-info/dependency_links.txt +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/code_coordinator.egg-info/entry_points.txt +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/code_coordinator.egg-info/requires.txt +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/code_coordinator.egg-info/scm_file_list.json +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/code_coordinator.egg-info/top_level.txt +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/__init__.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/_board_mapping.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/acceptance.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/acceptance_drivers.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/agent_app.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/agent_update.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/agents/opencode/.gitignore +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/agents/opencode/agents/work.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/agents/opencode/routing.jsonc +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/approved_work.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/audit.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/auto_loop.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/block_log.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/board_schema.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/board_service.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/board_wire.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/brain.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/branch_model.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/bug_intake.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/cargo_cache.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/ci_fix.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/ci_github.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/ci_gitlab.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/ci_store.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/claim.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/cli.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/client.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/commands/__init__.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/commands/_common.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/commands/acceptance.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/commands/agent_ops.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/commands/audit.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/commands/chat.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/commands/dispatch.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/commands/dispatch_workers.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/commands/drive.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/commands/drive_queue.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/commands/gate_a.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/commands/gates.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/commands/issues.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/commands/lifecycle.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/commands/machine.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/commands/merge.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/commands/milestone.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/commands/plan_followup.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/commands/plans.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/commands/pr.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/commands/release.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/commands/repo.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/commands/report.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/commands/review.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/commands/scorecard.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/commands/sessions.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/commands/setup.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/commands/status.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/commands/store_migrate.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/commands/terminal.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/commands/test_gate.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/commands/tui.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/comments.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/config.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/config_reload.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/confirm_test.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/conflict_fix.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/dao.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/dashboard/__init__.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/dashboard/fixture.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/dashboard/index.html +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/dashboard/server.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/dashboard/terminal.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/db.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/dead_end.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/deploy/README.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/deploy/coord-agent.service +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/deploy/coord-db-backup.service +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/deploy/coord-db-backup.sh +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/deploy/coord-db-backup.timer +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/deploy/coord-drive-queue.service +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/deploy/coord-drive-queue.timer +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/deploy/coord-failure-notify.service +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/deploy/coord-fleet-watchdog.service +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/deploy/coord-fleet-watchdog.timer +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/deploy/coord-notify.service +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/deploy/coord-notify.timer +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/deploy/coord-release-propagate.service +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/deploy/coord-release-propagate.timer +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/deploy/coord-release-window.service +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/deploy/coord-release-window.timer +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/deploy/coord-serve.service +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/deploy/coord-web-dist-build.service +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/deploy/coord-web-dist-build.timer +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/deploy/coord-web.service +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/deploy_manifest.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/deploy_units.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/deprecation_telemetry.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/deps.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/diagnose.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/dispatch.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/dist_name.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/drive.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/drive_queue.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/drive_state.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/events.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/failure_class.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/filelock.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/fleet_config_health.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/forge_availability.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/freshness.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/gate_a.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/gate_b.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/gate_snapshot.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/gates.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/github_ops.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/github_throttle.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/goal.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/graph_health.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/__init__.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/aggregate.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/checks/__init__.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/checks/_ci_pin.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/checks/agent_install.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/checks/cargo_targets.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/checks/claude_binary.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/checks/coord_tui_ci_pin.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/checks/coord_web_ci_pin.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/checks/deploy_lane_facts.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/checks/disk.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/checks/fleet_board.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/checks/fleet_deploy_lanes.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/checks/fleet_phantom.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/checks/fleet_unit_drift.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/checks/graph.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/checks/graphify_cli.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/checks/index_lock.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/checks/issues_sync_staleness.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/checks/plan_usage.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/checks/release_cordon.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/checks/repo_state.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/checks/spawned_coord.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/checks/stalled_pipeline.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/checks/timer_active.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/checks/toolchain.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/checks/unit_drift.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/checks/unit_enablement.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/checks/wedged_drive_queue.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/checks/worktrees.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/cli.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/context.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/fleet_snapshot.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/models.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/pypi.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/registry.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/render.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/health/units.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/hooks.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/housekeeping.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/interactive.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/issue_store.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/issues_sync_status.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/liveness_auditor.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/machine_onboard.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/machine_pause.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/merge_queue.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/milestone_chat.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/milestone_dispatch.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/milestone_gate.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/milestone_order.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/mock_author.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/models.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/network.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/new_issue_chat.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/notifier/__init__.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/notifier/baseline.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/notifier/cli.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/notifier/collect.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/notifier/digest.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/notifier/models.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/notifier/predicate.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/notifier/service.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/notifier/store.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/notifier/transport.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/notify.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/openapi.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/overlap_fence.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/overlap_predict.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/parentage.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/parentage_github.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/pipeline.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/plan_parser.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/plans.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/platform_paths.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/portal_bridge.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/portal_store.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/portal_sync.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/pr_body_lint.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/prereqs.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/progress.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/providers/__init__.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/providers/base.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/providers/claude.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/providers/claude_pty.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/providers/opencode.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/queue_diagnose.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/reconcile.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/reconcile_tick.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/refine_chat.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/release_cordon.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/release_propagate.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/release_verify.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/release_window.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/repo_dormancy.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/repo_edit.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/repo_onboard.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/reports.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/rest_schema.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/revalidate.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/review.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/scorecard.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/self_health.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/serve_app.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/skills/coord-dispatch-verbs/SKILL.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/skills/drive-queue-preflight/SKILL.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/skills/fleet-restart-safety/SKILL.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/skills/merge-stuck-triage/SKILL.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/skills/pipeline-limbo-triage/SKILL.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/skills/portal-followup/SKILL.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/skills/release-now/SKILL.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/skills/review-verdict-recovery/SKILL.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/skills/tui-quadraui-workflow/SKILL.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/skills/update-issue/SKILL.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/smoke.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/spend_ceiling.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/split_work.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/sql.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/stage_projection.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/state.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/store_migrate.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/test_author.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/test_chat.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/test_orchestrator.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/test_report.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/tui_release.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/usage.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/usage_limits.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/usage_rollup.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coord/worker_events.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/coordinator.example.yml +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/deploy/coord-agent.service +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/deploy/coord-db-backup.service +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/deploy/coord-db-backup.sh +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/deploy/coord-db-backup.timer +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/deploy/coord-drive-queue.service +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/deploy/coord-drive-queue.timer +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/deploy/coord-failure-notify.service +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/deploy/coord-failure-notify.sh +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/deploy/coord-fleet-watchdog.service +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/deploy/coord-fleet-watchdog.timer +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/deploy/coord-notify.service +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/deploy/coord-notify.timer +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/deploy/coord-release-propagate.service +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/deploy/coord-release-propagate.timer +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/deploy/coord-release-window.service +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/deploy/coord-release-window.timer +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/deploy/coord-serve.service +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/deploy/coord-web-dist-build.service +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/deploy/coord-web-dist-build.sh +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/deploy/coord-web-dist-build.timer +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/deploy/coord-web-rollback.sh +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/deploy/coord-web.service +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/deploy/node-shim.sh +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/ADR_COORD_TUI_CI.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/ADR_COORD_WEB_ACCEPTANCE_SUITE.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/ADR_COORD_WEB_CI.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/ADR_COORD_WEB_DIST.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/ADR_PY_RUST_MIRRORS.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/AGENT_OPERATIONS.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/ARCHITECTURE.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/ARCH_SECURITY_GATES.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/COCKPIT.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/CONTROL_CENTER.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/COST_DISCIPLINE.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/CROSS_PLATFORM.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/CUSTOMER_FACING_APPS.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/CUSTOMER_PORTAL.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/DRIVE_QUEUE.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/EPHEMERAL_WORKERS.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/FORGE_MIGRATION.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/GRAPHIFY_SETUP.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/ISSUE_GUIDANCE.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/MAC_MINI.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/MERGE_AUTO_DRAIN_TRUST_BAR.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/NOTIFIER.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/OPENCODE_VERIFICATION.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/OPERATING_GOTCHAS.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/OPERATOR_GUIDES.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/ORACLE_LOOP.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/PHONE_WEBAPP.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/PIPELINE_V2.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/PLATFORM_EVOLUTION.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/SECOND_BACKEND.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/STORE_SERVICE.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/TEST_FIRST_BUG_LANE.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/WEB_CONTROL_CENTER.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/WSL_WINDOWS_WORKER.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/mocks/web/README.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/mocks/web/_tokens.css +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/mocks/web/issue-detail.html +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/mocks/web/pipeline-narrow.html +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/docs/mocks/web/pipeline-wide.html +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/graphify-out/.gitignore +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/install-agent.sh +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/pyproject.toml +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/scripts/audit_review_verdict_overrides.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/scripts/azure-workers/bootstrap-shared.sh +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/scripts/azure-workers/build-worker-image.sh +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/scripts/azure-workers/coordinator-machine.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/scripts/azure-workers/epic-down.sh +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/scripts/azure-workers/epic-up.sh +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/scripts/azure-workers/preflight.sh +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/scripts/azure-workers/provision-worker.sh +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/scripts/azure-workers/scrub-and-generalize.sh +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/scripts/azure-workers/tailnet-acl.hujson +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/scripts/azure-workers/verify-github-token.sh +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/scripts/check_gh_argv_containment.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/scripts/codegen.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/scripts/coord-test-runner.sh +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/scripts/coord-tui-scaffold/.github/coord-ci-acceptance.yml +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/scripts/coord-tui-scaffold/.github/workflows/cargo-test.yml +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/scripts/coord-tui-scaffold/.github/workflows/codegen-drift.yml +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/scripts/coord-tui-scaffold/CLAUDE.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/scripts/coord-venv-rollback.sh +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/scripts/drive-batch.sh +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/scripts/extract-coord-tui.sh +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/scripts/fleet_watchdog.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/scripts/gen_board_fixture.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/scripts/gen_mock_index.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/scripts/next_release_tag.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/scripts/run_tests_in_populated_home.sh +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/scripts/run_tests_without_gh.sh +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/scripts/smoke_437_interactive.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/scripts/verify_878_review_capture.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/scripts/verify_release_published.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/scripts/verify_release_wheel.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/setup.cfg +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/SMOKE_SET.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/__init__.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/acceptance/ms-37/conftest.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/acceptance/ms-37/contract.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/acceptance/ms-37/manifest.yml +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/acceptance/ms-37/test_usage_cli_1115.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/acceptance/ms-37/test_usage_core_1118.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/acceptance/ms-51/contract.md +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/acceptance/ms-51/home-active-extended.spec.ts +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/acceptance/ms-51/home-active.spec.ts +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/acceptance/ms-51/manifest.yml +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/acceptance/ms-51/mocks/home-active.html +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/acceptance/ms-51/tsconfig.json +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/acceptance/ms-example/mocks/home-active.html +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/backends.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/conftest.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/fixtures/board-pipeline-basic.json +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/fixtures/board-pipeline-terminal-gates.json +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/fixtures/opencode_run_failure_sample.jsonl +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/fixtures/opencode_run_length_sample.jsonl +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/fixtures/opencode_run_sample.jsonl +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/fixtures/playwright/all_pass.json +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/fixtures/playwright/global_setup_crash.json +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/fixtures/playwright/mixed_fail.json +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/fixtures/playwright/retry_then_pass.json +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/fixtures/playwright/retry_then_pass.junit.xml +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/fixtures/playwright/skip.json +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/fixtures/playwright/truncated.json +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/fixtures/test_report/cargo_compile_error.txt +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/fixtures/test_report/cargo_multi_target_failures.txt +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/fixtures/test_report/cargo_no_parseable_failures.txt +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/fixtures/test_report/pytest_collection_error.txt +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/fixtures/test_report/pytest_error_string_in_body.txt +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/fixtures/test_report/pytest_internal_error.txt +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/fixtures/test_report/pytest_mixed_failures.txt +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/fixtures/test_report/pytest_no_parseable_failures.txt +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_acceptance.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_acceptance_drivers.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_agent.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_agent_api_error.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_agent_app.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_agent_branch_base.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_agent_branch_capture.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_agent_config_free_1712.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_agent_deploy_units_endpoint.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_agent_dirty_worktree.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_agent_drive_queue_reconcile_2373.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_agent_graph_self_heal.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_agent_health_h3.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_agent_idle_restart.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_agent_push_failure.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_agent_reap.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_agent_repos_and_pull.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_agent_restart_services_endpoint.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_agent_skills_self_heal.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_agent_startup_diagnostics.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_agent_update.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_agent_update_bluegreen.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_agent_usage_limit.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_agent_zero_commit.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_ambient_home_isolation.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_approve_dependency_busy_2804.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_approve_reject_plan.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_approve_usage_gate.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_approved_work_2532.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_approved_work_2996.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_assignment_already_recorded_daemon.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_audit_log.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_audit_outcome.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_audit_query.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_auto_loop.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_auto_release_publish_2035.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_backend_selection.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_base_checkout_restore.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_block_log.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_board_cap_762.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_board_fixture.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_board_read_path.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_board_schema.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_board_service.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_board_state.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_board_wire.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_brain.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_branch_model.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_bug_intake.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_build_worker_image_env_update.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cargo_cache.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_check_gh_argv_containment.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_ci_acceptance_gate_1950.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_ci_fix.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_ci_gitlab.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_ci_parity_2091.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_ci_store.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_claim.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_claude_md_budget.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_acceptance.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_assign.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_assign_interactive_oracle_gate.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_assign_interactive_remote.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_assign_provider.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_assign_repo_drift_2219.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_audit.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_chat_continue.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_decide.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_diagnose_capability_rules.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_diagnose_config_provenance.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_diagnose_forge_availability.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_diagnose_graph.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_diagnose_self.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_diagnose_test_coverage.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_doctor.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_doctor_config_free_1801.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_doctor_config_mismatch_1712.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_drive.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_drive_queue.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_escalate.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_fix_headless_review.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_gate_a.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_install_drift.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_install_skills.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_issue_comment.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_issue_create_label.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_issue_reopen.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_issue_view_list.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_merge.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_milestone_assign.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_milestone_capture.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_milestone_chat_add_child.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_milestone_dispatch.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_milestone_gate_b.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_milestone_gate_c.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_milestone_order.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_milestone_remove_and_issue_close.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_milestone_ship.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_network.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_new_issue_chat.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_plans.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_portal.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_pr.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_pull_artifact.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_queue.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_reattach_sessions.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_refine_board.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_release_preflight.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_release_propagate.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_release_window.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_repo_2220.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_review_test_author_tracking_epic_2639.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_scorecard.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_set_review_findings.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_status_advisory_terminal.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_status_contested_tag.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_status_merge_queue.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_status_provider.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_status_review_finalizing.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_status_test_failed_tag.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_status_usage_limit.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_sync_comments_873.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_test_plan.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_track.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_tui_update.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cli_wait.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_client_base_install.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_client_resource_migration_1946.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_commands_common.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_comments.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_completion_summary.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_config.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_config_acceptance.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_config_audit.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_config_pricing.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_config_snapshot_noncanonical_2208.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_config_usage_gate.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_confirm_test.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_conflict_fix.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_conflict_fix_semantic.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_coord_log_daemon_fallback_2547.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_coord_test.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_coord_test_runner_acceptance_toolchain_2936.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_coord_test_runner_baseline.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_coord_test_runner_populated_home.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_coord_test_runner_routing.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_coord_test_runner_toolchain.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_coord_uat.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_coord_web_sse_restart_live.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_coordinator_machine.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_cross_platform_imports.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_dao.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_dashboard.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_dashboard_api.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_dashboard_fixture.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_dashboard_terminal.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_dashboard_terminal_live.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_db.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_dead_end.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_deploy_coord_db_backup.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_deploy_coord_web_dist.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_deploy_coord_web_rollback.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_deploy_drive_queue_unit.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_deploy_failure_notify_unit.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_deploy_manifest.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_deploy_notify_unit.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_deploy_units_lane.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_deploy_web_unit.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_deprecation_telemetry.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_deps.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_diagnose.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_dispatch.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_dispatch_target_validation.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_dist_name.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_done_housekeeping.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_drive.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_drive_queue.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_drive_queue_blocked_rendering.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_drive_queue_launch_argv.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_drive_queue_max_parallel_per_repo_config.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_drive_queue_roll_pending.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_drive_queue_self_cordon_escalation.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_drive_state.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_drive_tmux.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_epic_up_capability_detection.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_epic_up_down_symlinked_config_1887.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_epic_up_image_provenance.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_errors.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_events.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_failure_class.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_filelock.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_finalize_interactive_exit_test_verdict.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_fix_of_force_override.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_fleet_config_health.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_fleet_health_probes.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_fleet_health_snapshot.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_fleet_watchdog.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_forge_availability.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_freshness.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_gate_a.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_gate_b.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_gate_snapshot_staleness.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_gates.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_gather_fleet_tmux_sessions.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_gen_mock_index.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_generated_rust_fixture.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_generated_rust_requests.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_generated_types_fixture.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_github_ops.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_github_throttle.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_goal.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_graph_health.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_graph_selfheal_absent_2237.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_handoff.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_health_checks.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_health_cli.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_health_cli_graph.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_health_config.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_health_context.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_health_coord_tui_ci_pin.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_health_coord_web_ci_pin.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_health_deploy_lane_facts.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_health_fix.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_health_incident_regression.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_health_issues_sync_staleness.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_health_pypi.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_health_registry.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_health_release_cordon_probe.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_health_timer_active.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_health_toolchain.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_health_unit_drift.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_health_unit_enablement.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_health_wedged_drive_queue.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_hooks.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_human_attended_437.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_init.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_install_agent_venv_2911.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_integration.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_interactive_briefing_echo.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_interactive_pane_log_2541.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_interactive_prefill_state.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_interactive_session_relaunch.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_interactive_test_verdict_backstop.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_interactive_token_attribution.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_interactive_worktree.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_issue_store_seam.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_issues_sync_status.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_liveness_auditor.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_liveness_notify.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_lock_contention_ratchet.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_machine_onboard.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_machine_pause.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_merge_queue.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_merge_verify.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_milestone_chat.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_milestone_dispatch.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_milestone_gate.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_milestone_order.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_milestone_seam.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_mock_author.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_model_tiering.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_models.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_models_config_labels.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_needs_attention.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_network.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_new_issue_chat.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_next_release_tag.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_node_shim.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_notifier_baseline.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_notifier_cli.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_notifier_collect.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_notifier_config.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_notifier_drive_seam.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_notifier_isolation.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_notifier_predicate.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_notifier_quiet_hours.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_notifier_service.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_notify.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_notify_drain.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_openapi.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_operational_defaults.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_overlap_fence.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_overlap_predict.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_packaged_deploy_units.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_parentage.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_paste_landed.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_phantom_heal_venv_independence_2570.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_pipeline.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_plan_followup_approve_plan_command.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_plan_followup_pr_command.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_plan_followup_review_command.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_plan_only.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_plan_parser.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_platform_paths.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_portal_bridge.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_portal_config.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_portal_store.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_portal_sync.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_pr_body_lint.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_prereqs.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_production_db_guard.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_progress.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_provider_seam.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_providers.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_providers_config_labels.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_providers_pty.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_py_rust_mirror_inventory.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_quiet_hours.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_quiet_hours_store_2146.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_reap_merged_sessions.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_reap_stale_interactive_tick.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_reconcile.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_reconcile_branch.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_reconcile_completions.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_reconcile_late_agent_reports_2547.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_reconcile_merges.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_reconcile_no_agent_record.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_reconcile_tick.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_reconcile_usage_limit_done.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_refine_chat.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_release_cordon_2101.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_release_cordon_daemon_leads_2176.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_release_cordon_deadlock_2240.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_release_cordon_stuck_2490.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_release_propagate.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_release_propagate_threshold.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_release_roll_between_legs_2854.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_release_roll_window_handoff.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_release_unified_1242.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_release_verify.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_release_window.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_remote_auto_prune.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_remote_interactive_reaper.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_repo_add.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_repo_dormancy.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_repo_edit_2220.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_repo_graph_fleet_2237.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_repo_onboard_2220.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_report_result_push.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_reports.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_retry.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_retry_advisory_1606.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_retry_type_1636.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_revalidate.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_review.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_review_end_review_without_verdict.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_review_parse_failure_diagnostic.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_review_reaffirm.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_review_state.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_review_verdict_backstop.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_review_verdict_override_audit.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_review_verdict_relay.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_review_zero_commits.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_scoped_review_wiring.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_scorecard.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_self_health.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_serve.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_serve_app_board_trim.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_serve_rest_routes.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_session.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_slice_issue_attribution.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_smoke.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_smoke_live_checkout_restore.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_smoke_workflow.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_spend_ceiling.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_spend_ceiling_coordinator.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_split.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_split_work.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_sql_dialect.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_sqlite_connect_ratchet.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_stage_projection.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_stale_busy_reviewer_697.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_stalled_pipeline.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_state.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_state_review_findings_daemon.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_status_fleet_footer.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_stop_1567.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_store_contract.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_store_migrate.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_stuck.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_stuck_test_state_watchdog_2803.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_terminal_command.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_test_author.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_test_chat.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_test_orchestrator.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_test_report.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_test_verdict_parsing.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_test_verdict_transcript_floor.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_text_io_encoding_audit.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_thin_client_board_audit.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_thin_client_config_load_1080.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_thin_client_daemon_routing_906.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_tmux_host.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_tmux_session.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_transcript_floor.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_usage.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_usage_limits.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_usage_rollup.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_venv_live_install_2121.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_version_single_source.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_watch.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_windows_job_is_a_real_gate_2000.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_worker_env_venv_isolation.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_worker_events.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_worker_image_pin_sync.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_worker_safety.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_worker_test_scoping.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_worktree.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_worktree_rmtree_chokepoint.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/test_write_parity.py +0 -0
- {code_coordinator-0.5.327 → code_coordinator-0.5.328}/tests/write_parity.py +0 -0
|
@@ -4027,14 +4027,36 @@ response (a session that silently chose to file instead of asking is \
|
|
|
4027
4027
|
exactly the failure this design exists to prevent); the submission's \
|
|
4028
4028
|
OUTCOME, AUDIENCE, DONE DEFINITION, and CONSTRAINTS; its mapped repo(s); \
|
|
4029
4029
|
`coordinator.yml` topology context for those repo(s) (depends_on, which \
|
|
4030
|
-
machines claim each repo);
|
|
4031
|
-
|
|
4032
|
-
|
|
4033
|
-
|
|
4034
|
-
|
|
4035
|
-
answered
|
|
4036
|
-
|
|
4037
|
-
|
|
4030
|
+
machines claim each repo); a HOUSE STACK section (#2997) naming what the \
|
|
4031
|
+
REST of this org's registered repos already run and deploy on, which \
|
|
4032
|
+
managed services are already in use and already paid for, and any coord \
|
|
4033
|
+
gate that assumes a particular host; and a RUNNING CONTEXT section \
|
|
4034
|
+
rendering the submission's full ledger so far — every question asked and \
|
|
4035
|
+
(if answered) its answer, every decision on record (current and archived, \
|
|
4036
|
+
archived ones carrying WHY they were ruled out), and the current \
|
|
4037
|
+
narrative. Read RUNNING CONTEXT before doing anything else: never re-ask a \
|
|
4038
|
+
question already answered there, and never re-propose a decision already \
|
|
4039
|
+
archived there without new information that changes the calculus — cite \
|
|
4040
|
+
the existing entry's seq/reason if the operator or a re-briefed fact \
|
|
4041
|
+
brings it up again.
|
|
4042
|
+
|
|
4043
|
+
**HOUSE STACK is context, not a mandate** — you may still propose \
|
|
4044
|
+
something outside it when it genuinely fits better (a greenfield repo is \
|
|
4045
|
+
not required to inherit the fleet's stack). But you may never propose a \
|
|
4046
|
+
stack/architecture/hosting/vendor decision in SILENCE about it: if HOUSE \
|
|
4047
|
+
STACK names a service that's a plausible fit and you're proposing \
|
|
4048
|
+
something else, you MUST record the house-stack option itself as a \
|
|
4049
|
+
considered-and-rejected alternative (`coord portal decision propose` \
|
|
4050
|
+
naming it, then `coord portal decision reject ... "<why it loses>"`) in \
|
|
4051
|
+
the SAME iteration you propose your own recommendation — the same \
|
|
4052
|
+
"record every alternative you seriously considered and ruled OUT" rule the \
|
|
4053
|
+
PROPOSE terminal move already requires below applies to the house stack \
|
|
4054
|
+
first, not last. The failure this closes (#2997, SUB-1EA1D3) was a session \
|
|
4055
|
+
proposing a brand-new vendor for a greenfield repo with FOUR rejected \
|
|
4056
|
+
alternatives on record and Cloudflare — the stack the rest of the org \
|
|
4057
|
+
already runs and pays for — never mentioned in any of them. Silence, not \
|
|
4058
|
+
disagreement, was the bug; a reasoned rejection is a completely fine \
|
|
4059
|
+
outcome.
|
|
4038
4060
|
|
|
4039
4061
|
You can always re-fetch the live ledger mid-session with:
|
|
4040
4062
|
|
|
@@ -731,6 +731,7 @@ def _run_decompose_chat_interactive(
|
|
|
731
731
|
build_decomposition_chat_briefing,
|
|
732
732
|
describe_unapproved_submission,
|
|
733
733
|
fetch_running_context,
|
|
734
|
+
house_stack_context,
|
|
734
735
|
render_running_context_section,
|
|
735
736
|
repo_topology_context,
|
|
736
737
|
resolve_approved_submission,
|
|
@@ -794,6 +795,7 @@ def _run_decompose_chat_interactive(
|
|
|
794
795
|
# that the Ask move would "refuse loudly" — no longer true.
|
|
795
796
|
|
|
796
797
|
topology_context = repo_topology_context(cfg, repos)
|
|
798
|
+
house_stack = house_stack_context(cfg, exclude_repos=repos)
|
|
797
799
|
discuss_mode, discuss_reason = select_discuss_mode(cfg, submission, discuss_override=discuss)
|
|
798
800
|
running_context = render_running_context_section(fetch_running_context(submission_id))
|
|
799
801
|
briefing = build_decomposition_chat_briefing(
|
|
@@ -802,6 +804,7 @@ def _run_decompose_chat_interactive(
|
|
|
802
804
|
discuss=discuss_mode,
|
|
803
805
|
discuss_reason=discuss_reason,
|
|
804
806
|
running_context_section=running_context,
|
|
807
|
+
house_stack_context_section=house_stack,
|
|
805
808
|
)
|
|
806
809
|
|
|
807
810
|
repo_path = str(_Path(machine.repo_path(repos[0]) or str(_Path.cwd())).expanduser())
|
|
@@ -819,9 +822,9 @@ def _run_decompose_chat_interactive(
|
|
|
819
822
|
seed_prompt = (
|
|
820
823
|
f"Intake session for portal submission {submission_id} "
|
|
821
824
|
f"(MODE: {mode_word} — {discuss_reason}): read the full context at "
|
|
822
|
-
f"{brief_path} (submission fields, repo topology,
|
|
823
|
-
"context ledger so far) and let's work through it.
|
|
824
|
-
"ATTENDED session: state your read and your PROPOSED exit, then stop "
|
|
825
|
+
f"{brief_path} (submission fields, repo topology, the house stack, "
|
|
826
|
+
"and the running-context ledger so far) and let's work through it. "
|
|
827
|
+
"This is an ATTENDED session: state your read and your PROPOSED exit, then stop "
|
|
825
828
|
"and wait for me — write nothing until I answer (#2867)."
|
|
826
829
|
)
|
|
827
830
|
|
|
@@ -409,6 +409,209 @@ def pick_decomposition_chat_machine(cfg: "Config", repos: list[str]) -> "Machine
|
|
|
409
409
|
return None
|
|
410
410
|
|
|
411
411
|
|
|
412
|
+
# ── #2997: HOUSE STACK — the fleet's existing stack, not just this
|
|
413
|
+
# submission's mapped repo(s). See the module briefing (SUB-1EA1D3, the
|
|
414
|
+
# grocery-list submission) for why this section exists: a MODE: DISCUSS
|
|
415
|
+
# iteration proposed Vite+React+Supabase for a greenfield repo without ever
|
|
416
|
+
# weighing Cloudflare — the stack every other repo in this org already runs
|
|
417
|
+
# and pays for — because nothing in the briefing carried it. This section is
|
|
418
|
+
# CONTEXT, not a mandate (the design sketch's own framing): a session may
|
|
419
|
+
# still propose something else, but the system prompt (coord/agent.py) is
|
|
420
|
+
# what requires it to then record the house alternative as a
|
|
421
|
+
# considered-and-rejected decision rather than staying silent about it.
|
|
422
|
+
|
|
423
|
+
#: Root-level marker file -> the stack signal its mere presence implies.
|
|
424
|
+
#: Deliberately mechanical and small, same posture as `_SEEDED_ROOT_FILES`
|
|
425
|
+
#: above: cheap to check, cheap to extend, wrong at worst by omission (a
|
|
426
|
+
#: repo using something unlisted here just contributes nothing) never by a
|
|
427
|
+
#: false positive.
|
|
428
|
+
_ROOT_STACK_MARKERS: dict[str, str] = {
|
|
429
|
+
"wrangler.toml": "Cloudflare Workers/Pages (wrangler.toml)",
|
|
430
|
+
"Cargo.toml": "Rust (Cargo.toml)",
|
|
431
|
+
"package.json": "Node/TypeScript (package.json)",
|
|
432
|
+
"pyproject.toml": "Python (pyproject.toml)",
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
#: Same idea, scoped to `.github/workflows/` — a deploy LANE is a workflow
|
|
436
|
+
#: file, not a root marker.
|
|
437
|
+
_WORKFLOW_STACK_MARKERS: dict[str, str] = {
|
|
438
|
+
"deploy-cloudflare.yml": "Cloudflare Pages deploy (.github/workflows/deploy-cloudflare.yml)",
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
#: `wrangler.toml` binding keys -> the managed Cloudflare service they name
|
|
442
|
+
#: (Cloudflare's own `wrangler.toml` schema) — read only when the file is
|
|
443
|
+
#: actually present, so this never guesses at a service that isn't wired up.
|
|
444
|
+
_WRANGLER_BINDING_MARKERS: dict[str, str] = {
|
|
445
|
+
"d1_databases": "Cloudflare D1 (bound in wrangler.toml)",
|
|
446
|
+
"r2_buckets": "Cloudflare R2 (bound in wrangler.toml)",
|
|
447
|
+
"kv_namespaces": "Cloudflare KV (bound in wrangler.toml)",
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
#: Keywords worth a mention when they show up in a repo's own `CLAUDE.md` —
|
|
451
|
+
#: the design sketch's "cheapest read from each repo's own CLAUDE.md" half,
|
|
452
|
+
#: for a lane that leaves no marker file at all (e.g. Cloudflare Access,
|
|
453
|
+
#: which is edge config, never a repo artifact — coord-portal's own
|
|
454
|
+
#: `docs/CUSTOMER_PORTAL.md` names it in prose, not in a file this module
|
|
455
|
+
#: could otherwise detect). Casefolded substring match: a false positive
|
|
456
|
+
#: here only adds one extra weighed line, never a wrong guess about what
|
|
457
|
+
#: exists, since the word is genuinely present in the repo's own docs.
|
|
458
|
+
_CLAUDE_MD_KEYWORD_MARKERS: dict[str, str] = {
|
|
459
|
+
"cloudflare access": "Cloudflare Access (mentioned in CLAUDE.md)",
|
|
460
|
+
"cloudflare pages": "Cloudflare Pages (mentioned in CLAUDE.md)",
|
|
461
|
+
"cloudflare d1": "Cloudflare D1 (mentioned in CLAUDE.md)",
|
|
462
|
+
"cloudflare r2": "Cloudflare R2 (mentioned in CLAUDE.md)",
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
|
|
466
|
+
def _repo_stack_signals(repo_github: str, branch: str) -> list[str]:
|
|
467
|
+
"""Mechanical, best-effort stack signals for *repo_github* on *branch* —
|
|
468
|
+
root-level marker files, known deploy-workflow files under
|
|
469
|
+
`.github/workflows/`, and (when `wrangler.toml` is present) the managed
|
|
470
|
+
Cloudflare services it binds.
|
|
471
|
+
|
|
472
|
+
**Degrades gracefully** (#2997 acceptance criterion): any lookup
|
|
473
|
+
failure, or a repo with nothing recognisable, returns `[]` rather than a
|
|
474
|
+
guess — this feeds an informational briefing section, not a gate, so
|
|
475
|
+
silence is always the safe failure mode.
|
|
476
|
+
|
|
477
|
+
"Any lookup failure" is meant literally, hence the deliberately broad
|
|
478
|
+
``except Exception`` guards below rather than the narrow
|
|
479
|
+
``RuntimeError``/``ValueError`` pair an earlier revision used. The
|
|
480
|
+
Contents-API seam this walks is not exception-typed end to end:
|
|
481
|
+
``github_ops.list_repo_dir`` indexes ``entry["name"]`` on whatever JSON
|
|
482
|
+
came back (``KeyError``/``TypeError`` on a malformed or
|
|
483
|
+
unexpectedly-shaped payload), and ``_gh`` itself is a subprocess
|
|
484
|
+
boundary that a caller lower in the stack can surface as ``OSError``.
|
|
485
|
+
None of those are worth turning an *informational* paragraph into a
|
|
486
|
+
hard failure of ``coord portal decompose-chat`` for — a crash here
|
|
487
|
+
costs the operator the whole intake session, while a swallowed lookup
|
|
488
|
+
costs one unweighed line.
|
|
489
|
+
"""
|
|
490
|
+
from coord import github_ops # noqa: PLC0415
|
|
491
|
+
|
|
492
|
+
try:
|
|
493
|
+
root_files, root_dirs = _dir_entries(repo_github, "", branch)
|
|
494
|
+
except Exception: # noqa: BLE001 - informational section, never a gate
|
|
495
|
+
return []
|
|
496
|
+
|
|
497
|
+
signals = [label for marker, label in _ROOT_STACK_MARKERS.items() if marker in root_files]
|
|
498
|
+
|
|
499
|
+
def _file_text(path: str) -> str:
|
|
500
|
+
"""*path*'s contents on *branch*, or ``""`` on any lookup failure."""
|
|
501
|
+
try:
|
|
502
|
+
text = github_ops.get_repo_file(repo_github, path, branch)
|
|
503
|
+
# `isinstance` rather than a bare return: a Contents-API payload
|
|
504
|
+
# that decodes to something other than text must not turn a
|
|
505
|
+
# substring probe below into a `TypeError`.
|
|
506
|
+
return text if isinstance(text, str) else ""
|
|
507
|
+
except Exception: # noqa: BLE001 - see the docstring
|
|
508
|
+
# Covers `binascii.Error` (a ValueError subclass) from
|
|
509
|
+
# `get_repo_file_with_sha`'s `base64.b64decode` on a malformed
|
|
510
|
+
# Contents-API response, `GhError` from the subprocess boundary,
|
|
511
|
+
# and anything else the seam can surface: this feeds an
|
|
512
|
+
# informational section, not a gate, so a failed read degrades
|
|
513
|
+
# to "no signal" rather than blowing up the briefing build.
|
|
514
|
+
return ""
|
|
515
|
+
|
|
516
|
+
def _entries(path: str) -> tuple[list[str], list[str]]:
|
|
517
|
+
"""``(files, dirs)`` under *path*, or ``([], [])`` on any failure."""
|
|
518
|
+
try:
|
|
519
|
+
return _dir_entries(repo_github, path, branch)
|
|
520
|
+
except Exception: # noqa: BLE001 - see the docstring
|
|
521
|
+
return [], []
|
|
522
|
+
|
|
523
|
+
if "wrangler.toml" in root_files:
|
|
524
|
+
wrangler_text = _file_text("wrangler.toml")
|
|
525
|
+
signals += [
|
|
526
|
+
label for key, label in _WRANGLER_BINDING_MARKERS.items() if key in wrangler_text
|
|
527
|
+
]
|
|
528
|
+
|
|
529
|
+
if "CLAUDE.md" in root_files:
|
|
530
|
+
claude_md_text = _file_text("CLAUDE.md").casefold()
|
|
531
|
+
signals += [
|
|
532
|
+
label for key, label in _CLAUDE_MD_KEYWORD_MARKERS.items() if key in claude_md_text
|
|
533
|
+
]
|
|
534
|
+
|
|
535
|
+
if ".github" in root_dirs:
|
|
536
|
+
_, gh_dirs = _entries(".github")
|
|
537
|
+
if "workflows" in gh_dirs:
|
|
538
|
+
wf_files, _ = _entries(".github/workflows")
|
|
539
|
+
signals += [
|
|
540
|
+
label for marker, label in _WORKFLOW_STACK_MARKERS.items() if marker in wf_files
|
|
541
|
+
]
|
|
542
|
+
|
|
543
|
+
return signals
|
|
544
|
+
|
|
545
|
+
|
|
546
|
+
def house_stack_context(cfg: "Config", exclude_repos: list[str] | None = None) -> str:
|
|
547
|
+
"""Render the HOUSE STACK briefing section: what the *rest* of the
|
|
548
|
+
fleet's repos already run and deploy on, derived mechanically from each
|
|
549
|
+
registered repo's tracked files rather than hand-maintained (the design
|
|
550
|
+
sketch's own preference — a hand-maintained approved-stack list rots and
|
|
551
|
+
suppresses the reasoning the decision archive exists to capture).
|
|
552
|
+
|
|
553
|
+
*exclude_repos* is normally the submission's own mapped repo(s) — the
|
|
554
|
+
one(s) actually being decomposed, which say nothing about "the REST of
|
|
555
|
+
the fleet" even when they aren't greenfield.
|
|
556
|
+
|
|
557
|
+
A repo that contributes no recognisable signal (no CLAUDE.md, no known
|
|
558
|
+
marker file, no known workflow file) is omitted from the per-repo list
|
|
559
|
+
entirely — #2997's "degrades gracefully" criterion: nothing beats a
|
|
560
|
+
wrong guess. When *no* repo in the fleet contributes anything, the whole
|
|
561
|
+
section reads as empty rather than asserting a managed-services list or
|
|
562
|
+
a host-coupled gate that nothing here actually evidences.
|
|
563
|
+
|
|
564
|
+
One sick repo never costs the operator the whole intake session: each
|
|
565
|
+
repo's probe is isolated, so a lookup that blows up for `acme/api`
|
|
566
|
+
still leaves `acme/coord-portal`'s Cloudflare signal in the rendered
|
|
567
|
+
section. This section is built on the critical path of *every*
|
|
568
|
+
`coord portal decompose-chat` (headless and `--interactive` alike) —
|
|
569
|
+
an informational paragraph must never be able to abort a dispatch.
|
|
570
|
+
"""
|
|
571
|
+
exclude = set(exclude_repos or [])
|
|
572
|
+
per_repo: list[str] = []
|
|
573
|
+
saw_cloudflare = False
|
|
574
|
+
for repo_cfg in cfg.repos:
|
|
575
|
+
if repo_cfg.name in exclude:
|
|
576
|
+
continue
|
|
577
|
+
branch = repo_cfg.default_branch or "main"
|
|
578
|
+
try:
|
|
579
|
+
signals = _repo_stack_signals(repo_cfg.github, branch)
|
|
580
|
+
except Exception: # noqa: BLE001 - one repo must not sink the section
|
|
581
|
+
continue
|
|
582
|
+
if not signals:
|
|
583
|
+
continue
|
|
584
|
+
per_repo.append(f"- {repo_cfg.name} ({repo_cfg.github}): {'; '.join(signals)}")
|
|
585
|
+
if any("Cloudflare" in s for s in signals):
|
|
586
|
+
saw_cloudflare = True
|
|
587
|
+
|
|
588
|
+
if not per_repo:
|
|
589
|
+
return (
|
|
590
|
+
"HOUSE STACK (fleet-wide, #2997): no recognisable stack/deploy signal on any "
|
|
591
|
+
"other registered repo — nothing to weigh here."
|
|
592
|
+
)
|
|
593
|
+
|
|
594
|
+
lines = [
|
|
595
|
+
"HOUSE STACK (fleet-wide, not just this submission's mapped repo(s) — #2997):",
|
|
596
|
+
*per_repo,
|
|
597
|
+
"",
|
|
598
|
+
"This is CONTEXT, not a mandate: propose something else if it genuinely fits "
|
|
599
|
+
"better, but if you do, record the house-stack alternative as a "
|
|
600
|
+
"considered-and-rejected decision with a reason (`coord portal decision propose` "
|
|
601
|
+
"then `coord portal decision reject ... \"<why the house stack loses>\"`) instead "
|
|
602
|
+
"of leaving it unweighed.",
|
|
603
|
+
]
|
|
604
|
+
if saw_cloudflare:
|
|
605
|
+
lines.append("")
|
|
606
|
+
lines.append(
|
|
607
|
+
"Gate that assumes a host: `coord portal enqueue-preview` reads a Cloudflare "
|
|
608
|
+
"Pages PREVIEW deployment URL created per-PR by `cloudflare/pages-action` "
|
|
609
|
+
"(docs/CUSTOMER_PORTAL.md) — choosing a different host means the #2359 "
|
|
610
|
+
"customer preview-approval gate does not apply without new coord work."
|
|
611
|
+
)
|
|
612
|
+
return "\n".join(lines)
|
|
613
|
+
|
|
614
|
+
|
|
412
615
|
def repo_topology_context(cfg: "Config", repos: list[str]) -> str:
|
|
413
616
|
"""One paragraph of `coordinator.yml` topology per mapped repo — the
|
|
414
617
|
"coordinator.yml topology context ... the same way docs/CUSTOMER_PORTAL.md's
|
|
@@ -442,6 +645,7 @@ def build_decomposition_chat_briefing(
|
|
|
442
645
|
discuss: bool,
|
|
443
646
|
discuss_reason: str,
|
|
444
647
|
running_context_section: str = "",
|
|
648
|
+
house_stack_context_section: str = "",
|
|
445
649
|
) -> str:
|
|
446
650
|
"""Compose the seed briefing the worker sees as its first user message.
|
|
447
651
|
|
|
@@ -454,6 +658,15 @@ def build_decomposition_chat_briefing(
|
|
|
454
658
|
pane already shows the operator (ms-67 contract §4b: "nothing hidden
|
|
455
659
|
between 'looks right in the panel' and 'is what the session got'"),
|
|
456
660
|
plus everything #2749's ledger has accumulated across prior iterations.
|
|
661
|
+
|
|
662
|
+
**#2997:** also carries a HOUSE STACK section (*house_stack_context_section*,
|
|
663
|
+
normally :func:`house_stack_context`'s output) — the fleet's existing
|
|
664
|
+
stack and infrastructure conventions, which used to be entirely absent
|
|
665
|
+
from this briefing. That gap is what let a MODE: DISCUSS iteration on a
|
|
666
|
+
greenfield repo propose a brand-new vendor (Supabase) without ever
|
|
667
|
+
weighing the Cloudflare stack the rest of this org already runs and
|
|
668
|
+
pays for (SUB-1EA1D3, this issue's own measured regression case). Empty
|
|
669
|
+
by default so every existing caller/test keeps working unchanged.
|
|
457
670
|
"""
|
|
458
671
|
submission_id = submission.get("submission_id", "")
|
|
459
672
|
repos = submission.get("repos") or []
|
|
@@ -484,6 +697,11 @@ def build_decomposition_chat_briefing(
|
|
|
484
697
|
parts.append("COORDINATOR.YML TOPOLOGY CONTEXT:")
|
|
485
698
|
parts.append(topology_context)
|
|
486
699
|
parts.append("")
|
|
700
|
+
parts.append(
|
|
701
|
+
house_stack_context_section.strip()
|
|
702
|
+
or "HOUSE STACK (fleet-wide, #2997): (not computed for this briefing)"
|
|
703
|
+
)
|
|
704
|
+
parts.append("")
|
|
487
705
|
parts.append(
|
|
488
706
|
running_context_section.strip()
|
|
489
707
|
or "RUNNING CONTEXT (from the portal ledger): (none yet — first iteration)"
|
|
@@ -677,6 +895,7 @@ def dispatch_decomposition_chat(
|
|
|
677
895
|
machine = picked
|
|
678
896
|
|
|
679
897
|
topology_context = repo_topology_context(config, repos)
|
|
898
|
+
house_stack = house_stack_context(config, exclude_repos=repos)
|
|
680
899
|
discuss_mode, discuss_reason = select_discuss_mode(
|
|
681
900
|
config, submission, discuss_override=discuss
|
|
682
901
|
)
|
|
@@ -687,6 +906,7 @@ def dispatch_decomposition_chat(
|
|
|
687
906
|
discuss=discuss_mode,
|
|
688
907
|
discuss_reason=discuss_reason,
|
|
689
908
|
running_context_section=running_context,
|
|
909
|
+
house_stack_context_section=house_stack,
|
|
690
910
|
)
|
|
691
911
|
|
|
692
912
|
resolved_model = config.models.default
|