diff --git a/README.md b/README.md index 870b460..c4b68c0 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ Public-facing EDUT web surfaces and deployment specs. public/ index.html store/index.html + trust/index.html privacy/index.html terms/index.html translations/ diff --git a/docs/api/examples/secret-system.examples.md b/docs/api/examples/secret-system.examples.md index 9a0e351..82054c5 100644 --- a/docs/api/examples/secret-system.examples.md +++ b/docs/api/examples/secret-system.examples.md @@ -180,3 +180,28 @@ Error (`422` invalid email): "message": "Email format is invalid." } ``` + +## 6) `GET /secret/membership/status` + +Request by wallet: + +`GET /secret/membership/status?wallet=0x3ea6cbf98d23e2cf7b6f4f9bb1fb4f50b710f2d5` + +Success (`200`): + +```json +{ + "status": "active", + "wallet": "0x3ea6cbf98d23e2cf7b6f4f9bb1fb4f50b710f2d5", + "designation_code": "0217073045482" +} +``` + +Error (`400` missing selectors): + +```json +{ + "error": "missing_selector", + "message": "Provide wallet or designation_code." +} +``` diff --git a/docs/api/secret-system.openapi.yaml b/docs/api/secret-system.openapi.yaml index bfc7d3a..04d43b5 100644 --- a/docs/api/secret-system.openapi.yaml +++ b/docs/api/secret-system.openapi.yaml @@ -70,6 +70,28 @@ paths: application/json: schema: $ref: '#/components/schemas/MembershipConfirmResponse' + /secret/membership/status: + get: + summary: Resolve membership status by wallet or designation code + parameters: + - in: query + name: wallet + required: false + schema: + type: string + pattern: '^0x[a-fA-F0-9]{40}$' + - in: query + name: designation_code + required: false + schema: + type: string + responses: + '200': + description: Membership status resolved + content: + application/json: + schema: + $ref: '#/components/schemas/MembershipStatusResponse' /secret/notify: post: summary: Save optional notification email @@ -232,6 +254,17 @@ components: activated_at: type: string format: date-time + MembershipStatusResponse: + type: object + required: [status] + properties: + status: + type: string + enum: [active, none, suspended, revoked, unknown] + wallet: + type: string + designation_code: + type: string NotifyRequest: type: object required: [email, designation_code, wallet, locale] diff --git a/docs/public-trust-page-spec.md b/docs/public-trust-page-spec.md index f1fdd43..3111a12 100644 --- a/docs/public-trust-page-spec.md +++ b/docs/public-trust-page-spec.md @@ -4,6 +4,8 @@ Provide transparent operational facts without exposing private internals. +Current implementation target: `/public/trust/index.html` (deployment placeholders included). + ## Required Sections 1. Active chain and chain ID. diff --git a/docs/roadmap-status.md b/docs/roadmap-status.md index 5deeccd..4daa59a 100644 --- a/docs/roadmap-status.md +++ b/docs/roadmap-status.md @@ -38,6 +38,7 @@ Implemented now: 11. Conformance vectors + failure matrix + release gate + security checklist. 12. Deployment templates + invariants + chain operations runbook. 13. Issuer onboarding pack, migration policy, trust page spec, and integration mapping docs. +14. Public `/trust` page scaffold aligned with trust-page spec. Remaining in this repo: diff --git a/public/store/index.html b/public/store/index.html index 46d7710..d3efead 100644 --- a/public/store/index.html +++ b/public/store/index.html @@ -181,7 +181,7 @@ -

This page is intentionally deterministic: if membership cannot be confirmed, purchase remains blocked.

+

This page is intentionally deterministic: if membership cannot be confirmed, purchase remains blocked. Trust page.