Ads decision workflow with Jev
Launching spend is irreversible. Jev judges creative copy and claims against your brand/legal excerpts. Bidding, budgets, and auction math stay in the ad platform.
This unofficial page is the decision workflow slice of the ads creative and policy decisions pack. Intent: apply the Jev (TypeSafe System One) decision model to ads creative and policy decisions decision workflow. Primary search language: Ads 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): Policy/compliance gates + spend irreversibility — not a clone of bidding-system IA or a rival ads recipe slug.
Ads use-case context
Ads creative and policy decisions is a workflow, not a chat. Assemble a narrow state, ask the primitives below, and let the ads review 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 ad creative + claim.
Hub: Use cases. Compare, when the other tool is the real job: ad bidding systems.
Decision Workflow inputs
Keep only fields the questions name:
{
"creative": { "id": "ad-441", "headline": "Lose 10kg this week", "body": "Guaranteed results." },
"landing": { "claim": "Results vary; no guarantee." },
"policy": { "health": "No absolute health outcome claims.", "superlatives": "No unsubstantiated #1 claims." }
}
Point instructions at creative.headline, creative.body, policy.health, landing.claim. Drop bid curves, CPA targets, audience graphs; the full landing-page HTML.
Decision signals and actions
| Id | Type | Job |
|---|---|---|
policy_ok |
Noul | Does creative violate policy.* given landing.claim? |
claim_type |
Choice | performance / health / pricing / social_proof / other |
brand_risk |
Score | how embarrassing if this ships |
All of these share state and run in parallel. Code owns the graph:
def ads_gate(ans):
if ans["policy_ok"].noul >= T_VIOLATION:
return "hold"
if ans["claim_type"].choice == "health" and ans["brand_risk"].score >= 2:
return "legal_review"
if ans["policy_ok"].noul > 0.4 or ans["claim_type"].confidence < FLOOR:
return "review"
return "allow_launch"
Do not treat a Noul of 0.5 as a “medium” ads creative and policy 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 ads creative and policy decisions, treat allow_launch as the high bar (spending against a live campaign). Tune on labels — see offline evaluation.
Low confidence, or a policy miss → human or safe default; do not launch spend against a live campaign.
Evaluation and rollout notes
Shadow: Launch path unchanged; log holds.
Canary: Enforce holds on health claims only.
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 ads review gate action? No. It returns typed answers. Your ads review 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 + claim_type + brand_risk in one call per creative. Batch creatives as separate states, not one Choice over 200 headlines.
Where is the rest of the Ads pack? Start with Ads input contracts and Ads confidence thresholds. Cluster hub: Use cases.
Will Jev pause campaigns when CPA spikes? No. That is the ad platform / your rules. Jev judges language and policy fit.
Can we send images of the creative? Not to System One. Transcribe or paste the copy. Images are not accepted.
What this page does not claim
- Not an ads manager or bidding engine.
- No performance numbers.
- Not official TypeSafe.
- Official TypeSafe status, or that jev.pro issues API keys.
- That a schema-constrained answer is automatically factually correct.
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.