# HyperTwist Phase 4 gameplay generated-mode selector option owned execution split-phase current-selection label-provenance partition merged ordered roster evaluation-order 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 evaluation-order lookup inspect surface for a chosen selector id and retained evaluation order.

## 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. The already-landed phase-id and normalized-order lookup surfaces covered two retained-row address paths, but gameplay and Blueprint callers that needed one specific retained phase row by evaluation order still had to scan that merged ordered roster array themselves to find the requested retained row 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 evaluation-order 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 evaluation-order 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 evaluation-order lookup inspect surface on both gameplay-facing consumers:
  - `UHyperTwistTrainingPanelWidget`
  - `AHyperTwistTrainingSessionActor`
- preserve exact matched retained phase row detail when the requested evaluation order 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 evaluation order without scanning the merged ordered roster array themselves.

## Next bounded slice

Stay on the same gameplay-facing consumer lane and expose the already-cached coach signals, coach brief, coach follow-up brief, coach session queue summary, coach schedule horizon summary, and coach schedule policy summary directly on the gameplay-facing consumers so callers can inspect that cached coach state without depending on raw widget or actor properties.
