# HyperTwist Phase 4 gameplay generated-mode selector option owned execution split-phase current-selection label-provenance partition merged ordered roster phase-id lookup inspect surface packet

## Goal

Close the next thin gameplay-facing consumer seam above the current-selection label-provenance partition merged ordered roster inspect surface by exposing one current-selection merged ordered roster phase-id lookup inspect surface for a chosen selector id and phase id.

## Why this packet exists

The current-selection label-provenance partition merged ordered roster inspect surface already exposed the active selection's retained split phases in one ordered list with explicit-label versus phase-id-fallback partition tagging. Gameplay and Blueprint callers that needed one specific retained phase row still had to scan that merged ordered roster array themselves to find a matching phase id and then preserve truthful blocked, unresolved, or missing-row posture.

This packet removes that caller-side lookup step. It exposes one thin current-selection merged ordered roster phase-id lookup inspect surface that composes the already-landed merged ordered roster inspect surface and returns the matched retained phase row when one exists, while preserving truthful no-request, unresolved-selection, blocked-preview, no-retained-phase, and retained-roster-miss posture.

## What changed

- add a first-party owned execution split-phase current-selection merged ordered roster phase-id lookup inspect surface in shared training types
- derive that surface in the coach library by composing the already-landed current-selection merged ordered roster inspect surface instead of reimplementing merged-roster construction logic
- expose the current-selection merged ordered roster phase-id lookup inspect surface on both gameplay-facing consumers:
  - `UHyperTwistTrainingPanelWidget`
  - `AHyperTwistTrainingSessionActor`
- preserve exact matched retained phase row detail when the requested phase id is present in the active selection's merged ordered retained-phase roster
- preserve truthful lookup-miss, unresolved cached-selection, and blocked-preview posture when a matching retained phase row cannot yet be exposed

## Validation

- full `Development Editor|Win64` solution build for `C:\HyperTwist\UnrealHyperTwist\UnrealHyperTwist.sln`

## Result

Gameplay and Blueprint callers can now inspect one retained split-phase row for the active selection by phase id without scanning the merged ordered roster array themselves.

## Next bounded slice

Stay on the same gameplay-facing consumer lane and expose one thin generated-mode selector option owned execution split-phase current-selection label-provenance partition merged ordered roster normalized-order lookup inspect surface so callers can inspect one retained split-phase row by normalized execution order without scanning the merged ordered roster array themselves.
