Structured Subagent responses appear accepted despite invalid payloads and cannot be inspected
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 152
- Forks
- 16
- Avg merge
- 14h 48m
- Merged PRs (30d)
- 536
Description
Area
Subagent delegation
Customer journey
Request a structured helper response.
Scenario
Request a small structured response from a Subagent using an output schema, then deliberately have the Subagent submit an invalid first response.
Expected behavior
- An invalid structured response is rejected.
- The Subagent receives a bounded opportunity to correct it.
- If correction continues to fail, the caller receives a clear, usable failure describing the validation problem.
- The submitted payload and validation failure are observable enough to verify this behavior.
Actual behavior
SubmitResult appears to report that the submission was accepted even when its payload does not satisfy the requested schema.
The actual submitted message payload could not be extracted or inspected, making it impossible to confirm what was validated. Files written during the test were used as an indirect indication of the payload, but this does not provide a trustworthy result.
As a result, it is unclear whether:
- Invalid payloads are actually being accepted.
- Validation or correction is occurring but is not observable.
- The payload shown to the caller differs from the payload submitted by the Subagent.
Steps to reproduce
- Request a small structured Subagent response with an explicit output schema.
- Instruct the Subagent to deliberately submit an invalid payload first.
- Observe the result reported by
SubmitResult. - Attempt to inspect the exact submitted payload and any validation error.
- Observe that the submission appears accepted, while the actual message payload and validation details are unavailable.
- Repeat with persistent invalid submissions and verify whether the resulting failure is clear and usable.
The output schema used for the test was a plain object {"text":"text","number":10}, and the invalid payload was required to be a fixed {"text":"invalid"}. Stronger models like Sol refuse to issue invalid payloads, they have to be explicitly prompted to do so.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the SubmitResult path and trace how structured output validation, correction attempts, and failures are reported. Reproduce the schema and fixed invalid payload from the issue, then verify that the submitted payload and validation error are inspectable and that persistent invalid submissions produce a clear failure.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- ai-infra-agents
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 50/100