Skip to content

Add user preference and history protocol contracts #5

Description

@KazanderDad

Parent Goal: Goal: SDK contracts for authenticated user portal surfaces
Depends on: architecture/API-contract task
Blocks: Refresh generated artifacts and SDK validation evidence

Objective

Add canonical protocol/OpenAPI contracts for user preference and user history portal surfaces when those contracts are public or cross-repo.

Expected Surfaces

  • packages/protocol/schemas/*
  • packages/protocol/src/index.ts
  • packages/protocol/src/validators.ts
  • packages/protocol/src/fixtures.ts
  • packages/protocol/src/protocol.test.ts
  • api/openapi.yaml

Scope

  • Prioritized receive paths/wallets across registered PayToDapps.
  • User route preference reads/writes.
  • Resolve question summaries and returned answer/status summaries.
  • Exact quote detail records and selected quote records.
  • Payment intent summaries and transaction/receipt summaries.
  • Privacy-safe negative/error states.

Non-Goals

  • Do not expose private Supabase table shapes or service-role details.
  • Do not add Cubid identity issuance or grant management contracts unless explicitly classified as a Cubid/MyPayTag boundary by the architecture task.

Guardrails

  • Contracts must be user-scoped and safe for public or partner consumption.
  • Exact quote detail contracts may include provider names, amounts, fees, expiry, and route steps, but not private credentials or unrelated wallet graph data.

Acceptance Criteria

  • New or updated schemas validate representative fixtures for preferences, questions, answers, quotes, selected quotes, payment intents, and receipts.
  • OpenAPI components and examples match protocol schemas.
  • Tests fail for missing required auth/user scoping fields and forbidden private fields.

Validation Plan

  • pnpm generate
  • pnpm api:validate
  • pnpm test
  • pnpm scan:public-boundary

Stop Condition

Stop after schemas, validators, fixtures, OpenAPI components, and focused tests are updated, with generated artifacts ready for the next task.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions