Cigar Catalog Audit — Master Plan & Status

As of 2026-08-18 · prod v338 · everything below is on the live site

8,111 cards 36,110 offers 924 brands (was 999+) 30/30 golden tests

The goal: purge the catalog's identity mess — pseudo-brands, dupe brands, wrong merges, samplers/accessories posing as cigars — via evidence-based audit passes. Every change gets an ID; you dispute by ID in Telegram; every ruling is seeded into a replayable audit DB (v2/seed/seed_audit_pass01–05.py) so the whole cleanup can be rebuilt from scratch.

Standing rules: strong evidence only · ambiguous = ignore-tag, never forced · no rows deleted · stop clean at brand boundaries · golden tests must stay green.

✅ Completed

Pass 1 — Promo-node junk purge shipped 08-13 · v316

24 junk "brand" strings registered; kits→sampler, flasks/steins→accessory; 144 bogus per-stick prices fixed. You ruled all-yes.

Pass 2 — Structural fixes ruled + shipped 08-16

Fraction-dims parser bug (6-3/4×54→4×54), Warhead edition-first restructure, 3 un-merges (GR Specials, Savinelli, 7-20-4), CigarsNCigars JSON-LD price fix (21 bad box prices), Skeletos→1966 Cigars, 1502 CGC→sampler. You approved R1–R9; rejected R10 (samplers/accessories stay, tagged).

Pass 3 + 3b — Junk-brand triage ruled + shipped 08-16

All 399 tiny brands (≤2 listings) classified; 119 rebranded. The 12 ambiguous items you ruled by Telegram: clean refile or ignore-tag, nothing forced.

Pass 4 — Alias consolidation shipped 08-16

279 mid-size brands (3–9 listings) checked; ~45 alias/junk brands folded via 260 per-name overrides (999→959 brands, zero offers lost).

Phase C round 1 — Dupe sweep + Davidoff & Arturo Fuente shipped 08-16

Brand-dupe consolidation across all 959 brands (→924, 35 folds, 596 overrides). Deep audits of the top-2 brands: Davidoff (74 overrides — vitola-suffix folds, 702 Series, zodiac years) and Arturo Fuente (91 — OpusX strays rehomed to Fuente Fuente OpusX, Añejo/Hemingway folds, bundles→sampler). You kicked off round 2 after this; round-1 items remain disputable by ID but stand as accepted.

Phase C round 2 — Tatuaje shipped 08-17 · v338

103 clean cards: "Miami" umbrella (~60 products) dispersed into real lines, regular vs Reserva Broadleaf un-merged (J21, K222, Cojonu, SdC, SW), Cojonu years split, Serie P / La Union / 20th Anniv / Havana VI untangled, Advent/Book sets→samplers. Stopped clean at the brand boundary.

🔴 Waiting on YOU — the only open reviews

Round 2 rulings: R1–R6 blocking round 3

Six ambiguous Tatuaje items in the round-2 report (R7, cosmetic rounding, is already deferred to round 3 — no ruling needed):

Reply in Telegram by ID ("R1: it's the 2012" / "R2 leave ignore-tagged"). Confirm-all works too.

Round 1 disputes optional

Davidoff / Arturo Fuente / dupe-fold changes are dispute-by-ID; no disputes so far, so they stand. Nothing else is owed — pass 2 and pass 3b rulings were received and are already live.

🔵 To do (not started — waiting on your go)

Phase C round 3

Phase C rounds 4+ — the long tail

Continue down the brand list by listing count, one bounded round at a time (same report + dispute format), until the head brands are all deep-audited.

Exit criteria: zero dupe brands · head brands deep-audited · every ambiguous item explicitly ignore-tagged · 100% golden tests.

Not part of this track: the v2 golden-DB seeding plan (Neptune/Famous/JR harvest) is a separate project and untouched by these rounds.