{"version":"2.1.248","anchor":"stale-background-worker-rosters-no-longer-trigger-upgrade-re","canonical_anchor":"stale-background-worker-rosters-no-longer-trigger-upgrade-re","heading":"Stale background worker rosters no longer trigger upgrade respawns","tier":"internal","area":"Background Daemon","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.248\/e\/stale-background-worker-rosters-no-longer-trigger-upgrade-re","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.248","markdown":"### Stale background worker rosters no longer trigger upgrade respawns\n\nA returning background supervisor ignores stale worker lists instead of respawning them.\n\n**What**\n\nWhen the background supervisor comes back after being down, it checks how old the previous list of workers is. If it is old, it skips the pending upgrade respawns for those workers, and they no longer count toward the \"all workers dead\" health verdict.\n\n**Details**\n\n- The adopt log line reports the roster's age in days and how many respawns were skipped.\n- Settling a worker can now come back as `dead-epoch`, and the adoption telemetry event gained dead-epoch and upgrade-skipped counters.\n\n**Evidence**\n\n`upgrade_skipped=${me} (previous roster written ${Math.round((Date.now() - M.updatedAt) \/ 86400000)}d ago)`\n\n- Area: Background Daemon\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 2\/5"}