A mobile workflow diverges after backgrounding, reconnecting, or replaying queued work. The affected area is ViewModel state.
Repair the ViewModel state cache lifecycle implementation so it separates purge, refresh, and escalation actions by staleness and risk.
Evidence
- Affected surface: Android / Kotlin / ViewModel state.
- Observed failure family: plan cache invalidation.
- Scope policy: tenantId must equal tenant-primary.