# HyperTwist Phase 4 queue launch continuity packet

Created on `2026-05-06`

Status:

- first-party HyperTwist packet
- bounded Phase `4` coach-to-review validation slice

## Purpose

This packet closes the next end-to-end continuity gap in the live recognition-assisted coach-to-review loop.

The open task is:

- keep queue preview and queue-start execution anchored to the queued snapshot, including `primary-brief` and `follow-up-brief` entries

It is not:

- a new recognition transport packet
- a new review-policy heuristic packet
- a new queue persistence packet
- a broad queue-system rewrite

## Scope

Bounded lane:

- remove the remaining queue-start special cases that bypass queued state for `primary-brief` and `follow-up-brief`
- derive queued launch budget from the queued snapshot when explicit queued focus cases already exist
- keep dashboard queue preview aligned with the same queued deck and queued launch-budget path used for queue execution

Out of scope:

- new queue prioritization rules
- new coach-signal derivation
- new replay scoring
- new review-plan heuristics
- new UI layout work

## Why this was the right next packet

Before this slice:

- recognition replay pressure already flowed into coach guidance
- queue entries already preserved the coach-brief semantics needed for downstream continuity
- active review-policy continuity, dashboard inspection, and recognition-review intervention continuity were already landed
- queue-backed brief reconstruction already restored the right brief fields from persisted queue state

But the queue launch lane still had one honest continuity break:

- queue preview and queue start still special-cased `primary-brief` and `follow-up-brief`
- those special cases could bypass the queued snapshot and fall back to the current live recommended/follow-up deck path
- launch-budget preview for the next queued item could therefore reflect current live brief state rather than the queued entry that was actually about to start

That meant the broad Phase `4` validation lane was still not fully honest once queued work crossed from persisted queue state into previewed and launched runtime execution.

So the next honest move was:

- make queued entries authoritative through preview and launch, instead of preserving queue semantics only to bypass them at execution time

## What landed

Primary code changes:

- `UnrealHyperTwist/Source/UnrealHyperTwist/Private/HyperTwistTraining/HyperTwistTrainingSubsystem.cpp`
  - added a queue-launch budget helper that respects queued focus snapshots before falling back to live launch-budget heuristics
  - updated queue deck construction so explicit queued focus cases keep their queued case slice instead of being reshaped by current live budget pressure
  - updated coach panel state so the next queued launch preview always derives deck validity, case budget, and reason text from the queued entry path
  - removed `primary-brief` / `follow-up-brief` queue-start special cases in `StartNextQueuedCoachRun()`
  - removed `primary-brief` / `follow-up-brief` queue-entry special cases in `StartCoachQueueEntry()`
  - made both queue-start entry points reconstruct their brief, deck, and launch budget from the queued snapshot before action-plan activation
- `AGENTS.md`
  - documented the stricter continuation rule for `continue` and `c`, including logical-sequence widening before landing and packet-level completion expectations

## Product effect

Queue-backed coach execution is now more coherent at the runtime handoff boundary:

- `primary-brief` and `follow-up-brief` queue entries now launch from the same queued snapshot path as the rest of the queue lane
- queued focus-case slices remain authoritative when the queue already stored an explicit launch scope
- dashboard queue preview now shows queued launch budget and queued launch viability based on the entry that will actually run
- queue-started action plans stay aligned with the queue-backed brief continuity already landed in the previous packet

## Acceptance criteria

- queue preview no longer falls back to live recommended/follow-up launch state for runnable queued entries
- `StartNextQueuedCoachRun()` no longer bypasses queued state for `primary-brief` or `follow-up-brief`
- `StartCoachQueueEntry()` reconstructs brief, deck, and launch budget from queued state for all runnable entries
- queued focus-case snapshots stay authoritative when present
- full product build succeeds

## Validation checklist

1. build `UnrealHyperTwist.sln` / `UnrealHyperTwistEditor`
2. confirm the next queued panel preview derives its launch deck and launch-budget reason from queued state
3. confirm `primary-brief` and `follow-up-brief` entries now flow through queue-backed brief reconstruction rather than direct live-brief fallback
4. confirm queued focus-case slices remain stable through preview and queue launch
5. confirm no broader review-policy or replay packet is reopened

That is the packet.
