Preserve Pilot Preferences and Settings
Overview
Store and restore supported personal preferences
User
An AeroSim player
What the user can do
Store and restore supported personal preferences
Why the user benefits
The player receives one coherent, observable capability.
User need
The player needs AeroSim to store and restore supported personal preferences.
In scope
Store and restore supported personal preferences
- StatusProposed
- OwnerAeroSim Scope (proposed; not accepted)
- Parent EpicAEROSIM-EP-2
- Depends onAEROSIM-FT-31
Tasks
AEROSIM-TS-61Planning status: DoneDefine the supported preference persistence model
Supported preference values can be stored against one pilot with deterministic defaults and validation while unsupported or malformed values cannot become canonical state.
- ComponentPilot Data Store — Preferences and Prisma schema/migrations
- Depends onAEROSIM-TS-60
- RequirementsFR-0039, NFR-0008
AEROSIM-TS-62Planning status: DoneImplement pilot-scoped preference read and update operations
An authenticated pilot can save supported preference values and retrieve only that pilot's last valid values.
- ComponentAPI Service — Pilot profile service, Fastify HTTP boundary, and Prisma data adapter
- Depends onAEROSIM-TS-61
- RequirementsFR-0039, NFR-0008
AEROSIM-TS-63Planning status: DoneSave and restore supported preferences in the Web Application
Preference changes are saved for the active pilot and the last valid supported values are restored and applied after a later authenticated session.
- ComponentWeb Application — Persistence API client and preference state
- Depends onAEROSIM-TS-62
- RequirementsFR-0039, NFR-0008
AEROSIM-TS-64Planning status: DoneVerify preference durability, validation, and isolation
Reviewed evidence demonstrates active-pilot association, later-session restoration of the last valid supported value, rejection of invalid values, and zero cross-pilot preference disclosure or mutation.
- ComponentPilot Data Store, API Service, and Web Application — preference test suites
- Depends onAEROSIM-TS-63
- RequirementsFR-0039, NFR-0008
AEROSIM-TS-120Planning status: DoneConform Preferences and Settings to the approved design
Supported settings render, validate, save, recover, and return exactly through the approved Settings experience.
- ComponentWeb Application — Release 1.0.0 user journey
- Depends onAEROSIM-TS-64
- RequirementsFR-0039, NFR-0008
Acceptance outcomes
- 01
Saving a supported preference associates it with the active pilot.
- 02
A later authenticated session restores the last valid supported value.
Functional requirements and measurable criteria
Preserve Pilot Preferences and Settings
The system shall store and restore supported personal preferences.
Acceptance 01
GivenAEROSIM-FT-32 is exercised within its governed scope under supported conditions
Whenthe primary capability path is completed
ThenSaving a supported preference associates it with the active pilot
EvidenceFuture reviewed automated and browser evidence must verify this exact outcome against the current requirement.
Acceptance 02
GivenAEROSIM-FT-32 is exercised within its governed scope under supported conditions
Whenthe continuation or repeat path is completed
ThenA later authenticated session restores the last valid supported value
EvidenceFuture reviewed automated and browser evidence must verify this exact outcome against the current requirement.
Non-functional requirements
- NFR-0008 — Pilot identity security and data isolation
Every authenticated operation resolves only the active Keycloak subject’s pilot data; AeroSim stores no local password; cross-pilot access attempts are denied and produce reviewable security evidence.
Risks
- Risk
Representative browser or input configurations may expose an unmet outcome.
Original source and prototype evidence
- discord: Agreed eight-Epic portfolio and Feature decomposition.
- discord: Agreed eight-Epic portfolio and Feature decomposition continuation.
- discord: RootAtSkic directed publication of the agreed Scope update.
Prototype and discovery boundary
Existing implementation is discovery evidence only; it establishes no current approval, acceptance, or release state.