A device lifecycle boundary exposes stale data when network and local state disagree. The affected area is sync adapter.
Repair the sync adapter data migration implementation so it selects safe work under row and risk capacity while explaining skipped candidates.
Evidence
- Affected surface: Android / Kotlin / sync adapter.
- Observed failure family: plan migration batches.
- Scope policy: contractVersion must equal 2.