The real-data era: token live, stubs retired, editions on demand
BGG application approved. The migration the stub markers guarded for weeks: both synthetic caches deleted; tests/fixtures/bgg_cache re-recorded from the live API (recording list extended to every scenario the suite exercises — Civilization truncation, the Sorcerer SPI tiebreak, StarForce, Flat Top's thematic year, Alice Is Missing's rpgitem fallback); resolve --force re-matched all 133 titles for real (109 auto, 6 ambiguous, 18 unmatched, 30 edition ballots); data/STUB_DATA.marker deleted with its exit condition met — the guard mechanism stays armed should stubs ever regenerate. Reality fixed one bug and taught one lesson. The bug: a multi-type search lists an expansion twice (once per matched type) and the parser kept the generic boardgame entry — parse_search now dedupes by id preferring the specific type, which is what keeps expansion tagging (the base-vs-expansion review guard) alive on real data. The lesson: hand-built ambiguity is tidier than the real thing — Wingspan has 46 versions with three plausible English Stonemaier printings, so the suite's synthetic version ids and version_auto expectations became real ballots (assertions updated to recorded reality; the cue-plumbing test keeps its crafted two-version scenario via an injected transport). New: pick edition. A cue-less matched row is version_unknown by design (never guess) — but the owner knows which printing the box is. open_version_ballot() fetches the game's complete version list, cue-scores it when cues exist, and marks the row version_ambiguous so the normal Review edition pass presents it; the Titles page grows the button (Eric's three Wiz-Wars: two cue-less copies can now each claim their edition). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016jXZFSTZQKzAC8fqpWSz9g
This commit is contained in:
co-authored by
Claude Fable 5
parent
15d3120029
commit
59f4b8c43c
+56
-29
@@ -22,7 +22,8 @@
|
||||
"art_notes": "Box top shown horizontally on shelf, tagline 'Who's to Blame Logic Game', orange cat illustration",
|
||||
"source_photos": [
|
||||
"IMG_4499.jpeg",
|
||||
"IMG_4505.jpeg"
|
||||
"IMG_4505.jpeg",
|
||||
"shelf-20260803-215723.jpg"
|
||||
],
|
||||
"title_normalized": "cat crimes"
|
||||
},
|
||||
@@ -158,7 +159,7 @@
|
||||
"title_normalized": "gentle rain"
|
||||
},
|
||||
{
|
||||
"title_raw": "Patch Work",
|
||||
"title_raw": "Patchwork",
|
||||
"confidence": "high",
|
||||
"publisher_hint": "",
|
||||
"edition_hint": "",
|
||||
@@ -168,7 +169,7 @@
|
||||
"source_photos": [
|
||||
"IMG_4501.jpeg"
|
||||
],
|
||||
"title_normalized": "patch work"
|
||||
"title_normalized": "patchwork"
|
||||
},
|
||||
{
|
||||
"title_raw": "SANTORINI",
|
||||
@@ -1668,32 +1669,6 @@
|
||||
],
|
||||
"title_normalized": "parsely"
|
||||
},
|
||||
{
|
||||
"title_raw": "SIX-GUN SHOWDOWN",
|
||||
"confidence": "medium",
|
||||
"publisher_hint": "",
|
||||
"edition_hint": "",
|
||||
"year_hint": null,
|
||||
"language_hint": "English",
|
||||
"art_notes": "Western-themed box art with red/orange coloring, partially visible spine text",
|
||||
"source_photos": [
|
||||
"IMG_4573.jpeg"
|
||||
],
|
||||
"title_normalized": "six gun showdown"
|
||||
},
|
||||
{
|
||||
"title_raw": "Blackboa[rd]",
|
||||
"confidence": "low",
|
||||
"publisher_hint": "",
|
||||
"edition_hint": "",
|
||||
"year_hint": null,
|
||||
"language_hint": "English",
|
||||
"art_notes": "Dark spine at bottom right of cover art, title partially cut off",
|
||||
"source_photos": [
|
||||
"IMG_4573.jpeg"
|
||||
],
|
||||
"title_normalized": "blackboa rd"
|
||||
},
|
||||
{
|
||||
"title_raw": "...and then, we held hands.",
|
||||
"confidence": "high",
|
||||
@@ -1719,5 +1694,57 @@
|
||||
"shelf-20260803-171316.jpg"
|
||||
],
|
||||
"title_normalized": "consentacle"
|
||||
},
|
||||
{
|
||||
"title_raw": "The Simpsons Trivia Game",
|
||||
"confidence": "high",
|
||||
"publisher_hint": "Matt Groening / The Simpsons",
|
||||
"edition_hint": "",
|
||||
"year_hint": null,
|
||||
"language_hint": "English",
|
||||
"art_notes": "Green background with die-cut character silhouette shapes of Homer, Marge, Bart, Lisa, and Maggie; includes 'Ay Carumba!' badge and note about included cast poster",
|
||||
"source_photos": [
|
||||
"shelf-20260803-213735.jpg"
|
||||
],
|
||||
"title_normalized": "simpsons trivia game"
|
||||
},
|
||||
{
|
||||
"title_raw": "THE CAT GAME",
|
||||
"confidence": "high",
|
||||
"publisher_hint": "Spin Master",
|
||||
"edition_hint": "",
|
||||
"year_hint": null,
|
||||
"language_hint": "English/French",
|
||||
"art_notes": "White box with faux-fur textured letters spelling CAT, image of cat wearing top hat and bow tie standing on a scratching post, hand holding a marker/pointer stick, tagline 'The Hair-Raising Drawing Game (with Cats)'",
|
||||
"source_photos": [
|
||||
"shelf-20260803-213756.jpg"
|
||||
],
|
||||
"title_normalized": "cat game"
|
||||
},
|
||||
{
|
||||
"title_raw": "BLINK",
|
||||
"confidence": "high",
|
||||
"publisher_hint": "Mattel Games",
|
||||
"edition_hint": "",
|
||||
"year_hint": null,
|
||||
"language_hint": "English",
|
||||
"art_notes": "Orange sunburst background box with green bubble letters spelling BLINK, cards showing green stars, red flowers, blue triangles, yellow droplets",
|
||||
"source_photos": [
|
||||
"shelf-20260803-215650.jpg"
|
||||
],
|
||||
"title_normalized": "blink"
|
||||
},
|
||||
{
|
||||
"title_raw": "The Office Trivia Game",
|
||||
"confidence": "high",
|
||||
"publisher_hint": "Cardinal",
|
||||
"edition_hint": "Ready to Roll, Fast-Paced Game!",
|
||||
"year_hint": null,
|
||||
"language_hint": "English",
|
||||
"art_notes": "Box shows three characters from The Office in an office/warehouse setting, notebook paper design border, red 'Ready to Roll' circular badge",
|
||||
"source_photos": [
|
||||
"shelf-20260803-215703.jpg"
|
||||
],
|
||||
"title_normalized": "office trivia game"
|
||||
}
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user