AEROSIM-TS-103
Propagate verified controls into the launched session
The launched session uses the exact input method and required mapping shown and verified during pre-flight.
- Verified flow state
- Done
- Owner
- AeroSim Architecture and Delivery
- Feature
- AEROSIM-FT-16
- Component
- Web Application — Flight shell to Input controller boundary
- Repository
- corp-v1-aerosim/corp-v1-aerosim
Delivery scope
Freeze the verified control profile and token into FlightLaunchConfiguration; consume the token atomically during session creation; initialize the flight input controller from the exact profile hash; and report the applied method, device, mapping version, and profile hash in SessionControlState.
Implementation contract
Implementation artifacts
- applications/web/src/session/launch/control-launch-adapter.ts
- applications/web/src/input/initialize-session-controls.ts
- applications/web/test/session/control-launch-adapter.spec.ts
Inputs
- A confirmed ControlProfileDraft and matching unconsumed ControlVerificationToken.
- A deliberate launch command and current device availability.
Outputs
- An immutable launch control snapshot and initialized SessionControlState with matching profile hash.
- A consumed-token record tied to the created sessionId.
Failure boundaries
- Missing, expired, consumed, wrong-profile, wrong-device, or wrong-version token aborts before session activation and reports verification_required.
- Device loss or controller initialization failure reports launch_failed at the controls stage and creates no active session.
Excluded scope
- No automatic diagnostic or launch retry occurs.
- The session cannot silently substitute another method, device, binding, or default control profile.
Verification steps
- Run applications/web/test/session/control-launch-adapter.spec.ts and assert profile, token, launch configuration, and SessionControlState hashes match.
- Replay a consumed token and inject every token mismatch; assert verification_required and zero additional sessions.
- Fail controller initialization, then run a new diagnostic and deliberate launch; assert only the second attempt creates one session.
Traceability
Dependencies
- AEROSIM-TS-102Canonical ID: TASK-0102
Acceptance evidence
Verified delivery: application PR #150 reviewed head 789704121227d6c5e9f24098851a51a804ec7a47 merged as b2435e0473889a354a272e6504cfd0ba9daca174. Focused control-launch tests pass 6/6; exact-head CI run 4527 attempt 1 passed lint, typecheck, workflow contract, tests, environment consistency, build, container images, and aggregate validation. Integration run 4549 and immutable-image publication run 4548 passed for the merge revision; Harbor readback verified nebula sha256:3bd12e51d403ab121bfd43aab59cb3b3403915adab891041e4099743ee3de371 and singularity sha256:1494244b59a1b633f9e50e18f28285f68d3ee841cce157c85ab909c801bc841d. The immutable launch snapshot preserves the exact method, device, mapping version, profile hash, and consumed token; every token mismatch, clone replay, device loss, and controller failure creates no active session, while reverification permits one deliberate launch. 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.