Save Flight and Training Progress
Overview
Persist governed flight, lesson, and progression state
User
An AeroSim player
What the user can do
Persist governed flight, lesson, and progression state
Why the user benefits
The player receives one coherent, observable capability.
User need
The player needs AeroSim to persist governed flight, lesson, and progression state.
In scope
Persist governed flight, lesson, and progression state
- StatusProposed
- OwnerAeroSim Scope (proposed; not accepted)
- Parent EpicAEROSIM-EP-2
- Depends onAEROSIM-FT-31, AEROSIM-FT-43
Tasks
AEROSIM-TS-65Planning status: DoneDefine canonical pilot progress and activity records
Governed flight, lesson, progression, outcome, and resumable-context state has one versioned, pilot-owned persistence model.
- ComponentPilot Data Store — Progress, Flight-session metadata, and Prisma schema/migrations
- Depends onAEROSIM-TS-20, AEROSIM-TS-60
- RequirementsFR-0040, NFR-0008
AEROSIM-TS-66Planning status: DoneImplement transactional progress persistence and retrieval
The API transactionally stores governed progress for the active pilot and returns that same pilot's canonical latest state in a later session.
- ComponentAPI Service — Progress service, Fastify HTTP boundary, and Prisma data adapter
- Depends onAEROSIM-TS-65
- RequirementsFR-0040, NFR-0008
AEROSIM-TS-67Planning status: DoneIntegrate flight and training progress with the persistence client
Governed flight and training checkpoints are sent for the active pilot, and a later authenticated session retrieves the canonical state without treating unsaved browser state as authoritative.
- ComponentWeb Application — Outcome controller, Persistence API client, and pilot progress state
- Depends onAEROSIM-TS-66
- RequirementsFR-0040, NFR-0008
AEROSIM-TS-68Planning status: DoneVerify canonical progress durability and pilot isolation
Reviewed evidence demonstrates pilot-owned persistence and later retrieval of identical canonical progress, including failure integrity, version validation, and denial of cross-pilot access.
- ComponentPilot Data Store, API Service, and Web Application — progress test suites
- Depends onAEROSIM-TS-67
- RequirementsFR-0040, NFR-0008
AEROSIM-TS-143Planning status: DonePersist governed flight completion for the active pilot
Ending or completing a launched flight writes one authenticated pilot-scoped progress record that can be retrieved in a later session.
- ComponentPersist governed flight completion for the active pilot
- Depends onAEROSIM-TS-20, AEROSIM-TS-60
- RequirementsFR-0040
Acceptance outcomes
- 01
Governed flight and training progress is persisted against the active pilot.
- 02
A later session retrieves the same canonical progress state.
Functional requirements and measurable criteria
Save Flight and Training Progress
The system shall persist governed flight, lesson, and progression state.
Acceptance 01
GivenAEROSIM-FT-33 is exercised within its governed scope under supported conditions
Whenthe primary capability path is completed
ThenGoverned flight and training progress is persisted against the active pilot
EvidenceFuture reviewed automated and browser evidence must verify this exact outcome against the current requirement.
Acceptance 02
GivenAEROSIM-FT-33 is exercised within its governed scope under supported conditions
Whenthe continuation or repeat path is completed
ThenA later session retrieves the same canonical progress state
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.