Email triage: prompts¶
The prompts this product uses. Rules that apply to every prompt in ABOS, including the nine-section anatomy, the cache boundary and versioning, are in architecture: prompts.
Inventory¶
| Prompt | Runs | Model | Page |
|---|---|---|---|
| Classify | Every turn | Cheap | Classify |
| Draft | Only when an action needs generated content | Better | Draft |
Both belong to the Capture engine.
How the two relate¶
flowchart LR
C["<b>Classify</b><br/>every turn"] --> R["Rules validate"]
R -->|"draft_reply allowed"| D["<b>Draft</b><br/>only then"]
R -->|"forbidden"| E(["escalate_item"])
classDef llm fill:#7c3aed,stroke:#5b21b6,color:#ffffff
class C,D llm
Classify decides what the message is and what should happen. Draft writes the words, and only for items that reach it.
No draft is ever paid for and then forbidden, which is why Draft sits after validation rather than inside Classify.
What is injected from tenant config¶
| Section | Source |
|---|---|
| Categories, with definitions and exclusions | The tenant's category list, from the vertical template plus additions |
| Tie-breaks | The vertical template |
| Examples | The twenty-email walkthrough |
| Voice and tone | Tenant config. Formality, sign-off, standing instructions |
| Reply HTML template | Tenant config. The wrapper a drafted body is rendered into, since the model never authors HTML |
| Email signature | Tenant config. Appended by the template, never something the model has to remember |
| Business type | Tenant record |
One prompt structure, N tenants. A fix is applied once.