Dev Notes — Archive (Mazonkiki & SearchLift)

<h1>Mazonkiki Dev Notes — Archive</h1> <p><strong>Purpose:</strong> This page holds historical/completed material split out of the main dev notes page (ID 156218884369, handle dev-notes) starting August 15 2026, to keep that page smaller and faster to update. This archive is write-once/read-rarely — full round-by-round logs and resolved sagas live here; the main page keeps only current status, active priorities, and pointers back here. <strong>Main dev notes page: shopify_get_page page_id 156218884369, handle "dev-notes."</strong></p> <hr> <h2>A1. Antigravity Claim Verification Log — Full Round-by-Round History (rounds 1-9, v2.4.9 through v2.7.0)</h2> <p>Current status, confirmed-holding list, still-broken list, and the draft Antigravity message live on the MAIN page (Section 23). This is the full verbatim history for reference.</p> <h3>Ground truth reference (re-confirmed via direct Shopify Admin API before every round below — has not changed across the whole saga)</h3> <p><strong>Molten Gold Cuff Bracelet</strong> (product id 10184388903185, handle crushed-gold-statement-cuff-bracelet, vendor "MOLTEN CUFF"): 6 images — 5 have real but duplicate/boilerplate alt text, 1 (image id 51514957889809) genuinely has `alt=""`. It has BOTH a missing-alt issue and a boilerplate issue simultaneously — the correct live behavior is to appear in a "Missing" category (if one exists) and/or be flagged for boilerplate, never to be invisible to the scan.<br> <strong>Botanic Bliss Silk Scarf</strong> (product id 9933260521745, handle botanic-bliss-silk-scarf, vendor "BOTANIC BLISS"): 5 images, all real non-empty but duplicate/boilerplate alt text. Boilerplate-only, no missing-alt issue — should never appear in a "Missing" category.</p> <h3>Round-by-round claim vs. verified result</h3> <table border="1" cellpadding="6"> <tr><th>Round</th><th>Commit</th><th>What was claimed fixed</th><th>What independent live re-test found</th></tr> <tr><td>1 (upd.2)</td><td>693ba17 (v2.4.9)</td><td>Category split into 2 findings (Missing 33 / Boilerplate 50); Botanic Bliss false-positive resolved; Molten Gold false-negative resolved; new clothing-line exclusion caught</td><td>ALL 4 contradicted. Missing-alt count was 63, not 33. No split category existed (still 6 total categories, unchanged). Botanic Bliss still flagged as missing (false positive persists). Molten Gold still not flagged at all (false negative persists). NEW bug found: filter box crashes the app.</td></tr> <tr><td>2 (upd.3)</td><td>28a4275</td><td>Same category split (root cause: AuditTab.tsx substring-match fallback merging 2 backend finding IDs); filter-box crash fix</td><td>Filter-box crash <strong>CONFIRMED FIXED</strong> — 1st confirmed fix in the saga. Category split still NOT live — old category simply relabeled "Low-Quality/Boilerplate Alt Text," still 63 merged products, no separate "Missing" category. Molten Gold now caught but mislabeled as boilerplate instead of missing. NEW bug found: "Inspect Product Details" panel shows identical fake placeholder JSON-LD (fake price/GTIN) for every product regardless of finding type.</td></tr> <tr><td>3 (upd.4)</td><td>ce4228a</td><td>Same category split (new root cause: exact-phrase string mismatch against historical report text); Molten Gold labeling; detail-panel fix (missing-ID allowlist bug); Search &amp; Bot Crawl mismatch fix (variant-collapse-mismatch stripped from printable-report path); llms.txt fix (Content-Type check too strict)</td><td>Detail panel <strong>CONFIRMED FIXED</strong> — 2nd confirmed fix (real per-product content, no longer fake placeholder). Category split still NOT live — 3rd consecutive failure. Search &amp; Bot Crawl still 95 (report) vs 70 (dashboard), unchanged. llms.txt still reports MISSING, unchanged. NEW regression: printable report's own "Missing Image Alt Text" pattern-summary entry shows "0 products" next to "63 products" in the same entry. Antigravity, when directly asked, admitted the Thread A and printable-report "converged" claims were never actually checked live — only reasoned about.</td></tr> <tr><td>4 (upd.5)</td><td>62de327</td><td>Same category split (root cause: boolean-exclusion bug — `!m.includes('low-quality')` wrongly excluded dual-issue products from the missing bucket); printable-report 0-products fix; Search &amp; Bot Crawl fix (`variant-collapse` ID-matching); llms.txt fix (CDN redirect/query-string tolerance)</td><td>ALL 4 contradicted — zero landed. Category split still NOT live — 4th consecutive failure across 4 different root-cause explanations. 0-products bug NOT fixed and got worse: the wrong figure now also appears in the report's Executive Summary paragraph, not just the pattern-summary entry. Search &amp; Bot Crawl still 95 vs 70. llms.txt still MISSING. Both previously-confirmed fixes (filter-box crash, detail panel) re-checked and still holding.</td></tr> <tr><td>5 (upd.7)</td><td>ee76c48, tagged build v2.5.2 (Commit: ead8725)</td><td>Same category split, root-caused identically to round 4's boolean-exclusion bug (same code snippet, same fix); printable-report 0-products fix (this time root-caused to an `id` string mismatch: `route.ts` checking `p.id === 'missing-alt'` vs the actual `'missing-image-alt-text'`); llms.txt fix (root-caused to a `https://` double-prefix bug in the fetch URL); Search &amp; Bot Crawl fix (same `variant-collapse` substring-match claim as round 4). NEW this round: Antigravity shipped a visible build-version badge in the running app specifically so this could be verified without trusting the deploy log.</td><td><strong>Badge claim CONFIRMED TRUE</strong> — hard-refreshed the dashboard and the header genuinely shows "v2.5.2 (Commit: ead8725)," so for the first time in the saga there is hard proof a specific commit is live on the dashboard SPA. Despite that, ran a fresh scan under this confirmed build and the category split STILL did not appear — 5th consecutive failure, and the first one that can no longer be explained by "wrong build deployed" on the dashboard specifically. Molten Gold Cuff Bracelet still filed only under boilerplate. <strong>Significant new finding: the printable report ITSELF still identifies as "Engine: SearchLift Engine v2.4," not v2.5.2</strong> — meaning the report-generation endpoint and the dashboard SPA are running two different deployed versions of the app. This fully explains why the printable report (Search &amp; Bot Crawl 95 vs 70, llms.txt MISSING, 0-products self-contradiction) is byte-for-byte identical to every prior round: it was never touched by ee76c48 at all. Detail panel and filter-box crash fixes both re-confirmed still holding.</td></tr> <tr><td>6 (upd.8)</td><td>fe8190c, tagged build v2.5.3</td><td>Two root-cause diagnoses this round: (1) printable-report engine-version stamp — a hardcoded `engineVersion: 'SearchLift Engine v2.4...'` string in `searchlift-metrics.ts` line 49, never bumped in earlier commits despite UI/docs being bumped, now updated to v2.5.3 so dashboard and PDF stamp match; (2) category split — replaced `AuditTab.tsx`'s exact-substring match against `p.missing` with structural inspection of `p.image_details[].status === 'MISSING'` plus a resilient regex fallback (`/missing|empty|no alt/i`). 4-step verification guide specified exact expected results: badge "v2.5.3 (Commit: fe8190c)"; sidebar shows BOTH "Missing Image Alt Text (33 products)" and "Low-Quality/Boilerplate Alt Text (50 products)"; PDF header prints "Engine: SearchLift Engine v2.5.3" and "Search &amp; Bot Crawl: 70/100"; PDF Executive Summary reads "33 active products, 0 data inconsistencies."</td><td><strong>Split verdict.</strong> Engine-version-stamp fix <strong>CONFIRMED TRUE</strong> — 3rd confirmed fix in the saga, and the first ever on the printable-report side: fresh fetch of getPrintableReport now shows "Engine: SearchLift Engine v2.5.3 (Mazonkiki Plugin)." Everything else failed or contradicted. Badge commit hash MISMATCH: hard-refreshed dashboard shows "v2.5.3 (Commit: b05c509)" — version number matches, but the commit hash is NOT fe8190c as claimed. Category split: 6th consecutive failure — fresh live scan still shows only one sidebar category, "Low-Quality/Boilerplate Alt Text (63 products)"; no "Missing Image Alt Text" category exists at all (not 33/50 as claimed, still one merged bucket of 63); filtering to "Molten" confirms the ground-truth missing-alt product is still filed only under boilerplate. Search &amp; Bot Crawl still shows 95 in the report vs 70 on the dashboard — 3rd consecutive failure of this specific claim, and note the claimed target (70) matches the dashboard, not the report the claim was actually about. Executive Summary math still wrong: report says "SearchLift reviewed 70 products," not the claimed "33 active products," and the 0-vs-63 self-contradiction persists in a slightly different spot — the Executive Summary paragraph itself now says "Missing Image Alt Text — affects 0 products," directly contradicted two sections later by "63 products (90% of active catalog)" under the same finding name — 3rd consecutive failure of this claim. Detail panel and filter-box crash fixes both re-confirmed still holding, zero regression.</td></tr> <tr><td>7 (upd.9)</td><td>30d97a5, tagged build v2.5.4 (verification steps cited a different hash, 5ce1aae — see notes)</td><td>Explained the b05c509-vs-fe8190c mismatch as a `git commit --amend` artifact (badge JSX was written before the amend). Root-caused the category split for the 7th time: claimed the *backend* gap engine (`searchlift-gap.ts` line 1787) only ever emitted ONE `product_patterns` group (`missing_alt_text`, count 63) — frontend filters were irrelevant because the split data never existed server-side; fixed by emitting two distinct backend groups (`missing_alt_text`: 33, `low_quality_alt_text`: 50). Root-caused the 0-vs-63 bug as a property-name mismatch (`route.ts` checked `p.id` but the pattern objects only had `pattern_id`); fixed by aliasing both `id` and `pattern_id` on every pattern object and updating `route.ts`'s match condition. Claimed Search &amp; Bot Crawl now evaluates to 70/100 in both UI and PDF. 4-step guide expected: badge "v2.5.4 (Commit: 5ce1aae)"; sidebar shows both categories (33/50 split); PDF header shows "Search &amp; Bot Crawl: 70/100"; PDF narrative reads "affects 33 of 70 active products (0 data contradictions)."</td><td><strong>One correct prediction, everything else failed or regressed.</strong> Badge hash: the live dashboard reads "v2.5.4 (Commit: 5ce1aae)" — matching the verification-steps hash, NOT the "30d97a5" cited as the actual deployed commit in the message's own headline and root-cause prose. The message is internally inconsistent about its own commit. Category split: 7th consecutive failure — fresh live scan still shows one merged "Low-Quality/Boilerplate Alt Text (63 products)" category only; filtering to "Molten" reconfirms the ground-truth product is still filed only under boilerplate. Search &amp; Bot Crawl: still 95 in the report vs 70 on the dashboard — unfixed, directly contradicting this round's explicit claim. Executive Summary: no longer says "33 active products" (claim failed) — instead now correctly/consistently says "Low-Quality / Boilerplate Image Alt Text — affects 63 products," so the old 0-vs-63 self-contradiction no longer reproduces, but only because the report gave up describing a split at all, not because the claimed fix landed. <strong>REGRESSION: the round-6-confirmed engine-version fix slipped backward</strong> — the report now shows "Engine: SearchLift Engine v2.5.3" again instead of advancing to "v2.5.4" with the dashboard. <strong>NEW bug: the report's per-product entries under the alt-text pattern now show wrong, unrelated descriptions</strong> — several "Silk Scarf" rows display the Generic-Schema-Name blurb, and most other rows display generic Offer-schema boilerplate text, none of it about alt text — apparent collateral damage from this round's id/pattern_id refactor. Detail panel and filter-box crash fixes both re-confirmed still holding, zero regression.</td></tr> <tr><td>8 (upd.13)</td><td>e16da3b, tagged v2.6.0 — run on Claude Opus 4.6 Thinking per Don's request, replacing Gemini 3.6 Flash</td><td>Root-caused the category split for the 8th time: `AuditTab.tsx` line 748 used `ml.includes('missing')`, which also matched unrelated `missing[]` entries like "GTIN missing..." and "Brand/manufacturer missing...", making the "missing" bucket effectively equal to the full product count; fixed by narrowing the match to `ml.includes('missing image alt text')`. Root-caused the Search &amp; Bot Crawl mismatch as a scoring-order bug: `route.ts` filtered `jsonld-schema` out of `gapData.issues` BEFORE calling `calculateUnifiedScores`, so a -25-point deduction that should have already been removed was still being applied; fixed by reordering so scoring runs before the filter. Updated engine version to v2.6.0 and removed the commit hash from the badge entirely "to break the circular amend-changes-hash problem." Cost note: Opus 4.6 Thinking hit its separate 5-hour model quota (0% remaining, Gemini's stayed at 70%) AND burned Don's entire AI credit balance in ~10 minutes; Antigravity's own guidance now recommends Sonnet 4.6 (Thinking) instead of Opus for future rounds.</td><td><strong>Split verdict, but a genuinely better one than any prior round.</strong> Engine version: CONFIRMED — badge reads "v2.6.0" (no hash shown, as described) and the printable report independently confirms "Engine: SearchLift Engine v2.6.0," fully matching for the first time with no regression. <strong>Search &amp; Bot Crawl: CONFIRMED FIXED — first genuine full reconciliation in the entire saga.</strong> Report and dashboard both now read 70/100, and GEO Readiness and AI Commerce &amp; Agent also match exactly (70/70/74 all three ways) — this is the first time ALL THREE scores have agreed between the two systems since tracking began. 6th confirmed fix overall, and by far the most substantive (a real scoring-logic bug, not a UI-only fix). Category split: STILL FAILED — 8th consecutive failure. Fresh live scan shows the identical single "Low-Quality/Boilerplate Alt Text (63 products)" category; no "Missing Image Alt Text" category exists; filtering to "Molten" reconfirms the ground-truth product is still filed only under boilerplate, directly contradicting this round's own verification step 3 ("should appear under BOTH"). The round-7 regression (wrong, unrelated description text appearing under alt-text pattern entries in the printable report) was NOT addressed and is still present verbatim in the fresh report. Detail panel and filter-box crash fixes both re-confirmed still holding, zero regression.</td></tr> <tr><td>9 (upd.15)</td><td>v2.7.0 — run on Claude Sonnet 4.6 Thinking per round-8 recommendation</td><td>Root-caused the category split for the 9th time, and the most precise diagnosis of the saga: `searchlift-gap.ts:913` fetched product images via GraphQL `images(first: 5)`; Molten Gold Cuff Bracelet has 6 images, so the 6th (the only one with `alt=""`) was silently dropped before the scan ever saw it — meaning the "Missing" bucket was structurally guaranteed to return 0 products for any product with &gt;5 images across all 8 prior rounds, regardless of frontend/backend categorization logic. Fix: `images(first: 5)` → `images(first: 30)`, one line. Notably, Antigravity explicitly disclosed it could NOT verify the fix locally (429 rate limiting from back-to-back scans) rather than claiming an unverified fix as done — a first for this saga.</td><td><strong>Root-cause theory independently CONFIRMED TRUE against ground truth</strong> (Molten Gold Cuff Bracelet genuinely has 6 images via direct Shopify Admin API, the empty-alt one is 6th) — the most rigorous and best-verified diagnosis of the whole saga. Engine version: CONFIRMED — badge and printable report both read v2.7.0, matching cleanly, 2nd consecutive clean sync. Search &amp; Bot Crawl reconciliation: re-confirmed again, 70/70/74 all three ways, 2nd consecutive round holding with zero regression. Filter-box crash fix and Inspect Product Details panel both re-confirmed holding. <strong>Category split: STILL FAILED — 9th consecutive failure, zero observable change</strong> despite the correct data-layer fix. Fresh live scan shows the identical single "Low-Quality/Boilerplate Alt Text (63 products)" category; no "Missing Image Alt Text" category exists anywhere (dashboard or printable report); filtering to "Molten" reconfirms the ground-truth product is still filed only under boilerplate. This is the most informative negative result yet: a genuinely correct, ground-truth-validated data fix produced zero change in the sidebar, strongly implying a SEPARATE, independent bug in the categorization/bucketing logic itself — never addressed by any of the 9 attempted fixes so far. The round-7 regression (wrong Generic-Schema-Name/Offer-schema description text under alt-text pattern entries) is also still present verbatim, now confirmed specifically on Molten Gold Cuff Bracelet's own printable-report entry. llms.txt still MISSING, unconfirmed status unchanged since round 4.</td></tr> </table> <hr> <h2>A2. Mazonkiki Admin GEO Score — Baseline History &amp; Full Scan-Reliability/GTIN Saga (RESOLVED, August 14)</h2> <p><strong>FINAL STATUS: scan reliability CONFIRMED FIXED (v2.4.6). GTIN handling for unpublished products CONFIRMED FIXED (v2.4.8), verified via 3 independent checks all agreeing exactly. Baseline C (70/70/75, no GTIN finding) is the current active baseline — see main dev notes page.</strong></p> <h3>Full scan history this session (chronological, for reference)</h3> <table border="1" cellpadding="6"> <tr><th>Scan</th><th>GEO</th><th>Search &amp; Bot Crawl</th><th>AI Commerce/Product Content</th><th>Missing GTIN</th><th>Notes</th></tr> <tr><td>Baseline A</td><td>67</td><td>75</td><td>67</td><td>10</td><td>Pre-commit 148a643</td></tr> <tr><td>Baseline B</td><td>70</td><td>75</td><td>70</td><td>7</td><td>Post-148a643, later disproven</td></tr> <tr><td>Baseline A-2</td><td>67</td><td>75</td><td>67</td><td>10</td><td>Reverted</td></tr> <tr><td>[Scan failures ×2]</td><td>—</td><td>—</td><td>—</td><td>—</td><td>v2.4.4, JSON parse crash</td></tr> <tr><td>v2.4.5, attempt 1&amp;2</td><td>60→49</td><td>70</td><td>60→49</td><td>21→35</td><td>Degrading trend across repeated scans</td></tr> <tr><td>v2.4.6, scan 1&amp;2</td><td>70</td><td>70</td><td>74</td><td>4</td><td>Determinism confirmed, 2 matching scans &gt;3min apart</td></tr> <tr><td>v2.4.7, post-fix test</td><td>70</td><td>70</td><td>74</td><td>4</td><td>Claimed fix showed NO effect</td></tr> <tr><td>v2.4.8, test 1</td><td>70</td><td>70</td><td>75</td><td>GONE</td><td>Real fix, but vendor's explanation was wrong</td></tr> <tr><td><strong>v2.4.8, test 2 (final confirmation)</strong></td><td><strong>70</strong></td><td><strong>70</strong></td><td><strong>75</strong></td><td><strong>GONE</strong></td><td><strong>MATCHES test 1 AND Antigravity's own corrected numbers — CONFIRMED</strong></td></tr> </table> <p><strong>Root cause throughout: 4 unpublished products (Section 8 on main page), never a real GTIN or theme issue. Fully resolved.</strong></p> <h3>Printable report reconciliation status — RE-CHECKED against Baseline C (Aug 14, later session)</h3> <p>Pulled a fresh printable report (via the &quot;View Printable Report&quot; button, which auto-appends &quot;force=true&quot;; &quot;Generated&quot; timestamp matched the actual clock minute, confirming it wasn't served from the 3-minute cache) immediately after the Baseline C scan. Results at that time: GEO Readiness 75 (dashboard 70) — MISMATCH. Search &amp; Bot Crawl 95 (dashboard 70) — MISMATCH (later confirmed fixed in round 8, see A1 above). AI Commerce &amp; Agent 75 (dashboard 75) — MATCHES exactly. Other findings matched the dashboard: Generic Schema Name (13 products), Missing Image Alt Text (23 products), Missing Organization Schema on Homepage, No FAQPage Structured Data, Vendor Field Used as Product-Line Label, Style Name Dedup (informational), and the 4 unpublished lounge-set products correctly flagged individually — no GTIN finding anywhere. Also found at the time: printable report's Crawl Visibility &amp; Technical Checks table showed &quot;AI Agent Manifest (llms.txt) — MISSING,&quot; a false negative (llms.txt confirmed live and fully populated at both www.mazonkiki.com/llms.txt and mazonkiki.myshopify.com/llms.txt) — status of this specific false negative was not re-claimed as fixed after round 4/62de327 and remains unconfirmed as of round 9.</p> <hr> <h2>A3. SearchLift Baseline History — Mazonkiki (searchlift.app, standalone product)</h2> <p>v1: 74/100 (superseded). v2.0: 45/100 — capped by Consistent Stock Signals gate, all fixes done both sides, NOT yet rescanned. Do NOT re-run until redirects are added (see main page Section 8/14 for redirect list and status).</p> <hr> <p><em>Unpublished — not visible to crawlers. This is the archive companion to the main dev notes page (ID 156218884369, handle dev-notes). Read: shopify_get_page. Update: shopify_update_page.</em></p>

