Files
descrybe/docs/production-ready-report.md
greeneclipse 8580c996c3 Initial commit of Descrybe v2 without local scratch artifacts.
Drop one-shot tmp/axe scripts and agent i18n scratch so the Gitea tree is deployable.
2026-08-09 22:47:43 +02:00

7.0 KiB

Production-ready report (Descrybe v2)

Date: 2026-08-04 (blocker close-out pass)
Repo: f:/laragon/www/_MY/descrybe-v2
Scope: Local staging rehearsal + honesty about LIVE vs mocked vs seed-only
Builds (this pass): apps/api go build ./...exit 0; apps/web npm run check → re-run below

Related: production-checklist.md, production-readiness.md, security-notes.md, go-live-checklist.md, store-connectors.md, demo-user.md, perf-notes.md.


Executive verdict

Question Answer
Production-ready for public cutover? NO
Local staging / demo rehearsal? GO — core catalog → process → export → credits → auth → Woo mock REST → Shopify dry-run are proven
Ship to paying customers on the public internet today? NO-GO until cutover / SMTP / real Stripe / prod env items below are cleared

One-line: Descrybe v2 is staging-demo ready with Woo live-client proof (mock-woo) and Shopify dry-run smoke; it is not public-cutover-ready while migration/email/SMTP/APP_ENV=production and real Stripe keys remain open.


Demo login

Field Value
Web http://127.0.0.1:5174/login (prefer 5174)
API http://127.0.0.1:8080 (/healthz, /readyz)
Email demo@descrybe.local
Password DemoPass123!
Tenant Local Demo Co
Plan (verified) Enterprise (GET /api/billing/creditsplan.name=Enterprise, 1,000,000 credits)
API key (local only) dk_demo_local_descrybe_test_key_v1

Full bootstrap: demo-user.md. Do not use demo credentials in production.


Build reconcile (this pass)

Check Result Notes
cd apps/api && go build ./... PASS Includes cmd/mock-woo
API/worker restart Done Parallel product list + Shopify claim loaded
Goose DB version 18 Includes 017_shopify + 018_list_hotpath_indexes
cd apps/web && npm run check (see footer)

Criteria scorecard

Criterion Status Evidence Notes
No user-facing go run / seed CLI text PASS Static + production-readiness.md CLI stays in docs/README
Sidebar simplified PASS tutorial-live.md Primary + More
Mobile OK PASS with polish mobile-audit.md
Woo + Shopify + feeds PASS (local) live-woo-test.md, live-shopify-test.md, live feed docs Woo via mock-woo REST; Shopify dry-run; feeds LIVE
Stripe MOCK OK for local live-stripe-test.md, stripe-setup.md Not a code blocker if prod requires real keys (documented). Local keeps STRIPE_MOCK=true
Credits PASS live-credits-test.md
Security PASS (local) live-auth-security.md Prod needs APP_ENV=production
Perf (Go v2) PASS (documented) perf-notes.md Parallel list + goose 018 indexes + export streaming

Live docs inventory

Doc Verdict Class
live-e2e-local.md PASS 21/21 LIVE
live-credits-test.md PASS LIVE
live-auth-security.md 23/23 PASS LIVE
live-export-channels.md PASS LIVE
live-feed-csv.md PASS LIVE
live-pipeline.md PASS LIVE
live-woo-test.md PASS LIVE client ↔ mock-woo HTTP (not seed)
live-shopify-test.md PASS Dry-run Admin API path
live-stripe-test.md PASS mock UI MOCK — real keys required for prod
perf-notes.md Written Go v2 hot paths
shopify-connector.md Present Schema 017 + UI

Honest LIVE vs mocked vs seed matrix

Area Class Proven
Auth / CSRF / API keys LIVE Real HTTP against API
Catalog / feeds / process / export LIVE Multi-MB public exports
Credits debit LIVE Wallet deltas
WooCommerce REST LIVE ↔ mock-woo Test Connection + product push + orders/reviews pull (live-woo-test.md)
Shopify Admin API DRY-RUN LIVE path Test + product sync + orders (live-shopify-test.md); real shop token still optional
Stripe Checkout MOCK Local only; prod requires real STRIPE_SECRET_KEY + webhook secret (stripe-setup.md)
Production HTTPS / SMTP / cutover NOT PROVEN go-live-checklist.md

Remaining BLOCKERS (public cutover)

  1. BLOCKER — Production cutover / migration / SMTP
    Synthetic @legacy.local emails, membership roles, SMTP set-password proof, APP_ENV=production fail-closed env, object storage, etc. (go-live-checklist.md).

  2. BLOCKER — Real Stripe for production billing
    Local mock is intentional and documented. Shipping paid plans requires live/testmode Stripe keys + signed webhooks. Not a local staging blocker. Exit: Stripe CLI/testmode Checkout + webhook without leaving demo on Starter.

  3. SOFT — AI provider per environment
    Local AI PASS depended on LAN Green Chat / configured OpenAI-compatible endpoint.

Closed this pass (no longer blockers)


What is solid enough for staging demos

  • Login as demo → Local Demo Co on Enterprise
  • Feeds → map → sync → process (worker) → export
  • Woo: point at mock-woo → Test Connection → sync products/orders/reviews
  • Shopify: dry-run token → test + sync products/orders
  • Credits/Billing consistency; auth CSRF + API keys
  • Perf indexes + streaming exports documented

  1. Stripe testmode end-to-end (non-mock) when ready to take payments
  2. Clear go-live checklist migration/email/SMTP/APP_ENV=production before DNS cutover
  3. Optional: exercise Woo against a real HTTPS store; Shopify against a real custom-app token

Reconcile commands

cd f:\laragon\www\_MY\descrybe-v2\apps\api
go build ./...
go run ./cmd/mock-woo -addr 127.0.0.1:19090   # separate terminal

cd f:\laragon\www\_MY\descrybe-v2\apps\web
npm run check

Demo:

http://127.0.0.1:5174/login
demo@descrybe.local / DemoPass123!