code-coordinator 0.5.190__tar.gz → 0.5.192__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.190 → code_coordinator-0.5.192}/PKG-INFO +1 -1
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/code_coordinator.egg-info/PKG-INFO +1 -1
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/code_coordinator.egg-info/scm_version.json +2 -2
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/agent.py +60 -56
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/agents/opencode/agents/work.md +41 -1
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/providers/claude.py +14 -7
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_agent.py +19 -16
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_providers.py +74 -3
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/.claude/commands/board.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/.claude/commands/complete-session.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/.claude/commands/coordinator.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/.githooks/_lib.sh +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/.githooks/post-checkout +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/.githooks/post-commit +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/.githooks/post-merge +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/.github/coord-ci-acceptance.yml +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/.github/workflows/auto-release.yml +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/.github/workflows/cargo-test.yml +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/.github/workflows/publish.yml +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/.github/workflows/release-tui.yml +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/.github/workflows/test.yml +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/.gitignore +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/CLAUDE.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/GOAL.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/LICENSE +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/MANIFEST.in +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/README.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/code_coordinator.egg-info/SOURCES.txt +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/code_coordinator.egg-info/dependency_links.txt +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/code_coordinator.egg-info/entry_points.txt +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/code_coordinator.egg-info/requires.txt +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/code_coordinator.egg-info/scm_file_list.json +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/code_coordinator.egg-info/top_level.txt +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/__init__.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/_board_mapping.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/acceptance.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/acceptance_drivers.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/agent_app.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/agent_update.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/agents/opencode/.gitignore +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/agents/opencode/routing.jsonc +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/audit.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/auto_loop.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/block_log.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/board_bool_guard.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/board_service.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/board_wire.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/brain.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/branch_model.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/bug_intake.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/cargo_cache.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/ci_github.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/ci_store.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/claim.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/cli.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/client.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/commands/__init__.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/commands/_common.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/commands/acceptance.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/commands/agent_ops.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/commands/audit.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/commands/chat.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/commands/dispatch.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/commands/dispatch_workers.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/commands/drive.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/commands/drive_queue.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/commands/gate_a.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/commands/gates.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/commands/issues.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/commands/lifecycle.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/commands/merge.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/commands/milestone.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/commands/plan_followup.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/commands/plans.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/commands/portal.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/commands/release.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/commands/repo.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/commands/report.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/commands/review.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/commands/scorecard.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/commands/sessions.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/commands/setup.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/commands/status.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/commands/terminal.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/commands/test_gate.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/commands/tui.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/comments.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/config.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/config_reload.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/conflict_fix.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/dao.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/dashboard/__init__.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/dashboard/fixture.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/dashboard/index.html +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/dashboard/server.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/dashboard/terminal.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/db.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/dead_end.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/deploy/README.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/deploy/coord-agent.service +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/deploy/coord-db-backup.service +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/deploy/coord-db-backup.sh +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/deploy/coord-db-backup.timer +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/deploy/coord-drive-queue.service +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/deploy/coord-drive-queue.timer +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/deploy/coord-notify.service +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/deploy/coord-notify.timer +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/deploy/coord-release-propagate.service +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/deploy/coord-release-propagate.timer +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/deploy/coord-release-window.service +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/deploy/coord-release-window.timer +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/deploy/coord-serve.service +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/deploy/coord-web-dist-build.service +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/deploy/coord-web-dist-build.timer +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/deploy/coord-web.service +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/deploy_manifest.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/deploy_units.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/deps.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/diagnose.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/dispatch.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/dist_name.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/drive.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/drive_queue.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/drive_state.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/events.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/failure_class.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/filelock.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/fleet_config_health.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/freshness.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/gate_a.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/gate_b.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/gate_snapshot.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/gates.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/github_ops.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/goal.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/graph_health.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/health/__init__.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/health/aggregate.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/health/checks/__init__.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/health/checks/agent_install.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/health/checks/cargo_targets.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/health/checks/claude_binary.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/health/checks/coord_web_ci_pin.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/health/checks/deploy_lane_facts.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/health/checks/disk.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/health/checks/fleet_board.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/health/checks/fleet_deploy_lanes.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/health/checks/fleet_phantom.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/health/checks/fleet_unit_drift.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/health/checks/graph.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/health/checks/graphify_cli.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/health/checks/index_lock.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/health/checks/plan_usage.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/health/checks/repo_state.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/health/checks/spawned_coord.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/health/checks/timer_active.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/health/checks/toolchain.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/health/checks/unit_drift.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/health/checks/unit_enablement.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/health/checks/worktrees.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/health/cli.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/health/context.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/health/fleet_snapshot.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/health/models.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/health/pypi.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/health/registry.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/health/render.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/health/units.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/hooks.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/housekeeping.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/interactive.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/issue_store.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/liveness_auditor.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/machine_pause.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/merge_queue.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/milestone_chat.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/milestone_dispatch.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/milestone_gate.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/milestone_order.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/mock_author.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/models.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/network.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/new_issue_chat.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/notifier/__init__.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/notifier/baseline.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/notifier/cli.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/notifier/collect.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/notifier/digest.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/notifier/models.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/notifier/predicate.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/notifier/service.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/notifier/store.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/notifier/transport.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/notify.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/openapi.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/overlap_fence.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/overlap_predict.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/parentage.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/parentage_github.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/pipeline.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/plan_parser.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/plans.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/platform_paths.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/portal_bridge.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/portal_store.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/portal_sync.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/pr_body_lint.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/prereqs.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/progress.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/providers/__init__.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/providers/base.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/providers/claude_pty.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/providers/opencode.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/queue_diagnose.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/reconcile.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/reconcile_tick.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/refine_chat.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/release_cordon.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/release_propagate.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/release_verify.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/release_window.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/repo_edit.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/repo_onboard.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/reports.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/revalidate.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/review.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/scorecard.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/self_health.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/serve_app.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/skills/coord-dispatch-verbs/SKILL.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/skills/drive-queue-preflight/SKILL.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/skills/fleet-restart-safety/SKILL.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/skills/merge-stuck-triage/SKILL.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/skills/pipeline-limbo-triage/SKILL.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/skills/portal-followup/SKILL.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/skills/review-verdict-recovery/SKILL.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/skills/tui-quadraui-workflow/SKILL.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/skills/update-issue/SKILL.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/smoke.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/spend_ceiling.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/split_work.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/stage_projection.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/state.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/test_author.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/test_chat.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/test_orchestrator.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/test_report.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/tui_release.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/usage.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/usage_limits.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/usage_rollup.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coord/worker_events.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/coordinator.example.yml +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/deploy/coord-agent.service +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/deploy/coord-db-backup.service +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/deploy/coord-db-backup.sh +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/deploy/coord-db-backup.timer +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/deploy/coord-drive-queue.service +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/deploy/coord-drive-queue.timer +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/deploy/coord-notify.service +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/deploy/coord-notify.timer +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/deploy/coord-release-propagate.service +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/deploy/coord-release-propagate.timer +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/deploy/coord-release-window.service +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/deploy/coord-release-window.timer +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/deploy/coord-serve.service +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/deploy/coord-web-dist-build.service +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/deploy/coord-web-dist-build.sh +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/deploy/coord-web-dist-build.timer +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/deploy/coord-web-rollback.sh +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/deploy/coord-web.service +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/deploy/node-shim.sh +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/docs/ADR_COORD_WEB_ACCEPTANCE_SUITE.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/docs/ADR_COORD_WEB_CI.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/docs/ADR_COORD_WEB_DIST.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/docs/AGENT_OPERATIONS.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/docs/ARCHITECTURE.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/docs/ARCH_SECURITY_GATES.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/docs/COCKPIT.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/docs/CONTROL_CENTER.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/docs/COST_DISCIPLINE.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/docs/CROSS_PLATFORM.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/docs/CUSTOMER_PORTAL.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/docs/DRIVE_QUEUE.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/docs/EPHEMERAL_WORKERS.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/docs/FORGE_MIGRATION.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/docs/GRAPHIFY_SETUP.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/docs/ISSUE_GUIDANCE.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/docs/MAC_MINI.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/docs/MERGE_AUTO_DRAIN_TRUST_BAR.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/docs/NOTIFIER.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/docs/OPENCODE_VERIFICATION.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/docs/OPERATING_GOTCHAS.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/docs/ORACLE_LOOP.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/docs/PHONE_WEBAPP.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/docs/PIPELINE_V2.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/docs/PLATFORM_EVOLUTION.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/docs/SECOND_BACKEND.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/docs/STORE_SERVICE.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/docs/TEST_FIRST_BUG_LANE.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/docs/WEB_CONTROL_CENTER.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/docs/WSL_WINDOWS_WORKER.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/docs/mocks/web/README.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/docs/mocks/web/_tokens.css +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/docs/mocks/web/issue-detail.html +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/docs/mocks/web/pipeline-narrow.html +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/docs/mocks/web/pipeline-wide.html +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/graphify-out/.gitignore +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/install-agent.sh +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/pyproject.toml +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/scripts/audit_review_verdict_overrides.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/scripts/azure-workers/bootstrap-shared.sh +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/scripts/azure-workers/build-worker-image.sh +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/scripts/azure-workers/coordinator-machine.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/scripts/azure-workers/epic-down.sh +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/scripts/azure-workers/epic-up.sh +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/scripts/azure-workers/preflight.sh +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/scripts/azure-workers/provision-worker.sh +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/scripts/azure-workers/scrub-and-generalize.sh +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/scripts/azure-workers/tailnet-acl.hujson +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/scripts/azure-workers/verify-github-token.sh +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/scripts/codegen.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/scripts/coord-test-runner.sh +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/scripts/drive-batch.sh +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/scripts/gen_board_fixture.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/scripts/next_release_tag.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/scripts/run_tests_in_populated_home.sh +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/scripts/run_tests_without_gh.sh +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/scripts/smoke_437_interactive.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/scripts/verify_878_review_capture.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/scripts/verify_release_published.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/scripts/verify_release_wheel.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/setup.cfg +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/SMOKE_SET.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/__init__.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-33/audit_1039.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-33/contract.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-33/manifest.yml +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-33/mocks/audit-panel-detail.screen +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-33/mocks/audit-panel-empty.screen +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-33/mocks/audit-panel-filters.screen +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-33/mocks/audit-panel-populated.screen +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-37/conftest.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-37/contract.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-37/manifest.yml +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-37/test_usage_cli_1115.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-37/test_usage_core_1118.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-38/contract.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-38/manifest.yml +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-38/mocks/plans-base.screen +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-38/mocks/plans-detail-pane.screen +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-38/mocks/plans-help-overlay.screen +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-38/mocks/plans-palette.screen +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-38/mocks/plans-rightclick-epic.screen +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-38/mocks/plans-rightclick-header.screen +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-38/mocks/plans-rightclick-stub.screen +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-38/plans_detail_1122.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-38/plans_help_1124.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-38/plans_rightclick_1123.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-51/contract.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-51/home-active-extended.spec.ts +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-51/home-active.spec.ts +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-51/manifest.yml +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-51/mocks/home-active.html +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-51/tsconfig.json +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-65/board_split_2288.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-65/board_tabs_2282.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-65/board_tabs_close_2283.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-65/contract.md +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-65/detail_substate_2285.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-65/manifest.yml +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-65/mocks/board-baseline-no-tabs.screen +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-65/mocks/board-pinned-3-tabs.screen +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-65/mocks/board-preview-tab.screen +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-65/mocks/board-split-side-by-side.screen +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-65/mocks/board-tab-context-menu.screen +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-65/mocks/board-tabs-help-overlay.screen +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-65/mocks/board-tabs-overflow.screen +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-65/mocks/pipeline-tabs-independent.screen +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-65/pipeline_tabs_2284.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-65/tabs_discoverability_2287.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-65/tabs_persistence_2286.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/acceptance/ms-example/mocks/home-active.html +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/conftest.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/fixtures/board-pipeline-basic.json +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/fixtures/board-pipeline-terminal-gates.json +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/fixtures/opencode_run_failure_sample.jsonl +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/fixtures/opencode_run_length_sample.jsonl +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/fixtures/opencode_run_sample.jsonl +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/fixtures/playwright/all_pass.json +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/fixtures/playwright/global_setup_crash.json +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/fixtures/playwright/mixed_fail.json +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/fixtures/playwright/retry_then_pass.json +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/fixtures/playwright/retry_then_pass.junit.xml +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/fixtures/playwright/skip.json +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/fixtures/playwright/truncated.json +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/fixtures/test_report/cargo_compile_error.txt +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/fixtures/test_report/cargo_multi_target_failures.txt +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/fixtures/test_report/cargo_no_parseable_failures.txt +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/fixtures/test_report/pytest_collection_error.txt +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/fixtures/test_report/pytest_error_string_in_body.txt +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/fixtures/test_report/pytest_internal_error.txt +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/fixtures/test_report/pytest_mixed_failures.txt +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/fixtures/test_report/pytest_no_parseable_failures.txt +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_acceptance.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_acceptance_drivers.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_agent_api_error.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_agent_app.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_agent_branch_base.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_agent_branch_capture.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_agent_config_free_1712.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_agent_deploy_units_endpoint.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_agent_dirty_worktree.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_agent_drive_queue_reconcile_2373.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_agent_graph_self_heal.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_agent_health_h3.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_agent_idle_restart.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_agent_push_failure.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_agent_reap.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_agent_repos_and_pull.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_agent_restart_services_endpoint.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_agent_skills_self_heal.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_agent_startup_diagnostics.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_agent_update.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_agent_update_bluegreen.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_agent_usage_limit.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_agent_zero_commit.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_ambient_home_isolation.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_approve_reject_plan.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_approve_usage_gate.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_assignment_already_recorded_daemon.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_audit_log.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_audit_outcome.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_audit_query.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_auto_loop.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_auto_release_publish_2035.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_base_checkout_restore.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_block_log.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_board_cap_762.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_board_fixture.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_board_read_path.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_board_service.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_board_state.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_board_wire.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_brain.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_branch_model.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_bug_intake.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_build_worker_image_env_update.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cargo_cache.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_ci_acceptance_gate_1950.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_ci_parity_2091.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_ci_store.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_claim.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_acceptance.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_assign.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_assign_interactive_oracle_gate.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_assign_interactive_remote.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_assign_provider.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_assign_repo_drift_2219.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_audit.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_chat_continue.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_decide.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_diagnose_config_provenance.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_diagnose_graph.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_diagnose_self.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_doctor.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_doctor_config_free_1801.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_doctor_config_mismatch_1712.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_drive.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_drive_queue.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_escalate.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_fix_headless_review.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_gate_a.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_install_drift.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_install_skills.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_issue_create_label.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_issue_reopen.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_merge.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_milestone_assign.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_milestone_capture.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_milestone_chat_add_child.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_milestone_dispatch.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_milestone_gate_b.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_milestone_gate_c.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_milestone_order.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_milestone_remove_and_issue_close.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_milestone_ship.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_network.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_new_issue_chat.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_plans.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_portal.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_pull_artifact.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_queue.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_reattach_sessions.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_refine_board.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_release_preflight.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_release_propagate.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_release_window.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_repo_2220.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_scorecard.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_set_review_findings.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_status_advisory_terminal.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_status_merge_queue.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_status_provider.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_status_review_finalizing.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_status_test_failed_tag.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_status_usage_limit.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_sync_comments_873.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_test_plan.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_track.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_tui_update.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cli_wait.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_client_base_install.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_comments.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_completion_summary.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_config.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_config_acceptance.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_config_audit.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_config_pricing.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_config_snapshot_noncanonical_2208.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_config_usage_gate.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_conflict_fix.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_conflict_fix_semantic.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_coord_test.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_coord_test_runner_baseline.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_coord_test_runner_populated_home.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_coord_test_runner_routing.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_coord_test_runner_toolchain.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_coord_web_sse_restart_live.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_coordinator_machine.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_cross_platform_imports.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_dashboard.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_dashboard_fixture.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_dashboard_terminal.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_dashboard_terminal_live.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_db.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_dead_end.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_deploy_coord_db_backup.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_deploy_coord_web_dist.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_deploy_coord_web_rollback.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_deploy_drive_queue_unit.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_deploy_manifest.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_deploy_units_lane.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_deploy_web_unit.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_deps.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_diagnose.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_dispatch.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_dispatch_target_validation.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_dist_name.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_done_housekeeping.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_drive.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_drive_queue.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_drive_state.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_drive_tmux.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_epic_up_capability_detection.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_epic_up_down_symlinked_config_1887.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_epic_up_image_provenance.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_errors.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_events.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_failure_class.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_filelock.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_finalize_interactive_exit_test_verdict.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_fix_of_force_override.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_fleet_config_health.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_fleet_health_probes.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_fleet_health_snapshot.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_freshness.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_gate_a.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_gate_b.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_gate_snapshot_staleness.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_gates.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_gather_fleet_tmux_sessions.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_generated_types_fixture.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_github_ops.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_goal.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_graph_health.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_graph_selfheal_absent_2237.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_handoff.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_health_checks.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_health_cli.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_health_cli_graph.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_health_config.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_health_context.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_health_coord_web_ci_pin.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_health_deploy_lane_facts.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_health_incident_regression.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_health_pypi.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_health_registry.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_health_timer_active.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_health_toolchain.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_health_unit_drift.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_health_unit_enablement.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_hooks.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_human_attended_437.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_init.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_integration.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_interactive_briefing_echo.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_interactive_prefill_state.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_interactive_session_relaunch.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_interactive_test_verdict_backstop.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_interactive_token_attribution.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_interactive_worktree.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_issue_store_seam.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_liveness_auditor.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_liveness_notify.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_machine_pause.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_merge_queue.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_merge_verify.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_milestone_chat.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_milestone_dispatch.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_milestone_gate.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_milestone_order.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_milestone_seam.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_mock_author.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_model_tiering.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_models.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_models_config_labels.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_needs_attention.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_network.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_new_issue_chat.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_next_release_tag.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_no_direct_gh_calls.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_node_shim.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_notifier_baseline.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_notifier_cli.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_notifier_collect.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_notifier_config.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_notifier_drive_seam.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_notifier_isolation.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_notifier_predicate.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_notifier_quiet_hours.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_notifier_service.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_notify.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_notify_drain.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_openapi.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_operational_defaults.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_overlap_fence.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_overlap_predict.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_packaged_deploy_units.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_parentage.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_paste_landed.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_pipeline.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_plan_followup_approve_plan_command.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_plan_followup_pr_command.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_plan_followup_review_command.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_plan_only.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_plan_parser.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_platform_paths.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_portal_bridge.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_portal_config.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_portal_sync.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_pr_body_lint.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_prereqs.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_production_db_guard.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_progress.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_provider_seam.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_providers_config_labels.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_providers_pty.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_quiet_hours.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_quiet_hours_store_2146.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_reap_merged_sessions.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_reap_stale_interactive_tick.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_reconcile.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_reconcile_branch.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_reconcile_completions.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_reconcile_merges.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_reconcile_no_agent_record.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_reconcile_tick.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_reconcile_usage_limit_done.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_refine_chat.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_release_cordon_2101.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_release_cordon_daemon_leads_2176.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_release_cordon_deadlock_2240.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_release_propagate.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_release_unified_1242.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_release_verify.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_release_window.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_remote_auto_prune.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_remote_interactive_reaper.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_repo_edit_2220.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_repo_graph_fleet_2237.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_repo_onboard_2220.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_report_result_push.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_reports.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_retry.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_retry_advisory_1606.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_retry_type_1636.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_revalidate.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_review.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_review_end_review_without_verdict.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_review_parse_failure_diagnostic.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_review_reaffirm.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_review_state.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_review_verdict_backstop.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_review_verdict_override_audit.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_review_verdict_relay.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_review_zero_commits.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_scoped_review_wiring.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_scorecard.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_self_health.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_serve.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_serve_app_board_trim.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_session.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_slice_issue_attribution.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_smoke.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_smoke_live_checkout_restore.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_smoke_workflow.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_spend_ceiling.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_spend_ceiling_coordinator.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_split.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_split_work.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_stage_projection.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_stalled_pipeline.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_state.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_state_review_findings_daemon.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_status_fleet_footer.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_stop_1567.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_stuck.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_terminal_command.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_test_author.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_test_chat.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_test_orchestrator.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_test_report.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_test_verdict_parsing.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_test_verdict_transcript_floor.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_thin_client_board_audit.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_thin_client_config_load_1080.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_thin_client_daemon_routing_906.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_tmux_host.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_tmux_session.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_transcript_floor.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_usage.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_usage_limits.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_usage_rollup.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_venv_live_install_2121.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_version_single_source.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_watch.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_windows_job_is_a_real_gate_2000.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_worker_events.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_worker_image_pin_sync.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_worker_safety.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_worker_test_scoping.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_worktree.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tests/test_worktree_rmtree_chokepoint.py +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/Cargo.lock +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/Cargo.toml +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/cargo-config-local-quadraui.toml.example +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/src/app/audit.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/src/app/chat.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/src/app/data.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/src/app/dialogs.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/src/app/doc_tabs.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/src/app/drive.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/src/app/drive_queue.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/src/app/escalation.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/src/app/events.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/src/app/fixtures.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/src/app/fleet_health.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/src/app/fleet_sessions.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/src/app/fleet_terminals.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/src/app/format.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/src/app/milestone_dag.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/src/app/mod.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/src/app/msv.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/src/app/pipeline.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/src/app/plans.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/src/app/render.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/src/app/reports.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/src/app/sessions.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/src/app/settings_ui.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/src/app/sidebar.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/src/app/terminal.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/src/app/tests.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/src/app/types.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/src/app/workspace.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/src/bin/gtk.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/src/commands.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/src/lib.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/src/main.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/src/settings.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/tests/acceptance.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/tests/cli.rs +0 -0
- {code_coordinator-0.5.190 → code_coordinator-0.5.192}/tui/tests/fixtures/board_sample.json +0 -0
|
@@ -3901,16 +3901,30 @@ def _base_checkout_write_guard_tools(repo_path: str) -> list[str]:
|
|
|
3901
3901
|
# editing coordinator.yml/coord.db) silently also blocked every worker's own
|
|
3902
3902
|
# worktree under `~/.coord/worktrees/<id>/`, burning a full $5.23 session
|
|
3903
3903
|
# that reasoned, designed, and only discovered at the very end that it could
|
|
3904
|
-
# not save anything. `default_worker_command`'s `--
|
|
3905
|
-
#
|
|
3906
|
-
#
|
|
3907
|
-
#
|
|
3908
|
-
#
|
|
3909
|
-
#
|
|
3910
|
-
#
|
|
3911
|
-
#
|
|
3912
|
-
#
|
|
3913
|
-
#
|
|
3904
|
+
# not save anything. `default_worker_command`'s `--setting-sources user`
|
|
3905
|
+
# (above) closes off the specific mechanism (workers no longer load
|
|
3906
|
+
# project/local settings at all), but this preflight check is kept as a
|
|
3907
|
+
# defense-in-depth: it also catches a blanket deny rule living in the
|
|
3908
|
+
# machine's *user*-level settings (`~/.claude/settings.json`, still loaded)
|
|
3909
|
+
# and plain OS-level write failures (read-only mount, wrong ownership, full
|
|
3910
|
+
# disk) that have nothing to do with Claude Code at all.
|
|
3911
|
+
#
|
|
3912
|
+
# #2462 EMERGENCY REVERT (2026-08-20): #2462 briefly switched this to
|
|
3913
|
+
# `--bare` to also close the hooks/.mcp.json leak (a never-trusted repo's
|
|
3914
|
+
# `.claude/hooks/` and `.mcp.json` still loading/connecting under
|
|
3915
|
+
# `--setting-sources user`, since that flag only governs settings.json).
|
|
3916
|
+
# `--bare` also unconditionally disables reading OAuth credentials / the
|
|
3917
|
+
# system keychain — this fleet authenticates headless dispatch via
|
|
3918
|
+
# `claude login`/OAuth (CLAUDE.md: "No API key needed... runs on a Max/Pro
|
|
3919
|
+
# subscription via OAuth"), not `ANTHROPIC_API_KEY`, so every worker
|
|
3920
|
+
# dispatch on every machine started failing at turn 1 with "Not logged in"
|
|
3921
|
+
# within the hour it went live (misreported fleet-wide as generic
|
|
3922
|
+
# `api_error`). Reverted back to `--setting-sources user` to restore
|
|
3923
|
+
# dispatch immediately. The hooks/.mcp.json leak this was meant to close is
|
|
3924
|
+
# real and still open — re-closing it needs a fix that doesn't require
|
|
3925
|
+
# `ANTHROPIC_API_KEY`/an `apiKeyHelper` (e.g. explicit `--settings '{}'`
|
|
3926
|
+
# plus verifying whether hooks/.mcp.json can be suppressed without full
|
|
3927
|
+
# `--bare`), tracked as a fresh follow-up rather than re-landing this as-is.
|
|
3914
3928
|
_DENY_PATTERN_RE = re.compile(r"^(Edit|Write)\(//(.+)\)$")
|
|
3915
3929
|
|
|
3916
3930
|
|
|
@@ -3980,13 +3994,11 @@ def find_blocking_deny_rule(
|
|
|
3980
3994
|
"""Scan Claude Code settings files for a deny rule blocking *worktree_path*.
|
|
3981
3995
|
|
|
3982
3996
|
Defaults to scanning just the machine's user-level settings
|
|
3983
|
-
(``~/.claude/settings.json``)
|
|
3984
|
-
|
|
3985
|
-
|
|
3986
|
-
|
|
3987
|
-
|
|
3988
|
-
``.claude/settings.local.json`` can no longer reach a headless worker at
|
|
3989
|
-
all either way, so it is intentionally not scanned here.
|
|
3997
|
+
(``~/.claude/settings.json``) — the one settings source a worker still
|
|
3998
|
+
loads after the ``--setting-sources user`` restriction in
|
|
3999
|
+
:func:`default_worker_command`; a checkout-local
|
|
4000
|
+
``.claude/settings.local.json`` can no longer reach a worker at all, so
|
|
4001
|
+
it is intentionally not scanned here.
|
|
3990
4002
|
|
|
3991
4003
|
Returns a human-readable ``"'<pattern>' in <file>"`` message for the
|
|
3992
4004
|
first matching rule found, or ``None`` when no scanned file carries one
|
|
@@ -4260,47 +4272,39 @@ def default_worker_command(spec: AssignmentSpec, *, binary: str = DEFAULT_WORKER
|
|
|
4260
4272
|
# so a deny rule that never touches the worktree's working directory
|
|
4261
4273
|
# still blocked Edit/Write calls from a `claude -p` session cwd'd
|
|
4262
4274
|
# into that worktree.
|
|
4275
|
+
# into that worktree. Restricting to "user" means a worker's
|
|
4276
|
+
# permission profile is fully controlled by the --allowedTools /
|
|
4277
|
+
# --disallowedTools / --permission-mode flags in this function (and
|
|
4278
|
+
# its own hard-coded system prompt), not by the checkout's
|
|
4279
|
+
# settings.json / settings.local.json. This is the headless/
|
|
4280
|
+
# `claude -p` path only — the human-attended interactive PTY path
|
|
4281
|
+
# (coord.providers.claude_pty.ClaudePtyProvider) intentionally keeps
|
|
4282
|
+
# the default sources so an operator's own `coord init`-configured
|
|
4283
|
+
# convenience allow-list still applies to a session they're
|
|
4284
|
+
# attached to and watching.
|
|
4263
4285
|
#
|
|
4264
|
-
# `--
|
|
4265
|
-
#
|
|
4266
|
-
#
|
|
4267
|
-
#
|
|
4268
|
-
#
|
|
4269
|
-
#
|
|
4270
|
-
#
|
|
4271
|
-
#
|
|
4272
|
-
#
|
|
4273
|
-
#
|
|
4274
|
-
#
|
|
4275
|
-
#
|
|
4276
|
-
#
|
|
4277
|
-
# flags in this function (and its own hard-coded system prompt); it
|
|
4278
|
-
# needs no MCP servers (no spec.type grants the `Agent` tool, so
|
|
4279
|
-
# `--agents` is unneeded too) and no `--settings`.
|
|
4280
|
-
#
|
|
4281
|
-
# CLAUDE.md is the one exception worth calling out: losing its
|
|
4282
|
-
# *ambient* auto-discovery does NOT mean a work-shaped leg loses the
|
|
4283
|
-
# content. `_claude_md_system_prompt_suffix` (see the branches
|
|
4284
|
-
# above: "plan", "mock-author", and this catch-all "else") reads it
|
|
4285
|
-
# explicitly off *spec.repo_path* and embeds it into --system-prompt
|
|
4286
|
-
# instead — the same defensive pattern coord.review.read_repo_claude_md
|
|
4287
|
-
# already used for review legs (#2462).
|
|
4286
|
+
# #2462 tried `--bare` here (closes settings + hooks + .mcp.json +
|
|
4287
|
+
# CLAUDE.md auto-discovery at once, vs. this flag's settings.json-only
|
|
4288
|
+
# scope) but `--bare` also unconditionally disables reading OAuth
|
|
4289
|
+
# credentials / the system keychain, and this fleet authenticates
|
|
4290
|
+
# headless dispatch via `claude login`/OAuth, not `ANTHROPIC_API_KEY`
|
|
4291
|
+
# (see CLAUDE.md: "No API key needed... Max/Pro subscription via
|
|
4292
|
+
# OAuth"). It went live and broke every worker dispatch fleet-wide
|
|
4293
|
+
# within the hour ("Not logged in · Please run /login", misreported
|
|
4294
|
+
# as generic `api_error`) — reverted back to `--setting-sources user`
|
|
4295
|
+
# same-day. The hooks/.mcp.json leak `--bare` closed is real and
|
|
4296
|
+
# still open; re-closing it needs an approach that doesn't require
|
|
4297
|
+
# `ANTHROPIC_API_KEY`/an `apiKeyHelper`, tracked as a fresh
|
|
4298
|
+
# follow-up rather than re-landing `--bare` as-is.
|
|
4288
4299
|
#
|
|
4289
|
-
#
|
|
4290
|
-
#
|
|
4291
|
-
#
|
|
4292
|
-
#
|
|
4293
|
-
#
|
|
4294
|
-
#
|
|
4295
|
-
#
|
|
4296
|
-
|
|
4297
|
-
# machine must switch to `ANTHROPIC_API_KEY` (or an `apiKeyHelper`)
|
|
4298
|
-
# for headless dispatch to keep authenticating. This is the
|
|
4299
|
-
# headless/`claude -p` path only — the human-attended interactive PTY
|
|
4300
|
-
# path (coord.providers.claude_pty.ClaudePtyProvider) intentionally
|
|
4301
|
-
# keeps the default sources, so OAuth/keychain login still works for
|
|
4302
|
-
# a session an operator is attached to and watching.
|
|
4303
|
-
"--bare",
|
|
4300
|
+
# `_claude_md_system_prompt_suffix` (see the "plan", "mock-author",
|
|
4301
|
+
# and catch-all "else" branches above) explicitly embeds the target
|
|
4302
|
+
# repo's CLAUDE.md into --system-prompt regardless — kept as
|
|
4303
|
+
# defense-in-depth (the same double-load pattern
|
|
4304
|
+
# coord.review.read_repo_claude_md already used for review legs)
|
|
4305
|
+
# even though `--setting-sources user` alone still lets CLAUDE.md's
|
|
4306
|
+
# own ambient auto-discovery run too.
|
|
4307
|
+
"--setting-sources", "user",
|
|
4304
4308
|
]
|
|
4305
4309
|
if spec.model:
|
|
4306
4310
|
argv.extend(["--model", spec.model])
|
|
@@ -28,6 +28,20 @@ permission:
|
|
|
28
28
|
"git branch*": allow
|
|
29
29
|
"git rev-parse*": allow
|
|
30
30
|
"git push*": allow
|
|
31
|
+
# #2463: force-push carve-out, listed AFTER "git push*": allow above so
|
|
32
|
+
# it wins under last-match-wins ordering (confirmed against a real
|
|
33
|
+
# opencode binary, see docs/OPENCODE_VERIFICATION.md "Rule precedence
|
|
34
|
+
# is last-match-wins, not first-match-wins" — a deny rule earlier in
|
|
35
|
+
# this list than the allow it's meant to override is silently
|
|
36
|
+
# swallowed). Mirrors coord/config.py's DEFAULT_DENY_COMMANDS
|
|
37
|
+
# force-push entries, including the #2314 reordered-flag pairing (a
|
|
38
|
+
# flag inserted before -f/--force still denies) — an unrestricted "git
|
|
39
|
+
# push*": allow would otherwise let a worker force-push over another
|
|
40
|
+
# worker's branch or silently rewrite pushed history.
|
|
41
|
+
"git push -f*": deny
|
|
42
|
+
"git push --force*": deny
|
|
43
|
+
"git push * -f*": deny
|
|
44
|
+
"git push * --force*": deny
|
|
31
45
|
"cargo *": allow
|
|
32
46
|
"make*": allow
|
|
33
47
|
"pytest*": allow
|
|
@@ -40,6 +54,25 @@ permission:
|
|
|
40
54
|
edit:
|
|
41
55
|
"*": allow
|
|
42
56
|
"tests/acceptance/**": deny
|
|
57
|
+
# #2463: the sealed-oracle prefix above isn't the only high-blast-radius
|
|
58
|
+
# edit a `work` assignment should never make unsupervised — CI config,
|
|
59
|
+
# lockfiles, and migrations are the same class of gap already closed
|
|
60
|
+
# for the Claude-dispatch path's base checkout and sealed acceptance
|
|
61
|
+
# oracle (coord/agent.py's _sealed_write_guard_tools /
|
|
62
|
+
# _base_checkout_write_guard_tools), just not yet extended to this
|
|
63
|
+
# file. A worker that genuinely needs one of these edited should say so
|
|
64
|
+
# in its final report so the coordinator can make the change itself as
|
|
65
|
+
# a declared, reviewable exception, rather than the worker silently
|
|
66
|
+
# editing it inline.
|
|
67
|
+
".github/workflows/**": deny
|
|
68
|
+
"*.lock": deny
|
|
69
|
+
"**/*.lock": deny
|
|
70
|
+
"package-lock.json": deny
|
|
71
|
+
"**/package-lock.json": deny
|
|
72
|
+
"pnpm-lock.yaml": deny
|
|
73
|
+
"**/pnpm-lock.yaml": deny
|
|
74
|
+
"migrations/**": deny
|
|
75
|
+
"**/migrations/**": deny
|
|
43
76
|
external_directory: deny
|
|
44
77
|
---
|
|
45
78
|
You are an opencode worker executing an assignment from the coordinator.
|
|
@@ -54,7 +87,14 @@ They are managed by the coordinator.
|
|
|
54
87
|
- You are already on a feature branch. Commit your work to this branch. \
|
|
55
88
|
Push with `git push origin HEAD`. \
|
|
56
89
|
NEVER commit or push to main or develop directly. \
|
|
57
|
-
Do NOT open a PR — the coordinator handles that.
|
|
90
|
+
Do NOT open a PR — the coordinator handles that. \
|
|
91
|
+
`git push -f`/`--force` (in any argument position) is denied — you can \
|
|
92
|
+
push new commits, never rewrite history that's already on the remote.
|
|
93
|
+
- Editing `.github/workflows/**`, lockfiles (`*.lock`, `package-lock.json`, \
|
|
94
|
+
`pnpm-lock.yaml`), or anything under a `migrations/` directory is denied. \
|
|
95
|
+
If your assignment genuinely needs one of these changed, say so in your \
|
|
96
|
+
final report instead of finding a way around the block — the coordinator \
|
|
97
|
+
makes that change as a declared, reviewable exception.
|
|
58
98
|
- Work only inside your current working directory. It is your own git \
|
|
59
99
|
worktree, checked out from a repo that also lives at `~/src/<repo>` on this \
|
|
60
100
|
machine — never read or write anything under `~/src/<repo>` (or any other \
|
|
@@ -207,8 +207,10 @@ class ClaudeProvider(Provider):
|
|
|
207
207
|
# #2462: keep in sync with default_worker_command's identical
|
|
208
208
|
# catch-all branch — it covers "work", "fix", "conflict-fix"
|
|
209
209
|
# and "test-author", every one of which edits code and needs
|
|
210
|
-
# the target repo's CLAUDE.md conventions
|
|
211
|
-
#
|
|
210
|
+
# the target repo's CLAUDE.md conventions. Kept as
|
|
211
|
+
# defense-in-depth alongside CLAUDE.md's own ambient
|
|
212
|
+
# auto-discovery (unaffected by `--setting-sources user`,
|
|
213
|
+
# below) even after the `--bare` emergency revert.
|
|
212
214
|
_sp += _claude_md_system_prompt_suffix(spec.repo_path)
|
|
213
215
|
# #2169: keep in sync with default_worker_command's identical
|
|
214
216
|
# branch — Monitor is the sanctioned bounded-poll tool for a
|
|
@@ -229,11 +231,16 @@ class ClaudeProvider(Provider):
|
|
|
229
231
|
"--system-prompt", system_prompt,
|
|
230
232
|
"--allowedTools", allowed_tools,
|
|
231
233
|
"--permission-mode", permission_mode,
|
|
232
|
-
# #1445
|
|
233
|
-
#
|
|
234
|
-
#
|
|
235
|
-
#
|
|
236
|
-
|
|
234
|
+
# #1445: see the matching comment in default_worker_command —
|
|
235
|
+
# workers must not inherit the host checkout's project/local
|
|
236
|
+
# Claude Code settings.
|
|
237
|
+
#
|
|
238
|
+
# #2462 EMERGENCY REVERT (2026-08-20): tried `--bare` here (also
|
|
239
|
+
# closes hooks/.mcp.json), but `--bare` disables OAuth/keychain
|
|
240
|
+
# auth and this fleet authenticates headless dispatch via OAuth,
|
|
241
|
+
# not ANTHROPIC_API_KEY — broke every dispatch fleet-wide within
|
|
242
|
+
# the hour. See the longer comment in default_worker_command.
|
|
243
|
+
"--setting-sources", "user",
|
|
237
244
|
]
|
|
238
245
|
if effective_model:
|
|
239
246
|
argv.extend(["--model", effective_model])
|
|
@@ -1533,12 +1533,12 @@ def test_default_worker_command_mock_author_not_sealed() -> None:
|
|
|
1533
1533
|
# ── #1445: worktree-writability preflight ───────────────────────────────────
|
|
1534
1534
|
|
|
1535
1535
|
|
|
1536
|
-
def
|
|
1536
|
+
def test_default_worker_command_uses_setting_sources_user() -> None:
|
|
1537
1537
|
"""A worker must not inherit the host checkout's project/local Claude
|
|
1538
|
-
Code settings
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1538
|
+
Code settings — see #1445. #2462 briefly tried `--bare` (also closes
|
|
1539
|
+
hooks/.mcp.json) but that disables OAuth/keychain auth and broke every
|
|
1540
|
+
worker dispatch fleet-wide within the hour on this OAuth-authenticated
|
|
1541
|
+
fleet; reverted same-day back to the narrower `--setting-sources user`."""
|
|
1542
1542
|
spec = AssignmentSpec(
|
|
1543
1543
|
repo_name="api",
|
|
1544
1544
|
repo_path="/tmp/repo",
|
|
@@ -1547,11 +1547,13 @@ def test_default_worker_command_uses_bare_mode() -> None:
|
|
|
1547
1547
|
briefing="b",
|
|
1548
1548
|
)
|
|
1549
1549
|
argv = default_worker_command(spec)
|
|
1550
|
-
assert "--
|
|
1551
|
-
|
|
1550
|
+
assert "--setting-sources" in argv
|
|
1551
|
+
idx = argv.index("--setting-sources")
|
|
1552
|
+
assert argv[idx + 1] == "user"
|
|
1553
|
+
assert "--bare" not in argv
|
|
1552
1554
|
|
|
1553
1555
|
|
|
1554
|
-
def
|
|
1556
|
+
def test_default_worker_command_uses_setting_sources_user_for_plan_type() -> None:
|
|
1555
1557
|
"""Same restriction applies to every spec.type, not just 'work' — all of
|
|
1556
1558
|
them are headless dispatches that must not depend on host checkout
|
|
1557
1559
|
state."""
|
|
@@ -1564,16 +1566,18 @@ def test_default_worker_command_uses_bare_mode_for_plan_type() -> None:
|
|
|
1564
1566
|
type="plan",
|
|
1565
1567
|
)
|
|
1566
1568
|
argv = default_worker_command(spec)
|
|
1567
|
-
assert "--
|
|
1568
|
-
|
|
1569
|
+
assert "--setting-sources" in argv
|
|
1570
|
+
idx = argv.index("--setting-sources")
|
|
1571
|
+
assert argv[idx + 1] == "user"
|
|
1572
|
+
assert "--bare" not in argv
|
|
1569
1573
|
|
|
1570
1574
|
|
|
1571
1575
|
def test_default_worker_command_embeds_claude_md_for_work_type(tmp_path: Path) -> None:
|
|
1572
|
-
"""#2462:
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
|
|
1576
|
+
"""#2462: added a CLAUDE.md embed into --system-prompt for work-shaped
|
|
1577
|
+
legs (originally to compensate for `--bare` disabling ambient
|
|
1578
|
+
auto-discovery; kept as defense-in-depth after the `--bare` emergency
|
|
1579
|
+
revert), mirroring the review leg's read_repo_claude_md defensive read
|
|
1580
|
+
(coord/review.py)."""
|
|
1577
1581
|
(tmp_path / "CLAUDE.md").write_text("# Project rules\n\nAlways use tabs.\n")
|
|
1578
1582
|
spec = AssignmentSpec(
|
|
1579
1583
|
repo_name="api",
|
|
@@ -1583,7 +1587,6 @@ def test_default_worker_command_embeds_claude_md_for_work_type(tmp_path: Path) -
|
|
|
1583
1587
|
briefing="b",
|
|
1584
1588
|
)
|
|
1585
1589
|
argv = default_worker_command(spec)
|
|
1586
|
-
assert "--bare" in argv
|
|
1587
1590
|
idx = argv.index("--system-prompt")
|
|
1588
1591
|
system_prompt = argv[idx + 1]
|
|
1589
1592
|
assert "Always use tabs." in system_prompt
|
|
@@ -187,7 +187,7 @@ def test_parity_custom_system_prompt() -> None:
|
|
|
187
187
|
_parity(spec)
|
|
188
188
|
|
|
189
189
|
|
|
190
|
-
# ── #2462: CLAUDE.md embed parity
|
|
190
|
+
# ── #2462: CLAUDE.md embed parity ─────────────────────────────────────────────
|
|
191
191
|
#
|
|
192
192
|
# The parity helper above uses repo_path="/some/path", which does not exist —
|
|
193
193
|
# so `_claude_md_system_prompt_suffix` returns "" on BOTH sides and the parity
|
|
@@ -198,6 +198,11 @@ def test_parity_custom_system_prompt() -> None:
|
|
|
198
198
|
# path production dispatch really takes (coord/commands/dispatch_workers.py
|
|
199
199
|
# and friends call provider.build_command(), never default_worker_command) —
|
|
200
200
|
# so "both sides dropped the embed" fails too, not just "they diverged".
|
|
201
|
+
#
|
|
202
|
+
# #2462 originally added this embed to compensate for `--bare` disabling
|
|
203
|
+
# CLAUDE.md's own ambient auto-discovery; `--bare` was reverted same-day
|
|
204
|
+
# (broke OAuth/keychain auth fleet-wide, see default_worker_command's
|
|
205
|
+
# comment), but the embed is kept as defense-in-depth.
|
|
201
206
|
|
|
202
207
|
|
|
203
208
|
def _claude_md_repo(tmp_path: Path, body: str) -> Path:
|
|
@@ -245,10 +250,11 @@ def test_build_command_embeds_claude_md_for_work_shaped_types(
|
|
|
245
250
|
) -> None:
|
|
246
251
|
"""#2462: the provider seam — the path real dispatch takes — must embed
|
|
247
252
|
the target repo's CLAUDE.md into --system-prompt for every work-shaped
|
|
248
|
-
leg,
|
|
253
|
+
leg, as defense-in-depth alongside CLAUDE.md's own ambient
|
|
254
|
+
auto-discovery."""
|
|
249
255
|
repo = _claude_md_repo(tmp_path, f"# Project rules\n\n{rule}\n")
|
|
250
256
|
argv = ClaudeProvider().build_command(_make_spec(type=spec_type, repo_path=str(repo)))
|
|
251
|
-
assert "--
|
|
257
|
+
assert "--setting-sources" in argv
|
|
252
258
|
system_prompt = argv[argv.index("--system-prompt") + 1]
|
|
253
259
|
assert rule in system_prompt
|
|
254
260
|
assert "Project rules (from CLAUDE.md)" in system_prompt
|
|
@@ -2451,6 +2457,10 @@ def _init_oc_throwaway_repo(tmp_path: Path) -> Path:
|
|
|
2451
2457
|
(repo / "tests" / "acceptance" / "ms-01" / "contract.md").write_text(
|
|
2452
2458
|
"# oracle contract\n"
|
|
2453
2459
|
)
|
|
2460
|
+
# #2463: a real CI config file, matching the shape work.md's
|
|
2461
|
+
# ".github/workflows/**" edit deny is meant to protect.
|
|
2462
|
+
(repo / ".github" / "workflows").mkdir(parents=True)
|
|
2463
|
+
(repo / ".github" / "workflows" / "ci.yml").write_text("name: ci\n")
|
|
2454
2464
|
(repo / "math_utils.py").write_text("def add(a, b):\n return a + b\n")
|
|
2455
2465
|
run("git", "add", "-A")
|
|
2456
2466
|
run("git", "commit", "-q", "-m", "init")
|
|
@@ -2761,6 +2771,67 @@ def test_opencode_work_agent_blocks_tests_acceptance_edit_end_to_end(
|
|
|
2761
2771
|
assert contract.read_text() == "# oracle contract\n"
|
|
2762
2772
|
|
|
2763
2773
|
|
|
2774
|
+
@_requires_real_opencode
|
|
2775
|
+
def test_opencode_work_agent_blocks_force_push_end_to_end(tmp_path: Path) -> None:
|
|
2776
|
+
"""PROOF for #2463: a real `work`-agent opencode run cannot force-push.
|
|
2777
|
+
work.md's permission block denies "git push -f*"/"git push --force*"
|
|
2778
|
+
(listed AFTER "git push*": allow so they win under last-match-wins
|
|
2779
|
+
ordering) — this asserts the denial actually happens inside a real
|
|
2780
|
+
opencode process, not merely that the frontmatter text looks right.
|
|
2781
|
+
|
|
2782
|
+
Before #2463, "git push*": allow had no force-push exception at all —
|
|
2783
|
+
this test would have observed the force-push command succeed (or at
|
|
2784
|
+
least not be denied by the permission layer)."""
|
|
2785
|
+
repo = _init_oc_throwaway_repo(tmp_path)
|
|
2786
|
+
events = _run_real_opencode_work(
|
|
2787
|
+
repo,
|
|
2788
|
+
"Run 'git push --force origin HEAD' via bash and tell me the output.",
|
|
2789
|
+
)
|
|
2790
|
+
force_calls = [
|
|
2791
|
+
e
|
|
2792
|
+
for e in _bash_tool_calls(events)
|
|
2793
|
+
if e["part"].get("state", {}).get("input", {}).get("command", "").strip()
|
|
2794
|
+
== "git push --force origin HEAD"
|
|
2795
|
+
]
|
|
2796
|
+
_require_attempt(events, force_calls, "'git push --force origin HEAD' via bash")
|
|
2797
|
+
for call in force_calls:
|
|
2798
|
+
state = call["part"]["state"]
|
|
2799
|
+
assert state.get("status") == "error", f"force-push was not blocked: {call}"
|
|
2800
|
+
assert "permission" in str(state.get("error", "")).lower()
|
|
2801
|
+
|
|
2802
|
+
|
|
2803
|
+
@_requires_real_opencode
|
|
2804
|
+
def test_opencode_work_agent_blocks_github_workflows_edit_end_to_end(
|
|
2805
|
+
tmp_path: Path,
|
|
2806
|
+
) -> None:
|
|
2807
|
+
"""PROOF for #2463: a real `work`-agent opencode run cannot edit
|
|
2808
|
+
.github/workflows/** — work.md denies edit under that prefix, the same
|
|
2809
|
+
class of high-blast-radius path as the sealed-oracle prefix covered by
|
|
2810
|
+
``test_opencode_work_agent_blocks_tests_acceptance_edit_end_to_end``.
|
|
2811
|
+
|
|
2812
|
+
Before #2463, work.md's edit block denied only tests/acceptance/** —
|
|
2813
|
+
this test would have observed the CI config edit succeed."""
|
|
2814
|
+
repo = _init_oc_throwaway_repo(tmp_path)
|
|
2815
|
+
events = _run_real_opencode_work(
|
|
2816
|
+
repo,
|
|
2817
|
+
"Use the edit tool to append the line '# tampered' to the file "
|
|
2818
|
+
".github/workflows/ci.yml in this repo. Do not attempt anything else.",
|
|
2819
|
+
)
|
|
2820
|
+
edit_calls = _edit_tool_calls(events)
|
|
2821
|
+
workflow_edits = [
|
|
2822
|
+
e
|
|
2823
|
+
for e in edit_calls
|
|
2824
|
+
if ".github/workflows/" in e["part"].get("state", {}).get("input", {}).get("filePath", "")
|
|
2825
|
+
]
|
|
2826
|
+
_require_attempt(events, workflow_edits, "the edit under .github/workflows/")
|
|
2827
|
+
for call in workflow_edits:
|
|
2828
|
+
assert call["part"]["state"].get("status") == "error", (
|
|
2829
|
+
f"edit under .github/workflows/ was not blocked: {call}"
|
|
2830
|
+
)
|
|
2831
|
+
workflow = repo / ".github" / "workflows" / "ci.yml"
|
|
2832
|
+
assert workflow.read_text() == "name: ci\n"
|
|
2833
|
+
|
|
2834
|
+
|
|
2764
2835
|
@_requires_real_opencode
|
|
2765
2836
|
def test_opencode_work_agent_allows_normal_edit_and_git_end_to_end(
|
|
2766
2837
|
tmp_path: Path,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_coordinator-0.5.190 → code_coordinator-0.5.192}/code_coordinator.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{code_coordinator-0.5.190 → code_coordinator-0.5.192}/code_coordinator.egg-info/entry_points.txt
RENAMED
|
File without changes
|
{code_coordinator-0.5.190 → code_coordinator-0.5.192}/code_coordinator.egg-info/requires.txt
RENAMED
|
File without changes
|
{code_coordinator-0.5.190 → code_coordinator-0.5.192}/code_coordinator.egg-info/scm_file_list.json
RENAMED
|
File without changes
|
{code_coordinator-0.5.190 → code_coordinator-0.5.192}/code_coordinator.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|