Files
headquarter/openspec/changes/archive/2026-06-14-completed-specs-archive/user-profile/spec.md
T
Developer c8db6ce933 fix: disable native touch panning on mobile terminal and archive specs
- Change mobile terminal CSS to use touch-action: none and
  overscroll-behavior: none so the custom touch handler owns swipes
- Archive completed/partial OpenSpec specs to
  openspec/changes/archive/2026-06-14-completed-specs-archive/
- Regenerate project maps

Quality gates: npm run typecheck, npm run lint (apps/web)
2026-06-14 18:07:01 +00:00

1.1 KiB

User Profile Management Specification

Purpose

Manage user profiles including personal information and avatar.

Requirements

Requirement: Profile Retrieval

The system SHALL allow users to view their profile.

Scenario: View profile

  • GIVEN an authenticated user
  • WHEN they access the profile page
  • THEN their name, email, and avatar are displayed

Requirement: Profile Updates

The system SHALL allow users to update their profile.

Scenario: Update name and email

  • GIVEN an authenticated user
  • WHEN they submit profile changes
  • THEN the system validates the input
  • AND updates the user record

Requirement: Avatar Upload

The system SHALL support local avatar storage.

Scenario: Upload avatar

  • GIVEN an authenticated user
  • WHEN they upload an image file
  • THEN the system validates the file type and size
  • AND stores it locally
  • AND updates the user's avatar URL

Dependencies

  • auth-oauth (authenticated users)
  • Database models: User

Quality Gates

  • pytest must pass
  • mypy . must pass
  • ruff check . must pass
  • npm run typecheck must pass
  • npm run lint must pass