fix(rest/python): bound ucp-sdk below 0.5 until the server targets v2026-08-25 - #222
Conversation
…026-08-25 The server implements UCP 2026-04-08 and declares ucp-sdk with no version bound, so every fresh uv sync resolves the newest release. ucp-sdk 0.5.0, published 2026-08-27T16:10Z, regenerates the models for spec v2026-08-25 and relocates the payment schemas out of shopping/, so a fresh clone now fails at import: ModuleNotFoundError for ucp_sdk.models.schemas.shopping.payment_create_request via generated_routes/ucp_routes.py. Bounding to >=0.4.6,<0.5 keeps fresh resolutions on the 0.4.x line this server is generated against; the bound lifts when the server migrates to the new release.
|
Flagging that main still carries the unbounded ucp-sdk requirement, so a fresh uv sync resolves 0.5.0 and the Python server fails to import, which is #221. This one line restores a working sync while the server still targets 2026-04-08. |
|
Evidence that this change is what lets the reference server start again. Measured 2026-09-03 by replicating the conformance workflow locally with fresh Without this change the server environment resolves ucp-sdk 0.5.0 and server.py For completeness rather than as a claim for this PR: the scheduled Conformance |
- Bound ucp-sdk in rest/python/client/flower_shop/pyproject.toml to >=0.4.6,<0.5 to keep dependencies aligned with the server. - Update _create_checkout_payload in rest/python/server/integration_test.py to construct ShippingDestinationCreateRequest so destinations match FulfillmentMethodCreateRequest validation under ucp-sdk 0.4.6.
What
One line: rest/python/server/pyproject.toml declares "ucp-sdk" with no bound; this change bounds it to ">=0.4.6,<0.5" so fresh resolutions stay on the 0.4.x line this server is generated against. The bound lifts when the server migrates to spec v2026-08-25.
Why
The server implements UCP 2026-04-08. ucp-sdk 0.5.0, published 2026-08-27T16:10Z, regenerates the models for spec v2026-08-25 and relocates the payment schemas out of shopping/, so a fresh clone now fails at import time: ModuleNotFoundError for ucp_sdk.models.schemas.shopping.payment_create_request via generated_routes/ucp_routes.py, and test collection stops with 3 errors.
Testing
Fresh clone at main (00333a8):
Fixes #221.