Skip to content

fix: declare exercised capabilities in agent profile - #109

Open
FanouZeng-TT wants to merge 1 commit into
Universal-Commerce-Protocol:mainfrom
FanouZeng-TT:fix/agent-profile-capabilities
Open

FanouZeng-TT wants to merge 1 commit into
Universal-Commerce-Protocol:mainfrom
FanouZeng-TT:fix/agent-profile-capabilities

Conversation

@FanouZeng-TT

Copy link
Copy Markdown
Contributor

Description

shopping-agent-test.json is the mock Platform profile served in the
UCP-Agent header, but it only advertised the order capability:

"capabilities": {
  "dev.ucp.shopping.order": [{ ... }]
}

The suite's own DEFAULT_REQUIRED_CAPABILITIES and flower-shop input require
checkout, order, discount, fulfillment, and buyer consent. A merchant that
negotiates requests against the supplied Platform profile can therefore reject
checkout/discount/fulfillment/buyer-consent requests as outside the common
capability set before it reaches the behavior under test.

Fix: declare the exercised shopping capabilities in the mock agent profile,
leaving the existing order webhook configuration unchanged.

Category (Required)

  • Core Protocol: Protocol specification changes. (Requires Technical Council approval)
  • Governance/Contributing: Governance or contribution process changes. (Requires Governance Council approval)
  • Capability: Capability specification changes. (Requires Maintainer approval)
  • Documentation: Documentation updates. (Requires Maintainer approval)
  • Infrastructure: Build, CI, tooling, or release changes. (Requires DevOps Maintainer approval)
  • Maintenance: Dependency, compatibility, or routine maintenance changes. (Requires DevOps Maintainer approval)
  • 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. (Requires Maintainer approval)
  • Community Health (.github): Repository-wide health files and configuration. (Requires DevOps Maintainer approval)

Related Issues

Fixes #101

Checklist

  • I have followed the Contributing Guide.
  • I have updated the documentation (if applicable).
  • My changes pass all local linting and formatting checks.
  • 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)

$ python -m json.tool shopping-agent-test.json >/dev/null

$ python - <<'PY'
# Static assertion: mock profile capabilities cover
# DEFAULT_REQUIRED_CAPABILITIES and fixture required_capabilities.
PY
required-covered ['dev.ucp.shopping.buyer_consent', 'dev.ucp.shopping.checkout', 'dev.ucp.shopping.discount', 'dev.ucp.shopping.fulfillment', 'dev.ucp.shopping.order']

$ python - <<'PY'
# Spec and schema URLs for checkout/order/discount/fulfillment/buyer-consent
# returned HTTP 200.
PY
urls-ok

$ uvx pre-commit run --all-files
trim trailing whitespace...Passed
fix end of files...Passed
check yaml...Passed
check json...Passed
check for added large files...Passed
check that scripts with shebangs are executable...Passed
check that executables have shebangs...Skipped
ruff (legacy alias)...Passed
ruff format...Passed
prettier...Passed
ShellCheck v0.10.0...Skipped
codespell...Passed

$ git diff --check
# no output

🤖 Generated with Claude Code

@damaz91 damaz91 added the status:needs-triage Signal that the PR is ready for human triage label Sep 14, 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.

Suite cannot pass against a merchant other than the reference server

2 participants