# HyperTwist Phase 4 runtime-library generated-mode selector option owned-execution puzzle/subset/difficulty, provenance, deck-title/selection-policy, and deck-id/runtime-surface retention preview surface packet

- bounded Phase `4` runtime-consumer slice
- date: `2026-05-09`

## Intent

Stay on the deliberate `UHyperTwistTrainingRuntimeLibrary` world-context consumer lane and expose the next truthful owned-execution scope, attribution, and retention preview contracts above the already-landed owned-execution case, prompt, and delivery preview surfaces.

## Why this packet exists

The prior runtime-library packet let world-context callers explain owned-case identity / canonical-state posture, prompt label / prompt-kind posture, and delivery-mode / reveal / time-target posture for one selector option.

But callers still had to inspect raw generated-mode launch-preview and deck-policy details if they needed to explain:

- which puzzle id, subset id, and difficulty posture would apply on owned execute
- what source attribution and provenance tags would survive into the owned-execution target
- what deck title and selection-policy posture would govern the generated owned run
- whether deck id and runtime-surface retention would remain exact, refreshed, or blocked

That kept the runtime-library world-context seam behind the already-landed panel-widget and session-actor owned-execution preview lane.

## What changed

- added `GetActiveTrainingCoachGeneratedModeSelectorOptionOwnedExecutionPuzzleSubsetDifficultyPreviewSurface()`
- added `GetActiveTrainingCoachGeneratedModeSelectorOptionOwnedExecutionProvenancePreviewSurface()`
- added `GetActiveTrainingCoachGeneratedModeSelectorOptionOwnedExecutionDeckTitleSelectionPolicyPreviewSurface()`
- added `GetActiveTrainingCoachGeneratedModeSelectorOptionOwnedExecutionDeckIdRuntimeSurfaceRetentionPreviewSurface()`
- derived all four surfaces from the active run state, selected `SelectorId`, and the already-landed runtime-library selector option-menu and launch-request preview surfaces
- kept the runtime-library lane purely compositional over already-cached coach/generated-mode state without reopening backend derivation

## Files

- `C:\HyperTwist\UnrealHyperTwist\Source\UnrealHyperTwist\Public\HyperTwistTraining\HyperTwistTrainingRuntimeLibrary.h`
- `C:\HyperTwist\UnrealHyperTwist\Source\UnrealHyperTwist\Private\HyperTwistTraining\HyperTwistTrainingRuntimeLibrary.cpp`
- `C:\HyperTwist\docs\HYPERTWIST_ROADMAP_OVERHAUL_EXPANSION_GUIDE.md`

## Outcome

World-context gameplay and Blueprint callers can now ask the runtime library for:

- the truthful owned-execution puzzle / subset / difficulty preview for one selector option
- the truthful owned-execution provenance preview for one selector option
- the truthful owned-execution deck-title / selection-policy preview for one selector option
- the truthful owned-execution deck-id / runtime-surface retention preview for one selector option

without reading raw generated-mode launch-preview, deck-policy, or retained-runtime-surface details directly.

## Validation

- full `Development Editor | Win64` MSBuild on `UnrealHyperTwist.sln`

## Next clean slice

Stay on this runtime-library consumer lane only if a real world-context caller still needs one more thin derived coach/generated-mode display contract or displayed-action convenience helper over already-cached state. The next aligned move inside that lane would be the runtime-library generated-mode selector option owned-execution delivery-mode roster/allowed-mode retention, real-scramble/virtual-cube/smart-cube capability retention, and timing-policy retention preview group, because those are the next truthful owned-execution retention contracts above the newly-landed puzzle/subset/difficulty, provenance, deck-title/selection-policy, and deck-id/runtime-surface retention preview surfaces.
