Skip to content

Reconcile PR #35 and #88 history while preserving #127 fixes - #128

Merged
QianhuiWu merged 15 commits into
mainfrom
integrate/pr35-pr88-history
Sep 17, 2026
Merged

QianhuiWu merged 15 commits into
mainfrom
integrate/pr35-pr88-history

Conversation

@QianhuiWu

Copy link
Copy Markdown
Collaborator

Purpose

Reconcile the original BoardGameGeek histories from #35 (@hqhq1025) and #88
(@jackjin1997) into main after their combined implementation and reviewed fixes
were delivered by #127. The user explicitly selected history reconciliation for
this case; #127 is retained, not reverted.

History and content

Validation

No asset publication, deployment, force-push, branch deletion, or changes to the
existing browser preview/GIF dashboard. The paired HF asset PR is separate.

Builder and others added 15 commits May 26, 2026 16:35
Adds sites/boardgamegeek/ — a Flask mirror of boardgamegeek.com built
end-to-end per the .claude/skills/ six-phase pipeline (clone-website
→ design-tasks → evolve-env → harden-env → seed-database).

Catalog (real data from api.geekdo.com + 1000+ Playwright-rendered pages):
- 500 base games (BGG top-500 by rank)
- 5,169 expansions (full expansion catalog for every top game)
- 2,880 designers/artists, 1,035 publishers, 178 mechanisms, 80 categories
- 5,246 user ratings (1,639 text reviews from real BGG users)
- 4,004 forum threads + 34,462 posts (real thread titles, generated bodies)
- 16 curated GeekLists (sentence-curated entries per skill convention)
- 4,201 real user profiles (250 reviewer profiles + 3,947 from review pulls
  + 4 benchmark users)
- 11,338 real images (covers + thumbs, scraped from cf.geekdo-images.com)

Routes (55): home / browse / hotness / item (overview, ratings, credits,
expansions, forums) / property pages (category/mechanic/designer/artist/
publisher) / search (games/users/geeklists) / forums + threads / geeklists
(create + add-item) / user profile + collection + plays / rate / collection
mutate / login / register / account. Scored token-overlap search per the
"never strict-AND" skill rule.

Benchmark users: alice_j / bob_c / carol_d / david_k, password
TestPass123! — each pre-seeded with 18 owned + 4 wishlist + 1 want-to-buy
+ 1 want-to-play games, 5 textual reviews, 10-22 plays, 1 authored
GeekList, and 1 opened forum thread.

tasks.jsonl: 20 tasks covering 8 functional areas (search/filter, detail
lookup, comparison, CRUD on collection/ratings/wishlist, forum reply,
geeklist creation, plays log, disambiguation).  Hand-walked via Playwright
end-to-end — 32/32 checks pass.

Skill-conformance highlights:
- Byte-identical reset verified
  (md5 10a5b3d4ae85380d8019bd9ac7cf9e61 unchanged across /reset)
- All seed_*() functions are function-level idempotent (returns early when
  populated; per-row gates are not enough — empty commits bump SQLite
  metadata and break the byte-identity invariant)
- harden-env Dimension A: top-reviews removed from item overview; tab-bar
  counts removed ("Expansions (N)" → "Expansions") to force tab navigation
- harden-env Dimension C: catalog breadth — top mechanisms have 50+ games,
  Z-Man Games publisher has 116 games, Lacerda 23 games

Known limitations (documented for the maintainers):
- BGG's /api/collections endpoint silently rejects sort=lowest /
  direction=asc / minrating filters when called without authenticated CF
  clearance.  Result: scraped reviews skew high (the seed has 1,639 text
  reviews but the lowest is ~7.0).  Tasks that would naturally ask "find
  the lowest-rated review" were re-framed to use Most-Helpful (thumbs)
  instead — those reach the same Ratings tab + sort UX without depending
  on data we can't lawfully obtain via the public API.
- Image discovery uses BGG's first-party cf.geekdo-images.com URLs which
  occasionally return blank thumbnails for un-imaged expansions.  The
  fallback SVG placeholder ships at static/icons/cover_placeholder.svg.

Paired HF dataset PR (instance_seed/boardgamegeek.db, 24 MB +
static/images/, 218 MB, bundled as boardgamegeek.tar.gz, 200 MB):
[link will be added once HF discussion is opened]

After the HF PR merges, bump .assets-revision to the HF merge SHA in a
follow-up commit.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants