# HyperTwist Phase 6R-AY learned-search frontier scoring and solution unwind preparation packet

Date: `2026-05-31`

## Goal

Reopen the landed `Phase 6R-AV` through `Phase 6R-AX` learned-search lane one
narrow step further through explicit first-party frontier-scoring and
solution-unwind boundaries above the same retained
`yakupbilen/drl-rubiks-cube` benchmark slice.

## Why this slice is justified

After `Phase 6R-AX`, one bounded experimentation gap still remained in
first-party terms:

- explicit batched frontier pop and score-ordering posture
- explicit categorical heuristic input and no-grad evaluation posture
- explicit solution unwind and move-list normalization posture
- explicit iteration or timeout termination reporting posture

Those surfaces are real in the benchmark source:

- `search/search.py` keeps open-list score ordering, batched frontier pops,
  weighted `f` scoring, categorical heuristic input shaping, and no-grad
  evaluation
- `search/search.py` also keeps solved-state short-circuit return, parent-chain
  solution unwind, move-list reverse and clear-seq normalization, and
  iteration/time-bounded reporting

But HyperTwist did not yet expose those as narrow first-party boundaries.

## Bounded implementation target

Land a bounded follow-on inside the existing learned-search library:

- first-party learned-search frontier-scoring boundary
- first-party learned-search solution-unwind boundary
- runtime-library accessors for both
- focused automation coverage

## Explicit non-goals

Do not widen this packet into:

- canonical replay ledger ownership
- live timer or competition-stats ownership
- live solve explanation ownership
- deployed model serving ownership
- browser or camera shell ownership
- correctness/performance oracle ownership

## Files expected to move

- `UnrealHyperTwist/Source/UnrealHyperTwist/Public/HyperTwistTraining/HyperTwistTrainingLearnedSearchLibrary.h`
- `UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingLearnedSearchLibrary.cpp`
- `UnrealHyperTwist/Source/UnrealHyperTwist/Public/HyperTwistTraining/HyperTwistTrainingRuntimeLibrary.h`
- `UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingRuntimeLibrary.cpp`
- `UnrealHyperTwist/Source/UnrealHyperTwist/Tests/HyperTwistLearnedSearchPhase6RAYScoringUnwindContractTest.cpp`
- canon sync docs

## Validation target

Safe source-level validation only on this VPS:

- focused contract coverage for the new frontier-scoring and solution-unwind slice
- targeted wiring sweep
- `git diff --check`
