MTL β€” OPEN LOOPS (living, deduped)

_Canonical open-items list. Updated 2026-07-27. Re-surface every session until closed._

_Supersedes the dated snapshots OPEN-LOOPS-AUDIT-2026-05-31.md + PINTEREST-STATUS-AND-OPEN-LOOPS-2026-05-31.md._

_Reconciled 2026-07-27 against TASKS.md + MTL-MASTER-TASK-TRACKER.html. Items not mentioned in the 07-27 state are carried and tagged (carried β€” confirm still open) so nothing is silently dropped._

---

πŸ”Ž SETTINGS AUDIT 2026-08-06 β€” fixed live, verified role=main

Full-surface scan of 89 products, 13 pages, 5 policies, all collections, 510 live theme files.

Scanner: _sweep_shopify_2026-08-06.py Β· fixers: _fix_shopify_content*.py, _fix_theme*.py Β· backups in BACKUP-shopify-content-fixes-2026-08-06/ + BACKUP-theme-fixes-2026-08-06/.

FIXED and verified live (mobile 390x844 then desktop 1440x900, Shopify.theme.role === 'main' asserted):

Verified CORRECT, no action (recorded so it is not re-audited):

β›” NEEDS KAYLA β€” 2026-08-06 (not auto-fixed: SEO/strategy or breaks bindings)

1. "Charm" in ~13 product TITLES (e.g. "Daisy Charm Necklace", "Aries Charm Necklace"). The no-"charm" rule collides with real search volume, and titles must stay Shopify/Etsy identical, so changing them is an SEO + parity decision, not a copy fix. Decide: keep "charm" in titles as a keyword exception, or rewrite both platforms together.

2. Product handle ...-bff-keepsake contains "keepsake". Changing a handle changes the live URL β€” needs a redirect plan. Left alone.

3. printify_print_on_demand_personalize_button block IDs in 3 product templates + the .mtl-printify-stealth CSS class. Admin/app-bound; renaming risks breaking the personalize mount and the live preview. Not customer-visible as text.

4. Return-policy JSON-LD still emits applicableCountry: "US" only, and shippingDestination only US β€” SETTLED-FACTS #4 says this was extended to ["US","CA"] on 2026-08-02. Looks like that change regressed or never shipped. Worth confirming before Google re-crawls.

5. Finish order wrong in some PDP body copy β€” heart-cutout lists Gold β†’ Stainless β†’ Rose Gold; LOCKED-RULES mandates Gold β†’ Rose Gold β†’ Stainless.

6. templates/index.scratch.json still carries "ships within 2-5 business days" x2. Appears to be an unused scratch template β€” confirm and delete.

7. metalFormalName() emits "Gold (18K PVD)" as a line-item property, not the canonical "Gold – 18K PVD". Changing it may desync supplier-side mapping (SETTLED-FACTS 5.9 five-places warning). Flagged, not touched.

🟑 NOT YET SWEPT this session (scope not reached β€” carry forward)

Etsy shop 62435306 settings/About/policies/profiles/partners/attributes/sections/announcement/FAQ/vacation/ads Β· Klaviyo Β· Judge.me Β· Cloudinary Β· Cloudflare Worker Β· Pinterest Β· Google Merchant Center Β· Tailwind Β· Printify settings Β· Shopify notification email templates, checkout/customer-accounts settings, domains, nav menus, app permissions, metafield definitions, Files. Also: agent/memory/ directory not yet reconciled against live.

---

🟒 STORE STATUS - LIVE / PUBLIC (confirmed 2026-07-29)

memorythatlasts.com is fully launched, public, and meant to be discoverable - no storefront password, not pre-launch/gated (Kayla confirmed 2026-07-29). Etsy shop (62435306) likewise live. This is settled: do not treat the store as pre-launch or re-add a storefront password.

---

⏳ Awaiting Kayla β€” decisions / approvals (current 07-27)

1. Zodiac HOMEPAGE tile decision ("Daphne butter" = the cat-paw slider; using it would duplicate the Pet tile) β€” blocks the Shop All collage rebuild.

2. Approve the 3 regenerated birth-flower videos (July / Oct / Nov heart clips β€” gold holds, no flicker; on mtl-video-review.pages.dev).

3. Approve the homepage tile row (AM + daisy) live push.

4. Approve the zodiac collection preview (before the live filter switch).

5. _Optional / one-clicks:_ hit "Run now" on the Etsy retest scheduled task (etsy-rest-activation-retest) Β· consolidate the 2 duplicate Cloudinary accounts (dl7mguxyk operational vs dafx1ucr4 new).

### Carried awaiting-Kayla (≀07-22, not in the 07-27 state β€” confirm still open)

---

πŸ”§ In flight β€” Claude building (no Kayla action yet) (current 07-27)

6. Shopify Zodiac collection β€” adding Sign + Product-Type filters (via metafields) + site-wide free-ship badge on DEV. Live filter switch held for Kayla (#4).

7. Hero image audit + Caitlyn-style plan.

8. Store-wide verify of the approved CIRCLE finish swatches.

### Carried in-flight (≀07-22, not in the 07-27 state β€” confirm still open)

### Carried from 07-26 (not in the 07-27 state β€” confirm still open)

---

πŸ“Œ Parked / low-priority (current 07-27)

---

🧨 Latent traps (must not forget)

---

βœ… Recently closed (07-26 β†’ 07-27) β€” for the record

---

πŸ“Œ Standing rules (don't re-break)

---

### OPEN β€” Judge.me reviews widget: confirm live render in INCOGNITO (2026-07-28)

---

### RESOLVED 2026-07-28 β€” Judge.me reviews widget NOW RENDERS for logged-out visitors

---

### RESOLVED 2026-08-04 - Birth flower month filter is now real URL state (server-side)

---

### OPEN - Kayla click: add "Necklace style" filter in Search and Discovery (2026-08-04)

---

### OPEN - Birth Month filter values sort alphabetically, calendar order wanted (2026-08-04)

---

### OPEN - Two pre-existing defects in sections/mtl-birth-flower-picker-deep.liquid (2026-08-04) - DO NOT TOUCH CASUALLY

---

### OPEN - Some birth flower product images returning 502/504 from Shopify CDN (2026-08-04)

---

### Pinterest, verified live in browser 2026-08-05 - NOT blocked, just IDLE

Working today with NO API token:

The actual gap is idleness, not access:

MY ERROR, needs Kayla's yes: I created a junk board on her live profile, zz-sandbox-isolation-test (0 pins, 2026-08-04). My earlier claim that sandbox writes were discarded was WRONG. Truth: sandbox writes land on the PRODUCTION account while sandbox reads return empty, which is what fooled me. Never run a write against the sandbox host again. DECISION: delete zz-sandbox-isolation-test? (y/n)

Standard access, real picture: form at /apps/1565734/upgrade/ requires a video demo (required field) showing how the app authenticates Pinterest users plus main features, mp4 under 2GB, plus app name, company name, website, privacy policy link, app purpose, use cases, audience. All text fields are answerable from what we have. The video is the only real blocker and it cannot be recorded until OAuth completes. Pinterest publishes no SLA, only "reviewed regularly", decision by email. Not urgent.

Token, for completeness: app shows Trial access active, redirect URI http://localhost:8085/callback registered, OAuth one approval away. The approval must happen in a Chrome on the Neo Mac (callback listens on localhost:8085 there; the connected browser is Indigo Computer). The token buys programmatic reads, reporting and pin analytics only.

Full evidence: PINTEREST-TOKEN-TRUTH-2026-08-04.md.

---

Etsy alt text (2026-08-05) β€” APPROVED, ready to execute

Decision: do the zodiac coin family only, via Evlista bulk alt-text. Not all 88

listings. Ranking benefit is marginal to zero. The real reason is brand and FTC

control, because Etsy now auto-writes AI alt text on any blank US listing image and

we already have a listing serving it. Full research: ETSY-ALT-TEXT-DECISION-2026-08-05.md.

Copy is written and swept clean: COIN-ALT-TEXT-COPY-2026-08-05.csv, 88 rows,

11 signs x 8 images, max 200 chars. Zero hits for silver, Printify, POD, keepsake,

charm, em dashes, AI strings.

Run order:

1. Personalized Cross 4514186525 GOES FIRST. Confirmed serving Etsy's own

auto-generated alt text after a re-upload wiped ours. Live problem, ours to fix.

2. Evlista single-listing TEST on Taurus 4510839662 before any batch.

3. Coins batch 1: Aries, Taurus, Gemini, Cancer, Virgo.

4. Coins batch 2: Libra, Scorpio, Sagittarius, Capricorn, Aquarius, Pisces.

5. Verify: re-run _alt_reverify_2026-08-04.py, confirm alt filled AND all images

still present in original order.

6. Leo 4510220095: NO ACTION. Correct as-is.

Before any bulk apply: check in Evlista's photo grid whether the 11 coin listings

share the same 8-shot order. The canonical folder README documents a different order

than the live Leo listing uses. CSV rows are keyed to view codes, not slot numbers.

Do not paste by position.

Hard rule, added to LOCKED-RULES: never write listing images via the Etsy Open

API. No alt-text-only endpoint exists, so every API alt write is an image write, and

uploadListingImage has an open unfixed defect that deletes images. This already

destroyed a Taurus primary on 2026-08-04. Evlista or the Etsy Seller app only.

MY ERROR, corrected same day: I added "Shown on an AI-generated model." to the

worn frames, copying a convention from ALT-TEXT-MASTER-REGISTRY.csv without

checking SETTLED-FACTS. That registry predates Kayla's 2026-08-01 AI-labelling

decision. Stripped from the copy file (33) and from the registry itself (10), both

now zero. SETTLED-FACTS section 3 extended to name alt text explicitly so a cancelled

convention cannot resurface from that file again.

Open question, low priority: per-sign zodiac card trait words are baked into the

mockup images and are not in any Ops file. CARD rows stop at "beside a printed [Sign]

zodiac card", which is accurate. Kayla can add traits if she wants them.

---

### CLOSED 2026-08-06 - Canada checkout rate name (dash + wording)

Kayla narrowed the dash rule: em/en dashes are banned in TITLES and SNIPPETS only. They are

acceptable in shipping, size, and colour variation text. The checkout rate name

"Canada Standard (transit 10-30 business days)" is shipping text, matches the real Fulfill

Engine carrier window, and matches the shipping policy. No rename required. API rename is

permission-blocked for sessions anyway; manual rename remains optional cosmetics only.

### ACCEPTED 2026-08-06 - Judge.me cached product_name metafields are stale by design

judgeme.review_widget_data snapshots the product title and only refreshes when review

activity touches that product (proven: Taurus refreshed 2026-08-04 with Kevin's review and

carries the current title; January Bar snapshot from April still carries the old em dash

title). App data, not customer copy; self-heals per product. Only customer surface is the

product name inside Judge.me's own review modal. Optional force-fix: product sync button in

the Judge.me admin. Do not re-hunt this as a copy bug.

### CLOSED 2026-08-06 - Etsy processing time was never missing

Earlier flag was wrong and is retracted. The shipping profile API shows empty min/max

processing days, but Etsy stores processing time as a PROCESSING PROFILE applied per

listing: "Made to order (2-5 days)" is applied to all 88 active listings (verified in Shop

Manager in the live browser). Buyers already see 2 to 5 day processing. No action. Lesson:

the shipping-profile processing fields are not the source of truth on this shop.

### OPEN (one manual click) - Judge.me product-name cache flush, optional

Kayla approved forcing the sync. Blocked from automation twice: the embedded Judge.me app

runs in a cross-origin iframe that ignores synthetic clicks, and judge.me redirects its

standalone URLs back into the embedded admin. Manual path: Shopify admin > Apps > Judge.me

> Settings > Product management > sync/refresh products. Purely cosmetic (stale titles

inside Judge.me review modal only); self-heals per product as reviews arrive.