Files
descrybe/docs/features.md
T
2026-08-16 23:07:32 +02:00

3.4 KiB
Raw Blame History

Feature checklist (phases AE)

Short parity checklist for Descrybe v2. Detailed gaps: status-and-gaps.md. Cutover: cutover.md. Schema: schema-map.md.

Legend: [x] done · [~] partial/stub · [ ] missing

Phase 0 — Scaffold

  • Monorepo: apps/api, apps/web, docs/scripts (migrator under apps/api/cmd/migrator)
  • Docker Compose PostgreSQL 16
  • goose migrations + sqlc generate
  • cmd/api, cmd/worker, cmd/migrator
  • SvelteKit shell + PUBLIC_API_URL + CSRF-aware client
  • ID map JSON format documented (schema-map.md)
  • CI (go test, sqlc check, svelte-check)
  • Automated tests

Phase A — Platform

  • Email/password auth (argon2id), login/logout, session cookies (scs)
  • Invite accept + set-password (must_set_password)
  • Companies + memberships (replace Clerk orgs / profiles)
  • [~] Team invite / revoke / remove member (invite + remove yes; revoke/list pending incomplete)
  • [~] Settings: profile, company (language, merge-by-GTIN) — company yes; profile update thin
  • [~] API keys CRUD (dashboard keys yes; /api/v1 product API missing)
  • [~] Billing/usage read + credit consume (overview + consume yes; plans/cycles/cron incomplete)
  • is_platform_admin gate + migrator from admin_users
  • Health: /healthz + /readyz (Postgres pool.Ping)
  • Svelte: login, accept-invite, settings, billing overview, API keys
  • [~] Migrator: companies, users, memberships, plans (+ dry-run) — needs real MySQL validation
  • Invite / set-password emails (SMTP)

Phase B — Catalog

  • [~] Categories tree + CSV upload (CRUD + formulas API; no tree UI / CSV)
  • [~] Attributes hierarchy + category links (CRUD; linking UI incomplete)
  • [~] Custom variables + title/description formula editors (API yes; rich UI missing)
  • [~] Products list/search/edit (API list/get/patch; UI basic)
  • File uploads (products / EANs) + object storage
  • [~] Migrator: categories, attributes, variables, products (best-effort; files incomplete)

Phase C — Feeds / export

  • [~] Input feeds (URL / file / FTP), mapping, schema extraction (CRUD + mapping JSON; sync/FTP/extract missing)
  • [~] Sync jobs via River (DB job row stub; River not wired)
  • [~] Export feed builder (XML/CSV) + public URLs (create + stub body)
  • Preview APIs
  • [~] Migrator: feeds, export feeds (mappings incomplete)

Phase D — AI processing

  • Pipeline workers: categorize (vector + LLM taxonomy) → attributes → enhance
  • [~] Credits, rate limits, cancel/retry (credits + cancel yes; rate limits/retry incomplete)
  • [~] OpenAI / Pinecone behind interfaces (OpenAI + optional Pinecone; LLM categorize when category missing)
  • [~] Job controls UI (list/start/cancel basic; no admin visibility)

Phase E — WooCommerce + admin / cutover

  • [~] WooCommerce sync (config only; test/sync stubs)
  • Admin: users, billing, jobs, stuck cleanup
  • Final ETL verification + count reports on real data
  • Cutover runbook executed (cutover.md)
  • Clerk decommissioned; MySQL retained 30 days

Suggested next milestones

  1. Validate migrator -dry-run on production MySQL dump
  2. Implement real feed sync (URL + CSV)
  3. Implement real export XML/CSV
  4. AI pipeline MVP behind interfaces
  5. Port /api/v1 for existing API clients
  6. Catalog CSV + formula UI + product edit parity
  7. Admin + Woo (if needed) → cutover