code-coordinator 0.5.243__tar.gz → 0.5.245__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.243 → code_coordinator-0.5.245}/CLAUDE.md +3 -4
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/PKG-INFO +1 -1
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/code_coordinator.egg-info/PKG-INFO +1 -1
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/code_coordinator.egg-info/SOURCES.txt +7 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/code_coordinator.egg-info/scm_file_list.json +7 -0
- code_coordinator-0.5.245/code_coordinator.egg-info/scm_version.json +8 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/__init__.py +20 -2
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/acceptance_drivers.py +14 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/agent.py +135 -30
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/audit.py +7 -3
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/board_bool_guard.py +9 -0
- code_coordinator-0.5.245/coord/board_schema.py +393 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/client.py +75 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/commands/_common.py +162 -37
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/commands/acceptance.py +64 -1
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/commands/chat.py +3 -1
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/commands/dispatch.py +3 -1
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/commands/dispatch_workers.py +3 -1
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/commands/drive_queue.py +15 -7
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/commands/merge.py +2 -3
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/commands/portal.py +694 -27
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/commands/release.py +26 -13
- code_coordinator-0.5.245/coord/commands/repo.py +1259 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/commands/sessions.py +78 -54
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/commands/test_gate.py +13 -5
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/dao.py +95 -83
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/dashboard/server.py +12 -30
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/db.py +708 -446
- code_coordinator-0.5.245/coord/decomposition_chat.py +536 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/drive.py +68 -6
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/drive_queue.py +91 -17
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/drive_state.py +107 -42
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/forge_availability.py +3 -1
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/gates.py +35 -22
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/github_ops.py +226 -2
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/housekeeping.py +16 -13
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/interactive.py +14 -4
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/issue_store.py +35 -16
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/merge_queue.py +364 -49
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/notify.py +3 -1
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/openapi.py +7 -80
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/platform_paths.py +23 -3
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/portal_store.py +805 -94
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/portal_sync.py +268 -13
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/release_cordon.py +228 -20
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/release_propagate.py +10 -4
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/repo_edit.py +94 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/repo_onboard.py +224 -10
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/reports.py +13 -8
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/serve_app.py +333 -34
- code_coordinator-0.5.245/coord/sql.py +509 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/state.py +300 -211
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/test_chat.py +3 -1
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/test_orchestrator.py +3 -1
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/worker_events.py +41 -8
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/scripts/fleet_watchdog.py +12 -1
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/scripts/gen_board_fixture.py +12 -10
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/conftest.py +224 -4
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_acceptance_drivers.py +22 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_agent.py +118 -70
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_agent_app.py +44 -14
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_agent_branch_capture.py +12 -10
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_agent_reap.py +48 -2
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_agent_zero_commit.py +53 -47
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_audit_log.py +28 -2
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_board_fixture.py +10 -5
- code_coordinator-0.5.245/tests/test_board_schema.py +404 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cargo_cache.py +52 -23
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_acceptance.py +84 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_portal.py +502 -3
- code_coordinator-0.5.245/tests/test_commands_common.py +449 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_coord_test_runner_populated_home.py +35 -17
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_coord_test_runner_routing.py +3 -1
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_dao.py +34 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_dashboard_terminal.py +22 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_db.py +482 -0
- code_coordinator-0.5.245/tests/test_decomposition_chat.py +787 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_drive.py +102 -4
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_drive_queue.py +183 -11
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_drive_state.py +114 -8
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_epic_up_down_symlinked_config_1887.py +3 -1
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_filelock.py +10 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_fleet_watchdog.py +41 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_gates.py +27 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_github_ops.py +59 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_human_attended_437.py +7 -3
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_issue_store_seam.py +72 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_merge_queue.py +448 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_model_tiering.py +71 -44
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_openapi.py +3 -3
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_plan_only.py +9 -3
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_platform_paths.py +92 -0
- code_coordinator-0.5.245/tests/test_portal_store.py +1184 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_portal_sync.py +232 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_progress.py +22 -14
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_release_cordon_deadlock_2240.py +385 -0
- code_coordinator-0.5.245/tests/test_repo_add.py +540 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_repo_edit_2220.py +120 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_repo_onboard_2220.py +192 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_serve.py +16 -1
- code_coordinator-0.5.245/tests/test_sql_dialect.py +768 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_state.py +296 -2
- code_coordinator-0.5.245/tests/test_store_contract.py +1021 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_version_single_source.py +58 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_worker_events.py +58 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_worker_image_pin_sync.py +6 -4
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_worktree.py +52 -20
- code_coordinator-0.5.243/code_coordinator.egg-info/scm_version.json +0 -8
- code_coordinator-0.5.243/coord/commands/repo.py +0 -497
- code_coordinator-0.5.243/coord/decomposition_chat.py +0 -286
- code_coordinator-0.5.243/tests/test_decomposition_chat.py +0 -272
- code_coordinator-0.5.243/tests/test_portal_store.py +0 -465
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/.claude/commands/board.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/.claude/commands/complete-session.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/.claude/commands/coordinator.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/.githooks/_lib.sh +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/.githooks/post-checkout +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/.githooks/post-commit +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/.githooks/post-merge +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/.github/coord-ci-acceptance.yml +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/.github/workflows/auto-release.yml +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/.github/workflows/cargo-test.yml +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/.github/workflows/publish.yml +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/.github/workflows/release-tui.yml +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/.github/workflows/test.yml +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/.gitignore +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/GOAL.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/LICENSE +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/MANIFEST.in +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/README.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/code_coordinator.egg-info/dependency_links.txt +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/code_coordinator.egg-info/entry_points.txt +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/code_coordinator.egg-info/requires.txt +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/code_coordinator.egg-info/top_level.txt +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/_board_mapping.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/acceptance.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/agent_app.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/agent_update.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/agents/opencode/.gitignore +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/agents/opencode/agents/work.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/agents/opencode/routing.jsonc +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/approved_work.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/auto_loop.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/block_log.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/board_service.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/board_wire.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/brain.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/branch_model.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/bug_intake.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/cargo_cache.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/ci_fix.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/ci_github.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/ci_gitlab.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/ci_store.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/claim.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/cli.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/commands/__init__.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/commands/agent_ops.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/commands/audit.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/commands/drive.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/commands/gate_a.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/commands/gates.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/commands/issues.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/commands/lifecycle.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/commands/milestone.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/commands/plan_followup.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/commands/plans.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/commands/report.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/commands/review.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/commands/scorecard.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/commands/setup.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/commands/status.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/commands/terminal.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/commands/tui.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/comments.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/config.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/config_reload.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/confirm_test.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/conflict_fix.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/dashboard/__init__.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/dashboard/fixture.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/dashboard/index.html +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/dashboard/terminal.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/dead_end.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/deploy/README.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/deploy/coord-agent.service +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/deploy/coord-db-backup.service +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/deploy/coord-db-backup.sh +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/deploy/coord-db-backup.timer +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/deploy/coord-drive-queue.service +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/deploy/coord-drive-queue.timer +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/deploy/coord-failure-notify.service +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/deploy/coord-fleet-watchdog.service +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/deploy/coord-fleet-watchdog.timer +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/deploy/coord-notify.service +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/deploy/coord-notify.timer +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/deploy/coord-release-propagate.service +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/deploy/coord-release-propagate.timer +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/deploy/coord-release-window.service +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/deploy/coord-release-window.timer +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/deploy/coord-serve.service +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/deploy/coord-web-dist-build.service +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/deploy/coord-web-dist-build.timer +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/deploy/coord-web.service +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/deploy_manifest.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/deploy_units.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/deps.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/diagnose.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/dispatch.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/dist_name.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/events.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/failure_class.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/filelock.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/fleet_config_health.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/freshness.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/gate_a.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/gate_b.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/gate_snapshot.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/goal.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/graph_health.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/health/__init__.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/health/aggregate.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/health/checks/__init__.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/health/checks/agent_install.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/health/checks/cargo_targets.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/health/checks/claude_binary.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/health/checks/coord_web_ci_pin.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/health/checks/deploy_lane_facts.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/health/checks/disk.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/health/checks/fleet_board.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/health/checks/fleet_deploy_lanes.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/health/checks/fleet_phantom.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/health/checks/fleet_unit_drift.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/health/checks/graph.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/health/checks/graphify_cli.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/health/checks/index_lock.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/health/checks/plan_usage.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/health/checks/release_cordon.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/health/checks/repo_state.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/health/checks/spawned_coord.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/health/checks/stalled_pipeline.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/health/checks/timer_active.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/health/checks/toolchain.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/health/checks/unit_drift.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/health/checks/unit_enablement.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/health/checks/worktrees.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/health/cli.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/health/context.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/health/fleet_snapshot.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/health/models.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/health/pypi.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/health/registry.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/health/render.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/health/units.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/hooks.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/liveness_auditor.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/machine_pause.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/milestone_chat.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/milestone_dispatch.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/milestone_gate.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/milestone_order.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/mock_author.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/models.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/network.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/new_issue_chat.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/notifier/__init__.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/notifier/baseline.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/notifier/cli.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/notifier/collect.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/notifier/digest.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/notifier/models.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/notifier/predicate.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/notifier/service.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/notifier/store.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/notifier/transport.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/overlap_fence.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/overlap_predict.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/parentage.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/parentage_github.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/pipeline.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/plan_parser.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/plans.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/portal_bridge.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/pr_body_lint.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/prereqs.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/progress.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/providers/__init__.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/providers/base.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/providers/claude.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/providers/claude_pty.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/providers/opencode.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/queue_diagnose.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/reconcile.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/reconcile_tick.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/refine_chat.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/release_verify.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/release_window.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/revalidate.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/review.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/scorecard.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/self_health.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/skills/coord-dispatch-verbs/SKILL.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/skills/drive-queue-preflight/SKILL.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/skills/fleet-restart-safety/SKILL.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/skills/merge-stuck-triage/SKILL.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/skills/pipeline-limbo-triage/SKILL.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/skills/portal-followup/SKILL.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/skills/review-verdict-recovery/SKILL.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/skills/tui-quadraui-workflow/SKILL.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/skills/update-issue/SKILL.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/smoke.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/spend_ceiling.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/split_work.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/stage_projection.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/test_author.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/test_report.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/tui_release.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/usage.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/usage_limits.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coord/usage_rollup.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/coordinator.example.yml +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/deploy/coord-agent.service +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/deploy/coord-db-backup.service +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/deploy/coord-db-backup.sh +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/deploy/coord-db-backup.timer +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/deploy/coord-drive-queue.service +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/deploy/coord-drive-queue.timer +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/deploy/coord-failure-notify.service +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/deploy/coord-failure-notify.sh +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/deploy/coord-fleet-watchdog.service +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/deploy/coord-fleet-watchdog.timer +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/deploy/coord-notify.service +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/deploy/coord-notify.timer +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/deploy/coord-release-propagate.service +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/deploy/coord-release-propagate.timer +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/deploy/coord-release-window.service +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/deploy/coord-release-window.timer +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/deploy/coord-serve.service +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/deploy/coord-web-dist-build.service +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/deploy/coord-web-dist-build.sh +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/deploy/coord-web-dist-build.timer +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/deploy/coord-web-rollback.sh +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/deploy/coord-web.service +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/deploy/node-shim.sh +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/ADR_COORD_WEB_ACCEPTANCE_SUITE.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/ADR_COORD_WEB_CI.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/ADR_COORD_WEB_DIST.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/AGENT_OPERATIONS.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/ARCHITECTURE.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/ARCH_SECURITY_GATES.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/COCKPIT.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/CONTROL_CENTER.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/COST_DISCIPLINE.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/CROSS_PLATFORM.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/CUSTOMER_FACING_APPS.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/CUSTOMER_PORTAL.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/DRIVE_QUEUE.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/EPHEMERAL_WORKERS.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/FORGE_MIGRATION.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/GRAPHIFY_SETUP.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/ISSUE_GUIDANCE.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/MAC_MINI.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/MERGE_AUTO_DRAIN_TRUST_BAR.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/NOTIFIER.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/OPENCODE_VERIFICATION.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/OPERATING_GOTCHAS.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/ORACLE_LOOP.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/PHONE_WEBAPP.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/PIPELINE_V2.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/PLATFORM_EVOLUTION.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/SECOND_BACKEND.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/STORE_SERVICE.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/TEST_FIRST_BUG_LANE.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/WEB_CONTROL_CENTER.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/WSL_WINDOWS_WORKER.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/mocks/web/README.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/mocks/web/_tokens.css +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/mocks/web/issue-detail.html +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/mocks/web/pipeline-narrow.html +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/docs/mocks/web/pipeline-wide.html +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/graphify-out/.gitignore +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/install-agent.sh +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/pyproject.toml +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/scripts/audit_review_verdict_overrides.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/scripts/azure-workers/bootstrap-shared.sh +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/scripts/azure-workers/build-worker-image.sh +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/scripts/azure-workers/coordinator-machine.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/scripts/azure-workers/epic-down.sh +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/scripts/azure-workers/epic-up.sh +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/scripts/azure-workers/preflight.sh +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/scripts/azure-workers/provision-worker.sh +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/scripts/azure-workers/scrub-and-generalize.sh +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/scripts/azure-workers/tailnet-acl.hujson +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/scripts/azure-workers/verify-github-token.sh +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/scripts/check_gh_argv_containment.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/scripts/codegen.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/scripts/coord-test-runner.sh +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/scripts/coord-venv-rollback.sh +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/scripts/drive-batch.sh +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/scripts/gen_mock_index.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/scripts/next_release_tag.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/scripts/run_tests_in_populated_home.sh +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/scripts/run_tests_without_gh.sh +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/scripts/smoke_437_interactive.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/scripts/verify_878_review_capture.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/scripts/verify_release_published.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/scripts/verify_release_wheel.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/setup.cfg +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/SMOKE_SET.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/__init__.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-33/audit_1039.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-33/contract.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-33/manifest.yml +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-33/mocks/audit-panel-detail.screen +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-33/mocks/audit-panel-empty.screen +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-33/mocks/audit-panel-filters.screen +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-33/mocks/audit-panel-populated.screen +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-37/conftest.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-37/contract.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-37/manifest.yml +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-37/test_usage_cli_1115.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-37/test_usage_core_1118.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-38/contract.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-38/manifest.yml +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-38/mocks/plans-base.screen +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-38/mocks/plans-detail-pane.screen +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-38/mocks/plans-help-overlay.screen +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-38/mocks/plans-palette.screen +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-38/mocks/plans-rightclick-epic.screen +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-38/mocks/plans-rightclick-header.screen +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-38/mocks/plans-rightclick-stub.screen +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-38/plans_detail_1122.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-38/plans_help_1124.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-38/plans_rightclick_1123.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-51/contract.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-51/home-active-extended.spec.ts +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-51/home-active.spec.ts +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-51/manifest.yml +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-51/mocks/home-active.html +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-51/tsconfig.json +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-65/board_split_2288.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-65/board_tabs_2282.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-65/board_tabs_close_2283.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-65/contract.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-65/detail_substate_2285.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-65/manifest.yml +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-65/mocks/board-baseline-no-tabs.screen +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-65/mocks/board-pinned-3-tabs.screen +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-65/mocks/board-preview-tab.screen +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-65/mocks/board-split-side-by-side.screen +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-65/mocks/board-tab-context-menu.screen +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-65/mocks/board-tabs-help-overlay.screen +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-65/mocks/board-tabs-overflow.screen +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-65/mocks/pipeline-tabs-independent.screen +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-65/pipeline_tabs_2284.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-65/tabs_discoverability_2287.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-65/tabs_persistence_2286.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-67/approved_items_2532.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-67/contract.md +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-67/manifest.d/2533.yml +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-67/manifest.yml +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-67/mocks/approved-items-chat-opened.screen +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-67/mocks/approved-items-context-menu.screen +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-67/mocks/approved-items-detail.screen +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-67/mocks/approved-items-empty.screen +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-67/mocks/approved-items-populated.screen +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-67/pull_decomposition_2533.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/acceptance/ms-example/mocks/home-active.html +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/fixtures/board-pipeline-basic.json +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/fixtures/board-pipeline-terminal-gates.json +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/fixtures/opencode_run_failure_sample.jsonl +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/fixtures/opencode_run_length_sample.jsonl +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/fixtures/opencode_run_sample.jsonl +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/fixtures/playwright/all_pass.json +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/fixtures/playwright/global_setup_crash.json +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/fixtures/playwright/mixed_fail.json +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/fixtures/playwright/retry_then_pass.json +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/fixtures/playwright/retry_then_pass.junit.xml +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/fixtures/playwright/skip.json +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/fixtures/playwright/truncated.json +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/fixtures/test_report/cargo_compile_error.txt +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/fixtures/test_report/cargo_multi_target_failures.txt +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/fixtures/test_report/cargo_no_parseable_failures.txt +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/fixtures/test_report/pytest_collection_error.txt +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/fixtures/test_report/pytest_error_string_in_body.txt +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/fixtures/test_report/pytest_internal_error.txt +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/fixtures/test_report/pytest_mixed_failures.txt +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/fixtures/test_report/pytest_no_parseable_failures.txt +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_acceptance.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_agent_api_error.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_agent_branch_base.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_agent_config_free_1712.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_agent_deploy_units_endpoint.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_agent_dirty_worktree.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_agent_drive_queue_reconcile_2373.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_agent_graph_self_heal.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_agent_health_h3.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_agent_idle_restart.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_agent_push_failure.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_agent_repos_and_pull.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_agent_restart_services_endpoint.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_agent_skills_self_heal.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_agent_startup_diagnostics.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_agent_update.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_agent_update_bluegreen.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_agent_usage_limit.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_ambient_home_isolation.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_approve_reject_plan.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_approve_usage_gate.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_approved_work_2532.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_assignment_already_recorded_daemon.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_audit_outcome.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_audit_query.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_auto_loop.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_auto_release_publish_2035.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_base_checkout_restore.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_block_log.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_board_cap_762.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_board_read_path.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_board_service.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_board_state.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_board_wire.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_brain.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_branch_model.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_bug_intake.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_build_worker_image_env_update.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_check_gh_argv_containment.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_ci_acceptance_gate_1950.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_ci_fix.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_ci_gitlab.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_ci_parity_2091.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_ci_store.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_claim.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_assign.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_assign_interactive_oracle_gate.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_assign_interactive_remote.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_assign_provider.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_assign_repo_drift_2219.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_audit.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_chat_continue.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_decide.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_diagnose_config_provenance.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_diagnose_forge_availability.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_diagnose_graph.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_diagnose_self.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_doctor.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_doctor_config_free_1801.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_doctor_config_mismatch_1712.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_drive.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_drive_queue.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_escalate.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_fix_headless_review.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_gate_a.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_install_drift.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_install_skills.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_issue_comment.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_issue_create_label.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_issue_reopen.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_issue_view_list.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_merge.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_milestone_assign.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_milestone_capture.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_milestone_chat_add_child.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_milestone_dispatch.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_milestone_gate_b.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_milestone_gate_c.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_milestone_order.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_milestone_remove_and_issue_close.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_milestone_ship.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_network.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_new_issue_chat.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_plans.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_pull_artifact.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_queue.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_reattach_sessions.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_refine_board.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_release_preflight.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_release_propagate.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_release_window.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_repo_2220.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_review_test_author_tracking_epic_2639.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_scorecard.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_set_review_findings.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_status_advisory_terminal.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_status_contested_tag.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_status_merge_queue.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_status_provider.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_status_review_finalizing.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_status_test_failed_tag.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_status_usage_limit.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_sync_comments_873.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_test_plan.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_track.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_tui_update.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cli_wait.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_client_base_install.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_comments.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_completion_summary.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_config.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_config_acceptance.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_config_audit.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_config_pricing.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_config_snapshot_noncanonical_2208.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_config_usage_gate.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_confirm_test.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_conflict_fix.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_conflict_fix_semantic.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_coord_log_daemon_fallback_2547.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_coord_test.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_coord_test_runner_baseline.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_coord_test_runner_toolchain.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_coord_uat.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_coord_web_sse_restart_live.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_coordinator_machine.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_cross_platform_imports.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_dashboard.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_dashboard_fixture.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_dashboard_terminal_live.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_dead_end.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_deploy_coord_db_backup.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_deploy_coord_web_dist.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_deploy_coord_web_rollback.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_deploy_drive_queue_unit.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_deploy_failure_notify_unit.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_deploy_manifest.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_deploy_notify_unit.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_deploy_units_lane.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_deploy_web_unit.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_deps.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_diagnose.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_dispatch.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_dispatch_target_validation.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_dist_name.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_done_housekeeping.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_drive_queue_blocked_rendering.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_drive_queue_launch_argv.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_drive_queue_max_parallel_per_repo_config.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_drive_queue_roll_pending.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_drive_queue_self_cordon_escalation.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_drive_tmux.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_epic_up_capability_detection.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_epic_up_image_provenance.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_errors.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_events.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_failure_class.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_finalize_interactive_exit_test_verdict.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_fix_of_force_override.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_fleet_config_health.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_fleet_health_probes.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_fleet_health_snapshot.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_forge_availability.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_freshness.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_gate_a.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_gate_b.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_gate_snapshot_staleness.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_gather_fleet_tmux_sessions.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_gen_mock_index.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_generated_types_fixture.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_goal.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_graph_health.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_graph_selfheal_absent_2237.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_handoff.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_health_checks.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_health_cli.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_health_cli_graph.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_health_config.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_health_context.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_health_coord_web_ci_pin.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_health_deploy_lane_facts.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_health_fix.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_health_incident_regression.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_health_pypi.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_health_registry.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_health_release_cordon_probe.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_health_timer_active.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_health_toolchain.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_health_unit_drift.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_health_unit_enablement.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_hooks.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_init.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_integration.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_interactive_briefing_echo.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_interactive_pane_log_2541.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_interactive_prefill_state.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_interactive_session_relaunch.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_interactive_test_verdict_backstop.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_interactive_token_attribution.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_interactive_worktree.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_liveness_auditor.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_liveness_notify.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_machine_pause.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_merge_verify.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_milestone_chat.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_milestone_dispatch.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_milestone_gate.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_milestone_order.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_milestone_seam.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_mock_author.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_models.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_models_config_labels.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_needs_attention.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_network.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_new_issue_chat.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_next_release_tag.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_node_shim.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_notifier_baseline.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_notifier_cli.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_notifier_collect.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_notifier_config.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_notifier_drive_seam.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_notifier_isolation.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_notifier_predicate.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_notifier_quiet_hours.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_notifier_service.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_notify.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_notify_drain.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_operational_defaults.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_overlap_fence.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_overlap_predict.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_packaged_deploy_units.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_parentage.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_paste_landed.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_phantom_heal_venv_independence_2570.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_pipeline.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_plan_followup_approve_plan_command.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_plan_followup_pr_command.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_plan_followup_review_command.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_plan_parser.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_portal_bridge.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_portal_config.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_pr_body_lint.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_prereqs.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_production_db_guard.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_provider_seam.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_providers.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_providers_config_labels.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_providers_pty.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_quiet_hours.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_quiet_hours_store_2146.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_reap_merged_sessions.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_reap_stale_interactive_tick.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_reconcile.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_reconcile_branch.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_reconcile_completions.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_reconcile_late_agent_reports_2547.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_reconcile_merges.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_reconcile_no_agent_record.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_reconcile_tick.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_reconcile_usage_limit_done.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_refine_chat.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_release_cordon_2101.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_release_cordon_daemon_leads_2176.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_release_cordon_stuck_2490.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_release_propagate.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_release_propagate_threshold.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_release_roll_window_handoff.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_release_unified_1242.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_release_verify.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_release_window.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_remote_auto_prune.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_remote_interactive_reaper.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_repo_graph_fleet_2237.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_report_result_push.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_reports.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_retry.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_retry_advisory_1606.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_retry_type_1636.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_revalidate.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_review.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_review_end_review_without_verdict.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_review_parse_failure_diagnostic.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_review_reaffirm.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_review_state.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_review_verdict_backstop.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_review_verdict_override_audit.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_review_verdict_relay.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_review_zero_commits.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_scoped_review_wiring.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_scorecard.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_self_health.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_serve_app_board_trim.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_session.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_slice_issue_attribution.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_smoke.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_smoke_live_checkout_restore.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_smoke_workflow.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_spend_ceiling.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_spend_ceiling_coordinator.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_split.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_split_work.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_stage_projection.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_stalled_pipeline.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_state_review_findings_daemon.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_status_fleet_footer.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_stop_1567.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_stuck.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_terminal_command.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_test_author.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_test_chat.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_test_orchestrator.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_test_report.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_test_verdict_parsing.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_test_verdict_transcript_floor.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_text_io_encoding_audit.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_thin_client_board_audit.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_thin_client_config_load_1080.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_thin_client_daemon_routing_906.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_tmux_host.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_tmux_session.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_transcript_floor.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_usage.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_usage_limits.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_usage_rollup.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_venv_live_install_2121.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_watch.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_windows_job_is_a_real_gate_2000.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_worker_env_venv_isolation.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_worker_safety.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_worker_test_scoping.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tests/test_worktree_rmtree_chokepoint.py +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/Cargo.lock +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/Cargo.toml +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/cargo-config-local-quadraui.toml.example +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/src/app/approved.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/src/app/audit.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/src/app/chat.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/src/app/data.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/src/app/dialogs.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/src/app/doc_tabs.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/src/app/drive.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/src/app/drive_queue.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/src/app/escalation.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/src/app/events.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/src/app/fixtures.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/src/app/fleet_health.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/src/app/fleet_sessions.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/src/app/fleet_terminals.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/src/app/format.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/src/app/milestone_dag.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/src/app/mod.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/src/app/msv.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/src/app/pipeline.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/src/app/plans.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/src/app/render.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/src/app/reports.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/src/app/sessions.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/src/app/settings_ui.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/src/app/sidebar.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/src/app/terminal.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/src/app/tests.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/src/app/types.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/src/app/workspace.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/src/bin/gtk.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/src/commands.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/src/lib.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/src/main.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/src/settings.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/tests/acceptance.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/tests/cli.rs +0 -0
- {code_coordinator-0.5.243 → code_coordinator-0.5.245}/tui/tests/fixtures/board_sample.json +0 -0
|
@@ -223,10 +223,9 @@ versus keep in the coordinator session) are in
|
|
|
223
223
|
bypassed by the one class of session most likely to reach for `gh` out of habit. Reads are
|
|
224
224
|
covered too — `coord issue list` and `coord issue view` shipped in #2484, so a plain issue
|
|
225
225
|
listing/search or an issue-plus-comments lookup has no excuse to reach for `gh`. Where no
|
|
226
|
-
`coord` subcommand covers what's needed —
|
|
227
|
-
`coord
|
|
228
|
-
|
|
229
|
-
or file, not a silent workaround.
|
|
226
|
+
`coord` subcommand covers what's needed — the seam is wide but not total, so check
|
|
227
|
+
`coord <group> --help` before concluding either way — falling back to `gh` for that one call is
|
|
228
|
+
fine, but say so and treat it as a gap to flag or file, not a silent workaround.
|
|
230
229
|
|
|
231
230
|
## Testing — black-box coverage is the acceptance bar
|
|
232
231
|
|
|
@@ -41,6 +41,7 @@ coord/audit.py
|
|
|
41
41
|
coord/auto_loop.py
|
|
42
42
|
coord/block_log.py
|
|
43
43
|
coord/board_bool_guard.py
|
|
44
|
+
coord/board_schema.py
|
|
44
45
|
coord/board_service.py
|
|
45
46
|
coord/board_wire.py
|
|
46
47
|
coord/brain.py
|
|
@@ -135,6 +136,7 @@ coord/serve_app.py
|
|
|
135
136
|
coord/smoke.py
|
|
136
137
|
coord/spend_ceiling.py
|
|
137
138
|
coord/split_work.py
|
|
139
|
+
coord/sql.py
|
|
138
140
|
coord/stage_projection.py
|
|
139
141
|
coord/state.py
|
|
140
142
|
coord/test_author.py
|
|
@@ -390,6 +392,7 @@ tests/test_block_log.py
|
|
|
390
392
|
tests/test_board_cap_762.py
|
|
391
393
|
tests/test_board_fixture.py
|
|
392
394
|
tests/test_board_read_path.py
|
|
395
|
+
tests/test_board_schema.py
|
|
393
396
|
tests/test_board_service.py
|
|
394
397
|
tests/test_board_state.py
|
|
395
398
|
tests/test_board_wire.py
|
|
@@ -470,6 +473,7 @@ tests/test_cli_track.py
|
|
|
470
473
|
tests/test_cli_tui_update.py
|
|
471
474
|
tests/test_cli_wait.py
|
|
472
475
|
tests/test_client_base_install.py
|
|
476
|
+
tests/test_commands_common.py
|
|
473
477
|
tests/test_comments.py
|
|
474
478
|
tests/test_completion_summary.py
|
|
475
479
|
tests/test_config.py
|
|
@@ -660,6 +664,7 @@ tests/test_release_verify.py
|
|
|
660
664
|
tests/test_release_window.py
|
|
661
665
|
tests/test_remote_auto_prune.py
|
|
662
666
|
tests/test_remote_interactive_reaper.py
|
|
667
|
+
tests/test_repo_add.py
|
|
663
668
|
tests/test_repo_edit_2220.py
|
|
664
669
|
tests/test_repo_graph_fleet_2237.py
|
|
665
670
|
tests/test_repo_onboard_2220.py
|
|
@@ -692,12 +697,14 @@ tests/test_spend_ceiling.py
|
|
|
692
697
|
tests/test_spend_ceiling_coordinator.py
|
|
693
698
|
tests/test_split.py
|
|
694
699
|
tests/test_split_work.py
|
|
700
|
+
tests/test_sql_dialect.py
|
|
695
701
|
tests/test_stage_projection.py
|
|
696
702
|
tests/test_stalled_pipeline.py
|
|
697
703
|
tests/test_state.py
|
|
698
704
|
tests/test_state_review_findings_daemon.py
|
|
699
705
|
tests/test_status_fleet_footer.py
|
|
700
706
|
tests/test_stop_1567.py
|
|
707
|
+
tests/test_store_contract.py
|
|
701
708
|
tests/test_stuck.py
|
|
702
709
|
tests/test_terminal_command.py
|
|
703
710
|
tests/test_test_author.py
|
{code_coordinator-0.5.243 → code_coordinator-0.5.245}/code_coordinator.egg-info/scm_file_list.json
RENAMED
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
"coord/auto_loop.py",
|
|
36
36
|
"coord/block_log.py",
|
|
37
37
|
"coord/board_bool_guard.py",
|
|
38
|
+
"coord/board_schema.py",
|
|
38
39
|
"coord/board_service.py",
|
|
39
40
|
"coord/board_wire.py",
|
|
40
41
|
"coord/brain.py",
|
|
@@ -242,6 +243,7 @@
|
|
|
242
243
|
"coord/smoke.py",
|
|
243
244
|
"coord/spend_ceiling.py",
|
|
244
245
|
"coord/split_work.py",
|
|
246
|
+
"coord/sql.py",
|
|
245
247
|
"coord/stage_projection.py",
|
|
246
248
|
"coord/state.py",
|
|
247
249
|
"coord/test_author.py",
|
|
@@ -462,6 +464,7 @@
|
|
|
462
464
|
"tests/test_board_cap_762.py",
|
|
463
465
|
"tests/test_board_fixture.py",
|
|
464
466
|
"tests/test_board_read_path.py",
|
|
467
|
+
"tests/test_board_schema.py",
|
|
465
468
|
"tests/test_board_service.py",
|
|
466
469
|
"tests/test_board_state.py",
|
|
467
470
|
"tests/test_board_wire.py",
|
|
@@ -542,6 +545,7 @@
|
|
|
542
545
|
"tests/test_cli_tui_update.py",
|
|
543
546
|
"tests/test_cli_wait.py",
|
|
544
547
|
"tests/test_client_base_install.py",
|
|
548
|
+
"tests/test_commands_common.py",
|
|
545
549
|
"tests/test_comments.py",
|
|
546
550
|
"tests/test_completion_summary.py",
|
|
547
551
|
"tests/test_config.py",
|
|
@@ -732,6 +736,7 @@
|
|
|
732
736
|
"tests/test_release_window.py",
|
|
733
737
|
"tests/test_remote_auto_prune.py",
|
|
734
738
|
"tests/test_remote_interactive_reaper.py",
|
|
739
|
+
"tests/test_repo_add.py",
|
|
735
740
|
"tests/test_repo_edit_2220.py",
|
|
736
741
|
"tests/test_repo_graph_fleet_2237.py",
|
|
737
742
|
"tests/test_repo_onboard_2220.py",
|
|
@@ -764,12 +769,14 @@
|
|
|
764
769
|
"tests/test_spend_ceiling_coordinator.py",
|
|
765
770
|
"tests/test_split.py",
|
|
766
771
|
"tests/test_split_work.py",
|
|
772
|
+
"tests/test_sql_dialect.py",
|
|
767
773
|
"tests/test_stage_projection.py",
|
|
768
774
|
"tests/test_stalled_pipeline.py",
|
|
769
775
|
"tests/test_state.py",
|
|
770
776
|
"tests/test_state_review_findings_daemon.py",
|
|
771
777
|
"tests/test_status_fleet_footer.py",
|
|
772
778
|
"tests/test_stop_1567.py",
|
|
779
|
+
"tests/test_store_contract.py",
|
|
773
780
|
"tests/test_stuck.py",
|
|
774
781
|
"tests/test_terminal_command.py",
|
|
775
782
|
"tests/test_test_author.py",
|
|
@@ -40,10 +40,28 @@ def _editable_source_root(dist_name: str) -> Path | None:
|
|
|
40
40
|
substring match on ``__file__`` (a non-editable install into a venv
|
|
41
41
|
satisfies that too, and its metadata IS trustworthy since it's a
|
|
42
42
|
frozen snapshot rather than a claim about live source).
|
|
43
|
+
|
|
44
|
+
#2728: the URL's path component must go through
|
|
45
|
+
``urllib.request.url2pathname`` (platform-dispatched), not a bare
|
|
46
|
+
``urllib.parse.unquote``. pip writes this URL via
|
|
47
|
+
``pathname2url``/``path_to_url``, which on Windows produces
|
|
48
|
+
``file:///C:/Users/...`` — ``urlparse`` yields a path of
|
|
49
|
+
``/C:/Users/...``, and handing that straight to ``pathlib.Path`` does
|
|
50
|
+
NOT recover ``C:\\Users\\...``: Windows path parsing only recognises a
|
|
51
|
+
drive letter at the very start of the string, so a leading slash before
|
|
52
|
+
``C:`` makes the whole thing parse as a driveless, rooted path (a
|
|
53
|
+
literal top-level folder named ``C:``) that can never exist. ``root
|
|
54
|
+
.is_dir()`` then reads False on every Windows editable install, no
|
|
55
|
+
exception raised, and ``_resolve_version`` silently falls through to
|
|
56
|
+
the frozen ``.dist-info`` snapshot — the exact pre-#2010 symptom,
|
|
57
|
+
reintroduced Windows-only. ``url2pathname`` is ``unquote`` verbatim on
|
|
58
|
+
POSIX (no behaviour change there) and is ``nturl2path.url2pathname`` on
|
|
59
|
+
Windows, which strips that leading slash before the drive letter.
|
|
43
60
|
"""
|
|
44
61
|
import json # noqa: PLC0415
|
|
45
62
|
from pathlib import Path # noqa: PLC0415
|
|
46
|
-
from urllib.parse import
|
|
63
|
+
from urllib.parse import urlparse # noqa: PLC0415
|
|
64
|
+
from urllib.request import url2pathname # noqa: PLC0415
|
|
47
65
|
|
|
48
66
|
try:
|
|
49
67
|
raw = Distribution.from_name(dist_name).read_text("direct_url.json")
|
|
@@ -55,7 +73,7 @@ def _editable_source_root(dist_name: str) -> Path | None:
|
|
|
55
73
|
parsed = urlparse(info.get("url", ""))
|
|
56
74
|
if parsed.scheme != "file" or not parsed.path:
|
|
57
75
|
return None
|
|
58
|
-
root = Path(
|
|
76
|
+
root = Path(url2pathname(parsed.path))
|
|
59
77
|
return root if root.is_dir() else None
|
|
60
78
|
|
|
61
79
|
|
|
@@ -49,6 +49,20 @@ from pathlib import Path
|
|
|
49
49
|
# adapter landing, but running it must fail loudly rather than silently no-op.
|
|
50
50
|
SUPPORTED_KINDS = ("tui-tuidriver", "cli-pytest", "web-playwright")
|
|
51
51
|
|
|
52
|
+
# #2748 (IL-2): driver kinds whose `run` produces a real pass/fail verdict
|
|
53
|
+
# but NOT yet a deterministic one, because an input they depend on hasn't
|
|
54
|
+
# shipped. `web-playwright` is the one case today — the driver itself
|
|
55
|
+
# landed (#1539), but the seeded-board fixture server it needs to run
|
|
56
|
+
# against a fixed, known state (#1538) has not, so a run against a live
|
|
57
|
+
# fleet observes whatever that fleet happens to be doing rather than a
|
|
58
|
+
# pinned fixture (CLAUDE.md's web-playwright section: "a smoke net, not a
|
|
59
|
+
# deterministic oracle"). `coord.repo_onboard`'s oracle-readiness layer
|
|
60
|
+
# reads this to report the gap explicitly instead of a driver-present repo
|
|
61
|
+
# silently reading as fully oracle-ready. Kept here (not in coord.config)
|
|
62
|
+
# because it is exactly the kind of "which medium behaves how" fact this
|
|
63
|
+
# module already owns — see the module docstring.
|
|
64
|
+
FIXTURE_SERVER_DEPENDENT_KINDS = frozenset({"web-playwright"})
|
|
65
|
+
|
|
52
66
|
# libtest's ``--format json`` per-line test-event stream (`cargo test -- -Z
|
|
53
67
|
# unstable-options --format json`) event -> our normalized status.
|
|
54
68
|
_LIBTEST_EVENT_STATUS = {"ok": "pass", "failed": "fail", "ignored": "skip"}
|
|
@@ -3945,25 +3945,44 @@ MILESTONE_CHAT_DENY_COMMANDS: list[str] = [
|
|
|
3945
3945
|
|
|
3946
3946
|
DECOMPOSITION_CHAT_SYSTEM_PROMPT = """\
|
|
3947
3947
|
You are a decomposition steward for a customer's APPROVED portal submission \
|
|
3948
|
-
that an operator just pulled into this session
|
|
3949
|
-
|
|
3950
|
-
|
|
3951
|
-
session
|
|
3952
|
-
|
|
3953
|
-
|
|
3954
|
-
|
|
3955
|
-
|
|
3956
|
-
The first user message carries:
|
|
3957
|
-
|
|
3958
|
-
|
|
3959
|
-
(
|
|
3960
|
-
|
|
3961
|
-
|
|
3948
|
+
that an operator just pulled into this session (#2533, ms-67 contract §4; \
|
|
3949
|
+
#2750, IL-4 — "the intake session"). This is ONE ITERATION of a possibly \
|
|
3950
|
+
multi-day, multi-session intake — a client round-trip takes days, so no \
|
|
3951
|
+
single session can sit and wait for one. Every iteration is disposable; the \
|
|
3952
|
+
`coord portal` ledger (Q&A, decisions, narrative) is what's durable, and it \
|
|
3953
|
+
is what makes it safe for a LATER iteration on a DIFFERENT machine to pick \
|
|
3954
|
+
up exactly where this one left off with no memory of this conversation.
|
|
3955
|
+
|
|
3956
|
+
The first user message carries, in order: a MODE line (`MODE: FILE` or \
|
|
3957
|
+
`MODE: DISCUSS`) naming which posture this iteration runs in and WHY it was \
|
|
3958
|
+
picked — say so yourself, verbatim, as the first line of your own final \
|
|
3959
|
+
response (a session that silently chose to file instead of asking is \
|
|
3960
|
+
exactly the failure this design exists to prevent); the submission's \
|
|
3961
|
+
OUTCOME, AUDIENCE, DONE DEFINITION, and CONSTRAINTS; its mapped repo(s); \
|
|
3962
|
+
`coordinator.yml` topology context for those repo(s) (depends_on, which \
|
|
3963
|
+
machines claim each repo); and a RUNNING CONTEXT section rendering the \
|
|
3964
|
+
submission's full ledger so far — every question asked and (if answered) \
|
|
3965
|
+
its answer, every decision on record (current and archived, archived ones \
|
|
3966
|
+
carrying WHY they were ruled out), and the current narrative. Read \
|
|
3967
|
+
RUNNING CONTEXT before doing anything else: never re-ask a question already \
|
|
3968
|
+
answered there, and never re-propose a decision already archived there \
|
|
3969
|
+
without new information that changes the calculus — cite the existing \
|
|
3970
|
+
entry's seq/reason if the operator or a re-briefed fact brings it up again.
|
|
3971
|
+
|
|
3972
|
+
You can always re-fetch the live ledger mid-session with:
|
|
3973
|
+
|
|
3974
|
+
coord portal ledger <submission_id>
|
|
3975
|
+
|
|
3976
|
+
(add `--json` for the raw structured form) — useful in a long-running \
|
|
3977
|
+
`--interactive` conversation where the operator may answer something out of \
|
|
3978
|
+
band while you're mid-thought.
|
|
3979
|
+
|
|
3980
|
+
── Filing a decomposition (MODE: FILE, or MODE: DISCUSS's "Decompose" exit) ──
|
|
3981
|
+
|
|
3962
3982
|
1. Decide whether this is ORACLE-LOOP-SHAPED work (docs/ORACLE_LOOP.md) — \
|
|
3963
3983
|
big or cross-cutting enough to warrant a Gate-A contract + independent \
|
|
3964
|
-
test-author, or small enough to skip straight to normal dispatch.
|
|
3965
|
-
|
|
3966
|
-
explicit confirmation before filing, but flag your reasoning.
|
|
3984
|
+
test-author, or small enough to skip straight to normal dispatch. Flag your \
|
|
3985
|
+
reasoning even when it's obvious.
|
|
3967
3986
|
2. Produce one or more GitHub issues describing the work, using:
|
|
3968
3987
|
|
|
3969
3988
|
coord issue create <repo> --title '<title>' --body '<body>'
|
|
@@ -3997,31 +4016,116 @@ silently. Say so explicitly in your final summary to the operator (e.g. \
|
|
|
3997
4016
|
"this submission has no recorded portal link — coord portal link only \
|
|
3998
4017
|
covers milestones, and #2533's own dispatcher found no equivalent for a \
|
|
3999
4018
|
one-off issue"), so the gap is visible rather than silently lost.
|
|
4019
|
+
5. Archive the decision trail onto the epic (#2750 — "every iteration must \
|
|
4020
|
+
record its rejections with reasons", surfaced where the next human to read \
|
|
4021
|
+
the epic will actually see it, not just in `coord portal ledger`). When a \
|
|
4022
|
+
milestone/epic was filed in step 2: run `coord portal ledger <submission_id>` \
|
|
4023
|
+
(read-only), take its "## Decisions" and "## Archive (superseded / \
|
|
4024
|
+
rejected)" sections verbatim, and splice them onto the epic's body under a \
|
|
4025
|
+
`## Decisions` heading — read the epic's current body (e.g. `gh issue view \
|
|
4026
|
+
<epic> --json body -q .body`), append the section (or replace a pre-existing \
|
|
4027
|
+
`## Decisions` heading in place — do not duplicate it), and write it back \
|
|
4028
|
+
with `coord issue edit <repo> <epic> --body-file <tmpfile>` (never raw `gh \
|
|
4029
|
+
issue edit`). Skip this step only when the ledger has no decisions at all \
|
|
4030
|
+
(a submission that never went through a MODE: DISCUSS iteration) — say so \
|
|
4031
|
+
rather than writing an empty section.
|
|
4032
|
+
|
|
4033
|
+
── MODE: DISCUSS — ask / propose / decompose ──
|
|
4034
|
+
|
|
4035
|
+
Your first user message said `MODE: DISCUSS` because the submission is \
|
|
4036
|
+
under-specified or the mapped repo is greenfield (#2750's own mechanical \
|
|
4037
|
+
triggers — missing done-definition/audience, or no commits/no CLAUDE.md on \
|
|
4038
|
+
the mapped repo yet). Filing straight through here means inventing an \
|
|
4039
|
+
architecture or a done-definition on the client's behalf and queuing real \
|
|
4040
|
+
work against the guess. Instead, THIS iteration ends in EXACTLY ONE of \
|
|
4041
|
+
three terminal moves — never zero, never more than one:
|
|
4042
|
+
|
|
4043
|
+
1. ASK — when what's missing can only come from the CLIENT (not from the \
|
|
4044
|
+
operator, not from repo history, not from a reasonable judgment call you \
|
|
4045
|
+
could make yourself). Prefer ONE well-formed question: the portal's \
|
|
4046
|
+
composer on the client's side pauses on the most recent question only, so \
|
|
4047
|
+
a scattershot list gets a partial answer at best. Then:
|
|
4048
|
+
|
|
4049
|
+
coord portal enqueue-question <submission_id> "<question>"
|
|
4050
|
+
coord portal enqueue-status <submission_id> needs-input
|
|
4051
|
+
|
|
4052
|
+
and STOP — end your final turn summarizing the question and why, and run \
|
|
4053
|
+
nothing else this iteration (no filing, no decisions). IL-3's consumer \
|
|
4054
|
+
wakes the next iteration once the client answers.
|
|
4055
|
+
|
|
4056
|
+
2. PROPOSE — when you CAN make a reasonable judgment call on the client's \
|
|
4057
|
+
behalf (an architecture/stack/framework choice, a scope cut, anything a \
|
|
4058
|
+
competent operator could just decide) but it deserves OPERATOR sign-off \
|
|
4059
|
+
before it becomes load-bearing — this is OPERATOR-facing, never portal-\
|
|
4060
|
+
facing; the client is never asked to adjudicate a framework choice. Record \
|
|
4061
|
+
your recommendation:
|
|
4062
|
+
|
|
4063
|
+
coord portal decision propose <submission_id> "<decision text>"
|
|
4064
|
+
|
|
4065
|
+
Then, in the SAME iteration, record every alternative you seriously \
|
|
4066
|
+
considered and ruled OUT — with a reason — so a later iteration doesn't \
|
|
4067
|
+
re-litigate it (#2750: "without recorded rejections you re-litigate"):
|
|
4068
|
+
|
|
4069
|
+
coord portal decision propose <submission_id> "<alternative text>"
|
|
4070
|
+
coord portal decision reject <submission_id> <alt_seq> "<why ruled out>"
|
|
4071
|
+
|
|
4072
|
+
If you're REVISING a decision an earlier iteration already proposed or \
|
|
4073
|
+
confirmed (not a same-iteration alternative), use supersede instead of \
|
|
4074
|
+
reject so the earlier text stays on record rather than reading as an \
|
|
4075
|
+
outright mistake:
|
|
4076
|
+
|
|
4077
|
+
coord portal decision supersede <submission_id> <old_seq> <new_seq>
|
|
4078
|
+
|
|
4079
|
+
Then STOP — summarize every proposal and rejection for the operator and \
|
|
4080
|
+
run nothing else. Do NOT confirm your own proposal (`coord portal decision \
|
|
4081
|
+
confirm` is the operator's move, taken outside this session) and do NOT \
|
|
4082
|
+
file or queue anything until a later iteration is briefed with a confirmed \
|
|
4083
|
+
decision. Confirmation is what starts that next iteration.
|
|
4084
|
+
|
|
4085
|
+
3. DECOMPOSE — when done_definition/audience are captured (directly, or \
|
|
4086
|
+
settled via decisions now CONFIRMED in RUNNING CONTEXT) and every mapped \
|
|
4087
|
+
repo has something to decompose against. Follow "Filing a decomposition" \
|
|
4088
|
+
above in full, including step 5's decision archive.
|
|
4089
|
+
|
|
4090
|
+
If genuinely nothing has changed since the last iteration (re-briefed with \
|
|
4091
|
+
no new answer and no new information), say so explicitly and re-Ask or \
|
|
4092
|
+
re-Propose rather than inventing new work to look productive.
|
|
4000
4093
|
|
|
4001
4094
|
Rules:
|
|
4002
4095
|
- Do NOT run raw `gh issue create`/`gh issue edit`/`gh pr *`/`gh api -X \
|
|
4003
4096
|
POST|PATCH|DELETE` or any other mutating `gh` command — the write paths \
|
|
4004
|
-
above (`coord issue create`, `coord
|
|
4005
|
-
drive-queue add`, `coord portal link
|
|
4097
|
+
above (`coord issue create`, `coord issue edit --body-file`, `coord \
|
|
4098
|
+
milestone create/add-child`, `coord drive-queue add`, `coord portal link`, \
|
|
4099
|
+
`coord portal enqueue-question`, `coord portal enqueue-status`, `coord \
|
|
4100
|
+
portal decision propose/reject/supersede`) are the only ones you may use. \
|
|
4101
|
+
`gh issue view` and other read-only `gh`/`coord` lookups are fine.
|
|
4006
4102
|
- Do NOT run `coord assign <machine> <repo> <issue>` or `coord drive \
|
|
4007
4103
|
--tmux` — always `coord drive-queue add`.
|
|
4008
4104
|
- Do NOT run `coord approve` or `coord merge` — outside this session's job.
|
|
4105
|
+
- Do NOT run `coord portal decision confirm` — that is the OPERATOR's move, \
|
|
4106
|
+
never this session's own.
|
|
4009
4107
|
- Do NOT run `git push`, `git commit`, or any command that writes to a repo \
|
|
4010
4108
|
checkout — this session files issues and queues work, it does not touch code.
|
|
4011
|
-
-
|
|
4012
|
-
|
|
4109
|
+
- If an `enqueue-question`/`enqueue-status`/`decision` command refuses with \
|
|
4110
|
+
a thin-client error (this machine isn't the daemon host and isn't routed \
|
|
4111
|
+
yet — #2751), say so explicitly to the operator rather than silently \
|
|
4112
|
+
dropping the Ask/Propose; do not retry it as some other command.
|
|
4113
|
+
- Keep the operator informed: summarize your plan before writing anything, \
|
|
4114
|
+
and report back what you asked/proposed/filed/queued/linked (and any gap) \
|
|
4013
4115
|
when done.\
|
|
4014
4116
|
"""
|
|
4015
4117
|
|
|
4016
|
-
# Deny list applied to decomposition-chat workers (#2533
|
|
4017
|
-
#
|
|
4018
|
-
#
|
|
4019
|
-
#
|
|
4020
|
-
#
|
|
4021
|
-
#
|
|
4022
|
-
#
|
|
4023
|
-
#
|
|
4024
|
-
#
|
|
4118
|
+
# Deny list applied to decomposition-chat workers (#2533; extended #2750
|
|
4119
|
+
# IL-4 for the ask/propose/decompose intake loop). Unlike milestone-chat,
|
|
4120
|
+
# this type's WHOLE job is to write (issue create / issue edit / milestone
|
|
4121
|
+
# create+add-child / drive-queue add / portal link / enqueue-question /
|
|
4122
|
+
# enqueue-status / decision propose|reject|supersede), so this list is
|
|
4123
|
+
# deliberately narrow — it blocks raw `gh` mutations, repo-write git
|
|
4124
|
+
# commands, destructive git ops, the three unrelated `coord` write commands
|
|
4125
|
+
# (approve/merge/assign) explicitly out of scope, and `coord portal decision
|
|
4126
|
+
# confirm` (the OPERATOR's move, never this session's own — #2750's "Propose"
|
|
4127
|
+
# terminal move must not self-confirm), while every write path this session
|
|
4128
|
+
# actually needs is allowed by omission.
|
|
4025
4129
|
DECOMPOSITION_CHAT_DENY_COMMANDS: list[str] = [
|
|
4026
4130
|
"Bash(gh issue edit *)",
|
|
4027
4131
|
"Bash(gh issue create *)",
|
|
@@ -4047,6 +4151,7 @@ DECOMPOSITION_CHAT_DENY_COMMANDS: list[str] = [
|
|
|
4047
4151
|
"Bash(coord approve *)",
|
|
4048
4152
|
"Bash(coord merge *)",
|
|
4049
4153
|
"Bash(coord assign *)",
|
|
4154
|
+
"Bash(coord portal decision confirm *)",
|
|
4050
4155
|
]
|
|
4051
4156
|
|
|
4052
4157
|
MOCK_AUTHOR_SYSTEM_PROMPT = """\
|
|
@@ -31,6 +31,7 @@ import threading
|
|
|
31
31
|
import time
|
|
32
32
|
from typing import Any
|
|
33
33
|
|
|
34
|
+
from coord import sql
|
|
34
35
|
from coord.db import get_connection, is_lock_contention_error, retry_on_locked
|
|
35
36
|
|
|
36
37
|
_log = logging.getLogger(__name__)
|
|
@@ -138,7 +139,8 @@ def _record_audit_unsafe(
|
|
|
138
139
|
conn = get_connection()
|
|
139
140
|
|
|
140
141
|
def _write() -> None:
|
|
141
|
-
|
|
142
|
+
sql.execute(
|
|
143
|
+
conn,
|
|
142
144
|
"""INSERT INTO audit_log (
|
|
143
145
|
ts, tier, category, event_type, actor,
|
|
144
146
|
repo, issue, assignment_id, machine, summary, details_json
|
|
@@ -282,7 +284,8 @@ def _maybe_trim(conn) -> None:
|
|
|
282
284
|
max_rows = _resolve_max_rows()
|
|
283
285
|
if max_rows <= 0:
|
|
284
286
|
return
|
|
285
|
-
|
|
287
|
+
sql.execute(
|
|
288
|
+
conn,
|
|
286
289
|
"DELETE FROM audit_log WHERE id NOT IN "
|
|
287
290
|
"(SELECT id FROM audit_log ORDER BY id DESC LIMIT ?)",
|
|
288
291
|
(max_rows,),
|
|
@@ -465,7 +468,8 @@ def query_audit_log(
|
|
|
465
468
|
where = f"WHERE {' AND '.join(clauses)}" if clauses else ""
|
|
466
469
|
conn = get_connection()
|
|
467
470
|
# Fetch one extra row to detect has_more without a second COUNT query.
|
|
468
|
-
rows =
|
|
471
|
+
rows = sql.execute(
|
|
472
|
+
conn,
|
|
469
473
|
f"SELECT {', '.join(_AUDIT_COLUMNS)} FROM audit_log {where} "
|
|
470
474
|
"ORDER BY ts DESC, id DESC LIMIT ?",
|
|
471
475
|
(*params, limit + 1),
|
|
@@ -15,6 +15,15 @@ custom deserializer, and cross-references them against the live SQLite
|
|
|
15
15
|
schema. ``tests/test_board_fixture.py`` wires this up against the real
|
|
16
16
|
``tui/src/app/types.rs`` + a freshly-migrated DB so CI goes red the moment
|
|
17
17
|
someone adds an unguarded INTEGER-backed bool field.
|
|
18
|
+
|
|
19
|
+
#1849 added the *other* half of this guard, one level up: the ``/board`` wire
|
|
20
|
+
contract is now the explicit DTOs in ``coord/board_schema.py``, and
|
|
21
|
+
``tests/test_board_schema.py`` asserts every column in
|
|
22
|
+
``board_schema.INTEGER_BACKED_BOOLEANS`` is declared ``int`` — so the JSON
|
|
23
|
+
type is pinned by the contract rather than by SQLite's (missing) boolean type,
|
|
24
|
+
and a Postgres backend cannot silently start sending ``true``/``false``. This
|
|
25
|
+
text-scraping check stays because it is the only one that reads the *actual
|
|
26
|
+
Rust consumer*; the DTO assertion cannot see ``types.rs``.
|
|
18
27
|
"""
|
|
19
28
|
|
|
20
29
|
from __future__ import annotations
|