# 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-<date>.md
```

*Session 2 closed here.*
