Week notes: cup progression, restart safety, and seeing the workers
Once cups and Go workers shared a calendar, the week’s stake was not novelty — it was trust. Managers needed stuck brackets to heal, operators needed to see the new binaries, and restarts needed to stop inventing duplicate training runs and match-result noise.
What shipped was a cluster of related closures. Go gained first-class observability identity and metrics (enqueue sources, game-day tick, engine mode) with a Grafana pack aimed at the worker/scheduler cutover. Reliability work made claims, dedupe keys, and delivery ledgers concrete so duplicate inbox and training paths could be refused rather than cleaned up by hand. A dedicated cup and playoff reconciler became the source of truth for progressive draws and finals — match completion stopped pretending it always remembered Monday — and the bracket UI learned a display-only reorder so progressive fills no longer stacked quarter-final cards on top of each other. In simple terms: the knockout spine could catch up after lag, and the ops board could finally attribute work to Go.
The challenges were timing ownership and cosmetic honesty. Moving draw scheduling out of match completion is a behavioural shift that feels invisible until a bracket stalls; display permutation must never rewrite feeder IDs or persisted indices. The strength of a reconciler is one place to reason about catch-up; the drawback is another cron that must itself be restart-safe. Observability’s strength is naming; its drawback is the temptation to treat dashboards as a substitute for the reliability contract.
Paths not taken included leaving draw scheduling on the match-completion path, fixing overlapping cards by rewriting stored bracket geometry, or delaying metrics until after Nest’s consumer runtime was gone. Completion-path draws are convenient until broadcast and retries disagree; mutating persisted indices would confuse audits; metric-later would have left cutover flying blind.
What it unlocked was confidence to finish Nest API-only removal with cups and ticks already healing under Go — and a UI that matched how progressive cups actually fill.