# HyperTwist thin generated-mode runtime consumer packet

Created on `2026-05-06`

Status:

- first-party HyperTwist packet
- bounded thin runtime-consumer slice

## Purpose

This packet defines the next logical thin-consumer step after the generated-mode executor and the restart-doc sync packet.

The open task is:

- mirror the stabilized imported generated-mode selector/request/execute lane into the generic runtime consumer surfaces that already wrap coach-run flows

It is not:

- a new generated-mode backend
- a dashboard redesign
- a broad blueprint API sweep
- a widening of the bounded imported lane

## Scope

Bounded lane:

- surface the existing generated-mode runtime-library lane through:
  - `UHyperTwistTrainingPanelWidget`
  - `AHyperTwistTrainingSessionActor`

Required result:

- the generic panel widget and session actor cache active imported selection state, active generated-mode launch config/request, and latest generated-mode request for the active deck
- both surfaces expose thin wrappers for:
  - applying imported selector options
  - applying generated-mode selector choices
  - creating the active generated-mode launch request
  - executing the active generated-mode launch request

Out of scope:

- new product UI
- new execution heuristics
- changes to the owned generated-mode executor itself
- external plugin copies

## Current owned product truth

These pieces are already live in first-party code:

- runtime-library wrappers for generated-mode selector, launch-request, and execute behavior
- dashboard consumer flow for generated-mode execution
- coach-panel state carrying generated-mode readiness / blocked-reason fields

What was still missing:

- parity in the generic runtime consumer surfaces that already mirror coach-run entry points

## Acceptance criteria

- panel widget and session actor can drive the bounded generated-mode selector/request/execute lane without reaching around them to call the runtime library directly
- full UE build still succeeds

## Validation checklist

1. build `UnrealHyperTwist.sln`
2. confirm the new panel/widget methods compile against the existing runtime-library wrappers
3. confirm the new cached generated-mode fields refresh with the rest of runtime state

That is the packet.
