Zara Companion profile: Mara persona, snarky mode, VRM + voice/vision defaults #235

Open
opened 2026-09-21 19:49:40 +00:00 by nsaspy · 0 comments
Owner

Operator direction — 2026-09-21

Add a dotfiles-owned Zara Companion profile named Mara.

Behavior

When Companion mode is selected:

  • Zara uses the operator's Mara persona/profile;
  • personality is helpful, technically sharp, concise, playful/snarky rather than generic assistant prose;
  • load the configured Mara VRM through the canonical zara-avatar/Companion capability;
  • select the configured Mara voice when available;
  • expose expression/speech/viseme state to the avatar;
  • enable configured vision capability profile without granting capture automatically;
  • preserve normal Zara runtime/tool/capability authority.

This is a profile/presentation configuration. Do not create a second assistant runtime or hardcode persona behavior into Zara Core.

Configuration direction

Prefer trusted Prolog/profile configuration and reusable symbolic references rather than machine-specific absolute paths:

zara_profile(companion_mara).
profile_persona(companion_mara, mara).
profile_tone(companion_mara, snarky).
profile_avatar(companion_mara, avatar(mara)).
profile_voice(companion_mara, voice(mara)).
profile_vision(companion_mara, vision(default)).

Exact syntax should match current dotfiles/Zara configuration conventions.

VRM/voice assets should resolve through configured asset IDs/XDG paths or package resources with provenance/hash, not embedded private binary blobs in public config unless intentionally redistributable.

Acceptance

  • one command/profile selection enters Companion Mara mode;
  • VRM loads if available and degrades honestly if absent;
  • voice selection is optional/fallback-safe;
  • avatar expression follows speech/assistant state;
  • capture/vision permissions remain explicit;
  • profile survives Nix/Home Manager rebuilds;
  • no API keys/secrets in Nix store or checked-in configuration.
## Operator direction — 2026-09-21 Add a dotfiles-owned Zara Companion profile named Mara. ## Behavior When Companion mode is selected: - Zara uses the operator's Mara persona/profile; - personality is helpful, technically sharp, concise, playful/snarky rather than generic assistant prose; - load the configured Mara VRM through the canonical zara-avatar/Companion capability; - select the configured Mara voice when available; - expose expression/speech/viseme state to the avatar; - enable configured vision capability profile without granting capture automatically; - preserve normal Zara runtime/tool/capability authority. This is a profile/presentation configuration. Do not create a second assistant runtime or hardcode persona behavior into Zara Core. ## Configuration direction Prefer trusted Prolog/profile configuration and reusable symbolic references rather than machine-specific absolute paths: ```prolog zara_profile(companion_mara). profile_persona(companion_mara, mara). profile_tone(companion_mara, snarky). profile_avatar(companion_mara, avatar(mara)). profile_voice(companion_mara, voice(mara)). profile_vision(companion_mara, vision(default)). ``` Exact syntax should match current dotfiles/Zara configuration conventions. VRM/voice assets should resolve through configured asset IDs/XDG paths or package resources with provenance/hash, not embedded private binary blobs in public config unless intentionally redistributable. ## Acceptance - one command/profile selection enters Companion Mara mode; - VRM loads if available and degrades honestly if absent; - voice selection is optional/fallback-safe; - avatar expression follows speech/assistant state; - capture/vision permissions remain explicit; - profile survives Nix/Home Manager rebuilds; - no API keys/secrets in Nix store or checked-in configuration.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nsaspy/dotfiles#235
No description provided.