feat(llm): on-air voice trio — they/their, persona-voiced openings, occasional self-name mentions - #219
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Three audible on-air fixes, one commit each:
🗣️ #151 — they/their for artists (
c12a22c)System-prompt scaffold now carries: "Refer to artists and bands as they/them/their unless the provided metadata explicitly states pronouns - never infer gender from a name." Rides both prompt variants; pinned by specs on each. Closes #151.
🎭 #152 — neutral boilerplate only without a persona (
95d7211)BuildSystemPromptsplit intoNeutralOpening/PersonaOpening+ shared scaffold: persona-voiced prompts drop "personality-neutral" entirely and open with "write every word in the voice of the persona described below." The contradiction Dean quoted from the demo box is gone. The issue's expose-the-prompt-in-Admin-UI half stays open, as scoped. (Refs #152 — not closed.)📻 #150 — DJs occasionally say their own name (
1492e13)On ~15% of persona-voiced breaks (
SelfNameMentionProbabilityconst, "roughly one break in seven"), the persona section gains: "Name note: your on-air name is {name} - briefly work your own name into this break where it lands naturally… once is plenty." The roll lives at the call site (Random.Shared, same injected-nondeterminism posture as theTimeProviderclock) so the builder stays pure; persona gate enforced in the builder — no persona, no line, ever. Closes #150.✅
dotnet build0 warnings · Tts.Tests 243 passed · full solution suite 2,594 tests, 0 failures.