SaaS · deterministic validation 2026

Preflights: the check before the import that can't be undone

Pre-import QA for Shopify catalogs: a deterministic engine that flags variant deletion and silent product overwrites before a supplier file touches a live store.

Independent product: designed, built, shipped

Impact

A deterministic pre-import safety check that catches the two irreversible Shopify mistakes, variant deletion and handle collisions, with zero store access, in seconds.

What a free CSV validator checks 2/5 covered
  • Formatting
  • Column layout
  • Variant-delete risk gap
  • Handle collisions gap
  • Live price conflicts gap
Free validators read the file. The dangerous mistakes need it read the way Shopify will.
What one supplier file passes through, in order 6 in order
  1. Variant-delete risk Option columns that don't line up with how products are already built.
  2. Handle collisions Two rows sharing one handle silently merge, the second overwriting the first.
  3. Live price and stock conflicts Only once the merchant adds a Shopify export, against what is live right now.
  4. Nine Merchant Center checks GTIN, price, and image issues that get products rejected by Google.
  5. safe / review / blocked One verdict per import, each finding with its product and one-line fix.
  6. AI explanation Explanation only, never a safety verdict.
Order carries the meaning: the two irreversible mistakes are caught from the file alone, before any check that needs a store export.
Show the data table
What one supplier file passes through, in order: every stage in order.
Stage#What it checks
Variant-delete risk1Option columns that don't line up with how products are already built.
Handle collisions2Two rows sharing one handle silently merge, the second overwriting the first.
Live price and stock conflicts3Only once the merchant adds a Shopify export, against what is live right now.
Nine Merchant Center checks4GTIN, price, and image issues that get products rejected by Google.
safe / review / blocked5One verdict per import, each finding with its product and one-line fix.
AI explanation6Explanation only, never a safety verdict.
Context

Shopify merchants and agencies import supplier spreadsheets they did not design, into stores that have no rollback. Free CSV validators check formatting rather than what Shopify will actually do with the file, so the failure modes that cannot be undone pass review and surface only once they are permanent.

What I did
  • I built Preflights end to end: a deterministic validation engine that reads a supplier file the way Shopify's importer will.
  • It flags variant-delete risk from the file's own option structure, and catches handle collisions before they overwrite a live product.
  • When the merchant adds a Shopify export, it also checks price and stock conflicts against what is live right now.
  • Nine further checks catch what gets products rejected by Google Merchant Center.
  • Results arrive in seconds as a plain safe / review / blocked report where every finding shows the product, why it matters, and the one-line fix.
  • AI is used only to explain findings and suggest fixes, never to decide whether an import is safe.
Outcome

A shipped product with a clear wedge against both neighbors. Import tools execute changes. Preflights inspects their safety first. The free tier shows a store's risks in seconds.

Without this work

The supplier file goes straight into the import tool. The variant wipe-out is discovered when customers cannot find the products, and there is no rollback.

The full story

Two Shopify import mistakes cannot be taken back. If a supplier file’s option columns don’t line up with how products are already built, the import can delete the live size and color variants, and Shopify imports have no rollback. When two rows share one handle, the import doesn’t create two products. It silently merges them, the second overwriting the first. Both are invisible in the file and permanent in the store.

Reading a spreadsheet the way Shopify’s importer will, rather than the way a spreadsheet validator does, is what makes those two mistakes cheap to catch. Both are decidable from the file against itself: one from its option structure, one from its rows read against each other. Neither needs a store connection. Only the price and stock check needs anything external. That ordering is the design: the damage that cannot be reversed is found before the merchant has handed over anything at all.

Everything that decides is deterministic. The moment a model gets a vote on safety, the check stops being repeatable, and a check you cannot repeat is not a check. So AI writes the explanation and proposes the fix, and the engine alone rules on the import. Read-only is the same principle in the architecture.

The deliverable is triage, not a data dump. Every import lands as safe, review, or blocked. That is the difference between knowing a file is risky and knowing which row to change. It is a fraud analyst’s habit, check the file before it can hurt you, applied to damage that is self-inflicted.

  • SaaS
  • Deterministic validation
  • E-commerce
  • Product design
  • Risk triage