feat(plugin): add TinyActorCard contract and mood-to-face mapping (#1270)#1283
Merged
Conversation
) Introduce a stable, reusable data contract for the Tiny Actor Grid: - TinyActorCard frozen dataclass with agent_id, label, face, eye, mood, quote, color_ansi, and is_moderator fields - build_face() deterministic face builder with 5 mood mappings (speaking, reviewing, proposing, unsure, blocked) - ASCII fallback mode for terminals without Unicode support - create_actor_card() factory with eye_glyph and moderator support - 25 unit tests covering all moods, custom eyes, ASCII fallback, dataclass contract, and Buddy moderator separation Closes #1270
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
JeremyDev87
commented
Apr 4, 2026
JeremyDev87
left a comment
Owner
Author
There was a problem hiding this comment.
Review: APPROVE ✅
CI Status: ALL PASS (28/28)
Code Quality
TinyActorCardfrozen dataclass — immutable, clean field setbuild_face(mood, eye_glyph, ascii_mode): deterministic face from mood + eye- 5 moods (speaking, reviewing, proposing, unsure, blocked) with Unicode + ASCII mappings
create_actor_card()factory with sensible defaults (mood="unsure")- Keyword-only params for optional args prevent argument position errors
- Comprehensive docstrings with parameter descriptions
Tests (25 in 5 classes)
- Mood-to-face mapping for all 5 moods + unknown fallback
- Custom eye glyphs (star, diamond, buddy)
- ASCII fallback (7 cases)
- Dataclass field assertions
- Factory with defaults, custom mood, eye glyph, moderator flag, ASCII mode
No Issues Found
Recommendation: APPROVE
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
TinyActorCardfrozen dataclass as the stable data contract for the Tiny Actor Gridbuild_face(mood, eye_glyph)with deterministic mood-to-face mapping (speaking, reviewing, proposing, unsure, blocked)o_o,o.o,o~o,oxo) for terminals without Unicodecreate_actor_card()factory with Buddy moderator separation viais_moderatorflagTest plan
build_facereturns correct Unicode face for each of 5 moodsbuild_facewith customeye_glyphfrom agent JSONvisual.eyebuild_faceASCII fallback mode with customeye_fallbackunsureTinyActorCarddataclass holds all fields with correct defaultscreate_actor_cardfactory produces valid cards (defaults, custom mood, eye glyph, moderator, ASCII mode)Closes #1270