Repository navigation
Return 422 when the evaluation function rejects a submission - #38
Merged
Merged
Conversation
Introduce `InvalidSubmissionError` for worker feedback on unprocessable submissions, with new constants and improved error handling across file, RPC, and runtime adapters. Expand tests and schema to support `422 UnprocessableEntity` responses.
Upstream nsjail HEAD (Oct 2026) now fails closed when remounting submounts such as /proc/sys/fs/binfmt_misc, which breaks sandboxed workers using --chroot / and fails the sandbox integration tests. Pin CI and the Docker image to 187855988a, the last commit that passed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
nsjail fails to remount /proc/sys/fs/binfmt_misc on the current ubuntu-24.04 runner image, so every sandboxed launch exits 255. Skip the job until that is resolved. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This reverts commit 83e06bd.
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.
Summary
When the evaluation function reports that it can't process a submission (e.g. an unparseable expression), shimmy now responds with 422 Unprocessable Entity instead of 500.
supervisor.InvalidSubmissionError, returned by:422(InvalidSubmissionRpcCode)error.code == "INVALID_SUBMISSION"(InvalidSubmissionFileCode)runtime:getErrorStatusCodemapsInvalidSubmissionErrorto 422, andnewErrorResponsereturns only the evaluation function's message, without the wrapping context. If a worker response has noresult, the worker's error message is now used instead of a generic unmarshal error.ServeEvaluate: non-200 runtime responses are now converted to muEdErrorResponsebodies (422/400→VALIDATION_ERROR, anything else →INTERNAL_ERROR), instead of passing the legacy body through.mued_v0.1.0.yml: adds the422-UnprocessableSubmissionresponse to/evaluate.CI change
Also disables the sandbox integration test job: nsjail fails to remount
/proc/sys/fs/binfmt_miscon the currentubuntu-24.04runner image, so every sandboxed launch exits 255. Pinning nsjail to an older commit didn't fix it and was reverted. The job should be turned back on once this is fixed.Related
🤖 Generated with Claude Code