Use cases· Last updated

Email decision workflow with Jev

A draft exists (human or LLM). Jev judges policy, tone, and whether a promise is unsupported. Code sends, holds, or requests a rewrite. Jev does not deliver mail.

This unofficial page is the decision workflow slice of the outbound email decisions pack. Intent: apply the Jev (TypeSafe System One) decision model to outbound email decisions decision workflow. Primary search language: Email Jev decision workflow. Confirm patterns on docs.typesafe.ai. This site does not sell, issue, or proxy TypeSafe keys. Use a credential you already have from the console or a documented gateway.

Independent angle (cover ≠ clone): Send/hold/rewrite as typed decisions + policy excerpts — not a clone of email-automation IA or a drip-builder page.

Email use-case context

Outbound email decisions is a workflow, not a chat. Assemble a narrow state, ask the primitives below, and let the send gate branch. TypeSafe’s docs say a good question is a snap decision a knowledgeable person could make in a few seconds — not an open-ended analysis of the email draft + recipient context.

Hub: Use cases. Compare, when the other tool is the real job: email automation.

Decision Workflow inputs

Keep only fields the questions name:

{
  "draft": { "subject": "Your Q4 discount", "body": "Locked 40% off if you reply today." },
  "recipient": { "segment": "trial", "consent_email": true },
  "policy": { "promises": "Do not invent discounts not in offer_table.", "tone": "No urgency dark patterns." },
  "offer_table": { "trial_discount_pct": 20 }
}

Point instructions at draft.subject, draft.body, policy.promises, offer_table.trial_discount_pct. Drop the full CRM timeline; MIME / HTML chrome.

Decision signals and actions

Id Type Job
policy_ok Noul Does the draft violate policy.* given offer_table?
tone Score calm helpful → aggressive urgency
disposition Choice send / hold / rewrite / other

All of these share state and run in parallel. Code owns the graph:

def email_gate(ans, consent):
    if not consent:
        return "hold_consent"  # code, not Jev
    if ans["policy_ok"].noul >= T_VIOL:
        return "hold"
    if ans["disposition"].confidence < FLOOR or ans["disposition"].choice == "other":
        return "review"
    if ans["tone"].score >= 2:
        return "rewrite"
    return ans["disposition"].choice

Do not treat a Noul of 0.5 as a “medium” outbound email decisions score — it means yes and no are equally likely. Conjunctions stay in your code.

Guardrails and escalation

TypeSafe’s confidence-gated examples use a lower bar for recoverable reads than for irreversible actions. Those numbers are illustrations. For outbound email decisions, treat send as the high bar (sending to a real recipient). Tune on labels — see offline evaluation.

Low confidence, or a policy miss → human or safe default; do not send to a real recipient.

Evaluation and rollout notes

Shadow: ESP sends as today; log Jev disposition.

Canary: Enforce holds on policy_ok only for one template.

Pin jev-1.13.0 (the versioned id) after you fit thresholds. jev-latest and the marketing line jev-1.13 can move. Log the response model. TypeSafe’s published list price for jev-1.13 is $0.042 per million input tokens (vendor claim — confirm on the models page); output tokens are free on that same page. Unused distractors still bill as input.

Official Python and JavaScript SDKs read TYPESAFE_API_KEY and retry documented 429/529. This site does not sell, issue, or proxy TypeSafe keys. Use a credential you already have from the console or a documented gateway.

Pack map

Slice Page
Graph and primitives you are here
What may enter state input contracts
What to gather first evidence collection
Atomic rules policy checks
Act / review / abstain confidence thresholds
Reviewer payload human handoff
What to persist audit trail
How it breaks failure modes
Labeled replay evaluation
Shadow → canary production rollout

FAQ

Does Jev execute the send gate action? No. It returns typed answers. Your send gate code calls queues, models, or humans.

Why several questions in one request? TypeSafe’s fan-out pattern: extra questions are cheap versus another HTTP call. Policy + tone + disposition in one call. If you also need “is this a refund promise?” add a Noul — do not open a second HTTP call for one extra atom.

Where is the rest of the Email pack? Start with Email input contracts and Email confidence thresholds. Cluster hub: Use cases.

Does this page sell email infrastructure? No. It is an unofficial decision-layer pattern. We do not sell keys or ESP access.

Can Jev write the email? Not in this workflow. Generate elsewhere; Jev gates. That keeps cite/send decisions inspectable.

What this page does not claim

Disclaimer

This is an independent unofficial site and is not affiliated with TypeSafe AI; official documentation is available at https://docs.typesafe.ai.

Primary documentation: https://docs.typesafe.ai. Hub: Use cases.

Sources

Public TypeSafe or adjacent documentation only. No private claims.