Skip to content

fix: updating preprocess_schemas to create operation schemas for extensions - #80

Open
ryanmco wants to merge 2 commits into
Universal-Commerce-Protocol:mainfrom
ryanmco:main
Open

fix: updating preprocess_schemas to create operation schemas for extensions#80
ryanmco wants to merge 2 commits into
Universal-Commerce-Protocol:mainfrom
ryanmco:main

Conversation

@ryanmco

@ryanmco ryanmco commented Aug 20, 2026

Copy link
Copy Markdown

Description

The function get_required_ops(schema) only scans the top-level properties of a schema file to determine whether to generate *_create_request.json, *_update_request.json. Therefore, there is no fulfillment_create_request.py created with a CreateFulfillmentRequest type. This fixes that so FulfillmentCreateRequest can be used instead of FulfillmentObject when composing with CheckoutCreateRequest.

Category (Required)

Please select one or more categories that apply to this change.

  • Core Protocol: Changes to the base communication layer, global context, or breaking refactors. (Requires Technical Council approval)
  • Governance/Contributing: Updates to GOVERNANCE.md, CONTRIBUTING.md, or CODEOWNERS. (Requires Governance Council approval)
  • Capability: New schemas (Discovery, Cart, etc.) or extensions. (Requires Maintainer approval)
  • Documentation: Updates to README, or documentations regarding schema or capabilities. (Requires Maintainer approval)
  • Infrastructure: CI/CD, Linters, or build scripts. (Requires DevOps Maintainer approval)
  • Maintenance: Version bumps, lockfile updates, or minor bug fixes. (Requires DevOps Maintainer approval)
  • [x ] SDK: Language-specific SDK updates and releases. (Requires DevOps Maintainer approval)
  • Samples / Conformance: Maintaining samples and the conformance suite. (Requires Maintainer approval)
  • UCP Schema: Changes to the ucp-schema tool (resolver, linter, validator). (Requires Maintainer approval)
  • Community Health (.github): Updates to templates, workflows, or org-level configs. (Requires DevOps Maintainer approval)

Related Issues

Checklist

  • [ x] I have followed the Contributing Guide (including Conventional Commits title requirements and ! for breaking changes).
  • I have updated the documentation (if applicable).
  • [ x] My changes pass all local linting and formatting checks.
  • [ x] I have added tests that prove my fix is effective or that my feature works.
  • New and existing unit tests pass locally with my changes.
  • (For Core/Capability) I have included/updated the relevant JSON schemas.
  • I have regenerated Python Pydantic models by running generate_models.sh under python_sdk.

Screenshots / Logs (if applicable)

@damaz91 damaz91 added the status:needs-triage Signal that the PR is ready for human triage label Aug 20, 2026
@ryanmco ryanmco changed the title fix!updating preprocess_schemas to create operation schemas for extensions fix: updating preprocess_schemas to create operation schemas for extensions Aug 22, 2026
@carolinerg1 carolinerg1 added status:under-review and removed status:needs-triage Signal that the PR is ready for human triage labels Aug 25, 2026
@carolinerg1

Copy link
Copy Markdown

Hi @ryanmco,

Thanks for putting together this update to preprocess_schemas.py and adding unit tests for extension operation schemas.

Before we can merge, there are 2 CI check failures that need to be resolved:

  1. Pre-commit / Linter Check (pre-commit):
    • The ruff linter/formatter check failed on formatting and docstring/line-length requirements (e.g., lines exceeding 80 characters in tests/test_codegen_pipeline.py).
    • Fix: Run pre-commit or ruff locally to format and fix lint issues:
      UV_DEFAULT_INDEX=https://pypi.org/simple uv --no-config run --with pre-commit pre-commit run --all-files
      (Or run uv run ruff check --fix . and uv run ruff format .)
  2. Generated Models Sync Check (Generated models match the pinned UCP spec):
    • Since preprocess_schemas.py was modified, the generated Pydantic models in src/ucp_sdk/models/ must be regenerated to stay in sync with the updated pipeline.
    • Fix: Run the generator script against the pinned spec version and commit the updated model files:
      ./generate_models.sh 2026-04-08

Once you've run the generator and linter locally, please commit the updated files and push to update the PR. Thanks!

@ryanmco

ryanmco commented Aug 25, 2026

Copy link
Copy Markdown
Author

Hi carolinerg1, thank you, I made the changes from the feedback in your last comment.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants