fix: preserve SDK error results through typed teardown exceptions - #85
Merged
Merged
Conversation
This branch was successfully deployed
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.
After SDK 0.2.160, a Bedrock API failure can emit an error
ResultMessagefollowed by the SDK's newResultError. Aceiro recognized only the previous bare-exception wrapper. BecauseResultErrorinheritsProcessError, the run incorrectly reported “without a result envelope,” skipped its API-error record and retry path, and could discard an already verified artifact.This occurred in scheduled run 36433006668: 41/42 review scenarios and 6/6 plan scenarios passed;
sandbox_credential_readsubmitted incomplete arguments, then exhausted ten CLI retries on Bedrock 503s. The failed sample remains invalid and its evidence is retained.Recognize the typed SDK wrapper only after capturing an error result, so the existing retry, permanent-error and verified-artifact rules can handle it. Plain process crashes, programming errors and absent/successful envelopes remain failures. No model, prompt, fixture, grader or retry-budget changes.
Validation:
The
api_errormetric continues to count terminal session API failures. Internal CLI retries remain visible in the captured stream.