Spec 5 — picker override controls

Where do admins see scores + how do they pin / exclude / force-include? Pick one direction.

A. Controls on the TemplateGroup detail page
Global, persistent controls. Admin opens the group, sees each template's score + share + override toggles. Settings apply to every future blast using this group.
RECOMMENDED — global, durable, one source of truth
Admin · Template Groups · SALES Cold Outreach v3
SALES Cold Outreach v3 SALES
Overview
Templates & Weights
Blasts using this
Template Sends 90d Score Next-blast share Override
Hi {{firstName}}, saw you looked at {{client}} — quick question?
1,842 0.118  28.4%
{{firstName}} — {{client}}'s campaign needs a fix. 2 min?
2,103 0.094  22.6%
Quick one {{firstName}} — got 2 min for {{client}}?
1,521 0.052  13.8%
Hey there, working on {{client}} — chat?
980 −0.041  4.3%
Hi, can we talk about {{client}}?
2,401 −0.198 0%
{{firstName}}, fresh angle for {{client}} — interested?
NEW
0  15.0% (explore)

Override semantics: Pin % forces a floor for that template's share. Exclude drops it from rotation permanently for this group (different from per-blast Spec 2 exclusion). New templates split a 15% exploration bucket equally until they have ≥50 sends.

Pros

  • Single durable surface admins manage
  • Settings travel with the group across blasts
  • Reuses existing /admin/template-groups infrastructure

Cons

  • Per-blast tuning needs a "this blast only" surface too — or admins must accept group-wide changes
  • Group exclusion is sticky — easy to forget a template is silently dead
B. Controls at blast-creation time (/blasts/new)
After picking the template group, a "Picker preview" section appears showing computed shares + lets admin tweak this blast's pick before launch. Saved as a per-blast override, doesn't change the group.
PER-BLAST ONLY
Blasts · New
New Blast — Aug 19 Spring Push
Campaign: RX-Cold-Sales  ·  Group: SALES Cold Outreach v3  ·  Category: SALES
Picker preview (this blast only — group defaults unchanged)
Template Score Default share This blast
Hi {{firstName}}, saw you looked at {{client}}…
0.118 28.4% 28.4%
{{firstName}} — {{client}}'s campaign needs a fix…
0.094 22.6% 22.6%
Quick one {{firstName}}…
0.052 13.8% 30% (forced)
Hey there, working on {{client}}…
−0.041 4.3% 0% (skipped)

Override is blast-scoped. Doesn't change group defaults. Saved on SmsBlast.pickerOverrides JSON column. After launch, Spec-2 per-blast exclusion still works as before.

Pros

  • Tweak per blast without poisoning group defaults
  • Natural moment to look at scores — right before sending

Cons

  • No durable home for "this template is permanently bad"
  • Same overrides re-keyed on every new blast = admin toil
C. Both — group-level durable + per-blast overlay
Direction A controls live on the TemplateGroup page (durable defaults). Direction B preview appears on /blasts/new, pre-filled from group defaults, editable per blast. Per-blast edits saved on SmsBlast.pickerOverrides. Group changes apply to subsequent blasts only.
MAX FLEXIBILITY · MORE UX
TEMPLATE GROUP — defaults
Pin / Exclude buttons per row.
Settings persist across all future blasts.
Mirrors direction A.
/blasts/new — overlay
Pre-filled from group.
Edit for this blast only.
Mirrors direction B preview.

Pros

  • Durable group settings + per-blast tuning
  • Both surfaces share the same row UI

Cons

  • Two surfaces to build and keep in sync
  • Override-of-override mental model adds confusion
  • More implementation complexity for Spec 5

Reply in terminal which direction (A / B / C).