fix(core): add required spec/schema fields to UCP discovery profile (SAL-DIS-001) - #58
Merged
Merged
Conversation
UCP spec requires `schema` on REST service blocks and both `spec` and `schema` on every capability entry. Saleor discovery was returning only `version` on capabilities and omitting `schema` from the service block. Fixes SAL-DIS-001.
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
schemafield to the REST service block in/.well-known/ucp(UCP spec requires it for REST/MCP/embedded transports)specandschemafields to all four capability entries (checkout,order,catalog.search,catalog.lookup) — UCP spec marks both as required for every capabilityRoot cause
formatUcpProfileinpackages/core/src/lib/formatters/ucp.tswas emitting onlyversionon each capability and omittingschemafrom the service block. A compliant agent validating the profile against the spec would see missing required fields.What was NOT changed (intentional)
fulfillmentcapability not added — spec uses MAY language, optionalnamefield — not in the UCP specdummy_paymentgating — no spec guidance, implementation decisionTest plan
/.well-known/ucpon staging returnsspec+schemaon all 4 capabilitiesschema: https://ucp.dev/2026-04-08/services/shopping/rest.openapi.jsonucp.devpaths confirmed live)