Skip to content

docs(split-payments): validate the allowed_combinations profile example - #658

Open
vishkaty wants to merge 1 commit into
Universal-Commerce-Protocol:mainfrom
vishkaty:fix/split-payments-profile-example
Open

docs(split-payments): validate the allowed_combinations profile example#658
vishkaty wants to merge 1 commit into
Universal-Commerce-Protocol:mainfrom
vishkaty:fix/split-payments-profile-example

Conversation

@vishkaty

Copy link
Copy Markdown
Contributor

Problem

The only business-profile example for the split payments extension is annotated <!-- ucp:example skip -->, so CI never validates it, and it does not match the profile schema in three ways:

  1. capabilities is an array, but ucp.json defines it as an object map keyed by reverse-domain name.
  2. The capability entry omits the required schema URL (capability.json business_schema requires schema).
  3. It pins "version": "2026-01-23", a release that does not contain this extension.

Validating the fragment against the profile schema fails on the capabilities type and then on the missing schema property; it passes once rewritten as a map with a schema URL.

Fix

Rewrite the example in the ucp.capabilities map form with spec, schema, extends, and {{ ucp_version }}, mirroring the buyer-consent profile example, and replace the skip annotation with a validated schema=profile def=business_schema annotation so CI covers it going forward.

extends: ["dev.ucp.shopping.checkout"] reflects split_payments.json's requires on checkout.

Verification

scripts/validate_examples.py full corpus goes from 282 to 283 passing (48 to 47 skipped): the example flips from skipped to validated. ucp-schema lint source/ unaffected.

The only business-profile example for the split payments extension was
annotated `ucp:example skip`, so CI never checked it, and it did not match
the profile schema three ways: `capabilities` was an array where the schema
defines an object map keyed by reverse-domain name, the entry omitted the
required `schema` URL, and it pinned `version: 2026-01-23`, a release that
does not contain this extension.

Rewrite the example in the `ucp.capabilities` map form with `spec`, `schema`,
`extends`, and `{{ ucp_version }}`, mirroring the buyer-consent profile
example, and replace the skip with a validated
`schema=profile def=business_schema` annotation so CI covers it going forward.

Full corpus: 283 passed (was 282), 47 skipped (was 48).
@damaz91 damaz91 added the status:needs-triage Signal that the PR is ready for human triage label Jul 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

status:needs-triage Signal that the PR is ready for human triage

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants