gwshop: count dump coverage by unique objectID (review fixes)

Summed nbHits across facet branches double-counted products listed in
several branches; coverage is now per unique objectID, with a warning
about records left out of the dump. AGENTS.md documents the live
count (4183 records, 3491 via facet).
This commit is contained in:
2026-10-05 07:34:29 +02:00
parent da5f1f7315
commit 7e28518a52
2 changed files with 22 additions and 9 deletions
+5 -2
View File
@@ -227,11 +227,14 @@ never re-fetch them again):
key is search-only, never commit any other Algolia key. The full
product index `prod-lazarus-product-en-ww` (~3500 products, plus one
sibling index per locale) is dumped with plain `requests`: the
search-only key cannot use Algolia's `/browse` (403) and normal
public search-only key cannot use Algolia's `/browse` (403) and normal
pagination is capped at 1000 cumulative hits, so `gwshop.py`
**partitions the index on the `GameSystemsRoot` hierarchical facet** —
each branch is fetched with an explicit filter, recursing deeper only
when a branch exceeds one page. Records are normalized into the
when a branch exceeds one page. (Live count 2026-10-04: 4183 records,
of which 3491 are reachable via the facet; the ~692 left out are paints,
Black Library books, White Dwarf issues, brushes, bases and gifts that
carry no `GameSystemsRoot` path — no miniature kits among them.) Records are normalized into the
source-agnostic catalog schema (system/group/faction/subfaction/class
= the facet path, name/sku/productType attached) into
`data/gwshop_catalog.json`, which is the sorter's default catalog and