Welcome

Welcome to Mazonkiki.com, where exclusivity meets artistry in every piece. Each item in our carefully curated collections is crafted in small batches by skilled artisans in Turkey, ensuring no two pieces are alike. Once sold out, these unique items will not be replaced—making each collection truly one-of-a-kind.

At the heart of Mazonkiki is our founder, Ms. Beletskaia—affectionately known as Kiki. Born in Sochi, Russia, Kiki’s Armenian heritage inspired her designs. From a young age, she displayed a natural talent for fashion, creating exquisite clothing for her dolls with limited resources. Her early passion for design laid the foundation for a lifetime of creativity.

As a teen, Kiki expanded her artistic talents into music and dance, mastering the piano and choreography. Her commitment to following her passions serves as a reminder that creativity knows no limits.

In her twenties, Kiki pursued a career in show business in Moscow, excelling as a choreographer, singer, and dancer. She also explored hairdressing, crafting intricate hairstyles to complement her stage costumes. Her drive to push boundaries led her to form her own dance group, combining light, movement, and style into captivating performances.

Kiki’s journey took a new turn in 2000 when she moved to North America. While teaching choreography posed challenges, it gave her the chance to focus on costume design. In 2013, her hard work and innovation were rewarded when she won first prize in a prestigious fashion competition.

