fix(OperationsCenter): guard every execute backend in ensure_executor_backends - #489
Open
ProtocolWarden wants to merge 1 commit into
Open
fix(OperationsCenter): guard every execute backend in ensure_executor_backends#489ProtocolWarden wants to merge 1 commit into
ProtocolWarden wants to merge 1 commit into
Conversation
…_backends The self-heal covered only two of the three backends src/ imports. The guard was `import team_executor, dag_executor` and the loop `for _sib in TeamExecutor DAGExecutor`, but src/ also imports critique_executor (.executor, .models, and a full adapter at backends/critique_executor/). A dropped CritiqueExecutor therefore left the guard passing, so the self-heal never fired and the critique lane stalled with exactly the "no obvious cause" symptom the function's own comment warns about for its other two backends. Add critique_executor to the guard and CritiqueExecutor to the loop, and state the invariant in the comment — the guard must import every backend src/ imports — so the next backend added does not repeat the drift. Verified against a live venv: with all three present the guard short-circuits; after uninstalling critique-executor the old guard still passes while the new guard fires and restores all three; capabilities plane intact afterward. Co-Authored-By: Claude Opus 5 <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.
Problem
ensure_executor_backends()self-heals missing execute backends by reinstalling them editable from sibling checkouts. It covered two of the three backendssrc/imports:But
src/also importscritique_executor—.executor,.models, plus a full adapter atsrc/operations_center/backends/critique_executor/.A dropped CritiqueExecutor therefore left the guard passing, so the self-heal never fired and the critique lane stalled with exactly the "no obvious cause" symptom the function's own comment warns about for its other two backends. It is the failure mode the function exists to prevent, reproduced in the one case it did not cover.
Root cause is structural rather than a typo: the guard enumerates backends independently of what
src/actually imports, so the two drift silently.Change
critique_executorto the import guardCritiqueExecutorto the reinstall loopsrc/imports — so the next backend added does not repeat the driftVerification
Tested end to end against a live venv:
bash -non the edited scriptcritique_executorcritique_executorrestoredThat last row matters: sibling installs bypass the
[tool.uv] override-dependenciespin, so a transitive dep could have regressedrepographto the planeless build and silently killedCapabilityRegistry. It did not, but it was checked rather than assumed.Full unit suite green — 8530 passed, 0 failed. The count rose by one against baseline (8529, with skips 5 → 4): a previously-skipped test unlocks once the executor backends are importable. Custodian pre-push gate clean.
Review note
scripts/operations-center.shis on the council'sguardrail_paths§G1 set, so this gets the K=3 cross-family panel rather than single self-review. Expected for this file — flagging it so the heavier review on a 15-line diff is not a surprise.Related
Independent of, but thematically adjacent to,
fix/executor-install-refand ProtocolWarden/TeamExecutor#19, which fix the other executor wiring defect (theteam-executorCLI path). Kept on a separate branch so each is reviewable on its own.🤖 Generated with Claude Code