Merge Profiles MVP proposal and spec (resolve conflicts)
This commit is contained in:
commit
3713f1d0ee
3 changed files with 42 additions and 4 deletions
40
openspec/changes/2025-11-17-profiles-mvp/proposal.md
Normal file
40
openspec/changes/2025-11-17-profiles-mvp/proposal.md
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
# Proposal: Profiles MVP
|
||||||
|
|
||||||
|
Status: draft
|
||||||
|
Authors: Identity Team
|
||||||
|
Owners: Identity Lead, Compliance Lead
|
||||||
|
Created: 2025-11-17
|
||||||
|
Scope: spec
|
||||||
|
Related: openspec/specs/feature-profiles.md
|
||||||
|
|
||||||
|
Summary
|
||||||
|
- Deliver full profile management with privacy controls, optional pseudonyms, pronouns, avatar, and consent-driven visibility.
|
||||||
|
|
||||||
|
Motivation
|
||||||
|
- Empower members to represent themselves safely and control visibility of sensitive fields.
|
||||||
|
|
||||||
|
Requirements
|
||||||
|
- Accessibility: large text, screen reader labels, keyboard/focus parity.
|
||||||
|
- Privacy: field-level data class tags; default-private for sensitive fields; consent registry.
|
||||||
|
- Media: avatar upload with safe processing and size constraints.
|
||||||
|
|
||||||
|
API
|
||||||
|
- Profiles CRUD; consent endpoints; media upload policy and signed URLs.
|
||||||
|
|
||||||
|
Data Model
|
||||||
|
- Profile fields with Public/PII/PHI tags; retention policy; soft-delete behavior.
|
||||||
|
|
||||||
|
Test Plan
|
||||||
|
- Unit/integration for API; a11y checks; GDPR export/delete flows.
|
||||||
|
|
||||||
|
Rollout
|
||||||
|
- Feature flag; migration for existing members; help content.
|
||||||
|
|
||||||
|
Acceptance Criteria
|
||||||
|
- GDPR export/delete verified; HIPAA constraints respected; a11y parity on all profile screens.
|
||||||
|
|
||||||
|
Slash Commands
|
||||||
|
- `/review areas=mobile,web,backend,accessibility,compliance,security`
|
||||||
|
- `/apply spec=openspec/specs/feature-profiles.md`
|
||||||
|
- `/archive link=<PR>`
|
||||||
|
|
||||||
|
|
@ -34,8 +34,6 @@ Implementation notes
|
||||||
Decisions
|
Decisions
|
||||||
- <record cross‑cutting decisions here>
|
- <record cross‑cutting decisions here>
|
||||||
|
|
||||||
Client platform decisions
|
|
||||||
|
|
||||||
Client platform decisions
|
Client platform decisions
|
||||||
- Mobile: React Native + Expo (TypeScript).
|
- Mobile: React Native + Expo (TypeScript).
|
||||||
Rationale: strong a11y ecosystem, mature tooling, and DX.
|
Rationale: strong a11y ecosystem, mature tooling, and DX.
|
||||||
|
|
@ -44,6 +42,6 @@ Client platform decisions
|
||||||
Rationale: semantic HTML, SEO, CWV, and ecosystem maturity.
|
Rationale: semantic HTML, SEO, CWV, and ecosystem maturity.
|
||||||
Notes: App Router, server actions; sitemap, RSS for blog/resources.
|
Notes: App Router, server actions; sitemap, RSS for blog/resources.
|
||||||
|
|
||||||
Decisions
|
Decision log
|
||||||
- 2025-11-17 — Mobile stack: React Native + Expo.
|
- 2025-11-17 — Mobile stack: React Native + Expo.
|
||||||
- 2025-11-17 — Web stack: Next.js (SSR).
|
- 2025-11-17 — Web stack: Next.js (SSR).
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Feature: Profiles
|
# Feature: Profiles
|
||||||
|
|
||||||
Status: draft
|
Status: approved
|
||||||
Owners: Identity
|
Owners: Identity
|
||||||
|
|
||||||
Summary
|
Summary
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue