# HyperTwist Phase 4 template-signal confidence scoring bias packet

## Purpose

This packet feeds the new broader `TemplateScopedOutcomeSignal` confidence-snapshot split back into actual dashboard analytics tie-break selection. When the existing analytics score already ties, the selector can now conservatively prefer a template whose broader analytics wins are already landing in the `confidence-eligible` lane instead of a competing template whose broader wins still cluster in the `suppressed` lane.

## Scope

- add a conservative template-signal confidence-snapshot bias helper in dashboard selection logic
- require minimum `confidence-eligible` outcome count and share before the bias can exist
- if the template still has suppressed broader-history outcomes, require the eligible lane to beat or clearly improve on the suppressed lane before the bias is awarded
- apply that bias only after the existing analytics score ties
- surface the same bias-earned / bias-suppressed state in shared template analytics detail

## What landed

- `HyperTwistCoachDashboardWidget.cpp`
  - added `HasTemplateLaunchTemplateSignalConfidenceSnapshotBias(...)`
  - new guard requirements:
    - at least `2` `confidence-eligible` outcome runs
    - at least `0.50` eligible share within broader template-signal outcomes
    - if suppressed broader-history exists, eligible outcomes must beat it on lane score or show meaningful success / mistake improvement
  - `ResolveTemplateAnalyticsPreferenceDecision(...)` now consults this bias only after the existing analytics score already ties
  - shared template analytics detail now appends:
    - `bias earned` or `bias suppressed`
    - eligible outcome count/share
    - suppressed outcome count

## Product effect

- broader template-signal confidence history no longer just sits in analytics detail; it can now break otherwise tied analytics choices
- the bias stays conservative because it does not override the main analytics score and it requires both sample depth and lane-share support
- live `[Template Launch]` detail, template launch history, and run recap now expose whether the broader template-signal bias is currently earned or suppressed for the displayed template

## Acceptance criteria

- the new broader template-signal confidence bias only applies after the current analytics score ties
- the bias requires minimum eligible outcome count and share
- suppressed broader-history prevents the bias unless the eligible lane meaningfully beats or improves on it
- shared analytics detail shows whether the broader template-signal bias is earned or suppressed

## Validation checklist

1. full `Development Editor|Win64` build succeeds
2. confirm `ResolveTemplateAnalyticsPreferenceDecision(...)` checks the new bias only after score equality
3. confirm the bias requires minimum eligible outcome count/share
4. confirm shared analytics detail reports `bias earned` or `bias suppressed` with eligible count/share and suppressed count
