Mapping
incubatingStatus of this Document
This report was published by the User Journal Graph Community Group . It is not a W3C Standard nor is it on the W3C Standards Track. Please note that under the W3C Community Contributor License Agreement (CLA) there is a limited opt-out and other conditions apply. Learn more about W3C Community and Business Groups .
Goal Define how to map runtime events stateRef to journeys states and classify steps against the blueprint transition model.
1. Normatives to evaluate
Map each
RuntimeEvent.stateRefto its Blueprint owner (Journey / Composite path).Decide how to mark a step as “in-model” vs “jump” (based on Blueprint
Transition+ injectedOutgoingTransitionGroup).Support nested/parallel UI via an optional
scopeId(so multiple journeys can be “active” at once).
2. Informatives to evaluate
Cross-journey jumps can be legit (menu/deeplink/CTA) or issues (tracking gap/model drift); binding should surface the pattern, not assume intent.
If state IDs are globally unique, mapping is trivial; if not, you need extra disambiguation.
3. Decisions to make
Enforce global uniqueness of Designed
State.id(preferred) vs adopt an ID convention vs add a runtime hint (journey id/scope).What happens on “jump”: split into segments vs keep one trace with flags.
Track only leaf “state appears” vs also track composite/container boundaries.
4. Must-align with
[UJG Core] (document envelope, IDs, JSON-LD rules)
[UJG Blueprint] (State/Transition/Composite, OutgoingTransitionGroup injection)
[UJG Runtime] (event chain ordering + required
stateRef)
References
Informative References
- [UJG Blueprint]
- UJG Blueprint. /ed/blueprint
- [UJG Core]
- UJG Core. /ed/core
- [UJG Runtime]
- UJG Runtime. /ed/runtime