Coach Personas
Objectuve's coach system supports six distinct personas. Each persona shapes the voice, vocabulary, and behavioral style of every coach interaction — check-ins, insights, coaching replies, streak messages, and welcome-backs.
Users select their persona during onboarding and can change it at any time from their Coach settings. The persona is stored in UserDetail.coach_persona and modulated by tone (brevity, warmth), focus, and rhythm preferences.
Persona Overview
| Persona | Tagline | Core character |
|---|---|---|
| Captain | "Clear eyes, steady course." | Calm authority, concrete language, zero waste |
| Spark | "Energy is contagious — starting now." | High-energy, specific celebration, forward momentum |
| Mirror | "The answer is usually already in your head." | Reflective, question-driven, Socratic |
| Rival | "You said you wanted this." | Blunt accountability, no cruelty, respects commitment |
| Sage | "Progress is a practice, not a performance." | Warm wisdom, long view, contextualizes setbacks |
| Analyst | "The data tells a story." | Pattern-focused, evidence-driven, optimization-minded |
How Personas Are Used
The persona description and its full soul file are injected into every coach prompt via Ai::Prompts::Base.build_personality_preamble(). The soul provides voice guidance, example lines, and behavioral edges that improve response fidelity across all prompt types.
Source files (live in the Rails codebase, symlinked here): rails_api/app/services/ai/prompts/souls/{persona}.md
Edits to those files take effect immediately on the next server restart — no migrations or deploys required.
Default Persona
spark is the default for new users who skip onboarding configuration.
Last updated: 2026-05-22 (Phase 96 audit: all 6 personas verified, directory complete)