adventure: repair the realm-firsts ledger the backfill got wrong

The one-shot that seeded news_realm_firsts filtered on `abandoned = 0`, and
`abandoned` does not mean anybody gave up: abandonZoneRunByID exists to retire a
run whose boss is already dead when the expedition travels onward, which is how
30 of prod's 32 boss kills are stored. So the ledger holds 6 zones where the run
history knows 9, and it dates every row to the minute the job ran rather than to
the clear.

The ledger is what claimRealmFirst tiers live dispatches against, so each missed
zone is a spurious PRIORITY "realm first" waiting to fire the next time somebody
clears it, months late.

Fix the shared query, and add a re-seed (not a re-run) under its own job name: it
writes the ledger, backdated to the real earliest clear, and emits nothing at
all. It runs regardless of the news switches, because a ledger that is right only
while emission is on mis-tiers the first dispatch after somebody flips it. Kept
in place afterwards as an ordinary bootstrap for fresh deploys.

Claude-Session: https://claude.ai/code/session_012bxpQQJDjC1mTtLN3VVtBQ
This commit is contained in:
prosolis
2026-07-24 20:35:47 -07:00
parent e5d4bd6dc5
commit a27fb298af
3 changed files with 246 additions and 14 deletions
+6
View File
@@ -253,6 +253,12 @@ func (p *AdventurePlugin) Init() error {
// deaths, single-holder achievements) the first boot the seam is live, so
// launch doesn't open onto an empty section. One-shot, kept (see gap #7).
p.bootstrapPeteNewsBackfill()
// Repair the zone half of news_realm_firsts: the original one-shot filtered
// on `abandoned = 0` (which does not mean anybody gave up) and dated every
// row to the minute it ran. Seeds only, emits nothing. Runs regardless of the
// news switches — a ledger that is right only while emission is on mis-tiers
// the first dispatch after somebody flips it. One-shot, kept.
bootstrapRealmFirstsReseed()
// Phase R1 orphan-archive used to run here on every Init, but it
// over-archived: it treats any active dnd_zone_run row not linked to
// an active expedition as a legacy `!adventure dungeon` orphan, which