Repository navigation
smoke-claude-sub-agents: check the served model with proxy evidence - #70759
Merged
SivaKesava1 merged 2 commits intoOct 21, 2026
Merged
Conversation
Claude Code 2.1.296's stream-json output carries the worker's prompt (`user` with `parent_tool_use_id`) but none of its assistant messages, so the post-step's child-message check could never pass. Run 39536972987 on main shows the worker resolving to claude-haiku-5-5, running and returning the marker, and the proxy serving its request, yet failing that check. Take the served model from the proxy instead: at least one request on the resolved model, all with status 200, and the main agent never on that model. Detection and routing are off in this smoke, so those requests can only come from the worker. Update the test fixture to the record shape Claude Code actually emits. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Failed proxy requests are absent from the usage log, so the new assertion and fixture do not verify the promised failure condition.
1 open issue
What changed in this PR
Updates gh-aw’s Claude sub-agent smoke test to verify the served model through proxy evidence rather than unavailable child assistant messages.
Changes:
- Checks proxy requests and excludes ambiguous main-agent model usage.
- Updates stream fixtures and negative cases.
- Regenerates the compiled workflow.
| File | Description |
|---|---|
| actions/setup/js/smoke_claude_sub_agents.test.cjs | Updates fixtures and assertion cases. |
| .github/workflows/smoke-claude-sub-agents.md | Uses proxy evidence for served-model checks. |
| .github/workflows/smoke-claude-sub-agents.lock.yml | Synchronizes generated checks and metadata. |
Review effort: Max
AWF's token tracker skips non-2xx responses, so token-usage.jsonl only holds successful requests and the status check there could never fail. Check the sibling upstream-errors.jsonl, which AWF writes for failed requests, for any failure on the resolved model, and take the fixture's failure case out of the usage log. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Collaborator
Author
Verified at
|
SivaKesava1
deleted the
sivakesava1/fix-smoke-claude-sub-agents-served-model
branch
October 21, 2026 03:45
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.

smoke-claude-sub-agents(added in #70671) fails onmainon every run, although the fix it covers works. Its last post-step check expects the worker's assistant messages in Claude Code's stream-json output, but Claude Code 2.1.296 emits only the worker's prompt (auserrecord withparent_tool_use_id), never its assistant messages.Evidence: run 39536972987 on
main(15d31e5375)model.resolution:marker-workersmall→claude-haiku-5-5,resolved(Anthropic).subagent.configuredisclaude-haiku-5-5, with nogeneral-purposefallback.claude-haiku-5-5(200) and 3 ×claude-sonnet-5(200).marker-worker messages were not served by claude-haiku-5-5. The stream has 4 assistant records, all from the main agent.Change: take the served model from the proxy instead of child stream messages.
Detection and routing are off in this smoke, so those requests can only come from the worker. The test fixture now uses the record shape Claude Code actually emits, instead of an invented child assistant message. Its cases cover: the main agent on the worker's model (ambiguous), no request on the model, and a failed request on the model.
Verification
smoke_claude_sub_agents.test.cjs: 6/6 pass.main, and only this workflow changed.Only
smoke-claude-sub-agents.md, its lock file and its test change.