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

## Purpose

This packet feeds the new broader template-signal decision split back into tied dashboard analytics selection. A template only gets the extra broader template-signal bonus from the historical `SupportBiasSnapshotGuard` lane when stored guard-backed outcomes have enough history and are actually beating that template's broader non-guard launches.

## Scope

- add a minimum-sample decision-bias helper over the repo-backed `support-bias-snapshot-guard` vs `no-snapshot-guard` template-signal split
- gate the tied broader template-signal bonus on that new historical decision-bias helper
- append the current `decision-bias earned/suppressed` state to shared template analytics detail so live detail, history, and recap expose whether the new guard is currently active

## What landed

- `HyperTwistCoachDashboardWidget.cpp`
  - added `HasTemplateLaunchTemplateSignalSupportDecisionBias(...)`
  - the helper requires:
    - prior template-signal support-bias snapshot eligibility
    - minimum `support-bias-snapshot-guard` outcome runs
    - minimum `no-snapshot-guard` comparison outcome runs
    - either score, success-rate, or mistake improvement over the non-guard broader lane
  - tied broader analytics selection now only awards the historical support-bias snapshot-guard bonus when that helper returns true
  - shared `template-signal decision` analytics detail now appends:
    - `decision-bias earned`
    - or `decision-bias suppressed`
    - plus the guard and non-guard outcome counts that drove the current gate

## Product effect

- broader analytics no longer get extra template preference merely because the template has some stored snapshot-guard wins
- the guard now reinforces future tied broader selections only when the guard-backed lane has enough stored outcome history and is outperforming the template's broader non-guard lane
- operators can see whether that historical decision-bias guard is currently earned or suppressed anywhere shared template analytics are rendered

## Acceptance criteria

- tied broader `TemplateScopedOutcomeSignal` selection requires the new decision-bias guard before the support-bias snapshot-guard bonus can decide the winner
- shared analytics detail shows `decision-bias earned/suppressed` with guard and non-guard outcome counts
- sparse or underperforming `support-bias-snapshot-guard` history no longer reinforces future tied broader selections by itself

## Validation checklist

1. full `Development Editor|Win64` build succeeds
2. confirm tied broader analytics selection now requires `HasTemplateLaunchTemplateSignalSupportDecisionBias(...)`
3. confirm shared analytics detail shows `decision-bias earned` or `decision-bias suppressed`
4. confirm the helper compares stored `support-bias-snapshot-guard` outcomes against stored `no-snapshot-guard` outcomes with minimum-sample thresholds
