Logistics decision workflow with Jev
Drivers and partners send messy exception notes. The TMS still owns routes, ETAs, and capacity. Jev classifies the exception text so code can pick a playbook. It does not solve VRP or promise a new arrival time.
This unofficial page is the decision workflow slice of the logistics dispatch decisions pack. Intent: apply the Jev (TypeSafe System One) decision model to logistics dispatch decisions decision workflow. Primary search language: Logistics 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): Exception-class + SLA-risk on notes, with ETAs computed in the TMS — not a clone of a dispatch-optimization product page.
Logistics use-case context
Logistics dispatch decisions is a workflow, not a chat. Assemble a narrow state, ask the primitives below, and let the dispatch worker 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 exception note + SLA bands.
Hub: Use cases. Compare, when the other tool is the real job: logistics dispatch.
Decision Workflow inputs
Keep only fields the questions name:
{
"note": { "id": "stop-441", "text": "Dock closed; guard says come back after 16:00." },
"sla": { "late_band": "30-60m", "priority": "p2" },
"playbook": { "redeliver": "Closed dock + next window same day → redeliver; perishable → escalate." }
}
Point instructions at note.text, playbook.redeliver, sla.priority. Drop GPS breadcrumbs or map images; the full route plan as unused tokens.
Decision signals and actions
| Id | Type | Job |
|---|---|---|
exception |
Choice | closed_dock / traffic / damaged / missing / other |
disruption |
Score | minor delay language → cannot complete |
sla_risk |
Noul | Playbook says escalate given sla.priority + note.text? |
All of these share state and run in parallel. Code owns the graph:
def dispatch_act(ans, late_minutes):
ex = ans["exception"]
if ex.confidence < FLOOR or ex.choice == "other":
return "dispatcher_review"
if late_minutes >= HARD_SLA: # TMS math
return "escalate_sla"
if ans["sla_risk"].noul >= T_ESC or ans["disruption"].score >= 2:
return "escalate"
return f"play:{ex.choice}"
Do not treat a Noul of 0.5 as a “medium” logistics dispatch 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 logistics dispatch decisions, treat auto_cancel_stop as the high bar (cancelling a stop or sending a customer a new promise time). Tune on labels — see offline evaluation.
Low confidence, exception == other, or a policy miss → human or safe default; do not cancel a stop or send a new promise time.
Evaluation and rollout notes
Shadow: TMS plays unchanged; log Jev exception.
Canary: Auto-tag closed_dock only; cancels 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 dispatch worker action? No. It returns typed answers. Your dispatch worker 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. Exception + disruption + sla_risk in one call per stop. Re-optimization is a TMS job after you choose a play.
Where is the rest of the Logistics pack? Start with Logistics input contracts and Logistics confidence thresholds. Cluster hub: Use cases.
Will Jev reroute the truck? No. The TMS reroutes after your worker picks a play. Jev classifies the note.
Can we send a photo of the closed dock? Not to System One. Transcribe. Images are not accepted.
What this page does not claim
- Not a TMS, VRP solver, or SLA calculator.
- No on-time benchmarks.
- 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.