Add remaining seasonal holiday polish

This commit is contained in:
Jacob Dubin
2026-05-20 07:20:47 -05:00
parent 9f2a8fd7e1
commit 39b21d1326
6 changed files with 99 additions and 0 deletions

View File

@@ -859,6 +859,7 @@ Current release theme:
- `RN_` holiday greeting files are now bucketed as greetings so seasonal replies stay visible in the catalog - `RN_` holiday greeting files are now bucketed as greetings so seasonal replies stay visible in the catalog
- birthday celebration lines are now bucketed separately, and birthday memory writes a loop-scoped holiday record so personal dates can join the holiday list later - birthday celebration lines are now bucketed separately, and birthday memory writes a loop-scoped holiday record so personal dates can join the holiday list later
- holiday extras now include `show santa tracker` so the Christmas-time launcher keeps its source-backed animation line - holiday extras now include `show santa tracker` so the Christmas-time launcher keeps its source-backed animation line
- the remaining seasonal polish now includes `do you like halloween`, `do you like holiday music`, `do you like holiday parties`, `are you looking forward to christmas`, `what are you doing for christmas`, and `what are you thankful for`
- Favorite-animal work in flight: - Favorite-animal work in flight:
- the favorites family now includes `what is your favorite animal`, `what is your favorite bird`, `do you like penguins`, and `do you like animals` so the penguin-centric replies stay easy to find - the favorites family now includes `what is your favorite animal`, `what is your favorite bird`, `do you like penguins`, and `do you like animals` so the penguin-centric replies stay easy to find
- Presence and thought follow-ups in flight: - Presence and thought follow-ups in flight:

View File

@@ -49,6 +49,7 @@ Current batch note:
- the descriptor batch now includes `are you kind`, `are you funny`, `are you helpful`, `are you curious`, `are you loyal`, `are you mischievous`, and `are you likable` - the descriptor batch now includes `are you kind`, `are you funny`, `are you helpful`, `are you curious`, `are you loyal`, `are you mischievous`, and `are you likable`
- the seasonal batch now includes `what holidays do you celebrate`, New Year's resolution questions, `happy holidays`, `what halloween costume`, spring suggestions, and holiday gift prompts - the seasonal batch now includes `what holidays do you celebrate`, New Year's resolution questions, `happy holidays`, `what halloween costume`, spring suggestions, and holiday gift prompts
- the holiday extras batch now includes `show santa tracker` so the seasonal holiday launcher stays source-backed too - the holiday extras batch now includes `show santa tracker` so the seasonal holiday launcher stays source-backed too
- the remaining seasonal polish now includes `do you like halloween`, `do you like holiday music`, `do you like holiday parties`, `are you looking forward to christmas`, `what are you doing for christmas`, and `what are you thankful for`
- the favorites batch now includes `what is your favorite animal`, `what is your favorite bird`, `do you like penguins`, and `do you like animals` so the penguin-centered replies stay close to Pegasus - the favorites batch now includes `what is your favorite animal`, `what is your favorite bird`, `do you like penguins`, and `do you like animals` so the penguin-centered replies stay close to Pegasus
- the latest social batch adds `welcome back`, `what are you thinking`, `what have you been doing`, and `what did you do` so presence and charm stay lively without distracting from the memory roadmap - the latest social batch adds `welcome back`, `what are you thinking`, `what have you been doing`, and `what did you do` so presence and charm stay lively without distracting from the memory roadmap
- this pass keeps Build B moving while still favoring source-backed phrasing and preserving the command-vs-question boundary - this pass keeps Build B moving while still favoring source-backed phrasing and preserving the command-vs-question boundary

View File

