Skip to content

feat: Add more built-in personalities (fixes #12)#16

Merged
smiley-maker merged 1 commit intosmiley-maker:mainfrom
majiayu000:feature/issue-12-more-personalities
Dec 15, 2025
Merged

feat: Add more built-in personalities (fixes #12)#16
smiley-maker merged 1 commit intosmiley-maker:mainfrom
majiayu000:feature/issue-12-more-personalities

Conversation

@majiayu000
Copy link
Contributor

Summary

Add 8 new unique and creative personality options for the EmotionalOptimizer.

New Personalities

Name Description
nervous An anxious personality that worries about everything
chaotic Unpredictable, random responses with variety
arrogant Condescending personality that thinks it knows better
tired Exhausted personality that just wants to finish
hype Extremely enthusiastic and energetic
academic Research-paper style with statistics (includes Δ and %)
pirate Arrr! Pirate-themed messages
zen Peaceful, mindful personality focused on the journey

Usage Examples

from emotigrad import EmotionalOptimizer

# Use any of the new personalities
emo_opt = EmotionalOptimizer(optimizer, personality="hype")
emo_opt = EmotionalOptimizer(optimizer, personality="academic")
emo_opt = EmotionalOptimizer(optimizer, personality="pirate")

Test Plan

  • All personalities return strings for initial step
  • All personalities return strings for loss decrease
  • All personalities return strings for loss increase
  • All personalities handle equal loss correctly
  • Chaotic personality returns varied messages
  • Academic personality includes delta (Δ) and percentage
  • All new personalities are registered in the registry
  • All 56 tests pass

Fixes #12

Add 8 new unique and creative personality options for the EmotionalOptimizer:

- nervous: An anxious personality that worries about everything
- chaotic: Unpredictable, random responses with variety
- arrogant: Condescending personality that thinks it knows better
- tired: Exhausted personality that just wants to finish
- hype: Extremely enthusiastic and energetic
- academic: Research-paper style with statistics and percentages
- pirate: Arrr! Pirate-themed messages
- zen: Peaceful, mindful personality focused on the journey

All personalities are:
- Registered in the personality registry
- Fully tested with comprehensive test coverage
- Handle all loss scenarios (initial, decrease, increase, equal)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@smiley-maker
Copy link
Owner

This is fantastic! The new personalities fit the tone of EmotiGrad perfectly and really expand what users can do out of the box. Thanks so much for taking the time to add these, they make the project a lot more fun and expressive.

@smiley-maker smiley-maker merged commit 03370db into smiley-maker:main Dec 15, 2025
0 of 3 checks passed
@majiayu000 majiayu000 deleted the feature/issue-12-more-personalities branch December 15, 2025 17:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add more built-in personalities

2 participants