µEd API support with /evaluate, /preview, and /health endpoints#13
Open
µEd API support with /evaluate, /preview, and /health endpoints#13
Conversation
…oints with authentication and runtime integration, along with associated tests
…ate` and `/evaluate/health`
…aluate/health` paths across server and lambda integrations
# Conflicts: # .github/workflows/build.yml
This was referenced May 8, 2026
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
This PR integrates the µEd API (
openapi-v0_1_0) into the base evaluation layer alongside the existing legacy API, enabling evaluation functions to serve µEd-compliant requests without breaking backward compatibility.What changed
New µEd routing in
handler.pyPOST /evaluate— validates the request against theEvaluateRequestschema, delegates tocommands.evaluate_muEd, and validates the response against theEvaluateResponseschema before returning.POST /preview— delegates tocommands.preview_muEd, returning a pre-submission feedback item.GET /evaluate/health— returns service capabilities (supported artefact types, formats, and feature flags)./) are unchanged and continue to work as before.Schema reorganisation
schemas/legacy/to make room for the new µEd OpenAPI spec atschemas/muEd/openapi-v0_1_0.yml.feedbackIdmade optionalFeedbackschema previously requiredfeedbackId. This field is now optional — evaluation functions are not required to generate IDs, and the platform is not required to consume them. This matches the intent of the µEd spec, wherefeedbackIdis a convenience for clients that need to correlate feedback items, not a mandatory field."feedbackId": "fb-1"and"feedbackId": "preSubmissionFeedback"fromcommands.py.required: [feedbackId]constraint from both the OpenAPI schema and the inline validation schema invalidate.py.Validation
validate.pynow supports OpenAPI-backed validation for µEd schemas usingjsonschema.RefResolver, in addition to the existing file-based JSON Schema validators for legacy schemas.Tests
mued_requests_test.py,mued_responses_test.py).mued_handling_test.py).