# HyperTwist Phase 4 template-signal decision-bias snapshot guard selection packet

## Purpose

This packet feeds the new plain-vs-history-reinforced `DecisionSplitGuard` analytics split back into actual broader template selection. The final historical decision-bias snapshot guard now reinforces tied broader template-analytics choices only when its reinforced `DecisionSplitGuard` outcomes are meaningfully beating plain decision-split history instead of merely existing.

## Scope

- tighten the final broader template-analytics reinforcement guard inside `ResolveTemplateAnalyticsPreferenceDecision(...)`
- keep the existing earned-vs-non-earned decision-bias snapshot comparison as a prerequisite
- add a second minimum-sample comparison between:
  - `plain-decision-split-guard`
  - `decision-bias-snapshot-guard`
- require the reinforced lane to beat the plain decision-split lane on lane score or show meaningful success / mistake improvement before the final snapshot guard can award a tied-selection preference

## What landed

- `HyperTwistCoachDashboardWidget.cpp`
  - widened `HasTemplateLaunchTemplateSignalSupportDecisionBiasSnapshotBias(...)`
  - the final decision-bias snapshot guard now exits early unless:
    - earned snapshot-guard history beats suppressed/no-retained decision-bias-snapshot history
    - and the reinforced `DecisionSplitGuard` lane has enough outcome history to beat plain decision-split history
  - updated the template launch decision summary line so at-launch provenance states that the final reinforcement only happened after reinforced history beat plain decision-split history

## Product effect

- broader template-scoped outcome-signal ties are now more conservative at the final reinforcement step
- the decision-bias snapshot guard no longer activates just because some reinforced history exists
- operators can trust that a final snapshot-guard reinforcement implies:
  - earned-vs-non-earned decision-bias snapshot history is favorable
  - and reinforced `DecisionSplitGuard` history is already outperforming plain decision-split history with minimum sample depth

## Acceptance criteria

- the final broader template-analytics decision-bias snapshot guard still requires the earlier earned-vs-non-earned snapshot advantage
- reinforced `DecisionSplitGuard` history must now also beat plain decision-split history with minimum sample depth before the guard can reinforce selection
- sparse reinforced or plain decision-split history suppresses the final reinforcement
- full `Development Editor|Win64` build succeeds

## Validation checklist

1. full `Development Editor|Win64` build succeeds
2. confirm `HasTemplateLaunchTemplateSignalSupportDecisionBiasSnapshotBias(...)` now checks reinforced-vs-plain decision-split history after the earned-vs-non-earned snapshot comparison passes
3. confirm the new reinforced-vs-plain gate requires minimum sample depth on both lanes
4. confirm template launch provenance states that the final reinforcement only happened after reinforced history beat plain decision-split history

## Validation result

- full `Development Editor|Win64` build succeeded on `2026-05-07`

## Next bounded follow-on slice

- run the final full recognition-assisted coach-to-review closure validation pass across replay pressure, queue launch, post-clear review rehydration, post-clear action-plan rehydration, post-clear review resumption, final carryover consumption, review-program exhaustion, and truthful idle dashboard closure
