# HyperTwist Phase 4 template-signal bias selection provenance packet

## Purpose

This packet persists whether a broader `TemplateScopedOutcomeSignal` analytics tie-break win was just a plain broader-outcome win or whether the new confidence-lane bias actually broke the tie. That distinction now survives into selector provenance, so dashboard detail, template launch history, and run recap can audit the reason the winner was chosen instead of inferring it from current analytics.

## Scope

- add a small template-signal support enum under template launch selection provenance
- mark broader analytics winners as either:
  - `broader-outcome-only`
  - `confidence-lane-bias`
- set that field only when the confidence-lane bias actually changes the tied winner
- surface the persisted distinction through the shared selection-detail formatter used by live detail, template history, and recap

## What landed

- `HyperTwistTrainingTypes.h`
  - added `EHyperTwistTrainingTemplateLaunchSelectionTemplateSignalSupportKind`
  - nested `TemplateSignalSupportKind` under `FHyperTwistTrainingTemplateLaunchSelectionProvenance`
- `HyperTwistCoachDashboardWidget.cpp`
  - widened `FTemplateLaunchAnalyticsPreferenceDecision` with a `bCandidateUsedTemplateSignalConfidenceSnapshotBias` flag
  - the tied-score template-signal confidence-bias branch now sets that flag when it changes the winner
  - `BuildTemplateLaunchAnalyticsTieBreakSelectionProvenance(...)` now records:
    - `broader-outcome-only`
    - or `confidence-lane-bias`
  - broader analytics decision summaries now distinguish plain wins from confidence-lane-bias wins
  - shared selector detail now appends `template-signal support broader-outcome-only` or `template-signal support confidence-lane-bias`

## Product effect

- live `[Template Launch]` detail now shows whether a broader analytics winner was selected plainly or because the confidence-lane bias broke the tie
- template launch history preserves that same distinction from stored provenance
- run recap inherits the same persisted selector detail without recomputing anything from current stats

## Acceptance criteria

- broader analytics selection provenance persists the new template-signal support kind
- the confidence-lane bias branch marks `confidence-lane-bias` only when it actually changes the tied winner
- plain broader analytics wins remain labeled `broader-outcome-only`
- live detail, template history, and recap all show the persisted template-signal support kind through shared selector detail

## Validation checklist

1. full `Development Editor|Win64` build succeeds
2. confirm tied-score confidence-lane bias branch marks `confidence-lane-bias`
3. confirm plain broader analytics wins stay `broader-outcome-only`
4. confirm shared selector detail shows the persisted template-signal support label in live detail, template history, and recap
