Journeys
Curated end-to-end workflow narratives — every step a catalog capability, every snippet runnable against the sandbox world, every shown answer a deterministic claim.
A journey is one multi-step workflow — buying a car, refinancing it, adjudicating a claim — told end to end through the doors. It is not a new surface: every step names the catalog capability that fulfills it and links its reference page, every snippet runs against the sandbox as-is, and every shown answer is the deterministic answer the world gives back.
The law journeys are written under
Journeys are written against the curated sandbox world — the exemplar
fleet (one valid 17-char VIN per reachable lifecycle state, like
1FDEALFRESH000000) and the persona cast (one named identity per credit tier,
like Ava Good) — never against generated-fallback answers. The world is
deterministic and replayable: the same request answers the same bytes, forever,
and every simulated payload carries its provenance block in the body. The full
trigger register lives at sandbox test triggers.
That determinism is what makes a journey checkable. An expected answer printed on these pages is not an illustration — it is a claim you can verify by running the trigger above it.
The anatomy of a journey page
Every journey page follows one shape:
- The cast — which fleet VINs and personas the journey rides, up front.
- The steps — each step is a heading, then a capability register line, then a runnable frame. The register line links every capability the step uses to its catalog page; the runnable frame holds exactly one trigger (the copy-paste call) and one expected world answer, trimmed to its load-bearing fields.
- The gates — where a step answers
402 OFFERor403 NEEDS_HUMAN, the journey shows the gate, not a detour around it. See the act.
This is what a step's runnable frame looks like — run it yourself:
curl 'https://apis.vin/maintenances/interval-lookup?vin=JM3KFBXY1S0597748'{
"type": "OK",
"answers": "MaintenanceIntervalLookup@1",
"value": {
"vin": "JM3KFBXY1S0597748",
"intervals": [
{ "service": "oilChange", "everyMiles": 7500, "everyMonths": 12 },
{ "service": "tireRotation", "everyMiles": 7500 }
]
},
"provenance": { "simulated": true, "environment": "sandbox", "source": "services-sandbox" }
}The journeys
Each journey below is declared — named here before its page exists, the same way the catalog types absence instead of faking a 200. Until its page lands, its spine workflow's reference page models the same ground end to end (stategraph, sequence, decision logic, flow of funds).
| Journey | Spine workflow | Status |
|---|---|---|
| Buy a car — search → offer → credit → F&I → e-contract → settlement → title & registration → transport → delivery | buy | written |
| Refinance — payoff quote → application → funding → reconcile | refinance | written |
| Repossession — default → assignment → recovery → deficiency → redemption | repo-to-remarketing | written |
| Insurance claim — FNOL → estimate → repair order → settlement → subrogation | claim-to-repair | written |
| Auction — consignment → run list → sale → transport → title relay | consignment | written |
| F&I product lifecycle — rate → sell → administer → cancel → refund | fni.select | written |
| Agent-run estate — MCP handshake → search → fetch → the exec gate | ai.estateMcp | written |
| Service-drive RO — check-in → estimate → authorize → repair → invoice | service-drive-ro | declared |
Next
- Sandbox test triggers — the full deterministic trigger register the journeys draw from.
- The catalog — the reference page every step links into.
- The act — the gate law every journey's write steps pass through.
The id glossary
Every id on the wire is typed by a short prefix. Read a subject's kind at a glance, before you dereference it.
Buy a car end to end
Search → offer → credit → F&I → out-the-door → e-contract → payments & escrow → title & registration → transport → delivery — every step a catalog capability, runnable against the sandbox world.