fix(parses): ingest never awaits Census — guild resolve is cache/store-only inline - #194
Merged
Conversation
…e-only inline 2026-07-28 incident: a never-seen uploader's inline Census guild lookup hit a degraded Census and blew the ACT plugin's 20s HttpClient timeout - the upload "failed" client-side while the server committed the parse anyway ~5s later. _resolve_uploader_guild_async now takes allow_census (default False): the response path serves from character_cache (any age) then the durable census_store; a never-seen uploader returns CENSUS_UNAVAILABLE, the encounter commits with guild_name=NULL, and the existing _backfill_encounter_guild background task (now allow_census=True) does the live lookup + roster prewarm after the response. Combatant snapshots already worked this way - the handler is now zero-Census end to end. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Root-caused from a user's failed upload (2026-07-28 19:33Z): a never-seen uploader's inline Census guild lookup hit a degraded Census (TimeoutErrors all evening in the Railway log) and blew the ACT plugin's 20 s HttpClient timeout — the upload "failed" client-side while the server committed the parse anyway ~5 s later (7.5 MB parses.db WAL right after the abort).
_resolve_uploader_guild_asyncgainsallow_census(default False). Response path:character_cache(any age,get_stale) → durablecensus_store→ never-seen ⇒CENSUS_UNAVAILABLE.guild_name=NULL, schedule_backfill_encounter_guild(BackgroundTasks) which opts in withallow_census=Truefor the live lookup + roster prewarm after the response.Follow-up (plugin repo): bump the 20 s HttpClient timeout.
Test plan
allow_census=True.🤖 Generated with Claude Code