Skip to content

[codex] Add MyPayTag portal SDK contracts - #7

Open
KazanderDad wants to merge 2 commits into
devfrom
codex/5-user-portal-sdk
Open

[codex] Add MyPayTag portal SDK contracts#7
KazanderDad wants to merge 2 commits into
devfrom
codex/5-user-portal-sdk

Conversation

@KazanderDad

Copy link
Copy Markdown
Contributor

Summary

Validation

  • SDK artifact refresh and validation evidence were committed as part of the sprint implementation.

Boundary Notes

  • This PR defines portal contracts; it does not by itself wire Cubid Passport raw-exposure issuance end to end.

Orchestrator Lifecycle

worktree_path: /Users/botmaster/src/myPayTag/mypaytag-sdk-5-user-portal
branch: codex/5-user-portal-sdk
base_branch: dev
pr_number: pending
safe_to_remove_after_merge: true
backup_branches_to_retire: none

@KazanderDad
KazanderDad marked this pull request as ready for review July 21, 2026 18:04
@KazanderDad

Copy link
Copy Markdown
Contributor Author

@codex review

@KazanderDad

Copy link
Copy Markdown
Contributor Author

@codex review

1 similar comment
@KazanderDad

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2c227f3d79

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread api/openapi.yaml
Comment on lines +1399 to +1400
payingDapp:
$ref: "#/components/schemas/PortalDappSummary"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Align the preferences Dapp summary with the protocol schema

When a server follows this OpenAPI component, it may return payingDapp.appUrl because PortalDappSummary explicitly permits that field, but validatePortalPreferencesResponse rejects the same response: the protocol schema's dappSummary has additionalProperties: false and only declares id and displayName. Use a preferences-specific OpenAPI summary or add the field to the protocol schema so generated clients and the runtime validator agree on the public contract.

AGENTS.md reference: AGENTS.md:L3-L7

Useful? React with 👍 / 👎.

Comment thread api/openapi.yaml
Comment on lines +1605 to +1608
fees:
type: array
items:
type: object

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Define the nested quote objects in OpenAPI

For every portal history response containing a quote, OpenAPI-generated clients see each fee as an unstructured object; routeSteps and selectedQuote are similarly unconstrained below. The canonical protocol schema instead requires specific fields and rejects additional properties, so a response accepted by this public API contract can fail validatePortalHistoryResponse, while generated SDK types lose all useful quote metadata. Define matching reusable fee, route-step, and selected-quote schemas rather than bare objects.

AGENTS.md reference: AGENTS.md:L3-L7

Useful? React with 👍 / 👎.

Comment on lines +22 to +25
"orderedRouteIds": {
"type": "array",
"minItems": 1,
"items": { "type": "string", "minLength": 1 }

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Reject duplicate route IDs in reorder requests

When orderedRouteIds contains the same route more than once, such as ["mpt_route_123", "mpt_route_123"], the new validator accepts it even though the request cannot represent a unique route ordering and may produce duplicate priorities while omitting another route. Add uniqueItems: true here and to the corresponding OpenAPI component so malformed reorder operations are rejected at the contract boundary.

Useful? React with 👍 / 👎.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant