Intents and routing
The Understand model classifies each request into one intent. A deterministic router then decides what happens. The router is pure and unit-tested, so every rule is predictable and the model never grants itself permission.
Intents
Section titled “Intents”| Intent | Meaning |
|---|---|
question |
Wants information about code, a ticket or workspace status. Includes “tell @Ana what changed today”. |
code_task |
Wants code written, changed, fixed, reviewed or tested. |
pm_action |
Wants something done in Linear or ClickUp. |
run_action |
Wants a saved action run: a build, check, upload, ship or release. |
chit_chat |
A greeting, thanks or acknowledgement. |
ignore |
Not addressed to Relay. |
Rules, in order
Section titled “Rules, in order”ignoreandchit_chat→ ignore.- A thread message nobody addressed to Relay, with confidence below the threshold → ignore. Conversation between people stays between people.
- The model asked a clarifying question → clarify.
- Confidence below the threshold (default 0.6) → clarify.
question→ answer, unless it needs a repo and none matched (→ clarify).code_task→ plan for approval, unless no repo matched (→ clarify).run_action→ run action, unless no saved action matched (→ clarify).pm_action:- any delete → pm_write (needs approval);
- other changes, when the request came to you through your own connection → pm_write (they’d be made in your name);
- other changes → pm_do (done directly);
- otherwise → pm_read.
Posting in the conversation the request came from is just the reply, so it never counts as a write.
Threads Relay has joined
Section titled “Threads Relay has joined”Once Relay replies in a Slack thread, it reads every later message there, even without a mention. It replies only when it has something worth saying: the message is addressed to it, answers its question, asks something it can answer, or corrects something it said. When unsure, it stays quiet.
Tuning
Section titled “Tuning”Settings → Workflow → Ask when unsure sets the threshold, from 0 to 1 (default 0.6). Raise it to make Relay ask more often; lower it to make it act more readily.