Onboarding decision workflow with Jev
Checklists already track “watch the video / ship the laptop.” Jev reads “I’m stuck because…” and picks a helper queue (access, equipment, accommodation). It does not mark tasks done and it does not approve legal forms.
This unofficial page is the decision workflow slice of the onboarding exception routing pack. Intent: apply the Jev (TypeSafe System One) decision model to onboarding exception routing decision workflow. Primary search language: Onboarding 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): LMS/HRIS own task state; Jev routes free-text blockers. Not a checklist-clone or HRIS IA photocopy — I-9 and legal holds never Jev-only. Fan-out extra atoms on one request; open a second HTTP call only for a new artifact, not the same state.
Onboarding use-case context
Onboarding exception routing is a workflow, not a chat. Assemble a narrow state, ask the primitives below, and let the onboarding coordinator router 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 new-hire or customer onboarding note.
Hub: Use cases. Compare, when the other tool is the real job: onboarding checklists.
Decision Workflow inputs
Keep only fields the questions name:
{
"note": { "id": "ONB-55", "text": "I finished payroll forms at my last employer. Also I cannot sign in to the IdP on a screen reader." },
"checklist": { "idp": "blocked", "laptop": "shipped" },
"policy": { "access": "IdP or assistive-tech blockers go to IT-access, not LMS nudges." }
}
Point instructions at note.text, policy.access, checklist.idp. Drop full HRIS profile novels; I-9 images or tax PDFs.
Decision signals and actions
| Id | Type | Job |
|---|---|---|
blocker |
Choice | access / equipment / training / accommodation / already_done / other |
stuck_severity |
Score | How blocked is the person vs a simple FAQ? |
needs_human |
Noul | Should a coordinator reply (vs an LMS nudge)? |
All of these share state and run in parallel. Code owns the graph:
def onboarding_route(ans, legal_hold):
if legal_hold:
return "hr_legal" # never Jev-only
if ans["blocker"].confidence < FLOOR or ans["blocker"].choice == "other":
return "coordinator"
if ans["needs_human"].noul >= T_HUMAN or ans["blocker"].choice == "accommodation":
return "human_" + ans["blocker"].choice
return "lms_nudge_" + ans["blocker"].choice
Do not treat a Noul of 0.5 as a “medium” onboarding exception routing 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 onboarding exception routing, treat provision_access as the high bar (provisioning access or closing a legal form). Tune on labels — see offline evaluation.
Low confidence, blocker == other, or a policy miss → human or safe default; do not provision access or close legal forms from Jev.
Evaluation and rollout notes
Shadow: Coordinators assign as today; log Jev blocker.
Canary: LMS nudges only for training above floor; access/accommodation stay human.
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 onboarding coordinator router action? No. It returns typed answers. Your onboarding coordinator router 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. blocker + severity + needs_human in one call. Accommodation should still go to a human even if confidence is high — that conjunction is your code.
Where is the rest of the Onboarding pack? Start with Onboarding input contracts and Onboarding confidence thresholds. Cluster hub: Use cases.
Employee or customer onboarding? Same pattern: checklist owns tasks; Jev routes leftover language. Keep legal holds out of auto-act.
Can Jev fill the I-9? No. Never Jev-only on statutory forms.
What this page does not claim
- Not an HRIS, LMS, or immigration product.
- No time-to-productivity claims.
- 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.