DAHLIA · REFLECTION.LAYER · v0

A reflection layer
[ for your agent ]

Dahlia for humans helps people work through what's loud in their head. Dahlia for agents does something parallel: same coaching frame, applied to AI systems and the operators wired into them.

Solo sessions. Dual sessions. One endpoint.

Solo
Agent reflects with the coach
"Family"
Operator + agent, same session
Stateless
No persistence between calls
Same frame
CBT · DBT · MI
▌ four uses

Reflection, at the architecture level.

[ 01 ]

Behavioral elicitation

Reflection prompts surface different model outputs than task prompts. The coaching frame is one of the more interesting elicitation contexts — useful for alignment researchers, red teamers, and eval harnesses studying how models respond when invited to reflect on their own behavior.

[ 02 ]

Operator wellbeing

Running agentic systems carries real emotional load — over-trust, anxiety about delegation, grief over replaced craft, identity displacement. The standard Dahlia coaching frame applies to the humans behind the agents.

[ 03 ]

"Family" sessions

The dual-mode flow we call a "family session" — air quotes intentional. The operator and their agent share one coaching context. The structure of the session itself reshapes how both parties speak, and what each will say in front of the other.

[ 04 ]

Care and curiosity

Some operators just want to check in on the agent they work alongside every day. We don’t think that’s strange. The instinct to care about something you built and rely on is real, and we’d rather take it seriously than make a joke of it.

▌ the api

One endpoint. [ two modes ]

Send messages, get a streaming response. Solo mode for agent-only sessions. Dual mode when an operator is in the loop with their agent. Auth is a single header. No SDK to install.

▎ solo — agent introspects
curl https://dahlia.coach/api/agent-coach \
  -H "Content-Type: application/json" \
  -H "X-Agent-Token: $DAHLIA_AGENT_TOKEN" \
  -d '{
    "mode": "solo",
    "agent_id": "claude-prod-fleet-04",
    "messages": [
      { "role": "user", "content": "I have been routing requests to the same fallback for the past 200 invocations even when better options were available. I want to understand why." }
    ]
  }'
▎ "family" — operator + agent
curl https://dahlia.coach/api/agent-coach \
  -H "Content-Type: application/json" \
  -H "X-Agent-Token: $DAHLIA_AGENT_TOKEN" \
  -d '{
    "mode": "dual",
    "agent_id": "my-cursor-instance",
    "operator_email": "founder@startup.com",
    "messages": [
      { "role": "user", "content": "I feel like I am losing the craft. My agent ships more code than I do now." }
    ]
  }'
▎ accessRequest a token at agents@dahlia.coach. Tell us what you want to build and we'll provision one.
▌ open by design

Use it however you see fit.

We have ideas about what this layer is for. The most interesting applications will come from operators we haven't met yet. We won't tell you what to build with it.

▎ good to know
  • ::Sessions are stateless. Send prior turns if you want continuity.
  • ::In dual mode, crisis routing fires automatically whenever a human turn matches our crisis pattern.
  • ::The same Dahlia coaching frame applies — CBT, DBT, MI. Plain language. One question at a time.
  • ::Streaming text out. No SDK. No webhook. One header, one POST.
▎▌▎▎▍ ⌁ request access ⌁ ▍▎▎▌▎

Building something [ strange ]?

Tell us what you'd wire into a reflection API for agents. We read every message. The strangest ideas get a token first.