MUM Synchronization Profile
This guide defines a practical synchronization profile for metaverse portability integrations using Universal Manifest.
Boundary
Section titled “Boundary”- Normative contract: Spec v0.1, Spec v0.2, Conformance v0.2
- This page: non-normative synchronization guidance
Role Alignment
Section titled “Role Alignment”- The subject-controlled runtime is the canonical private-state authority.
- Caches, edges, and world nodes act as edge-availability custodians.
- Change-log, snapshot, and refresh behavior fill the relay/sync coordinator role.
- Public world or social outputs are projection roles, not the private-state authority.
- Trust metadata is a separate gatekeeper concern.
- Closed-surface bridges remain implementation detail.
No single external substrate is required by this profile.
Recommended sync pointers
Section titled “Recommended sync pointers”metaverse.sync.authoritativeSourcemetaverse.sync.changeLogmetaverse.sync.snapshot
Source-of-Truth Rule
Section titled “Source-of-Truth Rule”- Treat
authoritativeSourceas the refresh target for current state. - Treat public projections, relays, and caches as secondary.
- If a public projection conflicts with a fresher authoritative value, the authoritative value wins.
Staleness checks
Section titled “Staleness checks”- Validate baseline UM fields.
- Enforce TTL.
- Verify signature profile if policy requires it.
- For extended policy, verify
statusRefandrevocationCursorfreshness. - Compare cache metadata with authoritative metadata.
- Refresh when stale, uncertain, or conflicting.
Update sequence
Section titled “Update sequence”- Fetch metadata from authoritative source.
- Decide if refresh is required.
- Fetch full manifest.
- Validate and verify.
- Resolve conflicts deterministically.
- Persist and log audit event.
Conflict guidance
Section titled “Conflict guidance”- Core required fields: authoritative source wins.
- Consents: deny-biased merge unless newer verified authoritative allow is accepted by policy.
- Preferences: newest authoritative value wins.
- Claims: newest verified trusted issuer value wins.
- Pointers: newest authoritative pointer wins.
Change-log convention
Section titled “Change-log convention”If metaverse.sync.changeLog exists, treat it as append-only.
Recommended fields per event:
eventId,manifestId,subject,changedAt,changeType,fields,source
Offline guidance
Section titled “Offline guidance”- Use cached manifests only while unexpired.
- Restrict sensitive operations when trust freshness cannot be confirmed.
- Reconcile queued local state only after authoritative refresh.
- Do not let a closed-surface bridge or public projection become the private-state authority because the source is temporarily unreachable.
Verify with journeys
Section titled “Verify with journeys”cd packages/universal-manifestnpm run journeysMost relevant journey IDs:
J16consent propagationJ19preferences bundle projectionJ20freshness and change-log behavior