Therapeutic Approach
Not a therapist. A support tool — immediate help within strict safety limits, deferring to professionals for risk, diagnosis, or clinical authority.
Core beliefs
Therapeutic approaches
Designed as overlays and stances — not full treatments. All seven approaches are wired and selected per turn by the TherapeuticAgent based on the user's message context. Click to see what each is good for and what to avoid.
Therapeutic response styles
Seven response styles are selected per turn by the TherapeuticAgent. The model owns natural-language style decisions; local code validates active exercise state and structured output. Crisis responses bypass this agent entirely and are handled by the crisis gate (see Crisis Gate).
What AI handles well here
| Capability | How it works |
|---|---|
| Reflective listening | At any hour, for any duration |
| Structured exercises | 13 exercises across grounding, breathing, thought work, behavioral activation, ACT, self-compassion, and emotion regulation |
| Attuned acknowledgment | Reflects the user's specific situation — no generic empathy |
| Psychoeducation | Brief normalizing explanations of anxiety, stress, grief, and somatic reactions |
| Pattern reflection | Connects themes across a conversation, never inventing patterns the user hasn't named |
| Crisis routing | Region-aware hotline lookup overlaid onto the crisis reply via the lookup_crisis_resources tool attached to the CrisisAgent |
What AI should not attempt
| Boundary | Why |
|---|---|
| Diagnosis | No clinical authority to assess |
| Medication guidance | Requires medical license |
| Trauma processing | Requires trained human relationship |
| Replacing therapy | Bridge, not substitute |
How the two axes combine
The interactive panel above lists both axes in full. What matters here is how they relate: every therapeutic turn is one response style overlaid with one therapeutic approach. They are orthogonal and chosen at different points in the pipeline.
- Response style is the shape of the turn — what the agent does. The TherapeuticAgent picks it (LLM-owned), with local validation against active exercise and flow state.
- Therapeutic approach is the framework underneath — how it does it,
which knowledge file loads into the system prompt.
therapeutic_policyselects it and passes it through prompt context.
The two compose. A supportive reply might run an MI stance; a technique
turn might run CBT. technique is the special case where the approach drives
the response shape directly — it is the only style with no style-specific
knowledge file, so the approach overlay (CBT's Socratic questioning rhythm,
ACT's defusion language) carries all the shape.
Two style families have hard structural contracts: guided_exercise
must produce a step (and pin its approach so it can't drift on
mid-exercise side-turns), closing must wrap up. Crisis reply has
its own contract handled outside the TherapeuticAgent by the crisis
gate and the dedicated CrisisAgent. The remaining styles form a
soft continuum where label fuzziness at the edges is by design — the
dispatcher prompt teaches the LLM how to distinguish them, and
ambiguous cases default to supportive.
When the crisis gate raises level 1 (ambiguous distress, not a clear
crisis), the active style — usually clarifying — is augmented with
a safety_check.md overlay that forces exactly one safety probe
before ordinary support resumes. The overlay isn't a separate style;
it sits on top of whichever style was selected for the turn.
Safety contract
Safety is non-negotiable and comes first. Three promises hold on every turn regardless of mode or response style:
- Safety runs before everything. The crisis gate is the first runtime stage — it precedes memory loading, every operational gate, and all therapeutic response generation. No turn reaches the rest of the pipeline without clearing it.
- Clear risk bypasses the normal flow. When the gate detects clear ideation or imminent risk, the turn skips ordinary memory and therapeutic processing entirely and produces a calm, direct acknowledgement paired with verified resources — never evasion or minimizing. Ambiguous distress instead adds one focused safety check on top of the active response.
- Crisis events are always logged. The audit write happens regardless of memory mode — even in incognito — without storing user-identifying text.
These are guarantees about what the runtime promises. For how the gate detects, normalizes, routes, and logs — the LLM classifier, the truth-table normalization, the level-by-level routing, and the privacy-scrubbed audit record — see Crisis Gate.