feat: DirectorNotes and director_cues - #64
Merged
Conversation
…ession-defaults, and Session.send_director_note_cue() to send turn-scoped director-note cues over the data channel. at_seconds/in_seconds are validated as finite client-side (non-finite values would serialize to invalid JSON). All other invalid cue semantics will log a warning and be ignored. Includes unit tests and README documentation
There was a problem hiding this comment.
1 issue found across 6 files
Reply with feedback, questions, or to request a fix.
Fix all with cubic | Re-trigger cubic
bc-anam
reviewed
Jul 8, 2026
sr-anam
approved these changes
Jul 8, 2026
There was a problem hiding this comment.
All reported issues were addressed across 2 files (changes from recent commits).
Tip: Review your code locally with the cubic CLI to iterate faster.
Fix all with cubic | Re-trigger cubic
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.
Add DirectorNotes to PersonaConfig for session-wide director notes defaults at session-start, and Session.send_director_note_cue() to send turn-scoped director-note cues over the data channel. at_seconds/in_seconds are validated as finite client-side (non-finite values would serialize to invalid JSON). All other invalid cue semantics will log a warning and be ignored. Includes unit tests and README documentation.
Summary by cubic
Adds Director Notes to control avatar delivery style. Set session defaults with
PersonaConfig(director_notes=...)and send turn-scoped cues withSession.send_director_note_cue(...); timing args must be finite and sends wait for the data channel.New Features
DirectorNotesdataclass andPersonaConfig(director_notes=...)for session-start defaults (e.g.,preset_style,expressivity,custom_style_prompt);expressivityvalidated as finite.Session.send_director_note_cue(tag, at_seconds?, in_seconds?)to send runtime cues over the data channel; rejects non-finite timing values and raises on send failure.DirectorNotesexported fromanam; README adds usage examples and validation notes.Refactors
_ensure_data_channel_open()and used it insend_messageandinterruptfor reliable sends.Written for commit 8940f48. Summary will update on new commits.