# SESSION-0002.0 — Shopify BDD analysis bootstrap **Date:** 2026-05-31 **Driver:** Ben Stull + Claude (Sonnet 4.6) **Repos touched:** wiggleverse-ecomm-meta (session record), Shopify Analysis workspace (`~/projects/wiggleverse/ecomm/Claude/Shopify Analysis/` — not a git repo; flat file workspace) > **Honesty note on this artifact.** This is a *session record* authored by > the assistant from the conversation — faithful and uncurated as to > decisions, sequence, and wrong turns, but **not** the raw byte-for-byte > transcript. OHM publishes raw transcripts via `ohm-infra`'s > `publish-transcript.sh`; ecomm has no such tooling yet. Building a > transcript-dump path is a future roadmap item. Until then, records like > this stand in — labeled as what they are. --- ## Purpose Kick off the Shopify feature-analysis workstream. The goal: walk every corner of the Shopify admin for a fresh store, document all functionality as Gherkin BDD scenarios, and build a navigable reference that drives decisions about what to build in the ecomm alternative. Session was scoped to *analysis + spec generation* only — no implementation. ## What happened, in order 1. **Access setup — wrong display, then blocked MCP.** Ben granted Chrome access. The Claude-in-Chrome MCP attempted to navigate to `admin.shopify.com` from within its own tab group — blocked by the extension's org policy. Separately, the first computer-use screenshot landed on the wrong monitor (LG ULTRAGEAR 2, showing LinkedIn). Used `switch_display` to find LG ULTRAGEAR 1, where the Shopify admin was already open. Chrome remained read-only (tier: "read") for the rest of the session — all Shopify exploration was done via screenshots and training knowledge, not live clicking. 2. **Domain map.** Catalogued 18 functional domains from the admin nav (Home, Orders, Products, Customers, Marketing, Discounts, Content, Markets, Finance, Analytics, Online Store, Point of Sale, Apps, Settings — plus sub-domains). Produced `shopify-domain-map.md` with a session-breakdown table (~20 sessions, ~525+ scenarios estimated) and a "start here" recommendation. Saved to the Shopify Analysis workspace. 3. **Style calibration.** Ben asked to start with Settings & Configuration. Before writing the full set, produced two sample Feature blocks (General Settings + Staff Accounts) and surfaced five calibration questions: altitude, persona naming, error-scenario placement, Feature scope, and Scenario Outline usage. Ben approved the style as-is ("This is fantastic") without changes. 4. **Settings & Configuration — 15 files written in parallel.** Three subagent groups ran concurrently (Group A: general/plan/billing/ users-and-permissions/brand; Group B: payments/checkout/shipping-and- delivery/taxes-and-duties/locations; Group C: notifications/customer-data/ policies/metafields/domains). All 15 files confirmed present; line counts verified via bash. ~120 scenarios, 1,564 lines total. - *Minor inconsistency surfaced:* `general.md` used third-person steps ("When the Store Owner saves…") while all other files used first-person ("When I save…"). Flagged to Ben; left uncorrected pending his call. 5. **"Are you saying it's all done?"** Ben questioned the completeness claim. Prompted a verification pass — ran `ls` + `wc -l` on all 15 files, then spot-read `locations.md` and `taxes-and-duties.md` in full. Confirmed complete and on-style. The question was a healthy catch; the earlier announcement had been too confident without the verification step. 6. **Products — 6 files written in parallel.** Two subagent groups: (A) products + product-variants; (B) collections + inventory + purchase-orders; (C) gift-cards. ~95 scenarios, 1,406 lines. Notable: `products.md` became the largest single file to that point (437 lines, 36 scenarios) owing to the product form's breadth. Key edge cases captured: draft orders don't reserve inventory; automated collections block manual product add/remove; the three inventory policy modes. 7. **Orders — 5 files written in parallel.** Three subagent groups: (A) orders; (B) fulfillment + returns-and-refunds; (C) draft-orders + abandoned-checkouts. ~175 scenarios, 1,230 lines. `orders.md` hit 410 lines (72 scenarios) across 7 groups. Exchange asymmetry (replacement costs more → payment request; less → refund) and the post-fulfillment editing block were explicitly captured — both are common re-implementation traps. 8. **Memory and index written.** Ben asked whether a new session would have enough context to continue. Checked the memory directory — the project memory file existed but MEMORY.md index was missing. Wrote both: updated `project-shopify-bdd.md` with full session progress and remaining domain queue; created `MEMORY.md` with the pointer entry. Ben confirmed this was sufficient to hand off. 9. **Session record requested.** Ben directed the record to `SESSION-0002.0-TRANSCRIPT-2026-05-31.md` with the pre-assigned filename. Requested access to the sessions folder (outside the connected workspace) via `request_cowork_directory`; Ben approved. Read SESSION-0001.0 to match house style; wrote this record. ## Decisions citable later - **Analysis-first, not implementation.** This workstream produces a spec library; no code was written. - **File structure locked:** one folder per Shopify domain section, one `.md` file per sub-section/nav-item, flat within each domain folder. Naming: kebab-case matching the Shopify nav label. - **BDD style rules locked** (Ben approved in step 3): - Business-behavior altitude — no UI clicks - First-person steps; Background block per page context - `But` for negative assertions; H2 headers for groups within a file - No Scenario Outlines unless a table genuinely adds clarity - Persona: "Store Owner" (full admin) / "Staff Member" (restricted) - **Starting order:** Ben overrode the recommendation (Products first) and chose Settings first. Both are valid; the domain map explains the dependency rationale. - **Parallel subagents for file generation** worked well at this granularity — style brief was tight enough that three concurrent agents produced consistent output. - **Verification step is required** before announcing completion. Lesson from step 5: `ls` + `wc -l` + spot-reads should be routine, not prompted by the user. ## Open / carried forward - **`general.md` style inconsistency** — third-person steps vs. first-person in all other files. Flagged but not fixed; Ben to decide. - **Chrome MCP blocked on admin.shopify.com** — all future Shopify exploration sessions will rely on screenshots (read-only computer use) + training knowledge unless the extension's domain allowlist changes. - **9 domains remaining** (in queue order): customers, marketing, discounts, content, online-store, analytics, finance, markets, sales-channels. - **~390 scenarios written; ~135+ estimated remaining** to complete all 18 domains at current density. - **No git history** on the Shopify Analysis workspace — it is a flat folder, not a repo. If versioning is wanted, that's a future housekeeping item. ## Next session ``` This is the next session of the ecomm Shopify BDD analysis project. READ FIRST: - Your memory for this project (project-shopify-bdd.md via MEMORY.md). - ~/projects/wiggleverse/ecomm/Claude/Shopify Analysis/shopify-domain-map.md — the full domain list and session breakdown. - ~/projects/wiggleverse/ecomm/git/wiggleverse-ecomm-meta/sessions/SESSION-0002.0-TRANSCRIPT-2026-05-31.md — especially "Decisions citable later" for the locked style rules. CONTEXT: Three domains are complete: settings/ (15 files), products/ (6 files), orders/ (5 files). Running total: 26 files, ~390 scenarios. TASK: Continue writing Gherkin BDD scenarios for the next domains in queue. Work through as many as the session allows, in this order: 1. customers/ — customer list, customer profile, customer segments 2. marketing/ — campaigns, automations, UTM tracking, channel integrations 3. discounts/ — discount codes, automatic discounts, Buy X Get Y For each domain: - Create a new folder under ~/projects/wiggleverse/ecomm/Claude/Shopify Analysis/ - Write one .md file per sub-section (match the Shopify admin nav labels, kebab-case filenames) - Follow the locked style rules exactly (see SESSION-0002.0 "Decisions citable later" — business-behavior altitude, first-person, Background block, But for negatives, no Outlines unless needed) - Use parallel subagents per the pattern from Session 2 — one agent group per domain, brief them with the full style rules, verify output with ls + wc -l + spot-reads before announcing completion After completing each domain, update project-shopify-bdd.md in memory to mark it done and update the running total. DONE WHEN: all three domains above are written and verified, memory is updated, and the session record is written to: ~/projects/wiggleverse/ecomm/git/wiggleverse-ecomm-meta/sessions/SESSION-0003.0-TRANSCRIPT-.md ``` *Session 2 closed here.*