Fix dispatch pool reconciliation and PM closeout guards - #2
Open
lisihao wants to merge 1 commit into
Open
Conversation
suraj-subrahmanyan
referenced
this pull request
in suraj-subrahmanyan/OpenSolar
Jun 29, 2026
…oven multi-task pool (Option A) Stellven#2 (a1105f82) made the coordinator's dispatch-evals use the operator pool, but the coordinator's BUILD half (graph-dispatch panes / SOLAR_GRAPH_BUILDER_OPERATOR_POOL via pm_dispatch) is idle-by-default and its operator selection is NOT covered by the codex-conserving provider policy -> a naive activation could route builds to codex/gemini. So instead, hand an APPROVED DAG to the proven multi-task pool, which is the path that produced the first fully-green DAG (Run H) and is fully covered by the provider policy / role-compat / backend-health / sonnet evaluator (codex-safe). In the graph-dispatch block, when SOLAR_COORD_MULTITASK_SELFCOMPLETE=1 and phase==graph_dispatch_active (post-approval -> respects the plan gate), launch `python3 lib/multi_task_runner.py start --graph <sprint>` in the background (auto-advance + eval pool on) and return, skipping the graph-dispatch panes. A pgrep guard prevents duplicate pools; the pool self-exits when the DAG is terminal (d3e9b690). Default OFF -> existing behavior unchanged until the owner opts in on a cockpit restart. bash -n clean; direct python entry valid; gate logic 5/5 (flag on+graph_dispatch_active->launch; off/unset->fallthrough; planning_complete pre-approval->no launch; pgrep guard). INERT until cockpit restart; the launch command itself is the exact one verified live in Run H. The running daemon keeps old code until restart. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
摘要
变更边界
in-scope
graph_node_dispatcher.py的 reconcile / pane prompt residue / operator cooldown / write-scope preflightpm_dispatch.py的 health cache tmp 竞争修复与 PM contract closeout 守卫out-of-scope
codex_pm_router.py的 DAG ready-width 校验线已验证
python3 -m pytest -q harness/tests/test_pm_dispatch.py harness/tests/graph/test_graph_dispatch_submit.py24 passedpython3 harness/tests/test-graph-dispatch-stale-scrollback.pyPASS graph dispatcher ignores stale completed prompt scrollbackpython3 -m py_compile harness/lib/graph_node_dispatcher.py harness/tools/pm_dispatch.py堆叠关系
codex/runtime-drift-writepath-fix