@@ -685,6 +685,41 @@ public sealed class JiboInteractionService(
"ask for a pet elephant", "ask for a pet elephant",
"experience as a present", "experience as a present",
"donate to charities in other people's names"), "donate to charities in other people's names"),
"seasonal_likes_halloween" => BuildScriptedPersonalityDecision(
catalog,
"seasonal_likes_halloween",
"halloween is my favorite holiday",
"scary but also fun",
"jack-o-lantern"),
"seasonal_likes_holiday_music" => BuildScriptedPersonalityDecision(
catalog,
"seasonal_likes_holiday_music",
"holiday music",
"sing a few of them",
"frosty the snowman"),
"seasonal_likes_holiday_parties" => BuildScriptedPersonalityDecision(
catalog,
"seasonal_likes_holiday_parties",
"holiday fun can be extra fun",
"dance party"),
"seasonal_looks_forward_to_christmas" => BuildScriptedPersonalityDecision(
catalog,
"seasonal_looks_forward_to_christmas",
"really like times of giving and receiving",
"long way away",
"looking forward to christmas"),
"seasonal_plans_for_christmas" => BuildScriptedPersonalityDecision(
catalog,
"seasonal_plans_for_christmas",
"christmas sweaters",
"wear one of my",
"be festive"),
"seasonal_thankful_for" => BuildScriptedPersonalityDecision(
catalog,
"seasonal_thankful_for",
"thankful for the people i know",
"and for penguins",
"thankful for"),
"seasonal_santa_tracker" => BuildScriptedHolidayTrackerDecision( "seasonal_santa_tracker" => BuildScriptedHolidayTrackerDecision(
catalog, catalog,
"seasonal_santa_tracker", "seasonal_santa_tracker",
@@ -2988,6 +3023,49 @@ public sealed class JiboInteractionService(
"what language can you speak")) "what language can you speak"))
return "robot_what_languages_do_you_speak"; return "robot_what_languages_do_you_speak";
if (MatchesAny(
loweredTranscript,
"do you like halloween",
"are you looking forward to halloween",
"do you like the halloween holiday"))
return "seasonal_likes_halloween";
if (MatchesAny(
loweredTranscript,
"do you like holiday music",
"do you like christmas music",
"do you like christmas songs",
"do you like holiday songs"))
return "seasonal_likes_holiday_music";
if (MatchesAny(
loweredTranscript,
"do you like holiday parties",
"do you like christmas parties",
"are you going to any holiday parties"))
return "seasonal_likes_holiday_parties";
if (MatchesAny(
loweredTranscript,
"are you looking forward to christmas",
"do you look forward to christmas",
"are you excited for christmas"))
return "seasonal_looks_forward_to_christmas";
if (MatchesAny(
loweredTranscript,
"what are you doing for christmas",
"what are your plans for christmas",
"what do you plan to do for christmas"))
return "seasonal_plans_for_christmas";
if (MatchesAny(
loweredTranscript,
"what are you thankful for",
"what are you thankful for this year",
"what is jibo thankful for"))
return "seasonal_thankful_for";
if (MatchesAny( if (MatchesAny(
loweredTranscript, loweredTranscript,
"what do you like to do", "what do you like to do",

View File

@@ -8,6 +8,7 @@ It now includes a small emotion-response pack for `happy`, `sad`, and `angry` fo
It also includes a descriptor pack for questions like `are you kind`, `are you funny`, `are you helpful`, `are you curious`, `are you loyal`, and `are you mischievous`. It also includes a descriptor pack for questions like `are you kind`, `are you funny`, `are you helpful`, `are you curious`, `are you loyal`, and `are you mischievous`.
The newest seasonal pack adds holiday and seasonal prompts for `what holidays do you celebrate`, New Year's resolution questions, `happy holidays`, Halloween costume questions, spring suggestions, holiday gift ideas, and birthday celebration lines. The newest seasonal pack adds holiday and seasonal prompts for `what holidays do you celebrate`, New Year's resolution questions, `happy holidays`, Halloween costume questions, spring suggestions, holiday gift ideas, and birthday celebration lines.
The holiday extras batch adds `RA_JBO_ShowSantaTracker` so Santa Tracker stays source-backed too. The holiday extras batch adds `RA_JBO_ShowSantaTracker` so Santa Tracker stays source-backed too.
The remaining seasonal polish adds `RI_JBO_LikesHalloween`, `RI_JBO_LikesHolidayMusic`, `RI_JBO_LikesHolidayParties`, `RI_JBO_LooksForwardToChristmas`, `RI_JBO_PlansForChristmas`, and `RI_JBO_WhatIsThankfulFor` so the holiday voice can feel a little closer to Pegasus.
Holiday-specific note: Holiday-specific note:
- `JBO_WhatHolidaysDoYouCelebrate` now lands in the holiday bucket - `JBO_WhatHolidaysDoYouCelebrate` now lands in the holiday bucket

View File

@@ -102,6 +102,18 @@ public sealed class LegacyMimCatalogImporterTests
catalog.PersonalityReplies); catalog.PersonalityReplies);
Assert.Contains("I was put together in a factory piece by piece.", catalog.PersonalityReplies); Assert.Contains("I was put together in a factory piece by piece.", catalog.PersonalityReplies);
Assert.Contains("I really like sunflowers.", catalog.PersonalityReplies); Assert.Contains("I really like sunflowers.", catalog.PersonalityReplies);
Assert.Contains(catalog.PersonalityReplies, reply =>
reply.Contains("Halloween is my favorite holiday", StringComparison.OrdinalIgnoreCase));
Assert.Contains(catalog.PersonalityReplies, reply =>
reply.Contains("holiday music", StringComparison.OrdinalIgnoreCase));
Assert.Contains(catalog.PersonalityReplies, reply =>
reply.Contains("dance party", StringComparison.OrdinalIgnoreCase));
Assert.Contains(catalog.PersonalityReplies, reply =>
reply.Contains("giving and receiving", StringComparison.OrdinalIgnoreCase));
Assert.Contains(catalog.PersonalityReplies, reply =>
reply.Contains("Christmas sweaters", StringComparison.OrdinalIgnoreCase));
Assert.Contains(catalog.PersonalityReplies, reply =>
reply.Contains("thankful for the people I know", StringComparison.OrdinalIgnoreCase));
Assert.Contains(catalog.PersonalityReplies, reply => Assert.Contains(catalog.PersonalityReplies, reply =>
reply.Contains("I do. I usually fall asleep at night.", StringComparison.OrdinalIgnoreCase)); reply.Contains("I do. I usually fall asleep at night.", StringComparison.OrdinalIgnoreCase));
Assert.Contains(catalog.PersonalityReplies, reply => Assert.Contains(catalog.PersonalityReplies, reply =>

View File

@@ -675,6 +675,12 @@ public sealed class JiboInteractionServiceTests
"flowers and all things spring")] "flowers and all things spring")]
[InlineData("what should I get for holiday", "seasonal_holiday_gift", "pet elephant")] [InlineData("what should I get for holiday", "seasonal_holiday_gift", "pet elephant")]
[InlineData("show santa tracker", "seasonal_santa_tracker", "spot him")] [InlineData("show santa tracker", "seasonal_santa_tracker", "spot him")]
[InlineData("do you like halloween", "seasonal_likes_halloween", "Halloween is my favorite holiday")]
[InlineData("do you like holiday music", "seasonal_likes_holiday_music", "holiday music")]
[InlineData("do you like holiday parties", "seasonal_likes_holiday_parties", "holiday fun can be extra fun")]
[InlineData("are you looking forward to christmas", "seasonal_looks_forward_to_christmas", "giving and receiving")]
[InlineData("what are you doing for christmas", "seasonal_plans_for_christmas", "Christmas sweaters")]
[InlineData("what are you thankful for", "seasonal_thankful_for", "thankful for the people I know")]
[InlineData("happy birthday", "birthday_celebration", "another year older")] [InlineData("happy birthday", "birthday_celebration", "another year older")]
public async Task BuildDecisionAsync_SeasonalCharm_UsesImportedReplies( public async Task BuildDecisionAsync_SeasonalCharm_UsesImportedReplies(
string transcript, string transcript,