Skip to main content

AEROSIM-TS-67

Project task

Integrate 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.

AEROSIM-TS-67Canonical ID TASK-0067
Verified flow state
Done
Owner
AeroSim Architecture and Delivery
Component
Web Application — Outcome controller, Persistence API client, and pilot progress state
Repository
corp-v1-aerosim/corp-v1-aerosim

Delivery scope

Add typed progress capture and retrieval in the Web Application, map governed flight and training events to the API contract, surface save failures, retry idempotently, reload canonical progress after authentication, and clear pilot progress state on logout. Concrete artifacts are applications/web/src/progress/progress-client.ts and applications/web/src/progress/progress-client.test.ts; ownership is limited to the listed artifacts and their focused verification.

Implementation contract

Implementation artifacts

  • applications/web/src/progress/progress-client.ts
  • applications/web/src/progress/progress-client.test.ts

Inputs

  • Governed flight or training checkpoint emitted by the outcome controller
  • Authenticated pilot session and typed persistence API client
  • Canonical progress response loaded after authentication

Outputs

  • 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.

Failure boundaries

  • Surface a failed save without marking the checkpoint persisted; an idempotent retry may not duplicate the update
  • Reject malformed or mismatched canonical progress responses and clear all pilot-bound progress on logout or subject replacement

Excluded scope

  • Making unsaved browser progress authoritative after reload
  • Capturing every simulation frame, raw control sample, or diagnostic telemetry event

Verification steps

  • Run applications/web/src/progress/progress-client.test.ts against the exact implementation revision and retain the complete passing result.
  • Exercise the positive contract with governed flight or training checkpoint emitted by the outcome controller, then assert: 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.
  • Exercise every negative boundary: Surface a failed save without marking the checkpoint persisted; an idempotent retry may not duplicate the update; Reject malformed or mismatched canonical progress responses and clear all pilot-bound progress on logout or subject replacement

Traceability

Requirements

Dependencies

UI/UX applicability

non_visual

This Task owns technical or behavioral acceptance and does not claim direct visual conformance to the approved UI/UX package.

Acceptance evidence

Verified delivery: application PR #114 reviewed head 5d674ace2e77116f256e1cfcbd18e1d167b91675 passed exact-head jobs 3296 through 3303 and merged as 727abd463f48c97207480655409df7a82b046d02. Integration jobs 3304 through 3307 succeeded. Eight focused tests prove governed flight and lesson checkpoint capture, canonical later-session restoration, surfaced failures, identical idempotent retry, strict acknowledgement and response validation, recursive pilot-identity rejection, late-response invalidation, immediate subject-replacement clearing, unauthenticated retry clearing, and logout cleanup. Release completion verified on product 1.0.0.0 at GitOps revision 5d3712d89dfbf7dacd993348e55f497d126c7bf9 with Argo Synced/Healthy, exact image digests, authenticated API/database access, and three-world configured-flight acceptance.

Current evidence boundary

No current implementation, acceptance, release, or deployment evidence is claimed for this planned Task. Any prior implementation may be used only as prototype and discovery evidence.