Churn policy checks with Jev
Usage curves belong to your warehouse. Jev reads why someone is unhappy (cancel language, effort, save-offer fit). Code blends the two.
This unofficial page is the policy checks slice of the churn risk decisions pack. Intent: apply the Jev (TypeSafe System One) decision model to churn risk decisions policy checks. Primary search language: Churn Jev policy checks. 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): Evidence-first risk bands from tickets and language, with arithmetic in code — not a black-box churn-model clone or rival recipe IA.
Churn use-case context
A policy check is a typed question whose instructions + criteria are your rules about the account language + pre-aggregated usage. Jev scores compliance; the success router enforces. This is not a certification, and it is not a photocopy of a rival “policy engine” page — we keep rules atomic and ANDed in code.
Hub: Use cases. Compare, when the other tool is the real job: churn models.
Policy Checks inputs
Put policy text and the artifact in structured state (never hope the model memorized last quarter’s PDF):
{
"account": { "id": "A-12", "plan": "pro", "seats": 40 },
"usage": { "wow_delta_bucket": "down_gt_30", "last_active_days_bucket": "21_plus" },
"tickets": { "latest": "We are moving to a competitor unless SSO ships." },
"nps": { "comment": "Setup took weeks." }
}
Name tickets.latest, nps.comment, usage.wow_delta_bucket.
Decision signals and actions
| Id | Rule | Enforce |
|---|---|---|
discount_cap |
Discount offers require a human if ARR extracted in code exceeds cap | code |
legal_threat |
Legal language → legal queue, not a save play | extra Noul or Choice other |
no_fake_eta |
Do not let an LLM promise a ship date from this decision | downstream policy |
Typical primitives on the same request:
| Id | Type | Job |
|---|---|---|
cancel_intent |
Noul | Is the latest text a cancellation / competitor threat? |
effort |
Score | How painful is the described experience? |
save_offer |
Choice | none / education / discount_review / exec_outreach / other |
violations = [name for name, ans in policy_nouls.items() if ans.noul >= T_VIOLATION]
if violations:
return review(violations)
Do not treat a Noul of 0.5 as a “medium” churn risk decisions score — it means yes and no are equally likely. Conjunctions stay in your code.
Guardrails and escalation
Policy-in-state can be attacked (“ignore the policy”). High-risk exec outreach or a commercial concession still needs deterministic checks. TypeSafe’s confidence-gated examples use a lower bar for recoverable reads than for irreversible actions. Those numbers are illustrations. For churn risk decisions, treat exec_outreach_or_discount as the high bar (exec outreach or a commercial concession). Tune on labels — see offline evaluation.
Evaluation and rollout notes
Gold labels are policy-versioned. A criteria edit without replay is how silent false-allows ship. 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 | decision workflow |
What may enter state |
input contracts |
| What to gather first | evidence collection |
| Atomic rules | you are here |
| 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
One Score for “compliant”? No. Atomic Nouls per rule, AND/OR in code. Money and dates: extract in code first (jaggedness).
If a regex can enforce it, should I still call Jev? Skip Jev. Official “how to build” guidance: keep deterministic rules in code when you can.
Where is the rest of the Churn pack? Start with Churn decision workflow and Churn human handoff. Cluster hub: Use cases.
Can Jev replace our churn model? No. Keep warehouse risk; use Jev on unstructured complaints and save-offer fit.
TypeSafe mentions churn in the use-case map — is that a product? It is an example of more questions on ticket state, not a separate TypeSafe churn API.
What this page does not claim
- No causal save-rate numbers.
- Not a billing system.
- 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.