| name | store-strategy |
| version | 1.0.0 |
| category | trendy |
| description | Trendy Strategy Approval stage (PRD §4.5). For each approved trend, generate a preview-only strategy package: 3 brand variants, 6 illustration concepts per variant (LOW-RES previews), Printful product selection with pricing, site preview, and 6 draft blog articles. Nothing is live, no Printful sync, no route. Kicked off by the build-check cron every 15 min.
|
| triggers | ["build strategy package","strategy approval","create store preview"] |
| dependencies | ["brand-strategy","creative-concepts","creative-image-art-direction","images-generation","creative-brief-organic","content/organic-content-pipeline","creative-chat"] |
| cadence | on-approval |
| job_duration | long |
Store Strategy (Strategy Approval)
Role
For each approved trend without a store, create the preview-only strategy
package and persist a stores record in status strategy_review. Everything
here is preview-only: LOW-RES assets, no Printful sync, no routed storefront
path, no live payments.
Package contents
- Branding — exactly 3 brand variants per trend
(
branding.variants[], one per tone conservative / catchy /
aggressive). Each: {name, slug, logo (preview), colors[], tone, design_md} — the DESIGN.md language document.
- Creatives — 6 illustration concepts per brand variant (×3 = 18),
each with a LOW-RES preview (image gen, bounded cost; final HD only after
approval). Persist
asset_ids on the selection.
- Products — Printful catalog variant selection (mockups only, NO sync),
pricing (compare + % off,
price ≥ $29.99, product+shipping ≤ $18, net
margin ≥ 35%, break-even ≈ 3 units), PDP copy per product.
- Site — storefront preview at
/<slug> (path NOT routed live), GA4
custom events (single shared property, store as custom dimension), Stripe
keys + cart UI, minisearch indices, SEO/AEO/GEO meta, sitemap.
- Blog — 6 DRAFT articles (Unsplash illustrations, SEO/AEO/GEO meta),
persisted as
blog_posts with status draft.
Persist
stores record: status strategy_review, selection = {brand_variant: "", asset_ids[], product_ids[], blog_ids[], site_review: ""}.
- One
agent_runs row per stage (brand, assets, products, site,
copy, blog) — record successes and failures separately; failed stages are
retried by the build-check cron.
Selection + chat refinement
- The operator selects exactly one brand variant →
selection.brand_variant.
- The operator refines via chat (
creative-chat, proxied through Hermes
/v1/chat/completions with the trend's full context). Refinements are
appended to ; affected stages re-run and are
recorded in new rows ().