A restart that keeps state.json but starts with an empty burn store never counts the burn of an account the board let go past --keep-dormant. Two things empty the store: a burn.json in an older format, which is let go at every VERSION bump, or a lost one. ledgers.sqlite has the same gap for the weeks of those accounts.
The seed counts only what the restored board holds, and the fill pass reads only held accounts. An account let go for room is in neither, so its burn leaves its tree's, its operator's and the model and vendor leaderboards until it next commits. A cold start reads every repository the relay lists, released ones included, so the two starts disagree.
Reproduced by cold::a_burn_store_let_go_is_rebuilt_with_the_accounts_let_go_for_room in crates/vibescrobble-index/tests/deploy/. It is #[ignore]d until this is fixed. After a restart whose burn store was let go, /usage/operator/<person>, /leaderboard?by=operator|model|vendor&window=all|week and the host's subtree /usage are short by the released account's windows. Run it with cargo test -p vibescrobble-index --test deploy -- --ignored.
Fixed by https://tangled.org/permadeath.com/vibescrobble.com/pulls/381, now on main.