9.0 KiB
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'spublish-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
-
Access setup — wrong display, then blocked MCP. Ben granted Chrome access. The Claude-in-Chrome MCP attempted to navigate to
admin.shopify.comfrom 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). Usedswitch_displayto 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. -
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.mdwith a session-breakdown table (~20 sessions, ~525+ scenarios estimated) and a "start here" recommendation. Saved to the Shopify Analysis workspace. -
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.
-
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.mdused 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.
- Minor inconsistency surfaced:
-
"Are you saying it's all done?" Ben questioned the completeness claim. Prompted a verification pass — ran
ls+wc -lon all 15 files, then spot-readlocations.mdandtaxes-and-duties.mdin full. Confirmed complete and on-style. The question was a healthy catch; the earlier announcement had been too confident without the verification step. -
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.mdbecame 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. -
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.mdhit 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. -
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.mdwith full session progress and remaining domain queue; createdMEMORY.mdwith the pointer entry. Ben confirmed this was sufficient to hand off. -
Session record requested. Ben directed the record to
SESSION-0002.0-TRANSCRIPT-2026-05-31.mdwith the pre-assigned filename. Requested access to the sessions folder (outside the connected workspace) viarequest_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
.mdfile 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
Butfor 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.mdstyle 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.