Legacy Enrichment
The retroactive upgrade flow. Takes your existing Shopify catalog (products created before ThreadCloud, or by another tool) and stamps them with ThreadCloud’s metafields so they show up in smart filters, financials, and trading views.
The five-step workflow
The page is shaped as a numbered checklist. Walk it top to bottom.
- Seed Products — Scan Shopify catalog, create one enrichment job per product
- AI Classification — AI fills in category, colour, fabric, etc. per job
- Review & Fix — Walk the table, fix low-confidence rows
- Apply to Shopify — Write metafields back to Shopify products
- Import to Database — Optional. Backfills the ThreadCloud database with the enriched products (only needed for dashboard/trading)
Step 1 — Seed Products
Click Seed Products.
ThreadCloud paginates through every active Shopify product (filters out archived + draft) and creates one row in the enrichment queue per product. Each row starts in PENDING status.
Products already tied to ThreadCloud styles (active pipeline products) are skipped — they don’t need legacy enrichment.
Typical seed time: 30 seconds for 5,000 products.
After seeding:
- Total seeded shown in the success banner
- Number skipped shown (these are TC-managed products or thin-data SKUs like gift cards)
Re-seeding
If you add new products in Shopify Admin and want them enriched too, click Re-seed. Adds new rows, doesn’t duplicate existing ones.
Step 2 — AI Classification
After seeding, click Run Classification.
The background worker starts processing pending rows. For each:
- Fetches the Shopify product + variants
- Calls Claude with the product title, vendor, type, tags, and description
- AI returns: category, subcategory, colour group, colour name, pattern, fabric, COO, fit, occasion, size scale
- Deterministic engines run too: size scale (from variant data), brand code, supplier ref (from description regex)
Worker speeds:
- ~1 product per second under normal conditions
- Slower when Anthropic is under load (retries kick in automatically)
- Faster than seeing-individual: workers process 5 jobs in parallel per batch
Progress shows:
- Total classified count
- ETA based on rolling rate
- The ambient bar fires COMBING THE RACK
You can navigate away — the worker keeps running. Status endpoint polls and self-heals if the worker dies.
Stopping mid-run
Click Stop. Worker halts after the current batch (5 jobs).
Failure recovery
If individual products fail with Anthropic errors, they go to ERROR status with the error message. Dismiss them in bulk (View errors → Dismiss All) or click each to retry.
Step 3 — Review & Fix
After classification, the table shows every job. Each row has:
- Shopify product title + vendor
- Vendor Ref (extracted from description, if found)
- Category + Subcategory (with confidence indicator)
- Colour group + Colour name
- Pattern
- Status: READY or NEEDS REVIEW
Filter pills at the top: All / Needs review / Ready.
Walking the Needs Review queue
Click Needs review filter to focus on rows that need attention. Click any row to open the edit drawer on the right.
In the drawer:
- Fix the wrong field(s)
- Or click Confirm as-is in the footer if the AI got it right (this just promotes the row from Needs Review to Ready without changing values)
- Click Next → to move to the next needs-review row without closing
Bulk edit
To set the same value across many rows:
- Filter (e.g. only Lardini ties)
- Use the checkboxes to select rows — works for both Ready AND Needs Review now
- Click Edit Selected
- Pick the field + value once
- Click Apply — updates every selected row
Step 4 — Apply to Shopify
Once your rows are mostly Ready:
- Click Select All Ready (top of the table)
- Click Apply Selected
- Confirms how many will be written. If you selected mixed Ready + Needs Review, it warns about how many will be skipped
- Click Write metafields to N products
What gets written per product:
- All
tc_coremetafields (category, colour, fabric, etc.) - All
tc_measuremetafields (size scale) - All
tc_trademetafields (supplier_ref) - Variant
barcodefilled from SKU (enables Shopify Admin batch label fallback)
What ThreadCloud does NOT touch:
- Product title, description, images
- Variant SKU, price, inventory
- Tags (unless you explicitly check the overwrite box)
- Any metafield in a non-
tc_*namespace
The Apply runs in batches of 50. Progress shows. Failures get logged with reasons.
Overwrite vs. fill-blanks
Default behavior: only fill metafields that are currently blank. If a product already has tc_core.category = "Suit", ThreadCloud won’t overwrite.
If you want to overwrite existing values (e.g. re-classifying everything after improving the AI), check Overwrite existing in the confirm dialog.
Step 5 — Import to Database (optional)
Only relevant if you want the legacy products to appear in:
- ThreadCloud’s dashboard order list
- Trading dashboard sell-through
- Financials roll-up
If you only care about smart filters working on the storefront, skip Step 5.
To run:
- Click Run Import
- ThreadCloud creates Order + Style + Variant rows in its own database for each enriched product
- Idempotent — re-running picks up new products, doesn’t duplicate
Rollback
If an Apply went wrong:
- Scroll past the workflow to the Applied table
- Select rows you want to undo
- Click Rollback
Restores the previous metafield values from the snapshot ThreadCloud took before writing. Works within 90 days.
Common mistakes
Next steps
- Settings → AI & Models — tune the classification AI
- Verify on the storefront — smart filters should now work for the enriched products