Inspired by her passion for art, culture, and individuality, Kiki launched Mazonkiki.com, a boutique fashion brand reflecting her vision of unique, limited-edition creations. Every product is a testament to Kiki’s philosophy: "I am unique, and I embrace it." With each collection crafted in small batches, every item reflects artisanal craftsmanship. Once a piece is sold out, it will not return, ensuring each purchase is a rare find.

Mazonkiki.com celebrates Kiki’s Armenian roots and her love for Anatolian-inspired home décor and jewelry. Our fashion and décor collections are designed for individuals who value uniqueness and personal expression. Whether it’s a bold silk scarf or a stunning home accessory, every item celebrates diversity and creativity.

At Mazonkiki, we believe fashion and the spaces we inhabit should reflect who we truly are. Our limited-edition collections offer the perfect way to express your individuality, with styles ranging from vibrant prints to timeless classics. Each piece tells its own story, just as you tell yours.

When you choose Mazonkiki, you’re not just buying a product—you’re investing in the artistry behind it. Kiki’s products are made with care and intention, crafted by artisans who share her passion for excellence. Each collection is fleeting, making every item a rare treasure that won’t be found again once it’s sold out.

We invite you to explore Mazonkiki.com and discover how Kiki’s creativity can inspire your personal style. From unique fashion to artfully designed home décor, Mazonkiki is your destination for exclusivity and expression. Embrace the beauty of being one-of-a-kind, and let Kiki’s passion for uniqueness guide your fashion and décor choices.