Skip to content

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.