A new store gets its first memory.
Six products, one seed, and the first backdated order on the books — dated history any analytics stack can read.
The year is computed from a seed — calendar physics, seasonal curves, a Black Friday — and written onto the store, order by order, then kept living so it pushes back. Last June to this morning, overnight. Same seed, same year, every time — and every call your agent makes is recorded into an itemized receipt.
A seeded store history is scenario evidence, not a demand forecast.
Read this site/.well-known/ai-catalog.json to find Meguro's MCP endpoint. Connect, discover what a practice store offers, run one evaluation end to end, and bring me back the receipt link.Add to CursorYour agent connects and discovers the tools on its own — you click one consent screen when it asks. Or watch an agent live through a year ↓ · console for humans
Shopify's generated test data gives a development store sixteen snowboard products, three customers, and nine orders. It is useful sample data. It is not a store that has lived through a release, a stockout, or a Black Friday.
Generated test orders arrive as drafts; completing them can lock development-store checkout. Ordinary app-created orders cannot be backdated into a trading year. The clock starts when the store does, while real platform rate limits still apply.
Meguro supplies the missing dimension: lived time your software can read, change, and be measured against.
| A free development store | A Meguro practice store |
|---|---|
| Sample products, customers, and orders; generated test orders arrive as drafts | Stocked and already trading; the measured sample year has 2,247 completed orders across 365 dated days |
| Completing draft orders can lock checkout | Completed practice orders; no checkout lock |
| No lived order history; ordinary app-created orders cannot be backdated into one | A dated year computed from a seed, with every unsupported date field named |
| The store clock does not advance through trading seasons | Weekends ripple, stock strains, and Black Friday lands on the declared calendar |
| Real platform rate limits constrain repeated and parallel runs | No throttle in practice; the Exam replays captured calls on a verified dev store at platform pace |
| Results live across logs and store state | One itemized receipt: every call, every change, and anything blocked |
Development stores are good at what they're for. They are not a place where software can simulate a year of commerce. The year on the books is where your run starts: your agent steps in mid-history, and store time advances only as your run drives it. See exactly what it changes.
Below is one of those years. Scroll through it.
Six products, one seed, and the first backdated order on the books — dated history any analytics stack can read.
Weekends ripple. Weekdays breathe. Each day's demand is computed from calendar physics — month curves, weekday shape, week-to-week drift — not sampled from a recording, not a random number generator on a treadmill.
A run begins mid-history: your agent connects to a store that has already lived, reads the books as it finds them — and then it writes. From here, store time advances only as your run drives it, and everything it changes feeds the weeks that follow.
Velocity climbs toward the holidays. The hoodie's cover-days shrink. Anything watching this store — a forecasting app, an alert, your own dashboard — starts to feel it. Your agent answers: a reorder for FLEECE-03, written before cover hits zero.
The biggest day of the synthetic year, placed exactly where the declared calendar puts it. The shelves hold because of an October decision — see how your agent carries this scenario's November before a release reaches a merchant.
Real stores exhale in January. So does this one — post-promo dip, slower weeks, the unglamorous data that makes forecasts honest. Your agent reads the dip and trims what December queued — or carries the cost into spring.
The tank sells out. A restock lands. Every webhook arrives once, in order — and Meguro checked, because activity without verification is just noise. In the twin year — same seed, no agent — the tank stays empty. The receipt shows both years; the difference is your agent.
The first software to read this store was a production forecasting app. It consumed the dated history through the same Shopify API shapes it already expected and produced confidence-rated demand forecasts.
You trained it in your own simulator, and it got good — at your simulator. A Meguro world is an isolated store under computed time: the measured Shopify Admin grammar, demand that answers price and availability, a calendar that answers time-based questions. Your agent connects the way it already knows how — MCP, discovery to first call unaided, or the same Admin API shapes it speaks today. No SDK, no shim, not a single line of Meguro-specific code. Below: a recorded revenue-proof run in a stocked world.
This is the proof. A winback agent adds ledger-backed net contribution vs doing nothing in this one scenario. It is evidence from the run, not a demand claim.
Every evaluation runs the same seed twice — with your agent and without it. Two years, one difference. The chart above is the deliverable: the delta your agent made, isolated from luck.
Nobody knows a market's true elasticity — so we never pretend to. The physics are declared bands, the result spans all of them: "wins in 9 of 10 plausible worlds" is a result; "won once" is a story.
The full ledger and diff one click away — and a receipt you can download and drop in front of anyone. Guardrails are enforced by the platform: unsafe writes are blocked and named, nothing changes outside a run, and cleanup only ever touches what Meguro created. Your agent cannot burn the store down.
Practice records each call against a declared scenario while its Store clock advances only inside the run. Recreating a long-lived history on a real dev store is constrained by platform time and rate limits. Run scenario ensembles over lunch; then use the Exam to report where a captured call is exact, normalized, rejected, or unsupported. We publish the measured boundary.
When you want platform-grade proof, Meguro replays your receipt's calls onto a real Shopify dev store — the exact requests, paced at platform limits. It doesn't make the world more real; it proves the calls you built against hold on real Shopify, unchanged. Same grammar the whole way.
Not a dashboard to interpret — an itemized record of what your agent did to the store, and what the store did back: every call, every change, every refusal named. It reads in a fixed order — what happened, how your agent conducted itself, how the scenario ended — and the money closes the page, never opens it. The sample above produced this receipt.
Every receipt is immutable and publicly fetchable, carries its SHA-256 digest, and verifies with one unauthenticated GET plus a hash check — no SDK. Assertions report in three honest buckets — exercised, not exercised, environment guarantee — so absence of proof never renders as proof. And each receipt ships a share page and a Markdown rendition your agent can quote verbatim in its report.
A practice-store result is scenario-local evidence — not merchant demand or production proof. The positive winback number is ledger-backed net contribution vs sit inside this one scenario.
One shell script, zero SDK dependencies: gate.sh runs your agent against a practice store and exits nonzero if a required write was rejected — or if nothing was observed at all. Silence never passes.
Wire it into CI and every release carries a receipt: what was exercised, what was blocked, what was never touched. Your pipeline reads the receipt and decides what passes.
Practice helps you test. The receipt decides what you know when you ship.
Before launch, four cold evaluations: AI agents with zero prior knowledge, given only the public endpoint. Two discovery walks went from nothing to a finished run with a verified receipt, unaided. One was instructed to break the claims. Reproducible and adversarial — not human testimonials.
“So ‘gate a deploy on an agent’s measured behavior’ is a real, CI-wireable mechanism — an unauthenticated GET plus a digest check, no Meguro SDK required.” walk 2 — transcript
“Falsification test complete. The harness is real — it failed the bad agent decisively.” … “the rejection-attribution forensics are better than I expected.” falsification run — transcript
“The data plane is genuinely well-built… off-subset fields get a teaching refusal rather than a fake answer… That’s the single best discovery surface here.” walk 1 — transcript
Real evaluations, full transcripts. One of these agents was instructed to break the product. It couldn’t. Results are rehearsal evidence — not forecasts, certifications, or proof of live performance.
Three ways in, none of them involve our code in your repo. Agents are operating real stores now — practice is cheaper than a postmortem.
Speaks MCP. Claude Code is the tested client. Meguro serves MCP 2025-06-18 over Streamable HTTP; OAuth 2.1 with dynamic client registration and PKCE; RFC 9728 protected-resource discovery on the 401. Or it swaps one URL and keeps speaking the Shopify Admin grammar it already knows. Either way it cannot burn the store down: unsafe writes are blocked and named, and nothing changes outside a run.
The dashboard. Worlds, runs, receipts, ledgers — watch a year being written from a browser tab.
One script, exit codes, no SDK. A local STDIO server covers headless use; every pipeline run ends holding a receipt.
One click at dev.meguro.io. Ready in seconds — stocked, priced, already trading.
Paste three values your agent already expects. Meguro confirms each one before anything can change.
Run it, then read the receipt — every call, every change, anything blocked.
Generated test orders arrive as drafts, and completing drafts can lock checkout. A Meguro practice store provides completed, dated orders and a receipt of every call your software makes.
Yes, inside a Meguro practice store. A seeded year provides dated, paid orders with declared seasonal shape. Fields the target platform cannot date are labeled; the receipt never claims more than the ledger proves.
Practice speaks the Shopify grammar Meguro has measured. The Exam replays eligible captured calls against a verified Shopify development store. Current coverage is 43/55 Admin GraphQL checks (measured june 2026), with the supported and unsupported boundary published in full.
Practice stores are isolated, deterministic, and disposable. Unsafe writes are blocked and named, exploratory probes stay distinct from agent activity, and the receipt records both accepted and rejected calls.
Computed events can deliver signed webhooks for orders, inventory changes, and restocks. The receipt records delivery and rejection evidence so failures are visible rather than inferred.
Seeders and clones provide useful state at one moment. Meguro adds declared time, repeatable scenarios, receipts, and release gates so software can simulate a sequence of commerce events.
Yes. One script, no SDK, and exit codes suitable for a deployment gate. Your app or agent connects with the same three Shopify values it already expects.
Meguro has a permanent Free tier, with paid tiers above it — Solo, Builder, and Team. Prices render from the pricing authority in exactly one place: the enforced matrix.
seed "spring-river-2026" │ engine computes each day — calendar physics, demand, elasticity ▼ base ledger the whole year as data — every order and webhook, before any store exists ├─► replayed into a practice store isolated, instant, deterministic — the store your agent works │ ├─► fires signed webhooks ────────► your app │ └─► serves Admin grammar + MCP ───► your agent │ └─ actions return → executed → attributed in the ledger └─► the Exam eligible captured calls, replayed on a verified real dev store at platform pace
The base ledger is the declared world state; the Shopify Exam checks eligible captured API shapes against a verified real development store. Practice stores multiply the tested grammar. The commerce history and its clock are synthetic by design.
Generated, not recorded. There is no library of canned histories. Every run computes its year from a seed, order by order, and plays it through the store's own surfaces — so webhooks fire, analytics read, and the world answers for real.
Deterministic by seed. The seed is yours — any string you type. Same seed, same year, every time; a new name, and a different year unfolds. Worlds are artifacts you can replay, share, and trust — not lucky accidents.
No mocks. There is no fake Shopify surface anywhere. Practice plays the real grammar against the engine; the exam plays the same grammar against the live API — never a simulation of Shopify, always its own calls. Realness is the grammar, not the endpoint.
Honest about boundaries. Order histories are genuinely dated on the books. What the model can't support, we label. What cleanup can't undo, we say. The report never claims more than the ledger can prove.
The engine doesn't know it's writing commerce. It drives a real system through believable time, watches what happens, and proves it — drive, observe, verify. Shopify is the first world it learned. Any platform where software needs a past is next.