Skip to content

MUM Synchronization Profile

This guide defines a practical synchronization profile for metaverse portability integrations using Universal Manifest.

  • 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.

  • metaverse.sync.authoritativeSource
  • metaverse.sync.changeLog
  • metaverse.sync.snapshot
  • Treat authoritativeSource as 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.
  1. Validate baseline UM fields.
  2. Enforce TTL.
  3. Verify signature profile if policy requires it.
  4. For extended policy, verify statusRef and revocationCursor freshness.
  5. Compare cache metadata with authoritative metadata.
  6. Refresh when stale, uncertain, or conflicting.
  1. Fetch metadata from authoritative source.
  2. Decide if refresh is required.
  3. Fetch full manifest.
  4. Validate and verify.
  5. Resolve conflicts deterministically.
  6. Persist and log audit event.
  • 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.

If metaverse.sync.changeLog exists, treat it as append-only.

Recommended fields per event:

  • eventId, manifestId, subject, changedAt, changeType, fields, source
  • 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.
Terminal window
cd packages/universal-manifest
npm run journeys

Most relevant journey IDs:

  • J16 consent propagation
  • J19 preferences bundle projection
  • J20 freshness and change-log behavior