docs(design): add OKF user story catalog
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
---
|
||||
type: User Story
|
||||
title: Validate Minecraft accounts
|
||||
description: Java Edition usernames resolve to canonical Mojang identities with controlled override behavior.
|
||||
tags: [player, minecraft, mojang, identity]
|
||||
timestamp: 2026-08-01T18:43:58Z
|
||||
story_id: US-004
|
||||
status: verified
|
||||
---
|
||||
|
||||
# User Story
|
||||
|
||||
As a player, I want submitted Minecraft usernames checked against Mojang, so that the server can identify my online-mode Java account reliably.
|
||||
|
||||
# Acceptance Criteria
|
||||
|
||||
- [x] Given a syntactically valid username, when it is submitted, then validation occurs server-side against the fixed Mojang endpoint.
|
||||
- [x] Given a Mojang match, then the canonical username and compact UUID are stored.
|
||||
- [x] Given no Mojang match, then the user or administrator must explicitly confirm an unverified override.
|
||||
- [x] Given malformed input, then it cannot be stored even through an override.
|
||||
- [x] Given an active UUID or case-insensitive username already registered, then another active registration is rejected.
|
||||
- [x] Given a later online-mode game login for an unverified account, then its UUID can be safely backfilled after username matching.
|
||||
|
||||
# Implementation
|
||||
|
||||
- [`packages/minecraft/src/index.ts`](../packages/minecraft/src/index.ts)
|
||||
- [`packages/database/src/schema.ts`](../packages/database/src/schema.ts)
|
||||
- User and administrator account actions under [`apps/web/src/app`](../apps/web/src/app)
|
||||
|
||||
# Validation
|
||||
|
||||
- [`packages/minecraft/test/minecraft.test.ts`](../packages/minecraft/test/minecraft.test.ts)
|
||||
- Database partial unique indexes preserve active identity invariants.
|
||||
|
||||
# Related Stories
|
||||
|
||||
- [First-time onboarding](us-003-onboarding.md)
|
||||
- [Velocity game admission](us-009-velocity-admission.md)
|
||||
Reference in New Issue
Block a user