Skip to content

fix(rest/nodejs): align discovery declarations - #201

Merged
damaz91 merged 3 commits into
Universal-Commerce-Protocol:mainfrom
FanouZeng-TT:fix/node-discovery-current-spec
Oct 5, 2026
Merged

damaz91 merged 3 commits into
Universal-Commerce-Protocol:mainfrom
FanouZeng-TT:fix/node-discovery-current-spec

Conversation

@FanouZeng-TT

Copy link
Copy Markdown
Contributor

Description

rest/nodejs/src/api/discovery.ts advertised specification and schema URLs that do not exist in the pinned 2026-04-08 release. For example:

https://ucp.dev/2026-04-08/specification/shopping/checkout -> 404
https://ucp.dev/2026-04-08/schemas/shopping/refund.json  -> 404

The profile also advertised refund, return, and dispute capabilities, but v2026-04-08 has no schemas for them and the Node sample has no corresponding capability implementation.

Fix: use the published service/capability URLs, remove the three unsupported capability declarations, and extend the discovery regression test to assert the advertised capability set and URLs.

Category (Required)

  • Core Protocol: Changes to core UCP schemas, specification, or protocol behavior. (Requires Technical Council approval)
  • Governance/Contributing: Updates to governance documents, contribution guidelines, or project processes. (Requires Governance Council approval)
  • Capability: New or updated capability definitions. (Requires Maintainer approval)
  • Documentation: Documentation-only changes. (Requires Maintainer approval)
  • Infrastructure: CI/CD, build tooling, or repository automation. (Requires DevOps Maintainer approval)
  • Maintenance: Dependency updates, refactoring, or non-functional 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): Issue templates, code of conduct, or community files. (Requires DevOps Maintainer approval)

Related Issues

N/A

Checklist

  • I have followed the Contributing Guide and Code of Conduct.
  • 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)

  • npm test (154/154)
  • npm run build
  • all 12 advertised ucp.dev/2026-04-08 spec/schema URLs returned HTTP 200
  • uvx pre-commit run --all-files
  • git diff --check

@damaz91 damaz91 added the status:needs-triage Signal that the PR is ready for human triage label Aug 21, 2026
@damaz91 damaz91 added status:under-review and removed status:needs-triage Signal that the PR is ready for human triage labels Aug 24, 2026
@damaz91 damaz91 added status:stale-review Applied if a PR is waiting on a reviewer for too long and removed status:under-review labels Sep 14, 2026
@gswetha

gswetha commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

Hi @FanouZeng-TT , kindly resolve the conflicts, thanks!

@FanouZeng-TT
FanouZeng-TT force-pushed the fix/node-discovery-current-spec branch from 82d4b55 to 629a221 Compare October 2, 2026 03:33
@FanouZeng-TT

Copy link
Copy Markdown
Contributor Author

Resolved the conflict by rebasing onto current main in 629a221. The resolution keeps main’s top-level signing_keys/no-ucp.keys contract and this PR’s stronger declaration assertions. Reinstalled the lockfile-pinned @ucp-js/sdk 0.4.5, then verified all 167 Node tests, TypeScript build, and pre-commit checks pass.

@damaz91
damaz91 merged commit cdb291c into Universal-Commerce-Protocol:main Oct 5, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

status:stale-review Applied if a PR is waiting on a reviewer for too long

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants