Skip to content

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

Open
vishkaty wants to merge 2 commits 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 2 commits into
Universal-Commerce-Protocol:mainfrom
vishkaty:fix/split-payments-profile-example

Conversation

@vishkaty

@vishkaty vishkaty commented Jul 31, 2026

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 343 to 344 passing (50 to 49 skipped): the example flips from skipped to validated. ucp-schema lint source/ unaffected.

@damaz91 damaz91 added status:needs-triage Signal that the PR is ready for human triage bug Something isn't working documentation Improvements or additions to documentation status:under-review and removed status:needs-triage Signal that the PR is ready for human triage labels Jul 31, 2026
@vishkaty

vishkaty commented Aug 3, 2026

Copy link
Copy Markdown
Contributor Author

A gentle note on this and its sibling docs and schema PRs (#659, #660, #661, #662, #669, #670, plus #625): all eight are rebased onto current main, conflict free, and validate_examples passes on each. They are independent of one another, so they can be reviewed in any order or batched, whatever is easiest. Happy to adjust any of them.

@dkoch74 dkoch74 added the area:payments Issues and pull requests related to payments label Aug 5, 2026
@vishkaty

Copy link
Copy Markdown
Contributor Author

Following up on this docs and schema batch (#658, #659, #660, #661, #662, #669, #670, #625): all eight are still green on current main, conflict free, and independent, so any subset can be merged in any order. If the batch size is the awkward part, I am glad to fold the docs-only ones into a single PR to cut the review overhead, whatever is easiest on your side. No urgency at all, just flagging they are ready whenever the queue allows. Thanks @damaz91.

@vishkaty

Copy link
Copy Markdown
Contributor Author

@jingyli you are a requested reviewer here, so flagging this quiet one. Small fix so the split payments profile example actually validates against the profile schema. Glad to adjust anything.

@dkoch74

dkoch74 commented Aug 17, 2026

Copy link
Copy Markdown
Member

@knightlin-shopify I am supportive of fixing this example - could you please review?

@vishkaty
vishkaty force-pushed the fix/split-payments-profile-example branch from ddb1b81 to 82d20c2 Compare August 24, 2026 03:38
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).
@vishkaty
vishkaty force-pushed the fix/split-payments-profile-example branch from 82d20c2 to bd08cce Compare August 27, 2026 00:35
The example wrote the pre reorganization flat path. Every extension
profile on current main carries the full reorganized path, so the
example now matches, specification/payment/extensions/split-payments.
@vishkaty

Copy link
Copy Markdown
Contributor Author

Updated the spec URL in the example to the post-reorganization path, specification/payment/extensions/split-payments, matching what the other extension profiles carry on current main. The rest of the example is unchanged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:payments Issues and pull requests related to payments bug Something isn't working documentation Improvements or additions to documentation status:under-review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants