MTL — Open Loops CURRENT-STATE BOARD — 2026-08-04
Canonical board: https://mtl-open-loops.pages.dev · Supersedes MTL-OPEN-LOOPS-2026-08-02-VERIFIED.md. Merges the 08-02 LIVE-VERIFIED sweep (Shopify Admin API theme 159127928981 + Etsy API shop 62435306) with today's verified deltas so nothing is lost.
Legend: ✅ DONE-LIVE · 🟡 IN FLIGHT · 🔵 NEEDS-KAYLA · ❗ locked-rule item still open
✅ DONE / LIVE (verified 2026-08-04)
- ✅ Centered single-line wordmark logo live on memorythatlasts.com (backup theme
159930744981).
- ✅ Shopify → Pinterest catalog ON — Shopify side re-verified 2026-08-04 late (89/89 products published to the Pinterest publication). The Pinterest-side figures (261 catalog items, daily ingest, catalog
4815957580684) are from the earlier 08-04 sweep and are pending live browser re-verification.
- ✅ Etsy shop-video preview permanent at https://mtl-etsy-preview.pages.dev.
- ✅ Canada launch — "Now shipping to Canada!" announcement live; CA $9.39 parity holds (Shopify + Etsy).
- ✅ Etsy hero banner live.
- ✅ Paw hidden-bar $49 on both platforms (Etsy
4503106505 + 4503087440, Shopify $49) — parity holds.
- ✅ Review-request email fixed — working form + correct header.
- ✅ Homepage Names/Dates/Initials tile → heart-cutout image (closes O7 tile swap).
- ✅ Ship copy — all Shopify say "Ships within 2 to 5 days"; 0 use "business days" (O8).
- ✅ "silver" in data layer: 0 both platforms (FTC-safe). AI-label pills: 0 live both.
- ✅ Free US shipping — Shopify US $0 both delivery profiles; Etsy all listings on "Free Standard – Accessories" US $0.
- ✅ Stale "zzz OLD" themes deleted (159735873685, 159136153749) (O14).
- ✅ Hero CTA repointed to /collections/personalized-necklaces (O10 CTA half).
🟡 IN FLIGHT
- 🟡 Klaviyo empty flow
TcsiFG being set to Manual (keeper UB7GCQ verified clean).
- 🟡 Logo rollout — verify all Shopify surfaces + Google profile photo + Gmail signature.
- 🟡 Pinterest next-30-days pin plan + Tailwind / Caitlyn / video research.
- 🟡 Zodiac collection DEV page iteration — multi-select, 3x4 pills, month+day birthday finder (relates O9 hero-style consolidation).
🔵 NEEDS KAYLA (quick tasks — app blocks automation)
- 🟢 Pinterest is NOT blocked. Correction issued 2026-08-04 late. An earlier version of this item implied the whole Pinterest engine was dead pending an API token. That was wrong and it sent Kayla chasing a click she does not need. The product sync path runs with no API token at all. Verified today via Shopify Admin API: publication
gid://shopify/Publication/196385898645 "Pinterest" exists and 89 of 89 products are published to it. Nothing about the token gates that.
- What the token DOES add: programmatic reads and reporting (boards, pins, catalog state, pin analytics) and, later, automated pin creation.
- What the token does NOT add: the product sync, the catalog feed, or shoppable Product Pins. Those come from the Shopify channel.
- Precision note, not yet re-verified by me: the Pinterest-side numbers carried on this board (261 catalog items, catalog
4815957580684, daily ingest) come from the earlier 08-04 sweep, not from a check I ran today. The Shopify half is verified today; the Pinterest-side ingest/approval/Product Pin status is pending live browser re-verification (API token is dead so the browser is the only source of truth). Do not treat those counts as re-confirmed.
- 🔵 Only genuinely-Kayla item: identify which Chrome is on the Neo Mac. The OAuth callback server (PID 82890, port 8085) runs on Kayla's MacBook Neo, the Mac holding the Ops folder. Redirect is
http://localhost:8085/callback, and localhost only means the machine the browser is on, so approving on the indigo computer cannot work. Three Chrome extensions are connected and all report unnamed, so the right one cannot be targeted. This is a convenience item, not a blocker on Pinterest itself.
- ✅ App secret verified CORRECT (2026-08-04) without printing it: stored id+secret returns
code 283 "authorization grant is invalid" on a junk refresh token, while a deliberately wrong secret returns code 2 "Authentication failed.". Different errors prove Pinterest accepted our client credentials. The secret is not the cause of anything. Separately, all 8 Pinterest tokens stored anywhere in Ops return 401 on production /v5/boards, so there is no overlooked working credential.
- 🔵 Pinterest Trial → Standard: an APPLICATION, not a toggle, and NOT urgent. Read from Pinterest's access-tiers doc today: requires a video recording of the OAuth flow (Pinterest states this is required even when you are the sole intended user; a terminal or Postman screen recording is accepted), plus use-case and privacy-policy verification, then submit and wait for an emailed decision. Pinterest documents no fixed SLA, only "reviewed regularly". Correction to an older note: Trial DOES allow creating pins and boards via API. The catch is that Trial-created pins and boards are visible only to the creator, so Standard is what makes automated pins publicly visible, not what unlocks the write call. Since manual and scheduler-based publishing reach the public feed today, this application is not on the critical path. Detail:
PINTEREST-TOKEN-TRUTH-2026-08-04.md.
- 🔵 Judge.me logo upload — ~30 sec; their app blocks automation (also O15 gold/black button on DEV awaiting push).
- 🔵 Etsy alt-text native grind — needs Kayla to narrow the Chrome window (Etsy alt-text still ~0%).
- 🔵 Search & Discovery filter clicks — ~2 min iframe taps (O3: add Sign/Finish/Product-Type, remove "Availability").
❗ Locked-rule decisions still OPEN (from 08-02 live sweep)
- ❗ Em dash live in descriptions — Shopify 87/89, Etsy 86/88 (auto-gen spec bullets, e.g.
Pendant — 0.71 x 0.71). Titles clean. Fix = one-shot — → - in dimension block both platforms (~173 reversible writes, backups saved). DECISION: approve storewide em-dash scrub? (y/n)
- ❗ "charm" live — Shopify 11 titles + 2 desc; Etsy 42. Banned word but an SEO keyword under parity. DECISION: strip everywhere (SEO hit) or keep as SEO exception? (strip/keep)
- ❗ "keepsake" — 1 live — Shopify desc on
monogram-initial-heart-cutout-necklace; Etsy 0. DECISION: replace with "piece"/"necklace"? (y + word)
🔵 Other open loops (O-series, carried)
- 🔵 O4 Mobile 390px real-phone check (paw finish-selector stack + dog-name centering).
- 🔵 O11 Pinterest merchant verification (VMP self-order; catalog now ON but tier limited until verified).
- 🔵 O12 Enable CA + UK + AU target countries in Google & YouTube app (hold EU/GPSR). CA JSON-LD already live.
- 🔵 O13 Delete 3 UNUSED Etsy shipping profiles ($4.49, $5.69, EU-enabled $9.00) — latent trap; confirm delete all 3.
- 🔵 O10 Hero headline final (CTA done).
- ⏳ O17 eRank long-tail pet/paw research (no API). O18 gallery-slot fallback (birth-flower vbar + zodiac-cutout-bar). O14 residual optional theme cleanup (3 LIVE snapshots + 3 old DEV themes).
- 🔵 10% launch sale NOT live on Shopify (only WELCOME10 active) — decide if wanted.
🎯 Goals
- Net profit ladder: $20k net profit → then $20k/mo → then $100k/mo by Dec 2026.
- Margin target: 60–70% net on engraved jewelry (accept lower while starting; keep researching toward target).
🔒 Brand & compliance rules (never break)
- Anonymous founder; no personal email/phone/home address public; Klaviyo form only; name never on Shopify/Etsy.
- Never expose Printify / Fulfill Engine / POD / dropshipping on any customer surface.
- Banned words on customer surfaces: no "keepsake", no "charm" (SEO exception under review). Never call stainless "silver" in the data layer (FTC).
- No em dashes in customer copy (use " - ").
- Shipping copy always "Ships within 2 to 5 days" (never "delivered"/"processed"), Shopify + Etsy.
- Max 3 finishes: Gold, Rose Gold, Stainless. Never Black or Rainbow PVD.
- Shopify = Etsy price parity (identical). Free US shipping both sites, baked into price, verified working.
- Mockups only = our Kittl mockups (never Printify stock/auto). Vectorize any engraving art before Printify.
- Mobile-first, then desktop. All code/theme changes to DEV theme first, tested, then deploy live-direct — never publish DEV.
*Board built by _loops_html.py → /tmp/loops_site/index.html → wrangler pages deploy --project-name mtl-open-loops. Source of truth: this file.*
🔧 Setup and autonomy sweep (added 2026-08-04, all tested live)
- ✅ Ops-folder confusion fixed - the real folder is the iCloud one (
MemoryThatLasts-Ops-UPDATED); the local ~/MemoryThatLasts-Ops decoy now carries a READ-THIS-FIRST pointer. Both CLAUDE.md files now point at MTL-SETUP-AND-DISPATCH-STANDARD-2026-08-04.md.
- ✅ Browser stall fixed - default deviceId
0dcee6e1-4bcf-4a47-b1e9-0effceb8965c recorded; sessions now select it directly instead of asking. eRank session confirmed live on it.
- ✅ eRank path documented - no API and no connector exists; browser session plus the cached Superstar Keyword Tracker sheet is the working path. Never estimate.
- ✅ File access standard - Desktop Commander always,
request_cowork_directory never (iCloud files are invisible to the sandbox).
- ✅ Shopify domain corrected - Admin API host is
qxjxh9-1t.myshopify.com, not memorythatlasts.myshopify.com. Wrong host returns 404 and was being misread as a dead token. Token tested HTTP 200.
- ✅ Etsy token is healthy - LaunchAgent
com.mtl.etsy-token-refresh runs every 1800s, live GET returns 200. ETSY_TOKEN_EXPIRES_AT is a stale field; the real one is ETSY_ACCESS_EXPIRES_AT.
- ✅ Verified working: Shopify MCP + Admin API, Printify API, Etsy API, Cloudflare API, OpenRouter key, Klaviyo MCP, Cloudinary MCP, Canva MCP, Google Drive MCP, Desktop Commander, Chrome MCP.
- 🔵 NEEDS KAYLA: Pinterest API token dead (HTTP 401). No refresh token stored, so it must be regenerated. Blocks all Pinterest automation including the pin engine.
- 🔵 NEEDS KAYLA: OpenRouter credits at $1.54 of $35. The Seedance listing-video skill will fail mid-run until topped up.
- 🔵 NEEDS KAYLA: two extra Chrome browsers still connected. Disconnect them so only the default remains and the ambiguity cannot come back.
- ⚪ Ignore by design: ~30 plugin-bundled duplicate connectors report "needs authentication" every session (marketing:klaviyo, small-business:canva, etc). They duplicate connectors we already have working. Not blockers.