Repository navigation
fix: check native subagent spawn before fan-out - #2
Merged
Merged
Conversation
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.
Change
Fixes #1.
When native tools were exposed but child creation failed with
collab spawn failed: no thread with id, Harness could continue trying other roles without a usable child ID. The shipped skill, orchestrator guidance, and live-smoke prompt now check the first standby spawn before wider fan-out, reuse that child on success, and stop missing-thread retries on failure.Document ordinary CLI invocation and parent-sequential fallback while preserving the chosen persistence mode. Unstarted native tasks stay pending, and sequential work cannot pass a native-only smoke. Historical CLI 0.153.4 failure and the limited 0.154.0 ephemeral report remain separate; this change makes no universal incompatibility or fixed-version claim.
Verification
python3 scripts/validate.py --project .— 5 agents, 1 skill, 0 errors.python3 scripts/validate.py --project examples/service-migration— 2 agents, 1 skill, 0 errors.python3 -m unittest discover -s tests -v— 94 tests passed.git diff --check.python3 scripts/live_smoke.py run --target _workspace/live-tests/issue-1-20260914 --baseline-file /tmp/codex-harness-issue-1-20260914-baseline.json --timeout 900— exited 0 on Codex CLI 0.154.0; deliberate failure gating, partial resume, protected-file preservation and both final tests passed. Native tool metadata separately confirmed first child ID before second spawn and exactly two workers plus QA, with no extra probe. Transport records remain reported rather than independently authenticated.The bounded CLI 0.154.0
--ephemeralprobe exited 0 and reported a child response, but its JSONL lacks independent spawn metadata. The original missing-thread failure was not reproduced in that probe. Offline checks do not prove behavior in a failing native session.Compatibility
Agent roles, model and permission preferences, helper schemas, and installer behavior are unchanged. The first probe uses the planned task agent and adds no extra child. Decisive troubleshooting instructions are included in the packaged skill for plugin-only installations.
CHANGELOG.md, compatibility and usage guides.