Skip to main content

BoltToCart · roadmap

Product roadmap

Every REQ-ID in the BoltToCart spec, grouped by area, classified by whether it has code behind it yet. Generated at build time from REQUIREMENTS.md and a full scan of apps/ and packages/.

Total requirements

1824

Shipped

175996%

In progress

50%

Not started

604%

Shippedcited in at least one non-test source file under apps/ or packages/, or explicitly verified by the roadmap audit ledger for shipped audit-only requirements
In progresscited only in tests, demo-data packs, or migrations — structural scaffolding without production code
Not startednot yet cited anywhere in the monorepo source tree

This is a heuristic, not a proof of completeness. A REQ-ID can be cited by a TODO comment and still be unfinished; conversely, a REQ can be implemented without a citation. Project convention (see AGENTS.md) is that every change references the REQ-ID it serves, so citation density tracks implementation fairly well in practice.

Recently shipped

Latest production-cited REQ-IDs, newest commit first.

  • ShippedREQ-ECO-5952m ago

    Checkout confirmation must verify hosted-payment return state against a server-owned attempt record before showing payment_authorized, order_created, or fulfillment_queued. The verification must match tenant, attempt ID, cart hash, provide…

    fix(payments): use current Stripe embedded checkout mode (#528)

  • ShippedREQ-ECO-6002m ago

    Checkout confirmation must reconcile the server attempt ledger with the payment webhook lifecycle before exposing order or fulfillment progress. A hosted-payment return may show payment_authorized only after the ledger and provider session…

    fix(payments): use current Stripe embedded checkout mode (#528)

  • ShippedREQ-ECO-6032m ago

    Storefront checkout payment collection must use an in-app Stripe surface such as Embedded Checkout or Stripe Elements mounted on a BoltToCart route. The server may create or retrieve Stripe Checkout Sessions, PaymentIntents, SetupIntents,…

    fix(payments): use current Stripe embedded checkout mode (#528)

  • ShippedREQ-MON-0092m ago

    Store-owner platform purchases for custom domains, hosted email, and store phone numbers must collect payment inside the BoltToCart admin dashboard with embedded Stripe fields. Admin server actions must create embedded Checkout/Billing ses…

    fix(payments): use current Stripe embedded checkout mode (#528)

  • ShippedREQ-NFR-5202m ago

    CI and local smoke verification must fail when production storefront or admin payment code redirects to Stripe hosted Checkout, returns a Stripe Checkout URL to the browser, or introduces Payment Links for checkout. The guard must allow St…

    fix(payments): use current Stripe embedded checkout mode (#528)

  • ShippedREQ-PER-00810m ago

    Platform Operator (BoltToCart staff) ??? onboards stores, handles support, manages platform-wide configuration.

    feat(product-library): add persisted intake workflow (#527)

  • ShippedREQ-ANL-04110m ago

    Platform-operator dashboard (all tenants, operator-only auth): MRR/ARR, net revenue retention, active stores, churn risk cohort, top cost-contributor tenants, platform error rate, drop queue depth, SLO burn-rates.

    feat(product-library): add persisted intake workflow (#527)

  • ShippedREQ-ADM-69710m ago

    The admin shell must expose a complete, feature-flag-aware information architecture for every implemented MVP operating surface. Primary or secondary navigation and the global admin search/command affordance must cover at minimum dashboard…

    feat(product-library): add persisted intake workflow (#527)

In flight

Actively receiving commits but not yet cited in production code.

  • In progressREQ-CAT-022

    The MVP catalog media pipeline must let admins attach, order, replace, and remove per-SKU images with roles for hero, swatch, bolt-end/detail, and lifestyle. Each image must store alt text, source, dimensions, content hash, and derivative…

  • In progressREQ-ADM-693

    /admin must expose a catalog workbench for self-service SKU publishing and editing. The workbench must include searchable/paginated SKU lists, draft/published state, required-field completeness, image/alt-text status, duplicate slug valida…

  • In progressREQ-FUL-971

    /admin/fulfillment must be line-aware for web orders. The queue must show each order's cut lines, requested yardage, selected or suggested bolt(s), shortage/substitution status, partial fulfillment state, packing/shipping requirements, cus…

  • In progressREQ-ANL-501

    Production checkout and fulfillment must emit product and business telemetry through the approved wrappers for checkout started, checkout quote generated, checkout blocked, payment succeeded/failed, order created, inventory hold created/ex…

  • In progressREQ-INV-052

    Receiving, full-inventory scan, and purchase-order workflows must offer shared product-library lookup before manual SKU creation. If a scanned or entered UPC matches a library record, the workflow must prefill product metadata and continue…

Up next

Open architectural decisions

§32.2 — each gates work on the REQ-IDs it references. Needs an RFC before the downstream code can move.

  • DEC-003Realtime provider

    Options: Ably, Pusher, Upstash + Server-Sent Events on Vercel, Soketi (self-host)

    REQ-ARC-018

  • DEC-005Search engine

    Options: Typesense, Meilisearch, Algolia, Postgres FTS + pgvector only

    REQ-ARC-021

  • DEC-010CMS approach

    Options: External headless CMS (Sanity/Payload/Contentful) vs. in-app page builder backed by Postgres

    REQ-ARC-032

  • DEC-011i18n / multi-currency timing

    Options: v1, v1.5, v2

    REQ-UX-006REQ-SEC-031

  • DEC-012CAPTCHA provider

    Options: Cloudflare Turnstile (recommended), hCaptcha, reCAPTCHA v3

    REQ-SEC-007REQ-ARC-031.1

  • DEC-019Analytics warehouse

    Options: ClickHouse Cloud or BigQuery; Snowflake as enterprise alternative

    REQ-ARC-029REQ-ANL-030

Follow-up actions

§32.3 — concrete pieces of work unlocked by the resolved decisions above.

  • Swap the repo scaffold from Vite + React to Next.js (App Router)

    The current package.json and README.md describe a Vite app; DEC-002 commits the project to Next.js. This should be done before any non-trivial feature work starts to avoid wasted code.

  • Set up the monorepo

    : pnpm + Turborepo with apps/web (Next.js), apps/pos (Expo), packages/core (shared domain logic per REQ-POS-026), packages/db (Drizzle schema + migrations), packages/ui (Tailwind + Radix + shadcn primitives).

    REQ-POS-026

  • Wire the Clerk ??? Neon RLS pattern

    (REQ-ARC-012.1) as the first piece of infrastructure ??? every schema decision downstream depends on tenant isolation being in place.

    REQ-ARC-012.1

  • Stand up Stripe Connect onboarding

    for influencer payouts early, since KYC lead times are long.

  • Wire Runpod serverless endpoints

    behind the background-jobs tier (REQ-ARC-017) for content pre-processing, enforcing the "never on the user-blocking path" scope boundary in REQ-ARC-028.1.

    REQ-ARC-017REQ-ARC-028.1

  • Implement the proprietary POS sync foundation (DEC-004) next

    ??? it is the single highest-risk engineering area and directly shapes the POS and API data model.

Long-horizon themes

§31 — prose directions the product is aimed at but which haven't yet been broken down into individual REQ-IDs.

  • AI fabric recommendations (personalization based on purchase/project history).
  • Demand forecasting and automated reordering into the PO workflow.
  • Marketplace (cross-store shopping, platform-wide influencer campaigns).
  • Advanced quilt builders (user-authored patterns, community sharing).
  • International expansion (multi-currency, VAT/GST, multi-language storefronts).

By area

REQ-VISCore Vision
3 shipped0 wip0 todo100%
  • ShippedREQ-VIS-001

    BoltToCart is a purpose-built SaaS platform for fabric retailers that unifies yard-based inventory, cut-counter POS, e-commerce, limited drops, events & ticketing, influencer commerce, quilt design, and guided project shopping into one rea…

    6h ago
    packages/core/src/domainFoundationReadiness/index.test.ts×6packages/core/src/platformOperationsReadiness/index.test.ts×5packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-VIS-002

    The platform must let stores "sell fabric the way customers actually buy it ??? by project, pattern, class, and creator ??? not just by the yard."

    6h ago
    packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-VIS-003

    Every channel (POS, online, drops, events) reads from and writes to a single inventory source of truth.

    6h ago
    packages/core/src/domainFoundationReadiness/index.test.tspackages/core/src/platformOperationsReadiness/index.ts
REQ-PERPersonas
8 shipped0 wip0 todo100%
  • ShippedREQ-PER-001

    Store Owner ??? configures the store, plans drops and classes, reviews analytics, manages billing.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.test.ts×6packages/core/src/domainFoundationReadiness/index.test.ts×2packages/core/src/retailRuntimeReadiness/index.ts
  • ShippedREQ-PER-002

    Manager ??? supervises staff, approves adjustments, runs cycle counts, manages purchase orders.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.ts
  • ShippedREQ-PER-003

    Cashier / Cutter ??? cuts fabric, rings up sales at the POS, prints receipts.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.ts
  • ShippedREQ-PER-004

    Fulfillment Staff ??? picks, cuts, packs, and ships online orders.

    6h ago
    packages/core/src/domainFoundationReadiness/index.test.ts×2packages/core/src/retailRuntimeReadiness/index.ts
  • ShippedREQ-PER-005

    Instructor ??? runs classes, checks students in, requests supply lists.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.ts
  • ShippedREQ-PER-006

    Customer ??? browses, shops, registers for events, follows drops, uses the guided project wizard.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.ts
  • ShippedREQ-PER-007

    Influencer / Affiliate ??? earns commission via referral links, discount codes, and attributed sessions.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.ts
  • ShippedREQ-PER-008

    Platform Operator (BoltToCart staff) ??? onboards stores, handles support, manages platform-wide configuration.

    10m ago
    apps/web/src/app/(platform)/platform/PlatformSettingsForm.tsxapps/web/src/app/(platform)/platform/actions.tsapps/web/src/app/(platform)/platform/page.tsx+5 more
REQ-GLOGlossary & Domain Model
13 shipped0 wip0 todo100%
  • ShippedREQ-GLO-001

    Yard / WOF ??? the primary cut unit. "Width of Fabric" is the usable bolt width, typically 42???44" for quilting cotton.

    6h ago
    packages/core/src/domainFoundationReadiness/index.test.ts×2packages/core/src/platformOperationsReadiness/index.tspackages/core/src/retailRuntimeReadiness/index.test.ts
  • ShippedREQ-GLO-002

    Bolt ??? a physical roll of fabric with a unique ID, linked to a SKU, with a tracked remaining yardage.

    6h ago
    packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-GLO-003

    Cut ??? an action that removes yardage from a bolt and creates an order line item or adjustment record.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.test.ts×2packages/core/src/platformOperationsReadiness/index.test.tspackages/core/src/retailRuntimeReadiness/index.ts
  • ShippedREQ-GLO-004

    Remnant ??? the residual length on a bolt below a configurable threshold (e.g., ??? 1 yd), typically marked down.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.ts
  • ShippedREQ-GLO-005

    Precut ??? a pre-packaged piece sold by unit rather than by yardage: fat quarter (~18"??22"), fat eighth (~9"??22"), charm pack (5" squares), jelly roll (2.5" strips), layer cake (10" squares), mini charm, honey bun.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.tspackages/db/src/schema/skus.ts
  • ShippedREQ-GLO-006

    Bundle / Kit ??? a curated grouping of fabrics and/or notions sold together, optionally tied to a pattern or class.

    6h ago
    packages/core/src/customerCommerceReadiness/index.test.tspackages/core/src/customerCommerceReadiness/index.tspackages/core/src/retailRuntimeReadiness/index.ts
  • ShippedREQ-GLO-007

    Colorway ??? a specific color variant of a print within a collection.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.ts
  • ShippedREQ-GLO-008

    Collection ??? a named group of fabrics released together by a designer/manufacturer.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.ts
  • ShippedREQ-GLO-009

    Repeat ??? the distance over which a pattern repeats, relevant to yardage calculation for large prints.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.ts
  • ShippedREQ-GLO-010

    Drop ??? a scheduled, time-bounded release of limited-inventory products.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.ts
  • ShippedREQ-GLO-011

    Cut-to-order ??? the workflow by which online orders are fulfilled by cutting from a bolt at the store.

    6h ago
    packages/core/src/customerCommerceReadiness/index.test.ts×3packages/core/src/customerCommerceReadiness/index.tspackages/core/src/retailRuntimeReadiness/index.ts
  • ShippedREQ-GLO-012

    A SKU represents an idealized product (a specific colorway + collection + unit-of-sale). A Bolt is a physical instance of a cut-by-the-yard SKU; a Precut is a physical instance of a unit-of-sale SKU.

    6h ago
    packages/core/src/customerCommerceReadiness/index.test.ts×2packages/core/src/retailRuntimeReadiness/index.ts
  • ShippedREQ-GLO-013

    The system must preserve referential integrity from Cut ??? Bolt ??? SKU ??? Collection ??? Designer so reporting and attribution can roll up at any level.

    6h ago
    packages/core/src/domainFoundationReadiness/index.test.ts×3packages/core/src/retailRuntimeReadiness/index.test.ts×3packages/core/src/retailRuntimeReadiness/index.ts
REQ-ONBStore Onboarding
46 shipped0 wip0 todo100%
  • ShippedREQ-ONB-001

    Offer three setup modes on first launch: Start Fresh, Import Inventory, Full Inventory Setup.

    6h ago
    packages/core/src/retailSetupReadiness/index.test.ts×6packages/core/src/storeOperationsReadiness/index.test.ts×6packages/core/src/domainFoundationReadiness/index.test.ts×4+4 more
  • ShippedREQ-ONB-002

    Configure store profile (name, timezone, currency, tax jurisdictions, fulfillment regions, default units).

    6h ago
    packages/core/src/retailFoundationReadiness/index.test.ts×4packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.ts+1 more
  • ShippedREQ-ONB-003

    Configure default categories, attributes, and pricing rules.

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-ONB-004

    Generate SKUs and printable bolt labels from imported data.

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-ONB-005

    Go live immediately once minimum profile and at least one payout destination are configured.

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.tspackages/core/src/storeOperationsReadiness/index.test.ts+1 more
  • ShippedREQ-ONB-010

    Clean Start ??? empty catalog, bolts created via receiving workflow.

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.tspackages/core/src/storeOperationsReadiness/index.test.ts+1 more
  • ShippedREQ-ONB-011

    Bulk Import + Progressive Accuracy ??? CSV/XLSX import of SKUs and estimated yardage; accuracy improves as bolts are scanned, cut, and reconciled.

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-ONB-012

    Full Inventory Scan ??? guided physical count that creates bolt records as each is scanned and measured.

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-ONB-020

    Inventory accuracy must improve over time via sales, adjustments, and cycle counts.

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-ONB-021

    Workflow: scan to identify ??? enter yardage manually ??? reconcile.

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-ONB-022

    The system must surface inventory confidence (e.g., "last reconciled N days ago, drift �X%") at bolt, SKU, and store level.

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-ONB-040

    BoltToCart must provide a guided incumbent-POS migration path for fabric retailers moving from systems such as Rain POS, covering catalog/products, inventory quantities and history, customers, sales history, loyalty/reward balances, gift c…

    6h ago
    packages/core/src/storeOperationsReadiness/index.test.ts×4packages/core/src/retailFoundationReadiness/index.test.ts×2packages/demo-data/src/packs/0012_rain_migration_admin.ts×2+5 more
  • ShippedREQ-ONB-041

    The migration path must support four intake modes: self-service upload of CSV/XLSX files, self-service upload of a ZIP containing multiple exports, concierge/operator upload on behalf of a tenant, and credentialed source-system API pull wh…

    6h ago
    apps/web/src/app/admin/migration/page.tsx×3apps/jobs/src/workers/migrationImportJob.ts×2packages/core/src/retailFoundationReadiness/index.ts+3 more
  • ShippedREQ-ONB-042

    Rain POS must be supported as a named migration profile. The profile must include documented mappings for Rain product bulk export files, customer list exports, sales/transaction report exports, inventory history exports, and loyalty/rewar…

    6h ago
    packages/core/src/migration/rain.ts×2apps/web/src/app/admin/migration/_lib/templateReport.tsapps/web/src/app/admin/migration/page.tsx+4 more
  • ShippedREQ-ONB-043

    Every migration run must create an import batch with: tenantId, source system, source account/store identifier when available, source export timestamp, uploaded file manifest, file checksums, requested-by actor, run mode (dry_run, trial, f…

    6h ago
    apps/jobs/src/workers/migrationImportJob.ts×2apps/web/src/app/admin/migration/page.tsx×2packages/core/src/retailFoundationReadiness/index.ts+5 more
  • ShippedREQ-ONB-044

    Imports must be idempotent and re-runnable. Re-uploading the same source file or re-running an API extraction must not create duplicate SKUs, bolts, customers, orders, loyalty ledger entries, gift cards, or store-credit balances. Source id…

    6h ago
    apps/jobs/src/workers/migrationImportJob.ts×2apps/web/src/app/admin/migration/page.tsx×2packages/core/src/retailFoundationReadiness/index.ts+4 more
  • ShippedREQ-ONB-045

    Before mutating production tenant data, the migration workflow must run a preflight analyzer that reports row counts, unmapped columns, duplicate SKUs, duplicate customers, malformed emails/phones, invalid prices, unsupported tax/tender/st…

    6h ago
    apps/jobs/src/workers/migrationImportJob.ts×2apps/web/src/app/admin/migration/page.tsx×2packages/core/src/retailFoundationReadiness/index.ts+5 more
  • ShippedREQ-ONB-046

    The preflight analyzer must classify findings as blocking, warning, or informational. Blocking findings prevent final import; warnings may be explicitly accepted by an authorized manager; informational findings remain visible in the import…

    6h ago
    apps/web/src/app/admin/migration/page.tsx×3apps/jobs/src/workers/migrationImportJob.ts×2packages/core/src/retailFoundationReadiness/index.ts+5 more
  • ShippedREQ-ONB-047

    The importer must provide a field-mapping UI for unknown or tenant-specific columns, including reusable mapping presets by source system and tenant. Mappings must be versioned with the import batch so a future rerun uses the same interpret…

    6h ago
    apps/jobs/src/workers/migrationImportJob.ts×2apps/web/src/app/admin/migration/page.tsx×2apps/web/src/app/admin/migration/_lib/templateReport.test.ts+4 more
  • ShippedREQ-ONB-048

    The migration workflow must support a trial import into a sandbox/demo tenant, allowing the merchant and BoltToCart operator to inspect catalog, customers, rewards, sales reports, and inventory confidence before approving a production impo…

    6h ago
    apps/jobs/src/workers/migrationImportJob.ts×2apps/web/src/app/admin/migration/page.tsx×2packages/core/src/retailFoundationReadiness/index.ts+2 more
  • ShippedREQ-ONB-049

    The final production cutover must support a delta import window. After the merchant performs a final incumbent-system export, BoltToCart must import only new or changed source records since the trial baseline where source identifiers or ti…

    6h ago
    apps/jobs/src/workers/migrationImportJob.ts×2apps/web/src/app/admin/migration/page.tsx×2packages/core/src/retailFoundationReadiness/index.ts+2 more
  • ShippedREQ-ONB-050

    Product imports must map source product records into BoltToCart SKUs and product types per REQ-CAT-001 through REQ-CAT-011, including SKU code, barcode/UPC, name, description, vendor/supplier, designer, collection, department/category, col…

    6h ago
    packages/core/src/migration/rain.ts×14packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.ts+1 more
  • ShippedREQ-ONB-051

    Product import must never use floating-point math for money or yardage. Prices and costs are converted to integer minor units; yardage is converted to fixed-point 1/16-yard units per REQ-INV-001, with original source values retained for au…

    6h ago
    packages/core/src/migration/rain.ts×8packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.ts+1 more
  • ShippedREQ-ONB-052

    When a source system provides only SKU-level on-hand quantity instead of physical bolt-level inventory, BoltToCart must create legacy opening-stock bolt records or equivalent receiving records with lower inventory-confidence metadata. Thes…

    6h ago
    packages/core/src/migration/rain.ts×4packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.ts+1 more
  • ShippedREQ-ONB-053

    Inventory history imports must map source adjustments, receiving events, shrinkage, transfers, and manual corrections into auditable inventory events where source detail supports it. If historical detail is insufficient to reconstruct exac…

    6h ago
    packages/core/src/migration/rain.ts×4packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.ts+1 more
  • ShippedREQ-ONB-054

    After product/inventory import, BoltToCart must generate a migration label run for newly created or legacy bolt records, including printable bolt labels per REQ-INV-050 and a reconciliation worksheet grouped by location/category for store-…

    6h ago
    packages/core/src/migration/rain.ts×9packages/core/src/migration/rain.test.ts×4apps/web/src/app/admin/migration/page.tsx+3 more
  • ShippedREQ-ONB-055

    Customer imports must create unified customer profiles per REQ-CRM-001, keyed by email and/or phone where present, with merge-review tooling for duplicate or near-duplicate records. The importer must preserve source customer IDs and must n…

    6h ago
    packages/core/src/migration/rain.ts×4packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.ts+1 more
  • ShippedREQ-ONB-056

    Customer imports must support source fields commonly needed for quilt/fabric retail: name, email, phone, mailing address, marketing opt-in state, tax-exempt flag, customer group, notes, birthday/month where legally usable, created date, la…

    6h ago
    packages/core/src/migration/rain.ts×8packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.ts+1 more
  • ShippedREQ-ONB-057

    Sales-history imports must create legacy orders and order line items where source transaction detail is available, preserving source transaction ID, receipt/order number, channel/register, cashier/staff identifier where available, timestam…

    6h ago
    packages/core/src/migration/rain.ts×11packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.ts+1 more
  • ShippedREQ-ONB-058

    If line-level sales history is unavailable or incomplete, BoltToCart must support importing customer-level purchase summaries and monthly store totals so CRM segmentation, retention cohorts, and onboarding reconciliation can still function…

    6h ago
    packages/core/src/migration/rain.ts×9packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.ts+1 more
  • ShippedREQ-ONB-059

    Imported historical orders must be marked as legacy/imported and must not trigger fulfillment, inventory deduction, loyalty accrual, gift-card issuance, email receipts, webhooks, or customer notifications unless the import mode explicitly…

    6h ago
    packages/core/src/migration/rain.ts×4packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.ts+1 more
  • ShippedREQ-ONB-060

    Loyalty/reward migration must import the current customer balance as an opening-balance ledger entry per REQ-CRM-003, not as a recalculated earn stream by default. Recalculation from historical transactions may be offered only as a separat…

    6h ago
    packages/core/src/migration/rain.ts×4packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.ts+1 more
  • ShippedREQ-ONB-061

    Loyalty imports must support mapping source reward programs into BoltToCart earn/redemption settings, tiers, customer balance, lifetime points/spend where available, pending rewards, expiration dates where legally applicable, and manual ad…

    6h ago
    packages/core/src/migration/rain.ts×6packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.ts+1 more
  • ShippedREQ-ONB-062

    Gift card and store-credit imports must require explicit merchant attestation or reconciliation approval before activation. Imported balances must preserve source identifiers, original balance, remaining balance, issue date where available…

    6h ago
    packages/core/src/migration/rain.ts×6packages/core/src/migration/rain.test.tspackages/core/src/retailFoundationReadiness/index.ts+2 more
  • ShippedREQ-ONB-063

    No stored payment-card data, PAN, CVV, magstripe/chip data, or raw payment tokens may be imported from an incumbent POS. Customers must re-enter payment methods through Stripe-hosted or otherwise PCI-compliant flows per REQ-SEC-010.

    2h ago
    packages/core/src/migration/rain.ts×10apps/web/src/app/admin/migration/_lib/checklistReport.test.tsapps/web/src/app/admin/migration/_lib/checklistReport.ts+6 more
  • ShippedREQ-ONB-064

    The migration workflow must provide reconciliation reports comparing source exports to imported BoltToCart data by entity and period: SKU count, active/inactive product count, on-hand quantity, inventory value, customer count, loyalty bala…

    6h ago
    apps/web/src/app/admin/migration/page.tsx×2packages/core/src/retailFoundationReadiness/index.test.ts×2packages/core/src/retailFoundationReadiness/index.ts+5 more
  • ShippedREQ-ONB-065

    Reconciliation reports must be exportable as CSV and retained with the import batch. The merchant must explicitly approve final reconciliation before production cutover is marked complete.

    6h ago
    apps/web/src/app/admin/migration/page.tsx×2packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.ts+4 more
  • ShippedREQ-ONB-066

    All imported PII must follow REQ-ANL-003, REQ-SEC-021, and REQ-CRM-005: no unnecessary PII in analytics events, retention policies apply by data class, and customer export/deletion requests must include imported source data and source-refe…

    6h ago
    apps/web/src/app/admin/migration/page.tsx×2packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.ts+1 more
  • ShippedREQ-ONB-067

    Import jobs must emit typed domain events through the outbox and product events through the telemetry wrapper per REQ-ANL-001, REQ-ANL-002, REQ-ANL-010, and REQ-JOB-506. Events must include batch-level counts and status, but must not inclu…

    6h ago
    packages/events/src/domain/migrationImports.ts×10apps/jobs/src/workers/migrationImportJob.ts×2apps/web/src/app/admin/migration/page.tsx×2+5 more
  • ShippedREQ-ONB-068

    The store-owner dashboard must include a migration status tile during onboarding and for at least 30 days after cutover, showing current phase, last batch status, unresolved blocking findings, reconciliation approval state, inventory-confi…

    6h ago
    apps/web/src/app/admin/migration/page.tsx×2packages/demo-data/src/packs/0012_rain_migration_admin.ts×2packages/core/src/retailFoundationReadiness/index.ts+2 more
  • ShippedREQ-ONB-069

    Platform operators must have an operator-only migration console for monitoring tenant migration batches, retrying failed jobs, downloading sanitized error reports, and recording concierge notes. The console must not allow cross-tenant data…

    6h ago
    apps/web/src/app/admin/migration/page.tsx×2packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.ts+1 more
  • ShippedREQ-ONB-070

    The migration system must provide a rollback preview before production finalization, listing which imported entities could be deleted, disabled, or left as historical records. Rollback behavior must preserve audit history and must never si…

    6h ago
    apps/web/src/app/admin/migration/page.tsx×2packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.ts+4 more
  • ShippedREQ-ONB-071

    The migration checklist for Rain POS must be visible to merchants and operators and must list the expected source exports, recommended date ranges, export timing for trial and final cutover, known limitations, and the exact BoltToCart dest…

    2h ago
    packages/core/src/storeOperationsReadiness/index.test.ts×3apps/web/src/app/admin/migration/page.tsx×2packages/demo-data/src/packs/0012_rain_migration_admin.ts×2+8 more
  • ShippedREQ-ONB-030

    Minimum: iPad or tablet, receipt printer.

    6h ago
    apps/pos/src/hw/types.tspackages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.ts+1 more
  • ShippedREQ-ONB-031

    Recommended: Bluetooth barcode scanner, thermal label printer, cash drawer.

    6h ago
    apps/pos/src/hw/types.tspackages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.ts+1 more
  • ShippedREQ-ONB-032

    See �23 for the full hardware ecosystem and protocol requirements.

    6h ago
    packages/core/src/retailFoundationReadiness/index.test.tspackages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.test.ts+3 more
REQ-CATCatalog & Product Data
34 shipped1 wip2 todo92%
  • ShippedREQ-CAT-001

    Every fabric SKU must capture: name, SKU code, designer, collection, colorway, fiber content (composition %), width (inches), weight (GSM or oz/yd�), pattern type (solid, print, batik, etc.), print scale, repeat (inches), care instructions…

    6h ago
    packages/core/src/domainFoundationReadiness/index.test.ts×4packages/core/src/storeOperationsReadiness/index.test.ts×4packages/core/src/customerCommerceReadiness/index.test.ts×2+15 more
  • ShippedREQ-CAT-002

    Every SKU must capture one or more dominant colors (hex values) and color tags (e.g., "sage", "navy") for faceted and color search.

    6h ago
    packages/testing/src/catalog.test.ts×2packages/core/src/customerCommerceReadiness/index.tspackages/core/src/retailFoundationReadiness/index.ts+5 more
  • ShippedREQ-CAT-003

    Every SKU must support multiple images with roles: hero, swatch, bolt-end, lifestyle, repeat preview.

    2h ago
    packages/db/src/migrations/0017_sku_images.sql×5packages/demo-data/src/packs/0011_storefront_images.ts×4apps/web/src/app/(storefront)/cart/page.tsx×2+15 more
  • ShippedREQ-CAT-004

    Every SKU must declare its unit of sale: by_yard, by_precut, by_unit, or by_kit.

    6h ago
    packages/db/src/migrations/0010_sku_catalog.sql×4packages/core/src/retailFoundationReadiness/index.test.ts×3packages/db/src/schema/skus.ts×2+6 more
  • ShippedREQ-CAT-005

    Variants are permitted for differences in colorway, size (for precuts), or packaging.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.test.ts×2packages/core/src/customerCommerceReadiness/index.tspackages/core/src/retailFoundationReadiness/index.test.ts+2 more
  • ShippedREQ-CAT-010

    The catalog must support notions (thread, batting, needles, tools), patterns (physical + digital), books, and gift cards with appropriate attribute schemas.

    6h ago
    packages/core/src/customerCommerceReadiness/index.tspackages/core/src/retailRuntimeReadiness/index.tspackages/core/src/retailSetupReadiness/index.ts
  • ShippedREQ-CAT-011

    Digital goods (pattern PDFs) must support license-bound downloads with per-order expiry and rate-limited access.

    6h ago
    packages/core/src/customerCommerceReadiness/index.tspackages/core/src/retailRuntimeReadiness/index.tspackages/core/src/retailSetupReadiness/index.ts
  • ShippedREQ-CAT-020

    Images must be processed through a media pipeline that generates standard derivatives (thumbnail, card, swatch, zoom) and extracts dominant colors on upload (see �27).

    6h ago
    packages/demo-data/src/packs/0011_storefront_images.ts×2apps/web/src/components/ProductImage.tsxpackages/core/src/customerCommerceReadiness/index.ts+5 more
  • ShippedREQ-CAT-021

    Every image must carry or generate alt text.

    6h ago
    packages/testing/src/skuImages.test.ts×4packages/core/src/retailSetupReadiness/index.test.ts×3packages/db/src/migrations/0017_sku_images.sql×3+12 more
  • In progressREQ-CAT-022

    The MVP catalog media pipeline must let admins attach, order, replace, and remove per-SKU images with roles for hero, swatch, bolt-end/detail, and lifestyle. Each image must store alt text, source, dimensions, content hash, and derivative…

    packages/core/src/storeOperationsReadiness/index.test.ts×2packages/core/src/domainFoundationReadiness/index.test.ts
  • Not startedREQ-CAT-023

    The MVP catalog schema and admin UI must capture structured fabric composition and merchandising metadata needed by REQ-CAT-001: composition percentages, pattern type, print scale, repeat, care instructions, country of origin, and hazard/c…

  • ShippedREQ-CAT-024

    BoltToCart must maintain a platform-owned shared product library of known fabric-retail products that can be searched and used by every tenant during receiving, purchase-order creation, manual SKU creation, incumbent POS migration, and ful…

    10m ago
    packages/db/src/repositories/productLibrary.ts
  • ShippedREQ-CAT-025

    Shared product-library records must be global reference records, not tenant catalog records. Creating or receiving inventory from a library match must create or update a tenant-owned SKU, bolt, precut, or unit item that references the libr…

    10m ago
    packages/db/src/repositories/productLibrary.ts
  • ShippedREQ-CAT-026

    Each shared product-library record must store durable external identifiers where available: source system, source product URL, source product ID, manufacturer item number, vendor SKU, UPC, EAN/GTIN, collection code, color code, variant cod…

    34m ago
    packages/core/src/productLibrary/index.ts×2
  • ShippedREQ-CAT-027

    Shared product-library fabric records must support the same structured fabric attributes as tenant SKUs per REQ-CAT-001 through REQ-CAT-005, including name, description, designer, collection, colorway, vendor/manufacturer, fiber content, w…

    34m ago
    packages/core/src/productLibrary/index.ts
  • ShippedREQ-CAT-028

    Shared product-library non-fabric records must support notion, thread, batting, needle, tool, pattern, book, kit, home-gift, and precut metadata per REQ-CAT-010 and REQ-CAT-011, including product type, size, dimensions, pack quantity, mate…

    34m ago
    packages/core/src/productLibrary/index.ts
  • ShippedREQ-CAT-029

    Every shared product-library record must store commercial reference fields separately from tenant prices: MSRP in integer minor units, MSRP currency, wholesale/list cost when legally available, minimum advertised price when available, unit…

    34m ago
    packages/core/src/productLibrary/index.ts
  • ShippedREQ-CAT-030

    MSRP and cost fields in the shared product library are reference data only. Tenant storefront, POS, discount, margin, and tax calculations must use tenant-owned pricing records and must never silently update tenant sell prices when a sourc…

    34m ago
    packages/core/src/productLibrary/index.ts
  • ShippedREQ-CAT-031

    Shared product-library images must preserve source provenance, original URL, content hash, dimensions, license/usage status, fetch timestamp, alt text, and image role. Images approved for tenant use must flow through the standard media pip…

    34m ago
    packages/core/src/productLibrary/index.ts
  • ShippedREQ-CAT-032

    The library must retain source raw snapshots and normalized records separately. Raw snapshots must be immutable audit evidence with content hash, fetch time, HTTP status, source account context, parser version, and extraction warnings; nor…

    10m ago
    apps/web/src/app/(platform)/platform/product-library/actions.tspackages/core/src/productLibrary/index.tspackages/db/src/repositories/productLibrary.ts
  • ShippedREQ-CAT-033

    Shared product-library records must support source-confidence scoring by field. Each normalized field must track whether it came from source markup, page text, structured data, image analysis, operator edit, tenant feedback, or automated i…

    34m ago
    packages/core/src/productLibrary/index.ts
  • ShippedREQ-CAT-034

    Product-library deduplication must merge records that represent the same physical product across sources such as Moda/United Notions, EE Schenck, Checker Distributors, and Brewer Quilting & Sewing Supplies. The merge process must preserve…

    34m ago
    packages/core/src/productLibrary/index.ts
  • ShippedREQ-CAT-035

    Product-library matching during inventory intake must support barcode scan, UPC entry, manufacturer SKU entry, PO line import, supplier invoice import, image-assisted search, and text search across name, collection, designer, vendor, color…

    10m ago
    packages/core/src/productLibrary/index.tspackages/db/src/repositories/productLibrary.ts
  • ShippedREQ-CAT-036

    Store owners must be able to accept a product-library match into their catalog with a one-step default path and an advanced edit path. The default path must prefill safe fields, preserve tenant defaults for category/pricing/tax/publish sta…

    10m ago
    packages/core/src/productLibrary/index.tspackages/db/src/repositories/productLibrary.ts
  • ShippedREQ-CAT-037

    Store owners must be able to override library-derived fields on their tenant SKU without changing the shared library. The UI must clearly distinguish platform reference data from tenant overrides and must provide a reset-to-library action…

    34m ago
    packages/core/src/productLibrary/index.ts×2
  • ShippedREQ-CAT-038

    Tenant SKUs linked to a shared product-library record must receive update suggestions when source data changes materially. Suggestions must summarize changed fields, source, old value, new value, confidence, and storefront impact; applying…

    34m ago
    packages/core/src/productLibrary/index.ts
  • ShippedREQ-CAT-039

    The shared library must expose operator review states: candidate, normalized, needs_review, approved, rejected, merged, deprecated, and blocked. Only approved records may be offered as default auto-fill candidates to store owners, while lo…

    10m ago
    packages/core/src/productLibrary/index.ts×3apps/web/src/app/(platform)/platform/product-library/actions.tspackages/db/src/repositories/productLibrary.ts
  • ShippedREQ-CAT-040

    Product-library records must support category taxonomy mapping between source categories and BoltToCart product types. For Moda's fabric source, the initial mapping must include category, availability, vendor, author, Moda designer, produc…

    34m ago
    packages/core/src/productLibrary/index.ts
  • ShippedREQ-CAT-041

    The first source connector must target https://shop.modafabrics.com and capture as much product metadata as available from category and product pages, including product name, description, image URLs, MSRP, UPC, SKU/item number, category pa…

    10m ago
    apps/web/src/app/(platform)/platform/product-library/actions.tsapps/web/src/lib/productLibraryModa.ts
  • Not startedREQ-CAT-042

    The Moda connector must support incremental discovery from category pages such as /category/fabrics-101495, product detail pages such as /product/1867.68258, pagination or infinite-scroll result sets, faceted filters, product count changes…

  • ShippedREQ-CAT-043

    The shared product library must represent product families, variants, and purchasable items separately when a source exposes them separately. A collection or product group may contain fabric colorways, precuts, kits, patterns, books, and n…

    34m ago
    packages/core/src/productLibrary/index.ts
  • ShippedREQ-CAT-044

    The library must preserve historical availability and lifecycle changes. When a source changes a product from in stock to on order, out of stock, ships from vendor, discontinued, last call, future group, or similar status, the new state mu…

    34m ago
    packages/core/src/productLibrary/index.ts
  • ShippedREQ-CAT-045

    Library data must never be treated as authoritative inventory for a tenant. Source availability may inform ordering and intake suggestions, but tenant on-hand inventory, sellable quantity, holds, and fulfillment decisions must continue to…

    34m ago
    packages/core/src/productLibrary/index.ts
  • ShippedREQ-CAT-046

    Product-library search APIs must be read-only for tenant users except for explicit feedback endpoints. Tenant feedback may propose corrections, missing UPCs, better images, duplicate reports, or source conflicts, but must enter an operator…

    10m ago
    packages/core/src/productLibrary/index.tspackages/db/src/repositories/productLibrary.ts
  • ShippedREQ-CAT-047

    Shared product-library APIs must support stable, typed contracts for admin UI, POS receiving, web receiving, migration, and jobs. Contracts must include branded IDs for library record, source record, tenant SKU, source connector run, and m…

    34m ago
    packages/core/src/productLibrary/index.ts
  • ShippedREQ-CAT-048

    Library metadata that is source-specific but not yet modeled must be stored in a typed extension structure keyed by source and parser version. Extension fields must preserve original labels and values for audit while promoting frequently u…

    34m ago
    packages/core/src/productLibrary/index.ts
  • ShippedREQ-CAT-049

    The shared product library must include a public-support-safe product evidence view that operators can copy into tickets. Evidence must include library ID, source name, source URL, last fetch time, approved field summary, and confidence st…

    34m ago
    packages/core/src/productLibrary/index.ts
REQ-INVInventory Management
18 shipped1 wip1 todo90%
  • ShippedREQ-INV-001

    Yardage must be tracked as fractional values with minimum granularity of ??? yard (0.125) and stored with sufficient precision to avoid cumulative rounding error (recommended: store in millimeters or fixed-point 1/16 yard).

    6h ago
    packages/core/src/storeOperationsReadiness/index.test.ts×4packages/events/src/domain/pos.ts×4packages/db/src/schema/cycleCounts.ts×3+38 more
  • ShippedREQ-INV-002

    Each physical bolt has a unique ID, associated SKU, initial yardage, current remaining yardage, location (store + shelf), and status (receiving, on_shelf, cut_in_progress, remnant, sold_out, damaged, transferred).

    6h ago
    packages/db/src/migrations/0005_bolt_status.sql×3apps/web/src/lib/roadmap.test.ts×2packages/core/src/bolts/status.ts×2+17 more
  • ShippedREQ-INV-003

    The system must enforce non-negative remaining yardage and prevent concurrent over-cutting via row-level locking or equivalent serialization.

    6h ago
    apps/web/src/lib/roadmap.test.tspackages/core/src/customerCommerceReadiness/index.tspackages/core/src/retailRuntimeReadiness/index.ts+9 more
  • ShippedREQ-INV-004

    Adjustments, shrinkage, transfers between locations, and damage events must all be auditable with actor, reason, quantity delta, and timestamp.

    6h ago
    packages/core/src/customerCommerceReadiness/index.tspackages/core/src/retailRuntimeReadiness/index.tspackages/core/src/retailSetupReadiness/index.ts
  • ShippedREQ-INV-010

    When remaining yardage falls at or below a configurable threshold (default 1 yard), the bolt must automatically flag as a remnant and optionally reprice per the markdown rule.

    2h ago
    packages/db/src/migrations/0005_bolt_status.sql×3packages/testing/src/bolt-status.test.ts×3packages/db/src/repositories/bolts.ts×2+10 more
  • ShippedREQ-INV-011

    A bolt may be split (e.g., to create precuts from the bolt-end) or two identical-SKU bolts merged administratively. Both operations must preserve audit history.

    6h ago
    packages/db/src/repositories/bolts.ts×3apps/web/src/app/admin/bolts/[boltId]/actions.ts×2packages/db/src/migrations/0009_bolt_lineage.sql×2+9 more
  • ShippedREQ-INV-020

    Supplier records must capture contact info, lead times, payment terms, minimum order quantity, and preferred shipping methods.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.test.ts×2packages/demo-data/src/packs/0004_admin_damaged_bolt.ts×2packages/core/src/customerCommerceReadiness/index.ts+8 more
  • ShippedREQ-INV-021

    Purchase orders (POs) must support draft, submitted, partially received, received, and closed states, with line items mapped to SKUs and expected quantities.

    6h ago
    packages/core/src/customerCommerceReadiness/index.tspackages/core/src/retailRuntimeReadiness/index.tspackages/core/src/retailSetupReadiness/index.ts
  • ShippedREQ-INV-022

    The receiving workflow is the primary entry point for creating bolts: scan PO ??? confirm SKU ??? enter actual yardage ??? generate bolt ID and printable label.

    6h ago
    packages/core/src/customerCommerceReadiness/index.tspackages/core/src/retailRuntimeReadiness/index.tspackages/core/src/retailSetupReadiness/index.ts
  • ShippedREQ-INV-023

    Landed cost (unit cost + freight + duty allocation) must be captured per receiving line to drive margin reporting.

    6h ago
    packages/core/src/customerCommerceReadiness/index.tspackages/core/src/retailRuntimeReadiness/index.tspackages/core/src/retailSetupReadiness/index.ts
  • ShippedREQ-INV-024

    Advance Ship Notices (ASNs) should be importable where suppliers support them.

    6h ago
    packages/core/src/customerCommerceReadiness/index.tspackages/core/src/retailRuntimeReadiness/index.tspackages/core/src/retailSetupReadiness/index.ts
  • ShippedREQ-INV-030

    The system must support partial and full cycle counts with variance reporting and bulk adjustment approval.

    6h ago
    packages/core/src/customerCommerceReadiness/index.tspackages/core/src/retailRuntimeReadiness/index.tspackages/core/src/retailSetupReadiness/index.ts
  • ShippedREQ-INV-031

    Discrepancies must produce audit records and feed into the inventory-confidence score per �4.3.

    6h ago
    packages/core/src/customerCommerceReadiness/index.tspackages/core/src/retailRuntimeReadiness/index.tspackages/core/src/retailSetupReadiness/index.ts
  • ShippedREQ-INV-040

    When fulfilling a cut-to-order line with multiple candidate bolts, the system must choose the bolt according to a configurable rule. Default: largest-remnant-first (cut from the smallest bolt that satisfies the order) to consolidate invent…

    6h ago
    packages/core/src/customerCommerceReadiness/index.tspackages/core/src/retailRuntimeReadiness/index.tspackages/core/src/retailSetupReadiness/index.ts
  • ShippedREQ-INV-041

    Alternative rules must include FIFO (oldest first), LIFO, and manual selection.

    6h ago
    packages/core/src/customerCommerceReadiness/index.tspackages/core/src/retailRuntimeReadiness/index.tspackages/core/src/retailSetupReadiness/index.ts
  • ShippedREQ-INV-042

    If no single bolt can satisfy the request, the system must either split the order across bolts (with customer opt-in for quilting-grade continuity) or decline and suggest substitutes.

    6h ago
    packages/core/src/bolts/selection.ts×2packages/core/src/customerCommerceReadiness/index.tspackages/core/src/retailRuntimeReadiness/index.ts+1 more
  • ShippedREQ-INV-050

    Each bolt label must carry a scannable 1D or 2D barcode encoding the bolt ID, plus a human-readable SKU, designer, collection, width, and initial yardage.

    6h ago
    apps/pos/src/scan/parser.ts×2packages/core/src/domainFoundationReadiness/index.test.ts×2apps/pos/src/hw/nfcReader.ts+4 more
  • ShippedREQ-INV-051

    Labels must be reprintable on demand and support at least two standard thermal label sizes.

    6h ago
    packages/core/src/customerCommerceReadiness/index.test.ts×3packages/core/src/retailSetupReadiness/index.test.ts×3packages/core/src/customerCommerceReadiness/index.ts+5 more
  • In progressREQ-INV-052

    Receiving, full-inventory scan, and purchase-order workflows must offer shared product-library lookup before manual SKU creation. If a scanned or entered UPC matches a library record, the workflow must prefill product metadata and continue…

    packages/core/src/domainFoundationReadiness/index.test.ts×2packages/core/src/storeOperationsReadiness/index.test.ts
  • Not startedREQ-INV-053

    Purchase-order and receiving lines created from a shared product-library record must retain both the tenant SKU ID and the library record ID. The receiving audit must show which fields were prefilled from the library, which fields were edi…

REQ-PRIPricing & Promotions
50 shipped0 wip0 todo100%
  • ShippedREQ-PRI-001

    Support per-yard pricing, per-unit pricing (precuts, notions), and per-kit pricing.

    6h ago
    packages/core/src/serviceCommerceReadiness/index.test.ts×6packages/core/src/checkoutPricingReadiness/index.test.ts×4packages/core/src/retailSetupReadiness/index.test.ts×4+4 more
  • ShippedREQ-PRI-002

    Support volume breaks (e.g., 10% off at ??? 5 yards), customer-group pricing (retail, trade/wholesale, guild), and tax-exempt customer flags.

    6h ago
    apps/web/src/lib/storefront.tspackages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.ts+2 more
  • ShippedREQ-PRI-003

    Support markdowns, automatic remnant discounts, BOGO, percentage/fixed coupons, free-shipping promotions, and stackable/exclusive rules with a deterministic resolution order. Detailed mechanics for coupons and promotions are specified in �…

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-PRI-004

    Support gift cards and store credit with balance tracking, expiry policies per jurisdiction, and redemption across all channels. Gift cards are a stored-value instrument, not a coupon, and are governed by separate tender rules (see �8.1) a…

    6h ago
    packages/core/src/retailFoundationReadiness/index.ts×2packages/core/src/retailSetupReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-PRI-005

    Every price applied to a cart must be traceable to the rule(s) that produced it for audit and dispute resolution. The trace must enumerate each applied discount, its couponId/promotionId, eligibility match reason, stacking decision, and pe…

    6h ago
    packages/core/src/retailFoundationReadiness/index.ts×2packages/core/src/retailSetupReadiness/index.tspackages/core/src/serviceCommerceReadiness/index.test.ts+1 more
  • ShippedREQ-PRI-010

    Support the following discount mechanics as first-class primitives:

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.tspackages/core/src/serviceCommerceReadiness/index.test.ts+1 more
  • ShippedREQ-PRI-011

    Distinguish automatic promotions (no code required; applied whenever eligibility matches) from coupons (require a code or a customer-attached entitlement). Both share the same eligibility, stacking, and reporting model.

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-PRI-012

    Support pricing lists that override base price for a customer group, location, or channel; pricing-list prices are applied before any promotion and count as the "original price" for subsequent discount math.

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-PRI-020

    Support the following coupon code archetypes, each with the same underlying discount mechanic (�7.2) but different issuance and redemption semantics:

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-PRI-021

    Code generation requirements:

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-PRI-022

    Bulk operations ??? campaigns must support bulk create, bulk pause, bulk revoke, and bulk extend with a dry-run preview of affected codes and an undo window (5 minutes) before changes are committed to the redemption ledger.

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-PRI-023

    Support scannable coupon artifacts ??? QR and 1D barcodes encoding the code plus an HMAC so scanned codes at POS can be validated offline against a cached active-campaign set (see �7.7).

    6h ago
    apps/pos/src/flow/discountScanHandler.ts×2apps/pos/src/scan/parser.ts×2apps/pos/src/flow/couponFlow.ts+3 more
  • ShippedREQ-PRI-030

    Every coupon/promotion must support the following eligibility dimensions, combinable with AND/OR logic:

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-PRI-031

    Support exclusions with clear precedence over inclusions: clearance/sale flag, gift cards, specific SKUs or collections, already-discounted lines, shipping, tax, specific channels (e.g., exclude from drops). Exclusions must be evaluated be…

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-PRI-032

    Support usage limits, each independently configurable:

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-PRI-033

    Eligibility evaluation must be deterministic and side-effect-free: the same cart + coupon + context always yields the same decision and the same rationale string, which is persisted on the order for audit.

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-PRI-040

    Every coupon and automatic promotion carries a stackability flag: exclusive (default), stackable-with-auto, stackable-with-any. Two exclusive instruments cannot apply to the same order.

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-PRI-041

    The resolution order for a cart is fixed and documented:

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-PRI-042

    Support a maximum discount cap per order, per line, and per campaign (absolute or percentage) to prevent runaway stacking.

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-PRI-043

    Every resolution decision ??? including rejected codes and the reason for rejection ??? must be written to the order's pricing trace per REQ-PRI-005 and to the coupon redemption ledger per REQ-PRI-055.

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/retailSetupReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-PRI-050

    Coupon validation must happen at three points: on code entry in the cart, on checkout submission, and on payment authorization. The canonical decision is the checkout-time evaluation; cart-time previews are advisory and must be re-checked…

    48m ago
    packages/core/src/checkoutPricingReadiness/index.test.ts×3packages/core/src/serviceCommerceReadiness/index.test.ts×3apps/web/src/app/(storefront)/cart/actions.ts×2+5 more
  • ShippedREQ-PRI-051

    Code application must be idempotent: submitting the same code twice in the same cart session is a no-op, not an error. Reapplying after removal is permitted subject to usage limits.

    6h ago
    packages/core/src/retailFoundationReadiness/index.ts×2packages/core/src/retailSetupReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-PRI-052

    Validation responses must not leak information that aids enumeration: a single opaque invalid_or_ineligible response for unknown, expired, exhausted, paused, and not-yet-active codes. Internally, the specific reason is logged with the stan…

    6h ago
    packages/core/src/retailFoundationReadiness/index.ts×2packages/core/src/retailSetupReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-PRI-053

    Use constant-time string comparison for code matching to eliminate timing oracles.

    6h ago
    packages/core/src/retailFoundationReadiness/index.ts×2packages/core/src/retailSetupReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-PRI-054

    Apply rate limits and progressive friction to code entry:

    6h ago
    packages/core/src/retailFoundationReadiness/index.ts×2packages/core/src/retailSetupReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-PRI-055

    Redemption ledger ??? every successful redemption creates an immutable record of: couponId, campaignId, orderId, customerId, channel, storeId/deviceId if POS, discount mechanic, amount applied, per-line allocation, attributed influencer if…

    6h ago
    packages/core/src/retailFoundationReadiness/index.ts×2packages/core/src/retailSetupReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-PRI-056

    Reversal on refund/return ??? partial and full refunds must reverse the proportional discount per REQ-PRI-080 and decrement the redemption count only if the return fully voids the order and the campaign's policy permits (default: yes). Rev…

    6h ago
    packages/core/src/retailSetupReadiness/index.test.ts×3packages/core/src/retailFoundationReadiness/index.ts×2packages/core/src/revenueOperationsReadiness/index.test.ts×2+2 more
  • ShippedREQ-PRI-057

    Self-referral / self-redemption guards ??? a customer cannot redeem their own referral or influencer code on their primary account; flagged attempts are rejected with the generic response and logged for review.

    6h ago
    packages/core/src/revenueOperationsReadiness/index.test.ts×9packages/core/src/retailFoundationReadiness/index.ts×2packages/core/src/revenueOperationsReadiness/index.ts+1 more
  • ShippedREQ-PRI-058

    Kill switch ??? a campaign can be paused or revoked by an authorized operator in under 30 seconds via the admin UI without a deploy; in-flight redemptions committed before the pause timestamp remain valid, and a reason code is required and…

    6h ago
    packages/core/src/retailFoundationReadiness/index.ts×2packages/core/src/checkoutPricingReadiness/index.test.tspackages/core/src/revenueOperationsReadiness/index.ts+1 more
  • ShippedREQ-PRI-060

    Web storefront ??? code entry at the cart and checkout; auto-apply via signed URL parameter with a short TTL; customer-attached entitlements appear as one-tap apply on the cart for authenticated customers.

    6h ago
    packages/core/src/checkoutPricingReadiness/index.test.tspackages/core/src/retailFoundationReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.ts+1 more
  • ShippedREQ-PRI-061

    POS ??? the POS must support (a) manual keypad code entry, (b) barcode/QR scan of a coupon artifact (REQ-PRI-023), and (c) selecting a customer-attached entitlement from the looked-up customer profile. Manager PIN (REQ-POS-031) is required…

    6h ago
    apps/pos/src/components/CouponStatus.test.tsapps/pos/src/components/CouponStatus.tsapps/pos/src/components/DiscountScanStatus.ts+4 more
  • ShippedREQ-PRI-062

    Offline POS ??? only codes from the cached active-campaign set (shared public codes with no per-customer limits and no cross-channel cap) may be honored offline. Single-use unique codes, influencer codes, first-time-customer codes, and any…

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-PRI-063

    Drops ??? by default, drops are coupon-excluded (REQ-PRI-031). A drop may opt in to accept specific campaigns, but codes MUST NOT influence queue position, waitlist order, or inventory holds (REQ-DRP-002/REQ-DRP-003).

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-PRI-064

    Events & ticketing ??? promo codes apply to tickets per REQ-EVT-013; bundled kits attached to a ticket follow the kit's eligibility, not the ticket's.

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-PRI-065

    Guided project wizard ??? codes may be applied at the review step; the wizard must show the pre- and post-discount totals and make the applied code removable.

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-PRI-070

    Every coupon has a lifecycle state: draft ??? scheduled ??? active ??? (paused ??? active) ??? exhausted | expired | revoked ??? archived. State transitions are recorded with actor, timestamp, and reason.

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-PRI-071

    Automatic transitions ??? scheduled ??? active at startAt, active ??? expired at endAt, active ??? exhausted on cap reached. Transitions are driven by background jobs (�29 "Background jobs") with guaranteed-once emission of the correspondi…

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-PRI-072

    Manual admin actions ??? pause, resume, revoke (terminal), clone (new draft pre-filled), extend (moves endAt), adjust cap (only upward without a re-approval workflow).

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-PRI-073

    Approvals ??? configurable approval workflow for high-impact campaigns (discount > N%, cap > M redemptions, site-wide scope); required approvers, dual-control for irreversible revokes.

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-PRI-074

    Retention & archival ??? archived campaigns remain queryable for reporting and dispute resolution per the data retention policy in �25.3; the redemption ledger is retained for the full financial-records retention period regardless of campa…

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-PRI-080

    Per-line allocation ??? order-level and cart-level discounts must be pro-rated across eligible lines by that line's eligible base price, using banker's rounding with residuals distributed to the highest-priced line. Per-line allocation is…

    6h ago
    packages/core/src/retailFoundationReadiness/index.test.ts×2packages/core/src/retailFoundationReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.ts+1 more
  • ShippedREQ-PRI-081

    Tax treatment ??? support both pre-tax (default, US) and post-tax (some international regimes) discount application, selected per jurisdiction by the tax engine (REQ-ARC-026). Free-shipping discounts interact with shipping tax per the dest…

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-PRI-082

    Refunds ??? when a line is refunded, the proportional discount allocated to that line is reversed and tax is recomputed on the reduced taxable base per REQ-FUL-006. Reversals never produce negative discount totals.

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-PRI-083

    Merchant cost-of-promotion ledger ??? every redemption records GMV foregone (list price ??? sold price), margin impact (using landed cost from REQ-INV-023), and attribution to campaign and, if applicable, influencer. This feeds the coupon…

    6h ago
    packages/core/src/retailFoundationReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-PRI-090

    Coupon performance report (per-tenant, scoped per �22) must surface: redemptions, redemption rate, GMV lifted, revenue after discount, average discount per order, new-customer share, top SKUs redeemed against, and ROI vs. cost-of-promotion…

    6h ago
    packages/core/src/serviceCommerceReadiness/index.test.ts×3packages/core/src/retailFoundationReadiness/index.ts×2packages/core/src/revenueOperationsReadiness/index.ts+1 more
  • ShippedREQ-PRI-091

    Funnel events per REQ-ANL-011 ??? code-entered, code-rejected (with opaque reason class), code-applied, checkout-completed-with-code. These feed the product-analytics sink, not the domain warehouse.

    6h ago
    packages/core/src/retailFoundationReadiness/index.ts×2packages/core/src/revenueOperationsReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-PRI-092

    Influencer reports consume the same redemption ledger and are specified in REQ-RPT-004.

    6h ago
    packages/core/src/retailFoundationReadiness/index.ts×2packages/core/src/revenueOperationsReadiness/index.tspackages/demo-data/src/packs/0038_retail_foundation_readiness_suite.ts
  • ShippedREQ-PRI-100

    Emit typed domain events conforming to �26.1: coupon.created, coupon.activated, coupon.paused, coupon.revoked, coupon.redeemed, coupon.redemption_reversed, coupon.exhausted, coupon.expired. Payloads are declared in packages/events per REQ-…

    6h ago
    packages/core/src/checkoutPricingReadiness/index.test.ts×3packages/core/src/serviceCommerceReadiness/index.test.ts×3packages/core/src/retailFoundationReadiness/index.ts×2+2 more
  • ShippedREQ-PRI-101

    Influencer-attributed codes share the coupon machinery; attribution and payout are governed by �14, and commission is settled through the commission ledger (REQ-INF-030) rather than by double-discounting the order.

    6h ago
    packages/core/src/retailFoundationReadiness/index.test.ts×3packages/core/src/retailFoundationReadiness/index.ts×2packages/core/src/revenueOperationsReadiness/index.ts+1 more
  • ShippedREQ-PRI-102

    Event-ticket promo codes are governed by �12.2 (REQ-EVT-013) and use the same engine described here.

    6h ago
    packages/core/src/serviceCommerceReadiness/index.test.ts×3packages/core/src/retailFoundationReadiness/index.ts×2packages/core/src/checkoutPricingReadiness/index.test.ts+4 more
REQ-POSPoint of Sale
245 shipped0 wip0 todo100%
  • ShippedREQ-POS-001

    Workflow: scan fabric ??? enter yardage ??? add to cart ??? checkout.

    6h ago
    packages/core/src/checkoutPricingReadiness/index.test.ts×6apps/pos/src/runtime/registerWorkbench.test.ts×2packages/core/src/retailRuntimeReadiness/index.test.ts×2+6 more
  • ShippedREQ-POS-002

    Must support fractional yardage entry (�6.1) with both decimal and fractional keypads (e.g., 2 ???).

    6h ago
    apps/pos/src/components/YardageKeypad.tsxapps/pos/src/flow/criticalPath.tsapps/pos/src/flow/types.ts+2 more
  • ShippedREQ-POS-003

    Must support fast text and visual search across SKUs, collections, and designers, with keyboard and barcode input.

    6h ago
    apps/pos/src/index.ts×2apps/pos/src/components/SkuSearchResults.test.tsapps/pos/src/components/SkuSearchResults.ts+2 more
  • ShippedREQ-POS-004

    Must support mid-transaction cart edits, held carts, and parked orders.

    6h ago
    apps/pos/src/components/HeldCartList.test.tsapps/pos/src/components/HeldCartList.tsapps/pos/src/flow/heldCarts.test.ts+4 more
  • ShippedREQ-POS-005

    Must support split tender (card + cash + store credit + gift card) and partial refunds.

    6h ago
    apps/jobs/src/workers/giftCardIssuanceJob.tsapps/pos/src/components/GiftCardTenderStatus.tsapps/pos/src/components/RefundLineSelector.test.ts+9 more
  • ShippedREQ-POS-006

    Receipts must be available as printed (ESC/POS) and digital (email/SMS).

    6h ago
    apps/pos/src/components/ReceiptDeliveryOptions.test.tsapps/pos/src/components/ReceiptDeliveryOptions.tsapps/pos/src/index.ts+1 more
  • ShippedREQ-POS-007

    End-of-day reconciliation must produce a cash-drawer report and a shift summary.

    6h ago
    apps/jobs/src/workers/shiftSummaryJob.tsapps/pos/src/receipt/shiftSummaryLines.test.tsapps/pos/src/receipt/shiftSummaryLines.ts+2 more
  • ShippedREQ-POS-020

    A dedicated iPad POS application is required ??? browser-only is insufficient. Chosen platform: React Native + Expo with Expo Modules for native integrations and EAS Build for distribution. Rationale: single TypeScript stack shared with th…

    6h ago
    packages/core/src/checkoutPricingReadiness/index.test.ts×4apps/web/src/app/api/pos/runtime/route.ts×2packages/api-contracts/src/posSaleSync.test.ts×2+4 more
  • ShippedREQ-POS-021

    The app must achieve sub-second response for the critical path: scan ??? add line ??? total ??? tender ??? receipt.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.ts
  • ShippedREQ-POS-022

    The app must operate fully offline for at least 8 continuous hours of normal register activity, with local transaction durability across app restarts and device reboots.

    6h ago
    apps/pos/src/flow/heldCarts.ts×3apps/pos/src/runtime/registerWorkbench.test.tspackages/core/src/retailRuntimeReadiness/index.ts
  • ShippedREQ-POS-023

    The app must sync background transactions to the server as connectivity permits, with conflict resolution per �17.

    6h ago
    apps/pos/src/runtime/registerWorkbench.test.tspackages/core/src/retailRuntimeReadiness/index.ts
  • ShippedREQ-POS-024

    The app must integrate with Bluetooth barcode scanners (HID mode), ESC/POS thermal receipt printers, and electronic cash drawers (RJ-11 kick via receipt printer).

    6h ago
    packages/events/src/domain/pos.ts×4apps/pos/src/components/NoSaleDrawerStatus.test.tsapps/pos/src/components/NoSaleDrawerStatus.ts+7 more
  • ShippedREQ-POS-025

    The app must support tap-to-pay card acceptance via a certified payments SDK (Stripe Terminal, including Tap to Pay on iPhone/iPad), with PIN and signature flows where required.

    6h ago
    apps/pos/src/hw/types.tspackages/core/src/retailRuntimeReadiness/index.tspackages/events/src/domain/pos.ts
  • ShippedREQ-POS-026

    A shared core library (pricing, validation, tax calc preview, API client, typed domain models) must be published as a package consumable by both the Next.js web app and the Expo POS app to prevent rule drift between channels.

    6h ago
    packages/core/src/checkoutPricingReadiness/index.test.tspackages/core/src/retailRuntimeReadiness/index.ts
  • ShippedREQ-POS-572

    POS label-printer status projection (apps/pos/src/components/LabelPrinterStatus.ts). Pure UI-runtime-free helper for the existing LabelPrintResult and bolt-label print context that maps ready, not-ready, printing, printed, and failed label…

    6h ago
    apps/pos/src/components/PosReleaseGapSuiteStatus.test.ts×2apps/pos/src/components/LabelPrinterStatus.test.tsapps/pos/src/components/LabelPrinterStatus.ts
  • ShippedREQ-POS-700

    The overnight POS register path must be guarded by the pos.register-session feature flag and must expose a disabled state that blocks sale completion without mutating the cart, tender state, hardware, or sync queue.

    6h ago
    packages/core/src/posLaunchReadiness/index.test.ts×8packages/core/src/storefrontPosBridgeReadiness/index.test.ts×6apps/pos/src/flow/registerSession.test.ts×4+9 more
  • ShippedREQ-POS-701

    The register path must derive its cashier-facing phase from the existing critical-path reducer and tender reducer: ready to scan, enter yardage, review cart, take payment, finalize sale, or blocked.

    6h ago
    apps/pos/src/flow/registerSession.ts×2apps/pos/src/flow/registerSession.test.ts
  • ShippedREQ-POS-702

    The register path must surface deterministic blockers before finalization, including empty cart, non-complete tender, disabled feature flag, and offline queue failure, without relying on native UI alerts.

    6h ago
    apps/pos/src/flow/registerSession.ts×6apps/pos/src/flow/registerSession.test.ts
  • ShippedREQ-POS-703

    Sale completion must enqueue a restart-durable offline mutation before printing a receipt or opening the cash drawer, so a completed tender is never lost because of hardware failure.

    6h ago
    apps/pos/src/flow/registerSession.ts×3apps/pos/src/flow/registerSession.test.ts×2
  • ShippedREQ-POS-704

    Queued POS sale mutations must be JSON-serializable without bigint loss by storing minor-unit money and yardage sixteenths as base-10 strings.

    6h ago
    apps/pos/src/flow/registerSession.ts×2apps/pos/src/flow/registerSession.test.ts
  • ShippedREQ-POS-705

    Each queued sale mutation must carry an idempotency key scoped by tenant, device, sale id, and occurrence timestamp so reconnect sync can safely retry.

    6h ago
    apps/pos/src/flow/registerSession.ts×2apps/pos/src/flow/registerSession.test.tsapps/pos/src/flow/saleSync.test.ts
  • ShippedREQ-POS-706

    The queued sale mutation must include only the minimum non-PII register payload: tenant id, device id, optional cashier user id, cart line snapshots, totals, tender method, tender amounts, receipt intent, and source requirement ids.

    6h ago
    apps/pos/src/flow/registerSession.ts×2apps/pos/src/flow/registerSession.test.ts
  • ShippedREQ-POS-707

    Receipt printing must use the POS hardware adapter only, must produce a deterministic ESC/POS-ready print request, and must not block sale durability once the queue write succeeds.

    6h ago
    apps/pos/src/flow/registerSession.test.ts×2apps/pos/src/flow/registerSession.ts×2
  • ShippedREQ-POS-708

    Cash-drawer opens after cash tender must use the sale-open reason with the queued sale id; card and store-credit tenders must not open the drawer.

    6h ago
    apps/pos/src/flow/registerSession.ts×2apps/pos/src/flow/registerSession.test.ts
  • ShippedREQ-POS-709

    Hardware failures during receipt print or cash-drawer open must return a cashier-safe warning while preserving the queued sale mutation for sync.

    6h ago
    apps/pos/src/flow/registerSession.ts×2apps/pos/src/flow/registerSession.test.ts
  • ShippedREQ-POS-710

    The register path must emit typed span-intent metadata for pos.tender and pos.receipt so the Expo runtime can bridge it to the telemetry wrapper without importing vendor SDKs.

    6h ago
    apps/pos/src/flow/registerSession.ts×2apps/pos/src/flow/registerSession.test.ts
  • ShippedREQ-POS-711

    The register readiness model must include sync queue status, pending mutation count, connectivity state, and a cashier-safe sync label for offline operation.

    6h ago
    apps/pos/src/flow/registerSession.ts×2packages/core/src/storefrontPosBridgeReadiness/index.test.ts×2apps/pos/src/flow/registerSession.test.ts
  • ShippedREQ-POS-712

    The register readiness model must include hardware status for scanner, receipt printer, cash drawer, and payment terminal without assuming any specific vendor model is present.

    6h ago
    apps/pos/src/flow/registerSession.ts×2apps/pos/src/flow/registerSession.test.ts
  • ShippedREQ-POS-713

    The register path must expose a compact dashboard-tile model showing register phase, pending offline sales, and blocking status for REQ-ANL-042.

    6h ago
    apps/pos/src/flow/registerSession.ts×6apps/pos/src/flow/registerSession.test.ts×2
  • ShippedREQ-POS-714

    The POS package root must export the register-session contract so future Expo screens consume a stable public API instead of private flow files.

    6h ago
    apps/pos/src/flow/registerSession.ts×3apps/pos/src/flow/registerSession.test.ts×2apps/pos/src/components/RegisterSessionStatus.test.ts+3 more
  • ShippedREQ-POS-715

    Completed POS sales must sync through an authenticated server API that validates a JSON-safe sale payload, derives tenant identity from the Clerk organization, uses the POS sale UUID as the idempotent order id, and returns accepted or dupl…

    6h ago
    packages/core/src/posLaunchReadiness/index.test.ts×4packages/api-contracts/src/posSaleSync.test.ts×3apps/pos/src/runtime/apiClient.test.ts×2+10 more
  • ShippedREQ-POS-716

    POS sale sync must apply inventory authoritatively on the server by requiring a physical boltId for every fabric line, validating the bolt/SKU relationship under RLS, and decrementing remaining yardage through the atomic cut primitive in t…

    6h ago
    apps/pos/src/flow/saleSync.test.tsapps/pos/src/runtime/registerWorkbench.test.tsapps/web/src/app/api/pos/sales/sync/route.ts+4 more
  • ShippedREQ-POS-717

    The Expo POS web workbench must expose an offline sync-recovery panel that classifies queued, syncing, and failed sale mutations, shows pending value, age, retry state, and cashier-safe recovery guidance, and enables flush/retry actions on…

    6h ago
    apps/pos/src/components/SyncRecoveryStatus.test.tsapps/pos/src/components/SyncRecoveryStatus.ts
  • ShippedREQ-POS-718

    The Expo POS web workbench must expose a unified sales journal that combines durable queued sales and synced receipt previews into one audit surface with tender labels, total labels, receipt/refund affordance state, and failed-sale review…

    6h ago
    apps/pos/src/components/SalesJournalStatus.test.tsapps/pos/src/components/SalesJournalStatus.ts
  • ShippedREQ-POS-719

    The Expo POS web workbench must expose an inventory exception panel derived from local bolt reservations and queued sales, flagging low remaining yardage, unknown bolts, and over-reserved bolts before tender so cashiers do not unknowingly…

    6h ago
    apps/pos/src/components/PosReleaseGapSuiteStatus.test.ts×2apps/pos/src/components/InventoryExceptionStatus.test.tsapps/pos/src/components/InventoryExceptionStatus.ts
  • ShippedREQ-POS-720

    The Expo POS web workbench must expose a tender closeout audit panel that summarizes current staged tender legs, shift expected cash, and closeout variance without using floating-point money math.

    6h ago
    apps/pos/src/components/TenderCloseoutAuditStatus.test.tsapps/pos/src/components/TenderCloseoutAuditStatus.ts
  • ShippedREQ-POS-721

    The Expo POS web workbench must expose a staff handoff summary that combines register readiness, offline queue state, held carts, receipts, and completed refunds into a concise transfer checklist for the next cashier.

    6h ago
    apps/pos/src/components/StaffHandoffStatus.test.tsapps/pos/src/components/StaffHandoffStatus.ts
  • ShippedREQ-POS-722

    The Expo POS web workbench must expose a register command center that combines cart state, tender readiness, release readiness, offline queue state, and idle lock state into ranked cashier actions for scan, tender, queue, sync, and recover…

    6h ago
    apps/pos/src/components/RegisterCommandCenterStatus.test.tsapps/pos/src/components/RegisterCommandCenterStatus.ts
  • ShippedREQ-POS-723

    The Expo POS web workbench must expose an offline session durability panel that scores authenticated session continuity, network mode, offline queue health, held carts, and latest local snapshot freshness before the cashier continues offli…

    6h ago
    packages/core/src/posLaunchReadiness/index.test.ts×3packages/core/src/posFinalizationReadiness/index.test.ts×2apps/pos/src/components/OfflineSessionDurabilityStatus.test.ts+6 more
  • ShippedREQ-POS-724

    The Expo POS web workbench must expose a receipt issue queue that combines receipt print state, staged digital delivery jobs, and receipt reprint audit upload state so staff can recover customer receipt failures before closeout.

    6h ago
    packages/core/src/posFinalizationReadiness/index.test.ts×9packages/core/src/posLaunchReadiness/index.test.ts×4apps/pos/src/components/PosReleaseGapSuiteStatus.test.ts×2+9 more
  • ShippedREQ-POS-725

    The Expo POS web workbench must expose customer checkout readiness that summarizes attached customer state, store-credit availability, loyalty projection, and receipt-contact readiness before tender completion.

    6h ago
    packages/core/src/posWorkbenchCommandReadiness/index.test.ts×7apps/pos/src/components/CustomerCheckoutReadinessStatus.test.tsapps/pos/src/components/CustomerCheckoutReadinessStatus.ts+2 more
  • ShippedREQ-POS-726

    The Expo POS web workbench must expose a manager exception board that summarizes refunds, price overrides, line-void targets, no-sale drawer opens, and held carts so exception-heavy shifts can be reviewed before closeout or handoff.

    6h ago
    apps/pos/src/components/ManagerExceptionBoardStatus.test.tsapps/pos/src/components/ManagerExceptionBoardStatus.tspackages/core/src/posLaunchReadiness/index.test.ts
  • ShippedREQ-POS-727

    The Expo POS web workbench must expose a shift launch checklist that combines cashier auth, device registration, timeclock, opening float, hardware readiness, and offline queue state before a cashier starts selling.

    6h ago
    packages/core/src/posLaunchReadiness/index.test.ts×4apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-728

    The Expo POS web workbench must expose scan reliability status that combines scanner adapter readiness, active/cancelled read state, timeout outcome, last scan result, and dispatch diagnostics so staff can recover barcode entry issues quic…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-729

    The Expo POS web workbench must expose tender settlement readiness that combines staged tender lines, remaining/change due, card terminal readiness, and offline queue blockers before a sale is queued.

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-730

    The Expo POS web workbench must expose customer display handoff readiness that combines customer-display adapter state, display payload totals, preview push count, attached customer context, and receipt contact state before checkout comple…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-731

    The Expo POS web workbench must expose a closeout risk board that rolls up tender closeout, offline durability, receipt issue queue, and manager exception state into a final closeout decision.

    6h ago
    packages/core/src/posWorkbenchCommandReadiness/index.test.ts×2apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-732

    The Expo POS web workbench must expose a lane throughput board that combines active cart lines, held carts, offline queue pressure, synced receipts, busy state, and idle lock state into a cashier lane-capacity decision.

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-733

    The Expo POS web workbench must expose a cash control board that combines opening float, expected drawer cash, counted cash, closeout variance, no-sale drawer opens, and queued-sale blockers before shift close.

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-734

    The Expo POS web workbench must expose a customer recovery board that combines transaction lookup, refund flow, receipt issue queue, selected customer state, and completed refund count for post-sale service recovery.

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-735

    The Expo POS web workbench must expose an inventory service board that combines inventory reservation exceptions, cycle-count state, label-printer state, scale state, and offline queue pressure before cutting or printing labels.

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-736

    The Expo POS web workbench must expose a loyalty and stored-value board that combines selected customer, loyalty projection, store-credit suggestion, gift-card lookup, coupon state, and remaining tender amount before payment.

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-737

    The Expo POS web workbench must expose a peripheral operations board that combines required hardware health, optional peripheral readiness, printer adapter state, label-printer state, NFC readiness, scale readiness, and display readiness.

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-738

    The Expo POS web workbench must expose a training and demo readiness board that combines training-sale draft availability, demo catalog coverage, cashier authentication, device registration, and offline queue cleanliness before staff pract…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-739

    The Expo POS web workbench must expose a receipt fulfillment board that combines receipt print state, receipt QR state, receipt delivery readiness, receipt issue queue state, reprint audit queue state, latest synced receipts, and printer r…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-740

    The Expo POS web workbench must expose an offline recovery command board that combines connectivity state, offline queue pressure, active flush state, sync recovery state, offline durability state, and held-cart count before staff attempt…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-741

    The Expo POS web workbench must expose a device operations board that combines device registration state, API runtime configuration, authenticated org context, Stripe reader mapping, hardware health, and connectivity state before a lane op…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-742

    The Expo POS web workbench must expose a security controls board that combines cashier authentication, idle-lock state, manager exception state, price override state, drawer open audit count, and line-void target state before sensitive act…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-743

    The Expo POS web workbench must expose a promotion and pricing board that combines coupon state, discount scan state, active price override state, applied discount amount, manager exception state, and remaining tender amount before checkou…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-744

    The Expo POS web workbench must expose a post-sale audit board that combines sales journal state, synced receipt count, completed refund count, receipt reprint audit state, no-sale drawer open count, and failed queue count before closeout.

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-745

    The Expo POS web workbench must expose a continuity snapshot board that combines saved snapshot state, held-cart count, active cart line count, offline queue pressure, local event bus state, and completed receipt count for register restart…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-746

    The Expo POS web workbench must expose a cart integrity board that combines checkout readiness, cart total audit state, cart conflict state, inventory exception state, active cart line count, and remaining tender amount before checkout han…

    6h ago
    packages/core/src/posWorkbenchCommandReadiness/index.test.ts×2apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-747

    The Expo POS web workbench must expose a tender method coverage board that combines available tender methods, selected tender method, card terminal readiness, drawer readiness, store-credit suggestion, gift-card lookup state, and staged ti…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-748

    The Expo POS web workbench must expose a queue performance board that combines offline queue summary, sync recovery state, flush state, sales journal state, connectivity, and local event backlog before staff start queue recovery.

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-749

    The Expo POS web workbench must expose a cashier productivity board that combines cashier identity, timeclock state, active cart lines, synced receipts, completed refunds, held carts, and lane busy state for shift coaching.

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-750

    The Expo POS web workbench must expose a customer engagement board that combines selected customer, customer checkout readiness, loyalty projection, receipt delivery readiness, customer display state, and coupon state before customer hando…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-751

    The Expo POS web workbench must expose an inventory cut readiness board that combines yardage rounding state, physical scale state, cycle-count state, inventory exception state, label printer readiness, and NFC readiness before fabric cutt…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-752

    The Expo POS web workbench must expose an end-of-day command board that combines end-of-day flow state, shift summary state, cash control state, tender closeout state, post-sale audit state, and closeout risk state before shift close.

    6h ago
    packages/core/src/posFinalizationReadiness/index.test.ts×3apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-753

    The Expo POS web workbench must expose a checkout completion command board that combines cart integrity, tender settlement, tender method coverage, queue performance, receipt fulfillment, and hardware/peripheral readiness before the cashie…

    6h ago
    packages/core/src/posFinalizationReadiness/index.test.ts×4apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-754

    The Expo POS web workbench must expose a sync command health board that combines connectivity, queue performance, offline recovery, device operations, continuity snapshot, and local event backlog before staff flush or retry offline sale wo…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-755

    The Expo POS web workbench must expose a register launch decision board that combines shift launch, device operations, security controls, peripheral operations, scan reliability, and training/demo readiness before a lane opens.

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-756

    The Expo POS web workbench must expose a payment assurance board that combines promotion/pricing state, loyalty and stored value state, customer checkout state, tender settlement state, tender method coverage, and queue health before payme…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-757

    The Expo POS web workbench must expose a receipt recovery command board that combines receipt fulfillment, receipt issue queue, customer recovery, post-sale audit, printer readiness, and audit queue state before staff close a customer rece…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-758

    The Expo POS web workbench must expose an inventory assurance board that combines inventory service, inventory cut readiness, cart integrity, scan reliability, queue performance, and label/NFC readiness before inventory-affecting checkout…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-759

    The Expo POS web workbench must expose a customer service desk board that combines customer engagement, customer recovery, loyalty/stored value state, receipt fulfillment, transaction lookup state, and refund count for post-sale support.

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-760

    The Expo POS web workbench must expose a manager closeout command board that combines end-of-day command, closeout risk, cash control, security controls, manager exception state, and queue performance before managers close the register.

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-761

    The Expo POS web workbench must expose a critical path assurance board that combines scan reliability, cart integrity, checkout completion, payment assurance, lane throughput, and cashier productivity before staff decide the lane can proce…

    6h ago
    packages/core/src/posWorkbenchCommandReadiness/index.test.ts×2apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-762

    The Expo POS web workbench must expose an offline selling decision board that combines sync command health, offline recovery, offline durability, queue performance, cart integrity, and inventory assurance before staff continue selling with…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-763

    The Expo POS web workbench must expose a hardware serviceability board that combines peripheral operations, device operations, receipt recovery, inventory assurance, scan reliability, and printer/terminal readiness before hardware-dependen…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-764

    The Expo POS web workbench must expose a staff accountability board that combines cashier productivity, security controls, manager exception state, register launch decision, customer service desk, and manager closeout before shift handoff…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-765

    The Expo POS web workbench must expose a closeout audit packet board that combines manager closeout, end-of-day command, receipt recovery, post-sale audit, cash control, and tender closeout before closeout records are treated as review-rea…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-766

    The Expo POS web workbench must expose a customer handoff command board that combines customer engagement, payment assurance, receipt recovery, customer display handoff, customer service desk, and receipt fulfillment before the customer le…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-767

    The Expo POS web workbench must expose a training mode control board that combines register launch decision, training/demo readiness, security controls, device operations, queue performance, and cashier productivity before staff practice t…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-768

    The Expo POS web workbench must expose a release blocker matrix board that combines critical path assurance, offline selling decision, hardware serviceability, staff accountability, closeout audit packet, customer handoff, training mode co…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-769

    The Expo POS web workbench must expose a sale floor go/no-go board that combines critical path assurance, offline selling decision, hardware serviceability, customer handoff, staff accountability, and release blocker matrix before floor le…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-770

    The Expo POS web workbench must expose a network outage playbook board that combines offline selling decision, sync command health, offline recovery command, queue performance, continuity snapshot, and cart integrity before staff operate t…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-771

    The Expo POS web workbench must expose a receipt counter recovery board that combines customer handoff, receipt recovery command, receipt fulfillment, customer service desk, post-sale audit, and printer readiness before staff dismiss recei…

    6h ago
    apps/pos/src/components/WorkbenchReadinessSuiteStatus.test.ts×2apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-772

    The Expo POS web workbench must expose an inventory risk command board that combines inventory assurance, inventory service, inventory cut readiness, cart integrity, offline selling decision, and scan reliability before inventory-affecting…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-773

    The Expo POS web workbench must expose a cash room audit board that combines closeout audit packet, manager closeout, cash control, end-of-day command, tender closeout, and post-sale audit before cash records leave the register.

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-774

    The Expo POS web workbench must expose a device fleet launch board that combines hardware serviceability, device operations, peripheral operations, register launch decision, training mode control, and sync command health before a POS devic…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-775

    The Expo POS web workbench must expose an associate coaching board that combines staff accountability, cashier productivity, security controls, customer engagement, training mode control, and customer service desk before manager coaching o…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-776

    The Expo POS web workbench must expose a customer experience assurance board that combines customer handoff, customer engagement, payment assurance, receipt recovery, customer display handoff, and customer service desk before staff treat c…

    6h ago
    packages/core/src/posWorkbenchCommandReadiness/index.test.ts×2apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-777

    The Expo POS web workbench must expose a release war room board that combines release blocker matrix, sale floor go/no-go, network outage playbook, inventory risk command, cash room audit, and device fleet launch for a single launch-readin…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-778

    The Expo POS web workbench must expose an incident escalation board that combines release blocker matrix, network outage playbook, hardware serviceability, receipt counter recovery, security controls, and manager closeout before support es…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-779

    The Expo POS web workbench must expose a store opening readiness board that combines register launch decision, shift launch checklist, device operations, hardware serviceability, cash control, and training mode control before opening the l…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-780

    The Expo POS web workbench must expose a store closing readiness board that combines closeout audit packet, manager closeout, cash room audit, receipt counter recovery, offline selling decision, and staff accountability before closing the…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-781

    The Expo POS web workbench must expose a live lane supervisor board that combines sale floor go/no-go, lane throughput, critical path assurance, associate coaching, customer experience assurance, and incident escalation while a customer-fa…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-782

    The Expo POS web workbench must expose an offline queue triage board that combines network outage playbook, sync command health, queue performance, receipt counter recovery, cash room audit, and failed queue count before staff retry offlin…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-783

    The Expo POS web workbench must expose a payment recovery board that combines payment assurance, tender settlement, tender method coverage, receipt counter recovery, customer service desk, and manager exceptions before staff recover paymen…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-784

    The Expo POS web workbench must expose a fabric counter assurance board that combines inventory risk command, inventory cut readiness, scan reliability, cart integrity, hardware serviceability, and queue performance before cutting fabric a…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-785

    The Expo POS web workbench must expose a hardware pairing readiness board that combines device fleet launch, hardware serviceability, peripheral operations, device operations, scan reliability, and receipt counter recovery before pairing o…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-786

    The Expo POS web workbench must expose a shift handoff packet board that combines staff accountability, associate coaching, store closing readiness, customer service desk, offline queue triage, and closeout audit packet before a cashier ha…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-787

    The Expo POS web workbench must expose a refund authorization board that combines customer service desk, customer recovery, manager closeout, security controls, post-sale audit, and receipt counter recovery before refund work continues.

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-788

    The Expo POS web workbench must expose a training certification board that combines training mode control, associate coaching, store opening readiness, device fleet launch, sale floor go/no-go, and release war room before staff sign off tr…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-789

    The Expo POS web workbench must expose a customer issue prevention board that combines customer experience assurance, customer handoff command, customer engagement, receipt counter recovery, payment recovery, and inventory risk command bef…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-790

    The Expo POS web workbench must expose a launch rehearsal board that combines store opening readiness, release war room, device fleet launch, network outage playbook, cash room audit, and training certification before rehearsal is marked c…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-791

    The Expo POS web workbench must expose a compliance evidence board that combines cash room audit, closeout audit packet, post-sale audit, security controls, incident escalation, and store closing readiness before audit evidence is consider…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-792

    The Expo POS web workbench must expose an operator release cockpit board that combines release war room, live lane supervisor, offline queue triage, payment recovery, fabric counter assurance, hardware pairing readiness, shift handoff pack…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.tspackages/core/src/posFinalizationReadiness/index.test.ts
  • ShippedREQ-POS-793

    The Expo POS web workbench must expose a register resilience board that combines operator release cockpit, sync command health, continuity snapshot, offline queue triage, network outage playbook, and device fleet launch before the register…

    6h ago
    packages/core/src/posFinalizationReadiness/index.test.ts×4apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-794

    The Expo POS web workbench must expose a tender risk board that combines payment recovery, payment assurance, tender settlement, tender method coverage, cash room audit, and manager exceptions before tender anomalies are dismissed.

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-795

    The Expo POS web workbench must expose an inventory reconciliation board that combines fabric counter assurance, inventory risk command, inventory assurance, post-sale audit, queue performance, and compliance evidence before inventory disc…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-796

    The Expo POS web workbench must expose a customer recovery command board that combines customer issue prevention, refund authorization, receipt counter recovery, customer service desk, customer experience assurance, and incident escalation…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-797

    The Expo POS web workbench must expose a hardware incident board that combines hardware pairing readiness, hardware serviceability, device fleet launch, receipt counter recovery, incident escalation, and peripheral operations before hardwa…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-798

    The Expo POS web workbench must expose a shift leader dashboard board that combines live lane supervisor, shift handoff packet, associate coaching, store opening readiness, store closing readiness, and operator release cockpit for lane-lea…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-799

    The Expo POS web workbench must expose a training floor board that combines training certification, training mode control, associate coaching, customer issue prevention, hardware pairing readiness, and launch rehearsal before floor trainin…

    6h ago
    packages/core/src/posLaunchReadiness/index.test.ts×3packages/core/src/releaseAcceptanceReadiness/index.test.ts×2apps/pos/src/components/ReleaseOperationsStatus.test.ts+2 more
  • ShippedREQ-POS-800

    The Expo POS web workbench must expose a closeout compliance board that combines compliance evidence, store closing readiness, cash room audit, closeout audit packet, offline queue triage, and refund authorization before closeout complianc…

    6h ago
    packages/core/src/releaseAcceptanceReadiness/index.test.ts×9packages/core/src/releaseCompletionReadiness/index.test.ts×4apps/pos/src/components/ReleaseOperationsStatus.test.ts+4 more
  • ShippedREQ-POS-801

    The Expo POS web workbench must expose a disaster recovery drill board that combines network outage playbook, offline queue triage, continuity snapshot, device fleet launch, incident escalation, and operator release cockpit before recovery…

    6h ago
    packages/core/src/posWorkbenchCommandReadiness/index.test.ts×8apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-802

    The Expo POS web workbench must expose a release signoff packet board that combines operator release cockpit, launch rehearsal, compliance evidence, sale floor go/no-go, store opening readiness, and store closing readiness before go-live s…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-803

    The Expo POS web workbench must expose a daily health pulse board that combines live lane supervisor, payment recovery, fabric counter assurance, hardware pairing readiness, customer issue prevention, and compliance evidence into a daily l…

    6h ago
    apps/pos/src/components/WorkbenchReadinessSuiteStatus.test.ts×2apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-804

    The Expo POS web workbench must expose an executive go-live command board that combines release signoff packet, daily health pulse, disaster recovery drill, shift leader dashboard, tender risk, and register resilience into the final execut…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-805

    The Expo POS web workbench must expose a regional rollout readiness board that combines executive go-live command, store opening readiness, device fleet launch, training floor, disaster recovery drill, and closeout compliance before a stor…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-806

    The Expo POS web workbench must expose a pilot store command board that combines regional rollout readiness, live lane supervisor, daily health pulse, hardware incident, tender risk, and inventory reconciliation before pilot expansion cont…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-807

    The Expo POS web workbench must expose a multi-lane coordination board that combines register resilience, lane throughput, shift leader dashboard, cashier productivity, device operations, and hardware pairing readiness before multiple regi…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-808

    The Expo POS web workbench must expose a support escalation closure board that combines hardware incident, customer recovery command, disaster recovery drill, incident escalation, compliance evidence, and tender risk before support escalat…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.tspackages/core/src/posFinalizationReadiness/index.test.ts
  • ShippedREQ-POS-809

    The Expo POS web workbench must expose a revenue protection board that combines tender risk, payment recovery, refund authorization, cash room audit, security controls, and post-sale audit before cash or tender exposure is accepted.

    6h ago
    packages/core/src/posFinalizationReadiness/index.test.ts×4apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-810

    The Expo POS web workbench must expose an inventory protection board that combines inventory reconciliation, fabric counter assurance, inventory risk command, inventory service, compliance evidence, and offline queue triage before inventor…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-811

    The Expo POS web workbench must expose an experience protection board that combines customer recovery command, customer issue prevention, customer experience assurance, customer handoff command, receipt recovery command, and daily health p…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-812

    The Expo POS web workbench must expose a store operations readiness board that combines shift leader dashboard, closeout compliance, register resilience, hardware incident, staff accountability, and manager closeout command before store op…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-813

    The Expo POS web workbench must expose a release communications board that combines release signoff packet, executive go-live command, daily health pulse, incident escalation, training floor, and store opening readiness before launch commu…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-814

    The Expo POS web workbench must expose a launch day command board that combines regional rollout readiness, pilot store command, multi-lane coordination, support escalation closure, revenue protection, and inventory protection into a same-…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-815

    The Expo POS web workbench must expose a stabilization command board that combines launch day command, experience protection, store operations readiness, disaster recovery drill, closeout compliance, and executive go-live command before st…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.tsapps/pos/src/components/ReleaseOperationsStatus.ts
  • ShippedREQ-POS-816

    The Expo POS web workbench must expose a release retrospective board that combines stabilization command, compliance evidence, post-sale audit, daily health pulse, inventory reconciliation, and customer recovery command before release lear…

    6h ago
    apps/pos/src/components/ReleaseOperationsStatus.test.ts×2apps/pos/src/components/ReleaseOperationsStatus.ts×2packages/core/src/posFinalizationReadiness/index.test.ts+1 more
  • ShippedREQ-POS-817

    The Expo POS web workbench must expose a deterministic end-to-end purchase test action that uses local sample catalog data and a cash test tender to exercise cart creation, tender staging, offline queueing, simulated accepted sync, and rec…

    6h ago
    apps/pos/src/runtime/registerWorkbench.ts×2packages/core/src/posFinalizationReadiness/index.test.ts×2packages/core/src/releaseCompletionReadiness/index.test.ts×2+1 more
  • ShippedREQ-POS-818

    The Expo POS web workbench must expose purchase-test evidence that shows the order ID, receipt total, post-sync queue state, and each completed step so an operator can verify the app is ready for a manual purchase test before using live au…

    6h ago
    apps/pos/src/runtime/registerWorkbench.ts×6packages/core/src/posWorkbenchCommandReadiness/index.test.ts×5apps/pos/src/runtime/registerWorkbench.test.ts
  • ShippedREQ-POS-819

    The Expo POS web workbench must expose a live API purchase-test readiness gate that blocks live sale-sync testing until the API origin, Clerk staff session, selected organization, device ID, registered device state, online connectivity, an…

    6h ago
    apps/pos/src/components/WorkbenchReadinessSuiteStatus.test.ts×2apps/pos/src/runtime/registerWorkbench.ts×2apps/pos/src/runtime/registerWorkbench.test.ts
  • ShippedREQ-POS-820

    The Expo POS web workbench must expose a live API purchase-test flow that stages a local sample-catalog cash sale into the offline queue, syncs that exact sale through /api/pos/sales/sync, and records receipt/order evidence from the API re…

    6h ago
    apps/pos/src/runtime/registerWorkbench.ts×7apps/pos/src/runtime/registerWorkbench.test.ts×5apps/pos/src/index.test.ts×2
  • ShippedREQ-POS-821

    The Expo POS web workbench must expose an E2E test command center that rolls up local purchase-test evidence, live API purchase-test readiness, queued-sale state, receipt/recovery evidence, customer context, and cash-lane hardware readines…

    6h ago
    apps/pos/src/runtime/registerWorkbench.test.ts×2apps/pos/src/runtime/registerWorkbench.ts×2
  • ShippedREQ-POS-822

    The Expo POS web workbench must provide a local test-lane preparation action that seeds safe workbench-only customer, cashier, timeclock, connectivity, opening-float, and cash-lane hardware state without faking Clerk authentication, select…

    6h ago
    apps/pos/src/runtime/registerWorkbench.ts×2apps/pos/src/runtime/registerWorkbench.test.tspackages/core/src/posWorkbenchCommandReadiness/index.test.ts+1 more
  • ShippedREQ-POS-823

    The Expo POS web workbench must expose manual E2E verification checks after live sale sync, including API order acceptance, receipt-history presence, offline queue clearance, receipt recovery readiness, and closeout safety, so a tester can…

    6h ago
    apps/pos/src/runtime/registerWorkbench.ts×6packages/core/src/posFinalizationReadiness/index.test.ts×3packages/core/src/releaseAcceptanceReadiness/index.test.ts×3+8 more
  • ShippedREQ-POS-030

    Devices must be enrollable to a store with per-device credentials and revocable tokens.

    6h ago
    apps/pos/src/runtime/apiClient.test.ts×2apps/pos/src/session/types.ts×2apps/web/src/app/api/pos/runtime/route.ts×2+9 more
  • ShippedREQ-POS-031

    Sensitive actions (refunds, price overrides, drawer opens outside a sale) must require a manager PIN or biometric step-up.

    6h ago
    apps/pos/src/session/types.ts×3packages/events/src/domain/pos.ts×3apps/pos/src/runtime/registerWorkbench.test.ts×2+18 more
  • ShippedREQ-POS-501

    Scaffold apps/pos as a TypeScript-first package for the React Native + Expo app (DEC-001 / REQ-POS-020). Strict TS via tsconfig.base.json, ESLint + Prettier wired to the root flat config, @bolttocart/core imported with types end-to-end, pn…

    6h ago
    apps/pos/src/flow/criticalPath.test.tsapps/pos/src/index.tsapps/pos/src/screens/cart.ts+4 more
  • ShippedREQ-POS-503

    Device-session abstraction (apps/pos/src/session/deviceSession.ts) and manager-PIN gate stub (apps/pos/src/session/managerGate.ts) per REQ-POS-030 / REQ-POS-031. DeviceSession wraps an injected DeviceSessionReader that the forthcoming Cler…

    6h ago
    apps/pos/src/flow/noSaleDrawerOpen.tsapps/pos/src/hw/noopHardware.tsapps/pos/src/index.ts+6 more
  • ShippedREQ-POS-511

    In-memory held-cart store (apps/pos/src/flow/heldCarts.ts) per REQ-POS-004 / REQ-POS-022. HeldCartStore (plain class, no framework dep) provides: park(state, label?) ??? serialises CriticalPathState via serializeCartSnapshot (REQ-POS-504),…

    6h ago
    apps/pos/src/flow/heldCarts.test.tsapps/pos/src/flow/heldCarts.tspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-POS-512

    End-of-day report builder + state machine (apps/pos/src/flow/endOfDayReport.ts). Pure reducer driving EndOfDayReportState union: idle | counting | confirming | complete | error. StartEndOfDayOptions: currency, openingFloatMinor, netCashSal…

    6h ago
    apps/pos/src/components/EndOfDayStatus.test.tsapps/pos/src/components/EndOfDayStatus.tsapps/pos/src/flow/endOfDayReport.test.ts+2 more
  • ShippedREQ-POS-513

    Refund flow state machine (apps/pos/src/flow/refundFlow.ts). Steps: idle | selecting-lines | selecting-tender | processing | complete | error. startRefund(state, cart, authorization, currency) ??? accepts ManagerAuthorization from the PIN…

    6h ago
    apps/pos/src/flow/refundFlow.test.tsapps/pos/src/flow/refundFlow.tsapps/pos/src/flow/transactionLookup.ts+1 more
  • ShippedREQ-POS-514

    Customer lookup module (apps/pos/src/flow/customerLookup.ts). PosApiClient interface: lookupCustomers(query: string): Promise<readonly PosCustomer[]> ??? injected; no direct fetch. PosCustomer: { customerId, displayName, email | null, phon…

    6h ago
    apps/pos/src/components/CustomerLookupResults.test.tsapps/pos/src/components/CustomerLookupResults.tsapps/pos/src/flow/customerLookup.test.ts+3 more
  • ShippedREQ-POS-515

    Offline queue (apps/pos/src/flow/offlineQueue.ts). OfflineQueueStorage interface: getItem/setItem/removeItem ??? injected (real: expo-secure-store; test: createInMemoryStorage()). OfflineQueueItem<T>: { id, payload, enqueuedAt: string, att…

    6h ago
    packages/core/src/posOperationsReadiness/index.test.ts×4apps/pos/src/components/OfflineQueueStatus.test.tsapps/pos/src/components/OfflineQueueStatus.ts+4 more
  • ShippedREQ-POS-516

    Split-tender keypad render model (apps/pos/src/components/SplitTenderKeypad.ts). SplitTenderKeypadModel: { remainingMinor, canFinalize, paidMinor, cartTotalMinor, currency, isComplete } (all amounts bigint). buildSplitTenderKeypad(state: T…

    6h ago
    apps/pos/src/components/SplitTenderKeypad.test.tsapps/pos/src/components/SplitTenderKeypad.tspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-POS-517

    Receipt delivery module (apps/pos/src/flow/receiptDelivery.ts). ReceiptDeliveryMethod = "email" | "sms". ReceiptDeliveryOptions: method, address, transactionAt, totalMinor: bigint, currency, tenantId, storeName. ReceiptDeliveryJobPayload:…

    6h ago
    apps/pos/src/flow/receiptDelivery.test.tsapps/pos/src/flow/receiptDelivery.tspackages/core/src/publicExperienceReadiness/index.ts+2 more
  • ShippedREQ-POS-518

    Discount scan handler (apps/pos/src/flow/discountScanHandler.ts). handleDiscountScan(rawPayload, isOnline) ??? parses COUPON:<code> prefix (case-insensitive, trims CR/LF); rejects with { kind: "offline-rejected", code } when isOnline=false…

    6h ago
    apps/pos/src/cart/cartTotals.tsapps/pos/src/components/DiscountScanStatus.tsapps/pos/src/flow/discountScanHandler.test.ts+2 more
  • ShippedREQ-POS-523

    Store-credit balance lookup module (apps/pos/src/flow/storeCreditBalance.ts). StoreCreditBalance: { customerId, balanceMinor: bigint, currency, asOf (ISO) }. StoreCreditClient interface injected. STORE_CREDIT_TTL_MS = 300_000. States: idle…

    6h ago
    apps/pos/src/components/StoreCreditStatus.test.tsapps/pos/src/components/StoreCreditStatus.tsapps/pos/src/flow/storeCreditBalance.test.ts+2 more
  • ShippedREQ-POS-522

    POS device registration state machine (apps/pos/src/flow/posDeviceRegistration.ts). Client-side state machine for registering a POS terminal against the pos_devices schema (REQ-ARC-513). PosDeviceProfile: { deviceId, stripeReaderId, displa…

    6h ago
    apps/pos/src/components/DeviceRegistrationStatus.test.tsapps/pos/src/components/DeviceRegistrationStatus.tsapps/pos/src/flow/posDeviceRegistration.test.ts+2 more
  • ShippedREQ-POS-521

    Cycle-count session flow module (apps/pos/src/flow/cycleCountSession.ts). Pure client-side state machine for the POS cycle-count workflow over the cycle_count_sessions / cycle_count_lines schema (REQ-ARC-512). States: idle | open | confirm…

    6h ago
    apps/pos/src/components/CycleCountStatus.test.tsapps/pos/src/components/CycleCountStatus.tsapps/pos/src/flow/cycleCountSession.test.ts+2 more
  • ShippedREQ-POS-520

    Transaction lookup module (apps/pos/src/flow/transactionLookup.ts). Retrieves a past POS transaction by receipt reference for refund initiation (REQ-POS-513). TransactionClient interface: lookupTransaction(ref: string): Promise<PastTransac…

    6h ago
    apps/pos/src/components/TransactionLookupResult.test.tsapps/pos/src/components/TransactionLookupResult.tsapps/pos/src/flow/transactionLookup.test.ts+2 more
  • ShippedREQ-POS-519

    Price-override flow state machine (apps/pos/src/flow/priceOverrideFlow.ts). Sensitive action per REQ-POS-031 / REQ-PRI-061 — caller must obtain a ManagerAuthorization from ManagerGate.requirePin("price-override", …) before invoking. Pure r…

    6h ago
    apps/pos/src/cart/cartTotals.tsapps/pos/src/components/PriceOverrideStatus.test.tsapps/pos/src/components/PriceOverrideStatus.ts+4 more
  • ShippedREQ-POS-510

    ScanDispatch module (apps/pos/src/flow/scanDispatch.ts) bridging parseScan() (REQ-POS-505) and CriticalPathState (REQ-POS-502). dispatchScan(state, rawPayload, resolver): Promise<ScanDispatchResult> returns a discriminated union: { kind: "…

    6h ago
    apps/pos/src/flow/criticalPath.tsapps/pos/src/flow/scanDispatch.test.tsapps/pos/src/flow/scanDispatch.ts+3 more
  • ShippedREQ-POS-509

    Tender state machine (apps/pos/src/flow/tender.ts). Pure reducer driving TenderState union: idle | selecting-method | awaiting-card-read | awaiting-cash-entry | completing | complete | error. TenderMethod = "card" | "cash" | "store-credit"…

    6h ago
    apps/pos/src/flow/storeCreditBalance.tsapps/pos/src/flow/tender.test.tsapps/pos/src/flow/tender.ts+1 more
  • ShippedREQ-POS-508

    Receipt line builder + 40-column ESC/POS renderer (apps/pos/src/receipt/receiptBuilder.ts). buildReceipt(cart, tenderResult, options): ReceiptModel — pure function composing: header (storeName, terminalId, transactionAt); ReceiptLine[] per…

    6h ago
    apps/pos/src/hw/receiptPrinterExt.test.tsapps/pos/src/receipt/receiptBuilder.test.tsapps/pos/src/receipt/receiptBuilder.ts+1 more
  • ShippedREQ-POS-507

    YardageKeypad state machine (apps/pos/src/components/YardageKeypad.tsx). Pure-TypeScript keypad for fractional yardage entry per REQ-POS-002. Reducer functions: pressDigit(state, d) appends a decimal digit to the bigint-sixteenths accumula…

    6h ago
    apps/pos/src/components/YardageKeypad.test.tsapps/pos/src/components/YardageKeypad.tsxpackages/core/src/publicExperienceReadiness/index.ts+1 more
  • ShippedREQ-POS-506

    CartLineList render-model builder (apps/pos/src/components/CartLineList.tsx). Pure function buildCartLineList(cart: CartValue): CartLineListModel projects each CartItem into a CartLineModel exposing: skuId (bolt scan identifier), displayNa…

    6h ago
    packages/events/src/domain/pos.ts×2apps/pos/src/components/CartLineList.test.tsapps/pos/src/components/CartLineList.tsx+2 more
  • ShippedREQ-POS-505

    Scanner-payload parser for the POS (apps/pos/src/scan/parser.ts) supporting REQ-POS-001 / REQ-POS-003 / REQ-POS-024 / REQ-INV-050. Decodes BOLT:<uuid> and BOLT:<uuid>:<yardage-sixteenths> bolt-label payloads from a Bluetooth HID scanner in…

    6h ago
    apps/pos/src/hw/nfcWriter.ts×2apps/pos/src/flow/scanDispatch.tsapps/pos/src/index.ts+4 more
  • ShippedREQ-POS-504

    Cart snapshot for the POS critical path (apps/pos/src/flow/snapshot.ts). serializeCartSnapshot(state) renders a CriticalPathState to a JSON string where every bigint (yardage sixteenths, per-yard minor price) is a decimal string and every…

    6h ago
    apps/pos/src/flow/heldCarts.ts×2apps/pos/src/flow/snapshot.test.tsapps/pos/src/flow/snapshot.ts+1 more
  • ShippedREQ-POS-544

    Cart-line display-string builder (apps/pos/src/cart/buildLineItem.ts). Pure buildLineItemDisplay({ designerName, collectionName }): string derives the short subtitle shown under each cart line: both populated → "Designer · Collection" (mid…

    6h ago
    apps/pos/src/components/LineItemDisplayStatus.test.ts×2apps/pos/src/cart/buildLineItem.test.tsapps/pos/src/cart/buildLineItem.ts+1 more
  • ShippedREQ-POS-545

    Cart totals breakdown for the POS (apps/pos/src/cart/cartTotals.ts). Pure computeCartTotals({ lines, discountMinor }): { subtotalMinor, discountMinor, taxMinor, totalMinor } collapses cart lines into the four-number breakdown the UI / rece…

    6h ago
    apps/pos/src/receipt/buildReceiptLines.ts×2apps/pos/src/cart/cartTotals.test.tsapps/pos/src/cart/cartTotals.ts+3 more
  • ShippedREQ-POS-547

    Yardage string → nearest-1/16-yard rounding helper (apps/pos/src/cut/roundToSixteenth.ts). Pure roundToSixteenth(input: string): bigint snaps cashier-entered yardage to the canonical 1/16-yard grid defined by REQ-INV-001. Accepts three sha…

    6h ago
    packages/core/src/storefrontPosBridgeReadiness/index.test.ts×4apps/pos/src/components/PosReleaseGapSuiteStatus.test.tsapps/pos/src/components/PosReleaseGapSuiteStatus.ts+7 more
  • ShippedREQ-POS-548

    BoltToCart NFC URI-record parser (apps/pos/src/scan/parseBoltTag.ts). Pure parseBoltTag(input: string): BoltTagParseResult classifies NDEF URI payloads carrying the canonical btc://bolt/<uuid> form that the mobile NFC reader emits directly…

    6h ago
    apps/pos/src/nfc/buildBoltTagPayload.ts×3apps/pos/src/nfc/buildBoltTagPayload.test.ts×2apps/pos/src/scan/parseBoltTag.test.ts+1 more
  • ShippedREQ-POS-549

    TenderKind enum + cashier-facing label map (apps/pos/src/tender/tenderKindLabel.ts). Defines the internal discriminator TenderKind = "card_present" | "cash" | "gift_card" | "house_credit" | "split" used by the POS tender state machine, rec…

    6h ago
    apps/pos/src/tender/tenderKindLabel.test.tsapps/pos/src/tender/tenderKindLabel.ts
  • ShippedREQ-POS-502

    POS critical-path skeleton (scan → yardage → cart → tender) per REQ-POS-001 / REQ-POS-002. Pure reducer (apps/pos/src/flow/criticalPath.ts) drives an immutable CriticalPathState; placeholder screen modules (apps/pos/src/screens/*.ts) are U…

    6h ago
    apps/pos/src/index.ts×3packages/events/src/domain/pos.ts×2packages/events/src/registry.test.ts×2+7 more
  • ShippedREQ-POS-524

    Loyalty-points earn projection (apps/pos/src/flow/loyaltyEarnProjection.ts). Pure buildLoyaltyEarnProjection(cartTotalMinor, rateNumerator, rateDenominator) bigint floor division. Guard: rateDenominator > 0n; 0n when cartTotalMinor=0n. 7 u…

    6h ago
    apps/pos/src/components/LoyaltyEarnProjectionStatus.test.tsapps/pos/src/components/LoyaltyEarnProjectionStatus.tsapps/pos/src/flow/loyaltyEarnProjection.test.ts+3 more
  • ShippedREQ-POS-525

    Gift-card tender leg (apps/pos/src/flow/giftCardTender.ts). Injected GiftCardClient.lookupBalance. State machine idle|entering-code|looking-up|found|insufficient|applied|error. appliedMinor = min(balance, remaining) bigint. 14 unit tests.

    6h ago
    packages/core/src/posOperationsReadiness/index.test.ts×4packages/core/src/publicExperienceReadiness/index.test.ts×3apps/pos/src/components/GiftCardTenderStatus.ts+3 more
  • ShippedREQ-POS-526

    Coupon application flow (apps/pos/src/flow/couponFlow.ts). Injected CouponClient.validateCoupon. State machine idle|entering|validating|applied|rejected|error. 13 unit tests.

    6h ago
    apps/pos/src/components/CouponStatus.test.tsapps/pos/src/components/CouponStatus.tsapps/pos/src/flow/couponFlow.test.ts+1 more
  • ShippedREQ-POS-527

    No-sale drawer-open flow (apps/pos/src/flow/noSaleDrawerOpen.ts). buildNoSaleOpenCommand(opts) validates non-empty authorizedByUserId. 8 unit tests.

    6h ago
    apps/pos/src/flow/noSaleDrawerOpen.test.tsapps/pos/src/flow/noSaleDrawerOpen.ts
  • ShippedREQ-POS-528

    Custom manual-entry product line (apps/pos/src/flow/customLine.ts). buildCustomLine(opts) builds CustomCartLine with skuId=CUSTOM-<uuid> and lineTotalMinor=floor(price*yardage/16n). 10 unit tests.

    6h ago
    apps/pos/src/components/CustomLineStatus.test.ts×2apps/pos/src/index.ts×2apps/pos/src/components/CustomLineStatus.ts+3 more
  • ShippedREQ-POS-529

    Cash-denomination change suggestion (apps/pos/src/flow/changeSuggestion.ts). computeChangeDenominations greedy bigint algorithm. US_DENOMINATIONS (8 denominations). 9 unit tests.

    6h ago
    apps/pos/src/components/ChangeSuggestionStatus.test.tsapps/pos/src/components/ChangeSuggestionStatus.tsapps/pos/src/flow/changeSuggestion.test.ts+1 more
  • ShippedREQ-POS-530

    Cart-line void flow (apps/pos/src/flow/lineVoidFlow.ts). applyLineVoid(cart, opts) pure function. Guards: non-empty auth token, lineIndex in range. 11 unit tests.

    6h ago
    apps/pos/src/components/LineVoidStatus.test.tsapps/pos/src/components/LineVoidStatus.tsapps/pos/src/flow/lineVoidFlow.test.ts+2 more
  • ShippedREQ-POS-531

    POS connectivity-status monitor (apps/pos/src/flow/connectivityMonitor.ts). Injected Fetcher. States: online/offline/degraded. onStateChange unsubscribe. 10 unit tests.

    6h ago
    apps/pos/src/components/ConnectivityStatus.test.ts×2apps/pos/src/components/ConnectivityStatus.tsapps/pos/src/flow/connectivityMonitor.test.ts+3 more
  • ShippedREQ-POS-532

    Offline-queue flush state machine (apps/pos/src/flow/offlineQueueFlush.ts). idle|flushing|complete|error. Pure transitions. 10 unit tests.

    6h ago
    apps/pos/src/components/OfflineFlushStatus.test.tsapps/pos/src/components/OfflineFlushStatus.tsapps/pos/src/flow/offlineQueueFlush.test.ts+1 more
  • ShippedREQ-POS-533

    Session idle-lock module (apps/pos/src/session/idleLock.ts). Injected clock+timer factory. recordActivity/lock/onLock/destroy. 9 unit tests.

    6h ago
    packages/core/src/checkoutPricingReadiness/index.test.ts×4apps/pos/src/components/IdleLockStatus.test.tsapps/pos/src/components/IdleLockStatus.ts+2 more
  • ShippedREQ-POS-534

    Staff clock-in/clock-out stub (apps/pos/src/flow/staffTimeclock.ts). clocked-out|clocked-in|error. getElapsedMs bigint ms. 10 unit tests.

    6h ago
    packages/core/src/checkoutPricingReadiness/index.test.ts×2apps/pos/src/components/StaffTimeclockStatus.tsapps/pos/src/flow/staffTimeclock.test.ts+2 more
  • ShippedREQ-POS-535

    POS OTel span emitter (apps/pos/src/telemetry/posTelemetry.ts). Injected SpanEmitter. pos.scan/pos.add_line/pos.tender/pos.receipt. 11 unit tests.

    6h ago
    apps/pos/src/telemetry/posTelemetry.test.tsapps/pos/src/telemetry/posTelemetry.ts
  • ShippedREQ-POS-536

    SKU low-stock badge (apps/pos/src/components/LowStockBadge.ts). computeStockBadge right-arrow ok|low|out. remainingYards via formatYardageMixed. 8 unit tests.

    6h ago
    apps/pos/src/components/LowStockBadge.test.tsapps/pos/src/components/LowStockBadge.ts
  • ShippedREQ-POS-537

    Hardware error remediation registry (apps/pos/src/hw/errorRemediation.ts). HardwareErrorCode closed union (8 codes). getRemediation(code). 6 tests covering all codes.

    6h ago
    apps/pos/src/flow/criticalPath.test.tsapps/pos/src/hw/errorRemediation.test.tsapps/pos/src/hw/errorRemediation.ts
  • ShippedREQ-POS-538

    Tip prompt render model (apps/pos/src/flow/tipPrompt.ts). buildTipPrompt bigint floor division. DEFAULT_TIP_PRESETS (0/15/18/20%). applyCustomTip validates >= 0n. 9 unit tests.

    6h ago
    apps/pos/src/components/TipPromptStatus.test.tsapps/pos/src/components/TipPromptStatus.tsapps/pos/src/flow/tipPrompt.test.ts+2 more
  • ShippedREQ-POS-539

    Float denomination entry (apps/pos/src/flow/floatEntry.ts). floatEntryInit/setDenominationCount/clearFloat pure reducers. bigint totalMinor. 10 unit tests.

    6h ago
    packages/core/src/posOperationsReadiness/index.test.ts×4apps/pos/src/components/FloatEntryStatus.test.tsapps/pos/src/components/FloatEntryStatus.ts+3 more
  • ShippedREQ-POS-540

    POS search-result ranker (apps/pos/src/flow/skuRanker.ts). scoreSkuResult 100/80/60/40/20/0. rankSkuResults stable descending sort. 13 unit tests.

    6h ago
    apps/pos/src/flow/skuRanker.test.ts×2apps/pos/src/components/LoyaltyPointsDisplay.test.tsapps/pos/src/flow/skuRanker.ts
  • ShippedREQ-POS-541

    No-sale drawer-open flow (apps/pos/src/flow/noSaleFlow.ts) with states idle | selecting-reason | confirming | opened | error, manager-authorization guard on startNoSale, reason selection + confirmation transitions, cancelNoSale from non-op…

    6h ago
    apps/pos/src/components/NoSaleFlowStatus.test.tsapps/pos/src/components/NoSaleFlowStatus.tsapps/pos/src/flow/noSaleFlow.test.ts
  • ShippedREQ-POS-542

    Coupon-application render model (apps/pos/src/flow/couponApplication.ts) wraps handleDiscountScan + computeDiscountMinor into a pure state machine (idle | scanning | decoded | verifying | applied | rejected | error) and includes CartWithCo…

    6h ago
    apps/pos/src/cart/cartTotals.tsapps/pos/src/components/CouponApplicationStatus.test.tsapps/pos/src/components/CouponApplicationStatus.ts+1 more
  • ShippedREQ-POS-543

    Entitlement-selection render model (apps/pos/src/flow/entitlementSelector.ts) with states idle | loaded | selected | applied, expiry-aware selection (nowIso guard), bigint discount projection via computeDiscountMinor, and backward-compatib…

    6h ago
    apps/pos/src/components/EntitlementSelectorStatus.test.tsapps/pos/src/components/EntitlementSelectorStatus.tsapps/pos/src/flow/entitlementSelector.test.ts
  • ShippedREQ-POS-550

    Printed-receipt line-array builder (apps/pos/src/receipt/buildReceiptLines.ts). Pure buildReceiptLines(input) returns a readonly string[] of 40-column rows (RECEIPT_WIDTH = 40) ready to feed directly to a thermal-printer adapter's printLin…

    6h ago
    apps/pos/src/components/ReceiptLinesStatus.test.tsapps/pos/src/components/ReceiptLinesStatus.tsapps/pos/src/receipt/buildReceiptLines.test.ts+1 more
  • ShippedREQ-POS-551

    POS idle-timeout timer (apps/pos/src/session/idleTimeout.ts). Pure dependency-injected timer: createIdleTimer({ host, timeoutMs?, onIdle }) returns an IdleTimer controller with start() / recordActivity() / stop() and observable status ("ar…

    6h ago
    apps/pos/src/components/PosReleaseGapSuiteStatus.test.ts×2apps/pos/src/session/idleTimeout.ts×2apps/pos/src/components/IdleTimeoutStatus.test.ts+2 more
  • ShippedREQ-POS-552

    Persisted held carts must be supported by a POS storage wrapper around the existing held-cart state, using an injected string key-value storage interface with no Expo/runtime imports. The wrapper stores serialized cart snapshots, lists hol…

    6h ago
    apps/pos/src/components/PersistedHeldCartStatus.test.tsapps/pos/src/components/PersistedHeldCartStatus.tsapps/pos/src/index.ts
  • ShippedREQ-POS-553

    The POS must include a pure receipt-reprint flow for completed transactions. The flow accepts a looked-up completed transaction and an injected receipt printer, exposes states for idle, ready, printing, complete, and error, guards against…

    6h ago
    apps/pos/src/components/ReceiptReprintStatus.test.tsapps/pos/src/components/ReceiptReprintStatus.tsapps/pos/src/flow/receiptReprint.test.ts+3 more
  • ShippedREQ-POS-556

    POS scan-dispatch status projection (apps/pos/src/components/ScanDispatchStatus.ts). Pure UI-runtime-free helper for the existing scanDispatch result union that maps added, yardage-hint-updated, parse-error, and resolve-error outcomes to c…

    6h ago
    apps/pos/src/components/ScanDispatchStatus.test.tsapps/pos/src/components/ScanDispatchStatus.ts
  • ShippedREQ-POS-565

    POS receipt-delivery queue status projection (apps/pos/src/components/ReceiptDeliveryStatus.ts). Pure UI-runtime-free helper for the existing prepareReceiptDelivery flow that maps print, email, and SMS receipt choices into cashier-facing q…

    6h ago
    apps/pos/src/components/ReceiptDeliveryStatus.test.ts×2apps/pos/src/components/ReceiptDeliveryStatus.ts
  • ShippedREQ-POS-569

    POS manager-gate attempt status projection (apps/pos/src/components/ManagerGateStatus.ts). Pure UI-runtime-free helper for the existing ManagerGateResult and ManagerGateDenialReason types that maps granted, mismatch, locked-out, and no-ver…

    6h ago
    packages/core/src/posOperationsReadiness/index.test.ts×4apps/pos/src/components/ManagerGateStatus.test.ts×2apps/pos/src/components/ManagerGateStatus.ts
  • ShippedREQ-POS-555

    POS gift-card balance lookup status projection (apps/pos/src/components/GiftCardBalanceStatus.ts). Pure UI-runtime-free helper for the existing giftCardBalance flow that renders idle, looking-up, found, not-found, and error states into cas…

    6h ago
    apps/pos/src/components/GiftCardBalanceStatus.ts
  • ShippedREQ-POS-554

    POS NFC write flow status projection (apps/pos/src/components/NfcWriteStatus.ts). Pure UI-runtime-free helper for the existing nfcWriteFlow state machine that maps each step (idle, confirming, writing, complete, error) to cashier-facing la…

    6h ago
    packages/core/src/posOperationsReadiness/index.test.ts×4apps/pos/src/components/NfcWriteStatus.test.tsapps/pos/src/components/NfcWriteStatus.ts
  • ShippedREQ-POS-557

    POS shift-summary receipt-line status projection (apps/pos/src/components/ShiftSummaryLinesStatus.ts). Pure UI-runtime-free helper for the existing shiftSummaryLines receipt builder that exposes line count, 40-column width health, cash/car…

    6h ago
    apps/pos/src/components/ShiftSummaryLinesStatus.test.tsapps/pos/src/components/ShiftSummaryLinesStatus.ts
  • ShippedREQ-POS-558

    POS critical-path status projection (apps/pos/src/components/CriticalPathStatus.ts). Pure UI-runtime-free helper for the existing CriticalPathState reducer that maps scan, yardage, cart, and tender steps to cashier-facing labels, primary n…

    6h ago
    apps/pos/src/components/CriticalPathStatus.test.tsapps/pos/src/components/CriticalPathStatus.ts
  • ShippedREQ-POS-559

    POS cart-snapshot restore status projection (apps/pos/src/components/CartSnapshotStatus.ts). Pure UI-runtime-free helper around the existing cart snapshot serializer/deserializer that maps save-ready, restored, empty, incompatible, and inv…

    6h ago
    apps/pos/src/components/CartSnapshotStatus.test.tsapps/pos/src/components/CartSnapshotStatus.ts
  • ShippedREQ-POS-560

    POS SKU-ranker explanation status projection (apps/pos/src/components/SkuRankerStatus.ts). Pure UI-runtime-free helper for the existing SKU search ranker that maps a query and result list to ranked display rows with integer score, match re…

    6h ago
    apps/pos/src/components/SkuRankerStatus.test.ts×2apps/pos/src/components/SkuRankerStatus.ts
  • ShippedREQ-POS-561

    POS customer-display payload status projection (apps/pos/src/components/CustomerDisplayStatus.ts). Pure UI-runtime-free helper for the existing buildPosDisplayPayload customer-facing display payload that maps cart total, item count, curren…

    6h ago
    apps/pos/src/components/CustomerDisplayStatus.test.ts×2apps/pos/src/components/CustomerDisplayStatus.ts
  • ShippedREQ-POS-562

    POS physical-scale yardage suggestion status projection (apps/pos/src/components/PhysicalScaleStatus.ts). Pure UI-runtime-free helper for the existing physical-scale reading and buildYardageSuggestionFromWeight function that maps ready, no…

    6h ago
    apps/pos/src/components/PhysicalScaleStatus.test.ts×2apps/pos/src/components/PhysicalScaleStatus.ts
  • ShippedREQ-POS-563

    POS hardware runbook status projection (apps/pos/src/components/HardwareRunbookStatus.ts). Pure UI-runtime-free helper for the existing hardware remediation registry and runbook URL builder that maps a HardwareErrorCode to cashier-facing r…

    6h ago
    apps/pos/src/components/HardwareRunbookStatus.test.ts×2apps/pos/src/components/HardwareRunbookStatus.ts
  • ShippedREQ-POS-564

    POS scanner-timeout outcome status projection (apps/pos/src/components/ScannerTimeoutStatus.ts). Pure UI-runtime-free helper for the existing scanner-timeout flow that maps a scan result string, timeout/null result, timeout window, and opt…

    6h ago
    apps/pos/src/components/ScannerTimeoutStatus.test.ts×2apps/pos/src/components/ScannerTimeoutStatus.ts
  • ShippedREQ-POS-566

    POS refund-flow status projection (apps/pos/src/components/RefundFlowStatus.ts). Pure UI-runtime-free helper for the existing RefundFlowState reducer that maps idle, selecting-lines, selecting-tender, processing, complete, and error states…

    6h ago
    apps/pos/src/components/RefundFlowStatus.test.ts×2apps/pos/src/components/RefundFlowStatus.ts
  • ShippedREQ-POS-567

    POS tender-flow status projection (apps/pos/src/components/TenderFlowStatus.ts). Pure UI-runtime-free helper for the existing TenderState reducer that maps idle, selecting-method, awaiting-card-read, awaiting-cash-entry, completing, comple…

    6h ago
    apps/pos/src/components/TenderFlowStatus.test.ts×2apps/pos/src/components/TenderFlowStatus.ts
  • ShippedREQ-POS-568

    POS device-session status projection (apps/pos/src/components/DeviceSessionStatus.ts). Pure UI-runtime-free helper for the existing DeviceSessionSnapshot and DeviceSessionInfo types that maps valid, not-enrolled, revoked, expired, and offl…

    6h ago
    apps/pos/src/components/DeviceSessionStatus.test.ts×2apps/pos/src/components/DeviceSessionStatus.tspackages/core/src/posOperationsReadiness/index.test.ts
  • ShippedREQ-POS-570

    POS local-event-bus snapshot status projection (apps/pos/src/components/LocalEventBusStatus.ts). Pure UI-runtime-free helper for the existing LocalPosEvent snapshot shape that maps an immutable event snapshot into cashier/developer-facing…

    6h ago
    apps/pos/src/components/LocalEventBusStatus.test.ts×2apps/pos/src/components/LocalEventBusStatus.ts
  • ShippedREQ-POS-571

    POS connectivity-monitor status projection (apps/pos/src/components/ConnectivityMonitorStatus.ts). Pure UI-runtime-free helper for the existing ConnectivityState monitor shape that maps online, degraded, and offline states plus poll-window…

    6h ago
    apps/pos/src/components/ConnectivityMonitorStatus.test.ts×2apps/pos/src/components/ConnectivityMonitorStatus.ts
  • ShippedREQ-POS-573

    POS receipt-print job status projection (apps/pos/src/components/ReceiptPrintJobStatus.ts). Pure UI-runtime-free helper for the existing PrintRequest and HardwareResult receipt-printer contract that maps queued, printing, printed, failed,…

    6h ago
    apps/pos/src/components/ReceiptPrintJobStatus.test.tsapps/pos/src/components/ReceiptPrintJobStatus.ts
  • ShippedREQ-POS-574

    POS receipt QR-code print status projection (apps/pos/src/components/ReceiptQrCodeStatus.ts). Pure UI-runtime-free helper for the existing ReceiptPrinter.printQrCode(data, size) contract that maps idle, queued, printing, printed, and faile…

    6h ago
    apps/pos/src/components/ReceiptQrCodeStatus.test.tsapps/pos/src/components/ReceiptQrCodeStatus.ts
  • ShippedREQ-POS-575

    POS receipt text-print status projection (apps/pos/src/components/ReceiptTextPrintStatus.ts). Pure UI-runtime-free helper for the existing ReceiptPrinter.printText(lines) contract that maps idle, queued, printing, printed, and failed prefo…

    6h ago
    apps/pos/src/components/ReceiptTextPrintStatus.test.tsapps/pos/src/components/ReceiptTextPrintStatus.ts
  • ShippedREQ-POS-576

    POS cash-drawer open-reason status projection (apps/pos/src/components/CashDrawerOpenReasonStatus.ts). Pure UI-runtime-free helper for the existing CashDrawerOpenReason contract that maps sale, no-sale, and manager-override drawer-open rea…

    6h ago
    apps/pos/src/components/CashDrawerOpenReasonStatus.ts
  • ShippedREQ-POS-577

    POS scanner-cancellation status projection (apps/pos/src/components/ScannerCancellationStatus.ts). Pure UI-runtime-free helper for the existing ScannerCancellationToken contract that maps idle, active, cancelled, completed, and failed scan…

    6h ago
    apps/pos/src/components/ScannerCancellationStatus.ts
  • ShippedREQ-POS-578

    POS cash-drawer last-opened status projection (apps/pos/src/components/CashDrawerLastOpenedStatus.ts). Pure UI-runtime-free helper for the existing CashDrawer.lastOpenedAt() result that maps never-opened, recent, stale, future-clock, and i…

    6h ago
    apps/pos/src/components/CashDrawerLastOpenedStatus.ts
  • ShippedREQ-POS-579

    POS cash-drawer open-result status projection (apps/pos/src/components/CashDrawerOpenResultStatus.ts). Pure UI-runtime-free helper for the existing HardwareResult returned by CashDrawer.open(reason) that maps idle/no-result, opening, opene…

    6h ago
    apps/pos/src/components/CashDrawerOpenResultStatus.ts
  • ShippedREQ-POS-580

    POS cash-drawer shift-close checklist status projection (apps/pos/src/components/CashDrawerShiftCloseStatus.ts). Pure UI-runtime-free helper for caller-provided drawer shift-close state that maps closeout step, physical drawer status, last…

    6h ago
    apps/pos/src/components/CashDrawerShiftCloseStatus.ts
  • ShippedREQ-POS-581

    POS cash-drawer variance-review status projection (apps/pos/src/components/CashDrawerVarianceReviewStatus.ts). Pure UI-runtime-free helper for caller-provided drawer expected/count cash amounts and reviewer state that maps balanced, under,…

    6h ago
    apps/pos/src/components/CashDrawerVarianceReviewStatus.ts
  • ShippedREQ-POS-582

    POS cash-drawer safe-drop status projection (apps/pos/src/components/CashDrawerSafeDropStatus.ts). Pure UI-runtime-free helper for caller-provided safe-drop recommendation and register drawer-cash amounts that maps not-needed, recommended,…

    6h ago
    apps/pos/src/components/CashDrawerSafeDropStatus.ts
  • ShippedREQ-POS-583

    POS cash-drawer safe-drop receipt status projection (apps/pos/src/components/CashDrawerSafeDropReceiptStatus.ts). Pure UI-runtime-free helper for caller-provided safe-drop receipt metadata and print-result state that maps idle, preparing,…

    6h ago
    apps/pos/src/components/CashDrawerSafeDropReceiptStatus.tspackages/core/src/posOperationsReadiness/index.test.ts
  • ShippedREQ-POS-584

    POS cash-drawer safe-drop custody status projection (apps/pos/src/components/CashDrawerSafeDropCustodyStatus.ts). Pure UI-runtime-free helper for caller-provided safe-drop custody metadata that maps unrecorded, needs-envelope, needs-witnes…

    6h ago
    packages/core/src/posOperationsReadiness/index.test.ts×4apps/pos/src/components/CashDrawerSafeDropCustodyStatus.ts
  • ShippedREQ-POS-585

    POS cash-drawer safe-drop audit status projection (apps/pos/src/components/CashDrawerSafeDropAuditStatus.ts). Pure UI-runtime-free helper for caller-provided safe-drop audit metadata that maps missing-record, draft, pending-manager-review,…

    6h ago
    apps/pos/src/components/CashDrawerSafeDropAuditStatus.ts
  • ShippedREQ-POS-586

    POS cash-drawer safe-drop deposit-batch status projection (apps/pos/src/components/CashDrawerSafeDropDepositBatchStatus.ts). Pure UI-runtime-free helper for caller-provided safe-drop deposit-batch metadata that maps unqueued, queued, ready…

    6h ago
    apps/pos/src/components/CashDrawerSafeDropDepositBatchStatus.ts
  • ShippedREQ-POS-587

    POS cash-drawer safe-drop bank-deposit handoff status projection (apps/pos/src/components/CashDrawerSafeDropBankDepositStatus.ts). Pure UI-runtime-free helper for caller-provided safe-drop bank-deposit handoff metadata that maps not-starte…

    6h ago
    apps/pos/src/components/CashDrawerSafeDropBankDepositStatus.ts
  • ShippedREQ-POS-588

    POS cash-drawer safe-drop exception-resolution status projection (apps/pos/src/components/CashDrawerSafeDropExceptionResolutionStatus.ts). Pure UI-runtime-free helper for caller-provided safe-drop exception metadata that maps none, open, i…

    6h ago
    apps/pos/src/components/CashDrawerSafeDropExceptionResolutionStatus.ts
  • ShippedREQ-POS-589

    POS cash-drawer safe-drop reconciliation status projection (apps/pos/src/components/CashDrawerSafeDropReconciliationStatus.ts). Pure UI-runtime-free helper for caller-provided safe-drop reconciliation metadata that maps not-started, matchi…

    6h ago
    apps/pos/src/components/CashDrawerSafeDropReconciliationStatus.ts
  • ShippedREQ-POS-590

    POS cash-drawer safe-drop compliance-report status projection (apps/pos/src/components/CashDrawerSafeDropComplianceReportStatus.ts). Pure UI-runtime-free helper for caller-provided safe-drop compliance-report metadata that maps not-started…

    6h ago
    apps/pos/src/components/CashDrawerSafeDropComplianceReportStatus.ts
  • ShippedREQ-POS-591

    POS receipt-reprint audit record builder (apps/pos/src/flow/receiptReprintAudit.ts). Pure helper for completed receipt-reprint flow states that returns audit-safe metadata for pos.receipt.reprinted, including transaction ID, receipt refere…

    6h ago
    apps/pos/src/flow/receiptReprintAudit.test.tsapps/pos/src/flow/receiptReprintAudit.ts
  • ShippedREQ-POS-592

    POS receipt-reprint audit status projection (apps/pos/src/components/ReceiptReprintAuditStatus.ts). Pure UI-runtime-free helper for receipt-reprint audit outcomes that maps idle, recording, recorded, and error states into cashier/manager-f…

    6h ago
    apps/pos/src/components/ReceiptReprintAuditStatus.test.tsapps/pos/src/components/ReceiptReprintAuditStatus.ts
  • ShippedREQ-POS-593

    POS receipt-reprint audit queue status projection (apps/pos/src/components/ReceiptReprintAuditQueueStatus.ts). Pure UI-runtime-free helper for caller-provided receipt-reprint audit queue metadata that maps empty, queued, uploading, uploade…

    6h ago
    apps/pos/src/components/ReceiptReprintAuditQueueStatus.test.tsapps/pos/src/components/ReceiptReprintAuditQueueStatus.ts
  • ShippedREQ-POS-594

    POS receipt-reprint audit public exports (apps/pos/src/index.ts). The @bolttocart/pos package root must export the receipt-reprint audit status and audit queue status projection builders plus their public model/input/action types so Expo s…

    6h ago
    packages/core/src/storefrontPosBridgeReadiness/index.test.ts×4apps/pos/src/index.test.tsapps/pos/src/index.ts
  • ShippedREQ-POS-595

    (AI-proposed; parent REQ-POS-006, REQ-POS-022, REQ-POS-023, REQ-POS-591) POS receipt-reprint audit queue reducer (apps/pos/src/flow/receiptReprintAuditQueue.ts). Pure helper for staging completed receipt-reprint audit records locally befor…

    6h ago
    apps/pos/src/flow/receiptReprintAuditQueue.test.tsapps/pos/src/index.test.tsapps/pos/src/index.ts
  • ShippedREQ-POS-596

    POS cart-edit public exports (apps/pos/src/index.ts). AI-proposed clarification of REQ-POS-004 and REQ-POS-502: the @bolttocart/pos package root must export the existing pure cart-edit reducers removeCartLine and updateCartLineYardage so E…

    6h ago
    apps/pos/src/components/CartEditStatus.tsapps/pos/src/index.test.tsapps/pos/src/index.ts
  • ShippedREQ-POS-597

    POS line-item display public exports (apps/pos/src/index.ts). AI-proposed clarification of REQ-POS-004, REQ-POS-502, and REQ-POS-544: the @bolttocart/pos package root must export the existing pure line-item display status builder plus its…

    6h ago
    apps/pos/src/index.test.tsapps/pos/src/index.ts
  • ShippedREQ-POS-598

    POS cart-edit status projection (apps/pos/src/components/CartEditStatus.ts). AI-proposed clarification of REQ-POS-004, REQ-POS-502, and REQ-POS-596: the POS must expose a pure UI-runtime-free projection for the mid-transaction line edit su…

    6h ago
    apps/pos/src/components/CartEditStatus.test.tsapps/pos/src/components/CartEditStatus.tsapps/pos/src/index.test.ts
  • ShippedREQ-POS-599

    POS receipt-reprint audit queue status adapter (apps/pos/src/components/ReceiptReprintAuditQueueStatus.ts). AI-proposed clarification of REQ-POS-006, REQ-POS-022, REQ-POS-023, REQ-POS-593, and REQ-POS-595: the POS package must provide a pu…

    6h ago
    apps/pos/src/components/ReceiptReprintAuditQueueStatus.test.tsapps/pos/src/components/ReceiptReprintAuditQueueStatus.tsapps/pos/src/index.test.ts
  • ShippedREQ-POS-600

    POS checkout-readiness status projection (apps/pos/src/components/CheckoutReadinessStatus.ts). AI-proposed clarification of REQ-POS-001, REQ-POS-005, and REQ-POS-021: before a cashier can leave cart review for tender selection, the POS mus…

    6h ago
    packages/core/src/posOperationsReadiness/index.test.ts×3apps/pos/src/components/CheckoutReadinessStatus.test.tsapps/pos/src/components/CheckoutReadinessStatus.ts+3 more
  • ShippedREQ-POS-601

    POS cart-line list public exports (apps/pos/src/index.ts). AI-proposed clarification of REQ-POS-004, REQ-POS-506, and REQ-POS-544: the @bolttocart/pos package root must export the existing pure cart-line list projection and designer/collec…

    6h ago
    packages/core/src/posOperationsReadiness/index.test.ts×2apps/pos/src/index.test.tsapps/pos/src/index.ts
  • ShippedREQ-POS-602

    POS cash-drawer open status public exports (apps/pos/src/index.ts). AI-proposed clarification of REQ-POS-024, REQ-POS-031, REQ-POS-576, REQ-POS-578, and REQ-POS-579: the @bolttocart/pos package root must export the existing pure cash-drawe…

    6h ago
    apps/pos/src/index.test.tsapps/pos/src/index.ts
  • ShippedREQ-POS-603

    POS SKU-search public exports (apps/pos/src/index.ts). AI-proposed clarification of REQ-POS-003 and REQ-POS-026: the @bolttocart/pos package root must export the existing pure SKU-search state machine and SKU-search result projection so Ex…

    6h ago
    apps/pos/src/index.ts×2apps/pos/src/index.test.ts
  • ShippedREQ-POS-604

    POS cart totals public exports (apps/pos/src/index.ts). AI-proposed clarification of REQ-POS-004, REQ-POS-502, REQ-POS-545, and REQ-POS-550: the @bolttocart/pos package root must export the existing pure cart totals helper, stub tax consta…

    6h ago
    apps/pos/src/index.test.tsapps/pos/src/index.ts
  • ShippedREQ-POS-605

    (AI-proposed; parent REQ-POS-001, REQ-POS-004, REQ-POS-022, REQ-POS-023, REQ-SYN-011, REQ-SYN-020) POS cart conflict status projection (apps/pos/src/components/CartConflictStatus.ts). Pure UI-runtime-free helper for the reconciliation bann…

    6h ago
    apps/pos/src/components/CartConflictStatus.test.ts×2apps/pos/src/components/CartConflictStatus.tsapps/pos/src/index.test.ts+1 more
  • ShippedREQ-POS-606

    POS scan-dispatch public exports (apps/pos/src/index.ts). AI-proposed clarification of REQ-POS-001, REQ-POS-003, REQ-POS-020, REQ-POS-502, REQ-POS-510, and REQ-POS-556: the @bolttocart/pos package root must export the existing pure scan-di…

    6h ago
    apps/pos/src/index.ts×2packages/core/src/storefrontPosBridgeReadiness/index.test.ts×2apps/pos/src/components/PosReleaseGapSuiteStatus.test.ts+3 more
REQ-ECOE-commerce Storefront
86 shipped0 wip6 todo93%
  • ShippedREQ-ECO-001

    Each store gets a storefront on a branded subdomain and optionally a custom domain with SSL provisioned automatically (see �29). The apex bolttocart.com hosts only platform marketing / sign-up surfaces ??? storefront paths (/shop, /cart, /…

    6h ago
    packages/core/src/customerCommerceReadiness/index.test.ts×2packages/core/src/retailRuntimeReadiness/index.test.ts×2packages/testing/src/catalog.test.ts×2+10 more
  • ShippedREQ-ECO-002

    Storefronts must share the same inventory, pricing, and promotion engines as the POS (�3.1, �7).

    6h ago
    packages/core/src/customerCommerceReadiness/index.tspackages/core/src/retailRuntimeReadiness/index.ts
  • ShippedREQ-ECO-003

    Support yardage-based purchasing with minimum cut (default � yard) and increment (default � yard) configurable per product.

    48m ago
    apps/web/src/components/AddToCartForm.tsx×4apps/web/src/app/(storefront)/cart/actions.ts×2apps/web/src/app/globals.css×2+10 more
  • ShippedREQ-ECO-004

    Product detail pages must show real-time availability, remnant availability, related kits/patterns, and substitutions when out of stock.

    6h ago
    apps/web/src/app/(storefront)/shop/[slug]/page.tsx×3apps/web/src/lib/storefront.ts×2packages/db/src/repositories/skus.ts×2+10 more
  • ShippedREQ-ECO-005

    Checkout must support guest and authenticated purchase, address validation, shipping method selection, tax computation, payment, and order confirmation within the UX latency targets in �28.

    48m ago
    apps/web/src/app/(storefront)/cart/actions.ts×2apps/web/src/app/(storefront)/cart/page.tsxapps/web/src/app/(storefront)/events/[slug]/actions.ts+8 more
  • ShippedREQ-ECO-006

    Order workflow: Received ??? Cut ??? Pack ??? Ship ??? Delivered, with partial fulfillment permitted.

    48m ago
    apps/web/src/app/(storefront)/cart/confirmation/page.tsxpackages/core/src/customerCommerceReadiness/index.tspackages/core/src/retailRuntimeReadiness/index.ts
  • ShippedREQ-ECO-007

    Storefront pages must be server-rendered or statically pre-rendered for SEO, with structured data (Product, Offer, Breadcrumb, Event) and auto-generated sitemaps.

    6h ago
    apps/web/src/app/(storefront)/shop/[slug]/page.tsx×3apps/web/src/lib/dropStructuredData.ts×2apps/web/src/app/(storefront)/shop/[slug]/opengraph-image.tsx+7 more
  • ShippedREQ-ECO-008

    Optional one-way integrations with external storefronts (Shopify, WooCommerce) must be available as add-ons; BoltToCart remains the inventory source of truth.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.test.ts×3packages/core/src/customerCommerceReadiness/index.tspackages/core/src/retailRuntimeReadiness/index.ts
  • ShippedREQ-ECO-500

    The /shop/[slug] product detail page's Offer JSON-LD must carry a UnitPriceSpecification declaring unitCode: "YRD" (UN/CEFACT yard) with a referenceQuantity of 1 yard for unitOfSale === "by_yard" SKUs, so Google Shopping / Merchant / Bing…

    6h ago
    packages/core/src/commerceReadiness/index.test.ts×2packages/core/src/commerceReadiness/index.ts×2apps/web/src/lib/productStructuredData.test.ts+3 more
  • ShippedREQ-ECO-501

    The /shop index "Browse by???" nav must list every facet-index sibling (/shop/designers, /shop/collections, /shop/colors, /shop/fibers, /shop/widths ??? see REQ-SRC-500 / REQ-SRC-501) in a single alphabetized data-driven list so new facet…

    6h ago
    apps/web/src/app/(storefront)/shop/page.tsx×2packages/core/src/commerceReadiness/index.tspackages/core/src/customerCommerceReadiness/index.ts+1 more
  • ShippedREQ-ECO-502

    The /shop/[slug] PDP must render a RelatedItemsStrip below the soft-match "Related fabrics" shelf, returning up to 6 SKUs matching the seed on both designer AND fiberContent. Lives in a dedicated loadRelatedByDesignerAndFiber loader so the…

    6h ago
    apps/web/src/app/(storefront)/shop/[slug]/page.tsxapps/web/src/components/RelatedItemsStrip.tsxapps/web/src/lib/productStructuredData.ts+4 more
  • ShippedREQ-ECO-503

    The /shop PLP must render a ShopEmptyState block when the filter-and-sort combination lands on zero SKUs. The block surfaces (1) the current active filter chips as one-tap "remove this facet" links (reusing ActiveFilterChips so single-chip…

    6h ago
    apps/web/src/components/ShopEmptyState.tsxpackages/core/src/commerceReadiness/index.tspackages/core/src/customerCommerceReadiness/index.ts+1 more
  • ShippedREQ-ECO-504

    The /shop/[slug] PDP JSON-LD must include Product.isRelatedTo as an array of up to 6 @id references pointing at the same roster rendered in the RelatedItemsStrip (REQ-ECO-502) ??? keeping the structured-data claim in lockstep with the visi…

    6h ago
    apps/web/src/lib/productStructuredData.ts×2apps/web/src/lib/productStructuredData.test.tspackages/core/src/commerceReadiness/index.ts+2 more
  • ShippedREQ-ECO-505

    The /shop/[slug] route must serve a per-slug OpenGraph card at /shop/{slug}/opengraph-image (Next.js metadata-convention colocated asset) that renders the product name, per-yard price, designer, and fiber content inside the platform OgBolt…

    6h ago
    apps/web/src/lib/productStructuredData.test.ts×4apps/web/src/app/(storefront)/shop/[slug]/opengraph-image.tsx×2apps/web/src/lib/productStructuredData.ts×2+4 more
  • ShippedREQ-ECO-506

    The /shop/[slug] PDP BreadcrumbList JSON-LD must be extended from "Home ??? Shop ??? [Product]" to include the SKU's collection (when non-null) as an intermediate crumb pointing at /shop?collection=<value> and the designer (when non-null)…

    6h ago
    apps/web/src/app/(storefront)/shop/[slug]/page.tsx×3packages/core/src/commerceReadiness/index.tspackages/core/src/customerCommerceReadiness/index.ts+1 more
  • ShippedREQ-ECO-507

    The /shop/collections route exposes a facet-index page listing every fabric collection name (with current cuttable-SKU counts) as a bookmarkable discovery surface, deep-linking to /shop?collection=<value> for the filtered catalog view. Mir…

    6h ago
    apps/web/src/app/(storefront)/shop/collections/page.tsxpackages/core/src/commerceReadiness/index.tspackages/core/src/customerCommerceReadiness/index.ts+1 more
  • ShippedREQ-ECO-509

    The /shop/colors route exposes a color facet-index page listing every color tag in the catalog (with current cuttable-SKU counts and visual swatch dots) as a bookmarkable discovery surface, deep-linking to /shop?color=<value> for the filte…

    6h ago
    apps/web/src/app/(storefront)/shop/colors/page.tsxpackages/core/src/commerceReadiness/index.tspackages/core/src/customerCommerceReadiness/index.ts+1 more
  • ShippedREQ-ECO-510

    The tenant sitemap (sitemap.ts tenant branch) must include /shop/fibers, /shop/widths, and /events/instructors as static entries so these discovery surfaces (REQ-SRC-500, REQ-SRC-501, REQ-EVT-505) are visible to crawlers. Each gets priorit…

    6h ago
    apps/web/src/app/sitemap.tspackages/core/src/commerceReadiness/index.tspackages/core/src/customerCommerceReadiness/index.ts+1 more
  • ShippedREQ-ECO-511

    The /visualizer route must serve a colocated opengraph-image.tsx (Edge runtime, no DB call) rendering "Quilt Designer" / "Design. Preview. Add to cart." inside the platform OgBoltCard frame. Page metadata.openGraph.images references this r…

    6h ago
    apps/web/src/app/(storefront)/shop/collections/opengraph-image.tsxapps/web/src/app/(storefront)/shop/colors/opengraph-image.tsxapps/web/src/app/(storefront)/shop/designers/opengraph-image.tsx+7 more
  • ShippedREQ-ECO-512

    The /visualizer page must emit a JSON-LD @graph with a WebPage node and BreadcrumbList (Home ??? Quilt Designer) to match the structured-data posture of /drops and /events. ItemList is intentionally omitted ??? the fabric palette is client…

    6h ago
    packages/core/src/customerCommerceReadiness/index.test.ts×3apps/web/src/app/(storefront)/visualizer/page.tsxpackages/core/src/commerceReadiness/index.ts+2 more
  • ShippedREQ-ECO-518

    The /shop PLP header gains a "New arrivals" link pointing to /shop?new=1 alongside the RSS autodiscovery link (REQ-ECO-518).

    6h ago
    apps/web/src/app/(storefront)/shop/page.tsxpackages/core/src/commerceReadiness/index.tspackages/demo-data/src/packs/0036_commerce_readiness_suite.ts
  • ShippedREQ-ECO-545

    Tenant storefronts must render /shop through a schema-driven theme/template engine backed by the store's persisted storefront_theme_config. The engine must support six fabric-retail templates (boutique, modern, designer, discount, workshop…

    6h ago
    packages/core/src/commerceReadiness/index.test.ts×2packages/core/src/storefrontPosBridgeReadiness/index.test.ts×2apps/web/src/lib/storefrontThemeConfig.test.ts+6 more
  • ShippedREQ-ECO-521

    The /shop/[slug] PDP SpecList Width row links to /shop/widths when bolt.widthInches is non-null, doubling it as a discovery path. Value displays as N" (WOF). Same href + aria-label as Designer and Collection rows. No DB change.

    6h ago
    apps/web/src/app/(storefront)/shop/[slug]/page.tsxpackages/core/src/commerceReadiness/index.tspackages/demo-data/src/packs/0036_commerce_readiness_suite.ts
  • ShippedREQ-ECO-523

    Cart summary Shipping row gains a truck icon for visual distinction from the yardage/items rows (REQ-ECO-523).

    6h ago
    packages/core/src/commerceReadiness/index.tspackages/demo-data/src/packs/0036_commerce_readiness_suite.ts
  • ShippedREQ-ECO-524

    The /cart order-summary shows a full breakdown when a coupon is applied: Subtotal row, coupon-discount line (code + negative emerald amount), and a Total row (subtotal minus discountMinor, bigint). No extra rows when no coupon is active.

    2h ago
    apps/web/src/app/(storefront)/cart/page.tsxapps/web/src/app/globals.csspackages/core/src/commerceReadiness/index.ts+1 more
  • ShippedREQ-ECO-525

    The /shop/[slug] PDP SpecList emits a Fiber row when fiberContent is non-null. The row label ("Fiber") links to /shop/fibers and the value links to /shop?fiber=<value>, matching the Collection row pattern (REQ-ECO-506). No DB change.

    6h ago
    apps/web/src/app/(storefront)/shop/[slug]/page.tsxpackages/core/src/commerceReadiness/index.tspackages/demo-data/src/packs/0036_commerce_readiness_suite.ts
  • ShippedREQ-ECO-526

    The /shop/[slug] PDP JSON-LD Product.additionalProperty array carries each non-null spec field as a schema.org/PropertyValue entry (fiberContent, widthInches). weightGsm and originCountry are deferred pending schema migration. Enables Goog…

    6h ago
    apps/web/src/lib/productStructuredData.ts×2packages/core/src/commerceReadiness/index.tspackages/demo-data/src/packs/0036_commerce_readiness_suite.ts
  • ShippedREQ-ECO-529

    The /shop/[slug] PDP "Recently viewed" strip limit raised from 4 to 6 (REQ-ECO-529). Strip is already last in render order (after RelatedFabrics and RelatedItemsStrip) and already hides when the cookie list is empty. Uses the RelatedCardSt…

    6h ago
    apps/web/src/app/(storefront)/shop/[slug]/page.tsxpackages/core/src/commerceReadiness/index.tspackages/demo-data/src/packs/0036_commerce_readiness_suite.ts
  • ShippedREQ-ECO-534

    DEFERRED-AUDIT: Neither shippingEstimator (packages/core) nor a preferred fulfillmentMode field on the cart state currently exists. Both are prerequisites for the "Estimated delivery window" line. This requirement is deferred until: (1) a…

    6h ago
    packages/core/src/commerceReadiness/index.tspackages/demo-data/src/packs/0036_commerce_readiness_suite.ts
  • ShippedREQ-ECO-535

    The /shop page quick-filter strip must include a third shortcut, "Remnants & last cuts", linking to /shop?low-yardage=1 alongside "New arrivals" and "Back in stock". The link must live in the existing <ul aria-label="Quick filters">, prese…

    6h ago
    apps/web/src/app/(storefront)/shop/page.tsxpackages/core/src/commerceReadiness/index.tspackages/demo-data/src/packs/0036_commerce_readiness_suite.ts
  • ShippedREQ-ECO-536

    The /shop/[slug] PDP Specs "Width" row must mirror the Fiber row's two-intent discovery model. When widthInches is non-null, the row label links to /shop/widths with an accessible label for browsing all widths, while the row value links to…

    6h ago
    apps/web/src/app/(storefront)/shop/[slug]/page.tsxpackages/core/src/commerceReadiness/index.tspackages/demo-data/src/packs/0036_commerce_readiness_suite.ts
  • ShippedREQ-ECO-537

    The /shop/[slug] PDP Care block must provide fiber discovery links whenever fiberContent is present. If keyword-based care tips render, append links to /shop?fiber=<fiberContent> and /shop/fibers. If no known care keyword matches, render a…

    6h ago
    apps/web/src/app/(storefront)/shop/[slug]/page.tsxpackages/core/src/commerceReadiness/index.tspackages/core/src/storefrontPosBridgeReadiness/index.test.ts+1 more
  • ShippedREQ-ECO-533

    The /cart line-item row "Save for later" button is now hidden when the SKU is already on the customer's wishlist. heartedIds are loaded from loadHeartedSkuIds(cartSkuIds) and checked per item. The saveCartItemForLaterFormAction (already pr…

    2h ago
    apps/web/src/app/(storefront)/cart/page.tsx×2packages/core/src/commerceReadiness/index.tspackages/demo-data/src/packs/0036_commerce_readiness_suite.ts
  • ShippedREQ-ECO-532

    The /shop filter rail gains a "Remnants & last cuts" toggle (Yardage section) that filters to SKUs with availableSixteenths between 1 and MIN_YARDAGE_SIXTEENTHS * 2n (1 yd). Parsed as ?low-yardage=1; the web loader translates it to minAvai…

    6h ago
    apps/web/src/lib/storefront.ts×2apps/web/src/components/StorefrontFilters.tsxpackages/core/src/commerceReadiness/index.ts+3 more
  • ShippedREQ-ECO-531

    The /shop sort dropdown gains price-per-yard-asc (label: "Per yard???") and price-per-yard-desc (label: "Per yard???") sort keys. Both order by pricePerYardMinor (same predicate as price-low/price-high); the separate keys surface the unit…

    6h ago
    apps/web/src/lib/storefront.ts×2packages/core/src/commerceReadiness/index.tspackages/demo-data/src/packs/0036_commerce_readiness_suite.ts
  • ShippedREQ-ECO-530

    The /shop PLP adds a FilterSummaryPill server component that renders "N fabrics ? M filters ? remove all" above the ActiveFilterChips when at least one predicate is active. "Remove all" links to /shop. No new props; uses the already-presen…

    6h ago
    apps/web/src/app/(storefront)/shop/page.tsx×2packages/core/src/commerceReadiness/index.tspackages/demo-data/src/packs/0036_commerce_readiness_suite.ts
  • ShippedREQ-ECO-528

    The /shop PLP header gains "New arrivals" and "Back in stock" quick-filter links pointing at /shop?new=only and /shop?restocked=1. restockedOnly is parsed in parseStorefrontFilters, included in hasActiveFilters, serialised by buildShopHref…

    6h ago
    apps/web/src/lib/storefront.ts×3apps/web/src/app/(storefront)/shop/page.tsxpackages/core/src/commerceReadiness/index.ts+3 more
  • ShippedREQ-ECO-527

    DEFERRED AUDIT ? /shop/themes facet-index page: the catalog schema has no themeTag column as of 2026-04-23. No migration added. Revisit when the merchandising schema gains a theme/style tag (reserved REQ-ID: REQ-ECO-527). Pattern would mir…

    6h ago
    packages/core/src/commerceReadiness/index.tspackages/demo-data/src/packs/0036_commerce_readiness_suite.ts
  • ShippedREQ-ECO-508

    The /cart page must render a coupon-code entry field (REQ-ECO-508, REQ-PRI-050 cart-time validation). A client component CartCouponSection renders either the code-entry form or the applied-coupon chip. The applyCouponCodeAction server acti…

    48m ago
    apps/web/src/app/(storefront)/cart/actions.ts×3apps/web/src/app/(storefront)/cart/couponCookie.tsapps/web/src/components/CartCouponSection.tsx+3 more
  • ShippedREQ-ECO-538

    The /cart page must run a live tenant-scoped availability recheck for every cart line before rendering checkout actions. Lines whose requested yardage exceeds currently cuttable inventory must show an inline correction state with the reque…

    6h ago
    packages/core/src/storefrontPosBridgeReadiness/index.test.ts×8packages/core/src/commerceReadiness/index.test.ts×4packages/core/src/commerceReadiness/index.ts+2 more
  • ShippedREQ-ECO-539

    The /cart page must expose a print-friendly quote view for in-store handoff. The printed quote includes store name, generated timestamp, cart line names, yardage, unit prices, subtotal, applied coupon preview if present, and a scannable or…

    48m ago
    apps/web/src/app/(storefront)/cart/actions.tspackages/core/src/commerceReadiness/index.tspackages/core/src/storefrontPosBridgeReadiness/index.test.ts+1 more
  • ShippedREQ-ECO-540

    The /shop/[slug] PDP yardage selector must render a deterministic line-total preview and remaining-yardage warning as the shopper changes yardage. The preview uses bigint minor-unit math, honors the existing minimum/increment rules, and su…

    6h ago
    packages/core/src/commerceReadiness/index.tspackages/demo-data/src/packs/0036_commerce_readiness_suite.ts
  • ShippedREQ-ECO-541

    The /shop listing must provide a URL-driven "available today" filter that returns only SKUs with at least one cuttable bolt above the configured minimum cut. The filter composes with existing designer, collection, color, fiber, width, sear…

    6h ago
    packages/core/src/commerceReadiness/index.tspackages/demo-data/src/packs/0036_commerce_readiness_suite.ts
  • ShippedREQ-ECO-542

    The storefront shell cart indicator must display the current cart item count and subtotal from the existing cart cookie model on storefront pages where cookies are available. The indicator links to /cart, degrades to count-only when subtot…

    6h ago
    packages/core/src/commerceReadiness/index.tspackages/demo-data/src/packs/0036_commerce_readiness_suite.ts
  • ShippedREQ-ECO-543

    The /cart/confirmation page must render a next-step panel for overnight MVP orders that distinguishes pickup, shipping, and class/event follow-up paths where that metadata exists, and otherwise shows a generic "order received" state. The p…

    6h ago
    packages/core/src/commerceReadiness/index.tspackages/demo-data/src/packs/0036_commerce_readiness_suite.ts
  • ShippedREQ-ECO-544

    The storefront /shop and /cart pages must emit product analytics funnel intents through apps/web/src/lib/telemetry.ts for cart-viewed, checkout-blocked-by-inventory, quote-printed, and checkout-started. Payloads include tenant id, cart lin…

    48m ago
    apps/web/src/app/(storefront)/cart/actions.tspackages/core/src/commerceReadiness/index.tspackages/demo-data/src/packs/0036_commerce_readiness_suite.ts
  • ShippedREQ-ECO-558

    The /cart print quote must include a generated timestamp and the resolved tenant storefront label so an in-store handoff can be reconciled to the right shop and print moment without creating an order.

    6h ago
    packages/core/src/commerceReadiness/index.tspackages/core/src/storefrontPosBridgeReadiness/index.test.tspackages/demo-data/src/packs/0036_commerce_readiness_suite.ts+1 more
  • ShippedREQ-ECO-559

    Cart availability correction alerts must deep-link to the affected cart line so a shopper with a long cart can jump from the warning to the exact item that needs adjustment.

    6h ago
    packages/core/src/commerceReadiness/index.tspackages/demo-data/src/packs/0036_commerce_readiness_suite.ts
  • ShippedREQ-ECO-560

    The disabled checkout state on /cart must disclose the number of blocking availability corrections, not only a generic disabled reason.

    6h ago
    packages/core/src/commerceReadiness/index.tspackages/demo-data/src/packs/0036_commerce_readiness_suite.ts
  • ShippedREQ-ECO-561

    The cart quote print button must expose a pending state via visible text and an ARIA live announcement while the telemetry action records the print intent.

    6h ago
    packages/core/src/commerceReadiness/index.tspackages/demo-data/src/packs/0036_commerce_readiness_suite.ts
  • ShippedREQ-ECO-562

    The /cart/confirmation next-step panel must include an admin handoff link for demo operators without implying real payment or fulfillment occurred.

    6h ago
    packages/core/src/commerceReadiness/index.tspackages/demo-data/src/packs/0036_commerce_readiness_suite.ts
  • ShippedREQ-ECO-563

    The /shop quick-filter strip must include a "Clear quick filters" escape when any quick-filter style predicate is active.

    6h ago
    packages/core/src/storefrontPosBridgeReadiness/index.test.ts×4packages/core/src/commerceReadiness/index.tspackages/demo-data/src/packs/0036_commerce_readiness_suite.ts
  • ShippedREQ-ECO-564

    The /shop/[slug] availability panel must show the minimum cut rule alongside current availability so stock state and purchasing constraint are visible before the yardage form.

    6h ago
    packages/core/src/commerceReadiness/index.tspackages/demo-data/src/packs/0036_commerce_readiness_suite.ts
  • ShippedREQ-ECO-565

    The storefront shell cart link must expose the subtotal as visible text on tablet/desktop and as a screen-reader-only subtotal on smaller viewports.

    6h ago
    packages/core/src/storefrontPosBridgeReadiness/index.test.ts×5packages/core/src/commerceReadiness/index.test.tspackages/core/src/commerceReadiness/index.ts+2 more
  • ShippedREQ-ECO-566

    The storefront /cart checkout path must replace the simulated v0 checkout with a production checkout flow that supports guest and authenticated customers, collects or confirms customer contact data, shipping or pickup address, delivery met…

    2h ago
    apps/web/src/lib/launchSmokeEvidence.test.ts×6apps/web/src/lib/demoStripeCheckout.ts
  • Not startedREQ-ECO-567

    Checkout must create an atomic inventory reservation or hold for each cart line before payment capture. Holds must be tenant-scoped, expire automatically, preserve fixed-point yardage, prevent concurrent oversells, expose insufficient-yard…

  • ShippedREQ-ECO-568

    Checkout must use tenant-configured tax and fulfillment settings to quote shipping, pickup, and tax before payment. The quote must show line subtotal, discount, shipping, tax, and total in integer minor units, must be revalidated server-si…

    2h ago
    packages/core/src/checkoutQuote/index.ts×3apps/web/src/app/(storefront)/cart/page.tsx×2packages/db/src/repositories/stores.ts+2 more
  • ShippedREQ-ECO-569

    Storefront catalog pages must support publication-quality product data for MVP SKUs: public slug, publish/draft state, SKU code/barcode where available, designer, collection, colorway, dominant colors, color tags, fiber content, width, pro…

    6h ago
    apps/web/src/app/(storefront)/shop/[slug]/page.tsxapps/web/src/lib/catalogProductCompleteness.ts
  • ShippedREQ-ECO-570

    Tenant storefronts must surface launch-critical trust and support information before checkout: store support email or phone, pickup/shipping availability, return/cancellation policy, class/event cancellation policy where classes are enable…

    6h ago
    apps/web/src/components/StorefrontShell.tsx
  • ShippedREQ-ECO-571

    Cart and checkout-adjacent storefront surfaces must show a shopper-facing checkout readiness panel before activation. The panel must distinguish quote-only checks from durable checkout guarantees, list blocking cart issues such as unavaila…

    48m ago
    apps/web/src/app/(storefront)/cart/page.tsx×2apps/web/src/app/(storefront)/cart/actions.tsapps/web/src/app/(storefront)/cart/confirmation/page.tsx+1 more
  • ShippedREQ-ECO-572

    Storefront cart and checkout-adjacent pages must make unavailable next steps self-recovering. When checkout remains disabled, the cart must show the exact blocker category, the admin-owned setting or inventory state that can clear it, whet…

    2h ago
    apps/web/src/app/(storefront)/cart/page.tsxapps/web/src/lib/cartCheckoutReadiness.ts
  • ShippedREQ-ECO-573

    Storefront checkout-blocked states must preserve shopper intent across recovery actions. When a line must be edited, removed, saved for later, or revisited from a product page, the cart must expose stable anchors and return links so the sh…

    6h ago
    apps/web/src/lib/cartRecoveryIntent.ts
  • ShippedREQ-ECO-574

    Storefront product pages reached from a cart recovery path must show a return affordance back to the exact cart line or summary that sent the shopper there. The return target must be sanitized to the current tenant cart route, must not lea…

    6h ago
    apps/web/src/app/(storefront)/shop/[slug]/page.tsxapps/web/src/lib/cartRecoveryIntent.ts
  • ShippedREQ-ECO-575

    Storefront product recovery context must carry through every PDP exit that preserves shopping intent. Add-to-cart success, wishlist save, share/print affordances, related-product pivots, and recently-viewed navigation must either preserve…

    6h ago
    apps/web/src/app/(storefront)/shop/[slug]/page.tsxapps/web/src/components/RecentlyViewedStrip.tsxapps/web/src/components/RelatedItemsStrip.tsx+1 more
  • ShippedREQ-ECO-576

    Cart-recovery mode must expose an explicit shopper exit control on product pages and comparison shelves. When a shopper follows a recovery link from /cart, the PDP must explain which cart context is active, offer a clear "continue shopping…

    6h ago
    apps/web/src/app/(storefront)/shop/[slug]/page.tsx×2apps/web/src/components/RecentlyViewedStrip.tsxapps/web/src/components/RelatedItemsStrip.tsx+1 more
  • ShippedREQ-ECO-577

    Cart-recovery opt-out must be durable for the remainder of the browsing session. When a shopper exits recovery mode, subsequent PDP, related-product, and recently-viewed navigation must avoid re-attaching stale returnTo values unless the s…

    6h ago
    apps/web/src/lib/cartRecoveryIntent.ts
  • ShippedREQ-ECO-578

    Cart-recovery banners must identify the active cart context in shopper-readable terms before linking back. When the recovery target is a line anchor, the PDP must show the affected cart line name, requested yardage, current availability st…

    6h ago
    apps/web/src/app/(storefront)/shop/[slug]/page.tsxapps/web/src/lib/cartRecoveryIntent.ts
  • ShippedREQ-ECO-579

    Cart-recovery banners must expose the smallest shopper-safe next action when the original cart line cannot be restored. If the line was removed, saved for later, or no longer sellable, the PDP must show whether the shopper can add the fabr…

    6h ago
    apps/web/src/app/(storefront)/shop/[slug]/page.tsxapps/web/src/lib/cartRecoveryIntent.ts
  • ShippedREQ-ECO-580

    PDP add-to-cart recovery must preserve the shopper's selected yardage and recovery intent when a server-side cart mutation fails because availability changed. The error state must explain whether the shopper can retry with a smaller cut, s…

    6h ago
    apps/web/src/lib/cartRecoveryIntent.ts×3apps/web/src/components/AddToCartForm.tsxapps/web/src/lib/cartRecoveryIntent.test.ts
  • ShippedREQ-ECO-581

    PDP add-to-cart recovery must expose a machine-readable recovery payload for browser smoke tests and support handoff. When availability changes after the page loads, the failed add-to-cart state must include the originally selected yardage…

    6h ago
    apps/web/src/lib/cartRecoveryIntent.ts×3apps/web/src/components/AddToCartForm.tsx×2apps/web/src/lib/cartRecoveryIntent.test.ts×2
  • ShippedREQ-ECO-582

    Checkout contact capture must be resumable and validation-aware for guest and authenticated shoppers. The checkout flow must collect email, phone when required by the selected fulfillment method, marketing-consent state, and customer-accou…

    2h ago
    apps/web/src/components/CheckoutReviewControls.tsx×2apps/web/src/lib/checkoutContactCapture.ts
  • ShippedREQ-ECO-583

    Checkout fulfillment selection must support a single-page handoff between pickup and shipping without recomputing unrelated cart state. Pickup must show store instructions, service window, support contact, and any cutoff warning; shipping…

    2h ago
    apps/web/src/components/CheckoutReviewControls.tsx×2apps/web/src/lib/cartCheckoutFulfillment.ts
  • Not startedREQ-ECO-584

    Checkout order creation must use an idempotent attempt record before redirecting to any payment confirmation surface. The attempt must store tenant, cart hash, selected contact, fulfillment method, quote version, inventory-hold IDs, paymen…

  • ShippedREQ-ECO-585

    Checkout address validation must produce a privacy-safe validation envelope before payment. The envelope must distinguish incomplete, unserviceable, corrected, and accepted addresses; persist only normalized non-sensitive delivery assumpti…

    2h ago
    apps/web/src/components/CheckoutReviewControls.tsxapps/web/src/lib/cartCheckoutFulfillment.ts
  • ShippedREQ-ECO-586

    Checkout payment handoff must remain unavailable until contact, fulfillment, address validation, quote revalidation, and inventory holds are all ready. The UI must explain which prerequisite blocks card collection, keep hosted payment fiel…

    48m ago
    apps/web/src/components/CheckoutReviewControls.tsx×2apps/web/src/app/(storefront)/cart/actions.tsapps/web/src/app/(storefront)/cart/confirmation/page.tsx+1 more
  • ShippedREQ-ECO-587

    Checkout quote replay must bind every payment attempt to a versioned, privacy-safe quote token. The token must include tenant, cart hash, fulfillment choice, normalized delivery assumptions, tax/shipping settings version, inventory-hold re…

    48m ago
    apps/web/src/components/CheckoutReviewControls.tsx×2apps/web/src/app/(storefront)/cart/confirmation/page.tsxapps/web/src/app/(storefront)/cart/page.tsx+1 more
  • ShippedREQ-ECO-588

    Checkout confirmation must distinguish quote-only review, payment authorized, order created, and fulfillment queued states. Each state must show the shopper what has and has not happened, expose safe next actions, avoid implying a durable…

    48m ago
    apps/web/src/app/(storefront)/cart/confirmation/page.tsxapps/web/src/lib/checkoutConfirmationState.ts
  • ShippedREQ-ECO-589

    Checkout attempt state must move from browser-submitted replay tokens to a server-owned attempt record before payment intent creation. The record must store the token hash, tenant, cart hash, checkout settings hash, fulfillment choice, nor…

    2h ago
    apps/web/src/lib/checkoutAttemptLedger.ts×4apps/web/src/lib/demoStripeCheckout.ts×2apps/web/src/lib/checkoutAttemptLedger.test.ts
  • ShippedREQ-ECO-590

    Checkout payment creation must revalidate coupon, tax, fulfillment, delivery, and cart availability inputs against the latest tenant settings immediately before creating or resuming a payment intent. If the quoted total changes, the shoppe…

    48m ago
    apps/web/src/app/(storefront)/cart/actions.tsapps/web/src/app/(storefront)/cart/page.tsxapps/web/src/components/CheckoutReviewControls.tsx+1 more
  • Not startedREQ-ECO-591

    Checkout must promote the current quote-only review into a durable payment handoff only after a server-owned attempt row has been locked for update, the cart hash still matches the shopper-visible cart, the applied coupon campaign/code is…

  • ShippedREQ-ECO-592

    Checkout recovery must support a payment-provider interruption path for shoppers who close the browser, return from a failed hosted payment flow, or retry after a webhook delay. The recovery state must resume the same attempt, show the las…

    48m ago
    apps/web/src/lib/checkoutAttemptLedger.ts×4apps/web/src/app/(storefront)/cart/confirmation/page.tsx×2apps/web/src/lib/demoStripeCheckout.ts×2+1 more
  • ShippedREQ-ECO-593

    Checkout contact and fulfillment drafts must be normalized into a server-validated attempt envelope before payment handoff. The envelope must store only the contact fields needed for order creation, normalized delivery assumptions, selecte…

    2h ago
    apps/web/src/lib/checkoutAttemptEnvelope.ts×3apps/web/src/components/CheckoutReviewControls.tsx
  • ShippedREQ-ECO-594

    Checkout payment handoff must expose an idempotent retry state machine for hosted-payment returns. The state machine must distinguish ready_for_payment, payment_started, payment_returned_unpaid, payment_authorized, order_creation_retryable…

    48m ago
    apps/web/src/lib/checkoutPaymentRetryState.ts×4apps/web/src/lib/demoStripeCheckout.ts×2apps/web/src/app/(storefront)/cart/confirmation/page.tsx+1 more
  • ShippedREQ-ECO-595

    Checkout confirmation must verify hosted-payment return state against a server-owned attempt record before showing payment_authorized, order_created, or fulfillment_queued. The verification must match tenant, attempt ID, cart hash, provide…

    2m ago
    apps/web/src/lib/checkoutReturnVerification.ts×5apps/web/src/app/(storefront)/cart/confirmation/page.tsxapps/web/src/lib/checkoutAttemptSummary.test.ts+3 more
  • ShippedREQ-ECO-596

    Checkout recovery must persist a customer-safe attempt summary that survives reloads, bookmarks, and cross-device support handoff. The summary must include attempt reference, lifecycle state, quote total, fulfillment choice, safe delivery…

    48m ago
    apps/web/src/lib/checkoutAttemptSummary.ts×3apps/web/src/app/(storefront)/cart/confirmation/page.tsxapps/web/src/lib/checkoutAttemptSummary.test.ts
  • ShippedREQ-ECO-597

    Checkout must persist a server-owned attempt ledger before hosted payment redirect. The ledger must store tenant, attempt reference, cart hash, quote version, payment amount, currency, provider session reference hash, lifecycle state, and…

    48m ago
    apps/web/src/lib/checkoutAttemptLedger.ts×4apps/web/src/lib/demoStripeCheckout.ts×2apps/web/src/app/(storefront)/cart/confirmation/page.tsx+2 more
  • Not startedREQ-ECO-598

    Checkout order creation must run through an idempotent post-payment worker that can resume from payment_authorized to order_created without duplicate orders, duplicate fulfillment rows, duplicate loyalty earns, or duplicate shopper notific…

  • ShippedREQ-ECO-599

    Checkout attempt records must be sealed against browser tampering before any payment provider handoff. The server-owned record must include a signature or database identity that covers tenant, attempt reference, cart hash, quote version, p…

    48m ago
    apps/web/src/lib/checkoutAttemptLedger.ts×5apps/web/src/app/(storefront)/cart/confirmation/page.tsxapps/web/src/env.ts+1 more
  • ShippedREQ-ECO-600

    Checkout confirmation must reconcile the server attempt ledger with the payment webhook lifecycle before exposing order or fulfillment progress. A hosted-payment return may show payment_authorized only after the ledger and provider session…

    2m ago
    apps/web/src/app/(storefront)/cart/confirmation/page.tsxapps/web/src/lib/checkoutReturnVerification.tspackages/core/src/payments/index.ts
  • Not startedREQ-ECO-601

    Live checkout must persist sealed attempt state in a tenant-scoped database table before enabling production payment capture. The table must store tenant, attempt reference, cart hash, checkout settings hash, quote version, payment amount,…

  • Not startedREQ-ECO-602

    Checkout confirmation must merge hosted-payment returns with webhook-confirmed payment state using a deterministic precedence rule. The page may show payment_authorized from a verified return, but order number, receipt links, fulfillment q…

  • ShippedREQ-ECO-603

    Storefront checkout payment collection must use an in-app Stripe surface such as Embedded Checkout or Stripe Elements mounted on a BoltToCart route. The server may create or retrieve Stripe Checkout Sessions, PaymentIntents, SetupIntents,…

    2m ago
    apps/web/src/lib/demoStripeEmbeddedCheckoutHandoff.ts×3packages/core/src/payments/index.ts×3apps/web/src/lib/demoStripeCheckout.ts×2+6 more
REQ-FULFulfillment, Shipping & Returns
478 shipped1 wip6 todo99%
  • ShippedREQ-FUL-001

    Provide a pick-and-pack UI that batches cuts across orders by bolt for efficiency.

    6h ago
    packages/core/src/storeOperationsReadiness/index.test.ts×4packages/core/src/retailRuntimeReadiness/index.test.ts×2packages/core/src/retailRuntimeReadiness/index.ts
  • ShippedREQ-FUL-002

    Integrate with shipping-rate and label providers to quote rates at checkout, purchase labels, and capture tracking numbers.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.ts
  • ShippedREQ-FUL-003

    Support partial shipments, backorders, and customer-approved substitutions.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.ts
  • ShippedREQ-FUL-004

    Support store pickup and local delivery as fulfillment methods.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.ts
  • ShippedREQ-FUL-005

    Returns: configurable policy per product class. Default: cut fabric is non-returnable; precuts, notions, and unopened kits are returnable within a configurable window.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.ts
  • ShippedREQ-FUL-006

    Refunds must support original-tender, store credit, and gift card, with tax correctly reversed.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.ts
  • ShippedREQ-FUL-007

    RMA workflow must generate a prepaid label when the store policy allows, and reconcile inventory on receipt.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.test.tspackages/core/src/retailRuntimeReadiness/index.tspackages/core/src/storeOperationsReadiness/index.test.ts
  • ShippedREQ-FUL-503

    Creates /admin/fulfillment/[orderId]/page.tsx (fulfillment detail page) with an inline "Send shipping notification" form. The Server Action emits an email.queued@1 event into the transactional outbox with templateKey: "order_shipped" — reu…

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/actions.ts×2apps/web/src/app/admin/fulfillment/[orderId]/page.tsx×2apps/web/src/app/admin/fulfillment/[orderId]/SendShippingNotificationForm.tsx+1 more
  • ShippedREQ-FUL-504

    /admin/fulfillment grid adds a URL-driven status filter chip row (pending / processing / ready_for_pickup / fulfilled / cancelled) via buildFulfillmentHref(status) helper. The default view (?status= absent) still shows the active pick queu…

    6h ago
    apps/web/src/app/admin/fulfillment/page.tsx×5apps/web/src/app/admin/fulfillment/[orderId]/return/RmaForm.tsxapps/web/src/app/admin/fulfillment/[orderId]/return/actions.ts+1 more
  • ShippedREQ-FUL-505

    STOP — rma.reasonText column does not exist in the orders schema. Adding a reason field requires a schema migration — coordination-lane work.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx×2packages/db/src/migrations/0034_return_authorizations.sql×2apps/web/src/app/admin/fulfillment/[orderId]/ship/actions.ts+3 more
  • ShippedREQ-FUL-502

    /admin/fulfillment/[orderId]/return RMA initiation page. Captures return reason (dropdown), refund amount (max = order total), and internal notes. Execution (Stripe refund, refunded status, order.refunded@1 event) deferred to carrier-API +…

    6h ago
    apps/web/src/app/admin/orders/[id]/page.tsx
  • ShippedREQ-FUL-501

    /admin/fulfillment/[orderId]/ship shipping rate capture page. Carrier dropdown, tracking number, and shipping cost fields. Label purchase and order-status advancement deferred to carrier-API integration outside this lane's path fence.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsxapps/web/src/app/admin/orders/[id]/page.tsx
  • ShippedREQ-FUL-500

    /admin/fulfillment pick-and-pack queue. Lists pending/processing/ready_for_pickup orders oldest-first with status badges, channel, total, and Ship/View action buttons. Inline Drizzle SELECT (no ordersRepo.list yet). Bolt grouping placehold…

    6h ago
    packages/core/src/adminFulfillmentLaunchReadiness/index.test.ts×6packages/core/src/fulfillmentAdminReadiness/index.test.ts×6apps/web/src/app/admin/fulfillment/_lib/fulfillmentAdminSuite.test.ts×4+5 more
  • ShippedREQ-FUL-506

    The /admin/fulfillment queue must add URL-driven channel filter chips for all, storefront, POS, API, imported, and unknown-source orders, preserving the active status filter and showing per-channel counts from the loaded order window.

    6h ago
    apps/web/src/app/admin/fulfillment/_lib/fulfillmentAdminSuite.test.ts×2apps/web/src/app/admin/fulfillment/BulkFulfillmentActions.tsxpackages/core/src/adminFulfillmentLaunchReadiness/index.test.ts
  • ShippedREQ-FUL-507

    The /admin/fulfillment/fulfillment.csv export must honor the same ?status= and ?channel= filters as the on-screen fulfillment queue so downloaded pick lists match the visible cohort.

    6h ago
    apps/web/src/app/admin/fulfillment/fulfillment.csv/route.ts
  • ShippedREQ-FUL-508

    The /admin/fulfillment table must render human-readable source labels instead of raw source strings while preserving the raw value in a title for debugging.

    6h ago
    apps/web/src/app/admin/fulfillment/page.tsx
  • ShippedREQ-FUL-509

    The /admin/fulfillment summary strip must include an oldest-visible-order age tile so staff can spot stale pick queues without scanning every row.

    6h ago
    apps/web/src/app/admin/fulfillment/page.tsx
  • ShippedREQ-FUL-510

    The /admin/fulfillment table must include a per-row copy-order-id affordance for warehouse/support handoffs.

    6h ago
    apps/web/src/app/admin/fulfillment/page.tsx
  • ShippedREQ-FUL-511

    The /admin/fulfillment/[orderId] detail page must include a copy-order-id affordance in the header/action area.

    6h ago
    packages/core/src/adminFulfillmentLaunchReadiness/index.test.ts×4apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-512

    The /admin/fulfillment/[orderId] detail page must render a read-only fulfillment checklist for placed, picking, ready, shipped/fulfilled, and notification-eligible states, derived only from the persisted order status.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-513

    /admin/fulfillment must render an active-filter summary whenever status or channel filters are active, including a clear-all link back to the default active queue.

    6h ago
    apps/web/src/app/admin/fulfillment/page.tsx
  • ShippedREQ-FUL-514

    /admin/fulfillment must include a visible total value tile summing the currently filtered queue's order totals in minor-unit-safe integer math.

    6h ago
    apps/web/src/app/admin/fulfillment/page.tsx
  • ShippedREQ-FUL-515

    /admin/fulfillment/[orderId] must expose a print-pick-sheet action in the header action strip, hidden from print output.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-516

    /admin/fulfillment/[orderId] must expose a copy-payment-reference affordance when the order carries a Stripe PaymentIntent id.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx×2
  • ShippedREQ-FUL-517

    /admin/fulfillment/[orderId] must render human-readable source labels while preserving the raw source value in a title attribute.

    6h ago
    packages/core/src/adminFulfillmentLaunchReadiness/index.test.ts×2packages/core/src/fulfillmentAdminReadiness/index.test.tspackages/demo-data/src/packs/0073_admin_fulfillment_launch_readiness_suite.ts
  • ShippedREQ-FUL-518

    /admin/fulfillment/fulfillment.csv must include total_minor alongside the human-readable USD amount for reconciliation-safe imports.

    6h ago
    packages/core/src/fulfillmentAdminReadiness/index.test.ts×4apps/web/src/app/admin/fulfillment/fulfillment.csv/route.tspackages/core/src/adminFulfillmentLaunchReadiness/index.test.ts
  • ShippedREQ-FUL-519

    /admin/fulfillment/fulfillment.csv must include customer_id as a separate column so staff can join exports back to customer records without parsing email.

    6h ago
    packages/core/src/storeOperationsReadiness/index.test.ts×4apps/web/src/app/admin/fulfillment/fulfillment.csv/route.ts
  • ShippedREQ-FUL-520

    /admin/fulfillment/fulfillment.csv must include placed_at as a full ISO-8601 timestamp in addition to the date-only placed field.

    6h ago
    packages/core/src/storeOperationsReadiness/index.test.ts×2apps/web/src/app/admin/fulfillment/fulfillment.csv/route.ts
  • ShippedREQ-FUL-521

    /admin/fulfillment must expose a copy-visible-order-ids action when the filtered queue has rows, copying one UUID per line for warehouse and support handoffs.

    6h ago
    apps/web/src/app/admin/fulfillment/page.tsx
  • ShippedREQ-FUL-522

    /admin/fulfillment must expose a print-current-view action for the currently visible fulfillment queue, hidden from print output.

    6h ago
    apps/web/src/app/admin/fulfillment/page.tsx
  • ShippedREQ-FUL-523

    /admin/fulfillment status filter chips must show per-status counts computed from the channel-filtered loaded order window, plus an active-queue count for the default view.

    6h ago
    apps/web/src/app/admin/fulfillment/page.tsx×2
  • ShippedREQ-FUL-524

    /admin/fulfillment empty states must name the active status/channel filters and include a clear-all link whenever filters are hiding all rows.

    6h ago
    apps/web/src/app/admin/fulfillment/page.tsx
  • ShippedREQ-FUL-525

    /admin/fulfillment placed-date cells must expose the full placed timestamp in a title while keeping the compact date text visible.

    6h ago
    apps/web/src/app/admin/fulfillment/page.tsxpackages/core/src/fulfillmentAdminReadiness/index.test.ts
  • ShippedREQ-FUL-526

    /admin/fulfillment/[orderId]/ship must expose a copy-order-id affordance in the header/action area for shipping desk handoffs.

    6h ago
    packages/core/src/fulfillmentAdminReadiness/index.test.ts×4apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-527

    /admin/fulfillment/[orderId]/ship must expose a print-shipping-worksheet action, hidden from print output.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-528

    /admin/fulfillment/[orderId]/ship must expose a copy-payment-reference affordance when the order carries a Stripe PaymentIntent id.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx×2
  • ShippedREQ-FUL-529

    /admin/fulfillment/[orderId]/ship must render a human-readable source label while preserving the raw source value in a title attribute.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-530

    /admin/fulfillment/[orderId]/ship must render a read-only shipping checklist for ready status, manual label purchase, tracking capture, and notification follow-up, derived only from persisted order fields and the existing workflow.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-531

    /admin/fulfillment/[orderId]/return must expose a copy-order-id affordance in the header/action area for RMA handoffs.

    6h ago
    apps/web/src/app/admin/fulfillment/_lib/fulfillmentAdminSuite.test.ts×3apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-532

    /admin/fulfillment/[orderId]/return must expose a print-RMA-worksheet action, hidden from print output.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-533

    /admin/fulfillment/[orderId]/return must expose a copy-payment-reference affordance when the order carries a Stripe PaymentIntent id.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-534

    /admin/fulfillment/[orderId]/return must render a human-readable source label while preserving the raw source value in a title attribute.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-535

    /admin/fulfillment/[orderId]/return must render a read-only RMA eligibility checklist for fulfilled status, manual refund processing, reason capture, and inventory review follow-up, derived only from persisted order fields and the existing…

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-536

    /admin/fulfillment row actions must include a direct pick-sheet link to /admin/fulfillment/[orderId] so warehouse staff do not have to detour through the full order detail page.

    6h ago
    apps/web/src/app/admin/fulfillment/page.tsx
  • ShippedREQ-FUL-537

    /admin/fulfillment truncated order identifiers must preserve the full order id in a title attribute for visual verification during support calls.

    6h ago
    apps/web/src/app/admin/fulfillment/page.tsx
  • ShippedREQ-FUL-538

    /admin/fulfillment placed-date cells must include a compact relative age beside the date so stale rows are visible without scanning the summary strip.

    6h ago
    apps/web/src/app/admin/fulfillment/page.tsx
  • ShippedREQ-FUL-539

    /admin/fulfillment summary strip must include a pending-order count for the currently filtered queue.

    6h ago
    apps/web/src/app/admin/fulfillment/page.tsx
  • ShippedREQ-FUL-540

    /admin/fulfillment summary strip must include a processing-order count for the currently filtered queue.

    6h ago
    apps/web/src/app/admin/fulfillment/page.tsx
  • ShippedREQ-FUL-541

    /admin/fulfillment summary strip must include a ready-for-pickup count for the currently filtered queue.

    6h ago
    apps/web/src/app/admin/fulfillment/page.tsx
  • ShippedREQ-FUL-542

    /admin/fulfillment/[orderId] placed-date summary must preserve the full placed timestamp in a title attribute while keeping the compact date visible.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-543

    /admin/fulfillment/[orderId] must expose a copy-fulfillment-handoff-summary action containing order id, status, source, total, and placed timestamp.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-544

    /admin/fulfillment/[orderId] status badges must preserve the raw persisted status in a title attribute.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-545

    /admin/fulfillment/[orderId] action navigation must expose a Return/RMA link for fulfilled orders, using the existing RMA flow.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsxpackages/core/src/fulfillmentAdminReadiness/index.test.ts
  • ShippedREQ-FUL-546

    /admin/fulfillment/[orderId]/ship must expose a copy-shipping-handoff-summary action containing order id, status, source, total, and placed timestamp.

    6h ago
    packages/core/src/fulfillmentAdminReadiness/index.test.ts×4apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-547

    /admin/fulfillment/[orderId]/ship must render a status badge in the header with the raw persisted status preserved in a title attribute.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-548

    /admin/fulfillment/[orderId]/ship navigation must include a link back to the fulfillment pick sheet for the same order.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-549

    /admin/fulfillment/[orderId]/return must expose a copy-RMA-handoff-summary action containing order id, status, source, total, and eligibility.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx×2
  • ShippedREQ-FUL-550

    /admin/fulfillment/[orderId]/return navigation must include a link back to the fulfillment pick sheet for the same order.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-551

    /admin/fulfillment/[orderId] page headings that render truncated order ids must preserve the full order id in a title attribute for support verification.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-552

    /admin/fulfillment/[orderId] breadcrumb current-page crumbs that render truncated order ids must preserve the full order id in a title attribute.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-553

    /admin/fulfillment/[orderId] must show the associated customer_id with a copy affordance when present, and an honest guest-order fallback when absent.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx×2
  • ShippedREQ-FUL-554

    /admin/fulfillment/[orderId] must show total_minor beside the formatted currency total for reconciliation-safe support handoffs.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-555

    /admin/fulfillment/[orderId] must show a relative placed-age tile derived from created_at so stale pick sheets are obvious at detail depth.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-556

    /admin/fulfillment/[orderId]/ship headings that render truncated order ids must preserve the full order id in a title attribute.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsxapps/web/src/app/admin/fulfillment/_lib/fulfillmentAdminSuite.test.ts
  • ShippedREQ-FUL-557

    /admin/fulfillment/[orderId]/ship must show the associated customer_id with a copy affordance when present, and an honest guest-order fallback when absent.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx×2
  • ShippedREQ-FUL-558

    /admin/fulfillment/[orderId]/ship must show total_minor beside the formatted currency total for reconciliation-safe shipping handoffs.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx×3
  • ShippedREQ-FUL-559

    /admin/fulfillment/[orderId]/ship must show a relative placed-age tile derived from created_at.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-560

    /admin/fulfillment/[orderId]/ship shipping checklist rows must preserve the persisted order status in each row's title attribute so staff can debug why a row reads ready/pending.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsxpackages/core/src/fulfillmentAdminReadiness/index.test.ts
  • ShippedREQ-FUL-561

    /admin/fulfillment/[orderId]/return headings that render truncated order ids must preserve the full order id in a title attribute.

    6h ago
    packages/core/src/fulfillmentAdminReadiness/index.test.ts×4apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-562

    /admin/fulfillment/[orderId]/return must render the current status as a badge with the raw persisted status preserved in a title attribute.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-563

    /admin/fulfillment/[orderId]/return must show the associated customer_id with a copy affordance when present, and an honest guest-order fallback when absent.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx×3
  • ShippedREQ-FUL-564

    /admin/fulfillment/[orderId]/return must show total_minor beside the formatted currency total for reconciliation-safe RMA handoffs.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx×2
  • ShippedREQ-FUL-565

    /admin/fulfillment/[orderId]/return RMA checklist rows must preserve the persisted order status in each row's title attribute so staff can debug eligibility without inspecting raw data elsewhere.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-566

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include total_minor, source code, and customer id/guest status for audit-safe support escalation.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-567

    /admin/fulfillment/[orderId] source summary tiles must show the raw persisted source code visibly beside the friendly source label.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-568

    /admin/fulfillment/[orderId] placed timestamp tiles must preserve the exact ISO timestamp in a title attribute.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-569

    /admin/fulfillment/[orderId] payment reference tiles must render an explicit "Not recorded" fallback instead of disappearing when no payment reference exists.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-570

    /admin/fulfillment/[orderId] placed timestamp tiles must expose a copy affordance for the exact ISO timestamp.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-571

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include total_minor, source code, customer id/guest status, payment reference/fallback, and exact placed timestamp.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-572

    /admin/fulfillment/[orderId]/ship placed timestamp tiles must preserve and copy the exact ISO timestamp.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-573

    /admin/fulfillment/[orderId]/ship source summary tiles must show the raw persisted source code visibly beside the friendly source label.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-574

    /admin/fulfillment/[orderId]/ship payment reference tiles must preserve the raw payment reference in a title attribute when present.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-575

    /admin/fulfillment/[orderId]/ship manual-label notes must include the short order id so printed worksheets remain identifiable when separated from the page header.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-576

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include total_minor, source code, customer id/guest status, payment reference/fallback, and exact placed timestamp.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-577

    /admin/fulfillment/[orderId]/return placed timestamp tiles must preserve and copy the exact ISO timestamp.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx×2
  • ShippedREQ-FUL-578

    /admin/fulfillment/[orderId]/return source summary tiles must show the raw persisted source code visibly beside the friendly source label.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-579

    /admin/fulfillment/[orderId]/return RMA eligibility tiles must preserve the raw persisted order status in a title attribute.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-580

    /admin/fulfillment/[orderId]/return blocked-return alerts must preserve the raw persisted order status in a title attribute.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsxpackages/core/src/fulfillmentAdminReadiness/index.test.ts
  • ShippedREQ-FUL-581

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include the admin route path for support pastebacks.

    6h ago
    packages/core/src/fulfillmentAdminReadiness/index.test.ts×4apps/web/src/app/admin/fulfillment/_lib/fulfillmentAdminSuite.test.ts×2apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-582

    /admin/fulfillment/[orderId] summary tiles must include the full order id with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx×2
  • ShippedREQ-FUL-583

    /admin/fulfillment/[orderId] summary tiles must include the raw persisted status with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx×2
  • ShippedREQ-FUL-584

    /admin/fulfillment/[orderId] source summary tiles must expose a copy affordance for the raw source code.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-585

    /admin/fulfillment/[orderId] blocked shipping-notification notices must preserve the raw persisted status in a title attribute.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-586

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include the admin route path and shippable eligibility.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-587

    /admin/fulfillment/[orderId]/ship summary tiles must include the full order id with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx×2
  • ShippedREQ-FUL-588

    /admin/fulfillment/[orderId]/ship summary tiles must include the raw persisted status with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx×2
  • ShippedREQ-FUL-589

    /admin/fulfillment/[orderId]/ship source summary tiles must expose a copy affordance for the raw source code.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-590

    /admin/fulfillment/[orderId]/ship blocked-shipping alerts must preserve the raw persisted status in a title attribute.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-591

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include the admin route path and RMA route path.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx×2
  • ShippedREQ-FUL-592

    /admin/fulfillment/[orderId]/return summary tiles must include the full order id with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx×2
  • ShippedREQ-FUL-593

    /admin/fulfillment/[orderId]/return summary tiles must include the raw persisted status with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx×2
  • ShippedREQ-FUL-594

    /admin/fulfillment/[orderId]/return source summary tiles must expose a copy affordance for the raw source code.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-595

    /admin/fulfillment/[orderId]/return payment reference tiles must preserve the raw payment reference in a title attribute when present.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-596

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include shipping-notification eligibility.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-597

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include the next recommended fulfillment action.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-598

    /admin/fulfillment/[orderId] summary tiles must include the admin route path with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-599

    /admin/fulfillment/[orderId] summary tiles must include shipping-notification eligibility with raw status preserved in a title attribute.

    6h ago
    apps/web/src/app/admin/fulfillment/_lib/fulfillmentAdminSuite.test.ts×4packages/core/src/fulfillmentAdminReadiness/index.test.ts×3apps/web/src/app/admin/fulfillment/_lib/fulfillmentControlSuite.test.ts+2 more
  • ShippedREQ-FUL-600

    /admin/fulfillment/[orderId] order-action navigation links must preserve each destination path in a title attribute for support verification.

    6h ago
    packages/core/src/fulfillmentControlReadiness/index.test.ts×6apps/web/src/app/admin/fulfillment/_lib/fulfillmentControlSuite.test.ts×4apps/web/src/app/admin/fulfillment/_lib/fulfillmentAdminSuite.test.ts+2 more
  • ShippedREQ-FUL-601

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include the next recommended shipping action.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-602

    /admin/fulfillment/[orderId]/ship summary tiles must include the ship route path with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-603

    /admin/fulfillment/[orderId]/ship summary tiles must include shippable eligibility with raw status preserved in a title attribute.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-604

    /admin/fulfillment/[orderId]/ship manual-label worksheet notes must preserve the full order id in a title attribute.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-605

    /admin/fulfillment/[orderId]/ship confirm-shipment submit buttons must preserve the ready-to-fulfilled status transition in a title attribute.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-606

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include the next recommended RMA action.

    6h ago
    apps/web/src/app/admin/fulfillment/_lib/fulfillmentControlSuite.test.ts×2apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-607

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include the intended order status after RMA confirmation.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx×2
  • ShippedREQ-FUL-608

    /admin/fulfillment/[orderId]/return summary tiles must include the RMA route path with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx×2
  • ShippedREQ-FUL-609

    /admin/fulfillment/[orderId]/return RMA eligibility tiles must expose a copy affordance for the visible eligibility value.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx×2
  • ShippedREQ-FUL-610

    /admin/fulfillment/[orderId]/return navigation links must preserve each destination path in a title attribute for support verification.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx×3
  • ShippedREQ-FUL-611

    /admin/fulfillment/[orderId] formatted total tiles must preserve raw total_minor in a title attribute for reconciliation.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-612

    /admin/fulfillment/[orderId] total-minor tiles must expose a copy affordance for support reconciliation.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-613

    /admin/fulfillment/[orderId] guest customer fallbacks must preserve guest_order in a title attribute.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-614

    /admin/fulfillment/[orderId] missing payment-reference fallbacks must preserve not_recorded in a title attribute.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-615

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a reconciliation key combining order id and total_minor.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsxpackages/core/src/fulfillmentControlReadiness/index.test.ts
  • ShippedREQ-FUL-616

    /admin/fulfillment/[orderId]/ship formatted total tiles must preserve raw total_minor in a title attribute for reconciliation.

    6h ago
    packages/core/src/fulfillmentControlReadiness/index.test.ts×4apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-617

    /admin/fulfillment/[orderId]/ship total-minor tiles must expose a copy affordance for support reconciliation.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-618

    /admin/fulfillment/[orderId]/ship guest customer fallbacks must preserve guest_order in a title attribute.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-619

    /admin/fulfillment/[orderId]/ship missing payment-reference fallbacks must preserve not_recorded in a title attribute.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-620

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a reconciliation key combining order id and total_minor.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx×3
  • ShippedREQ-FUL-621

    /admin/fulfillment/[orderId]/return formatted total context must preserve raw total_minor in a title attribute for reconciliation.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-622

    /admin/fulfillment/[orderId]/return total-minor tiles must expose a copy affordance for support reconciliation.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-623

    /admin/fulfillment/[orderId]/return guest customer fallbacks must preserve guest_order in a title attribute.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-624

    /admin/fulfillment/[orderId]/return missing payment-reference fallbacks must preserve not_recorded in a title attribute.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-625

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a reconciliation key combining order id and total_minor.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-626

    /admin/fulfillment/[orderId] summary tiles must include the reconciliation key with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-627

    /admin/fulfillment/[orderId] summary tiles must include the next recommended fulfillment action with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-628

    /admin/fulfillment/[orderId] customer-id tiles must preserve the raw customer id in a title attribute when present.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-629

    /admin/fulfillment/[orderId] payment-reference tiles must preserve the raw payment reference in a title attribute when present.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-630

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include full-order, shipping, and RMA route paths.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-631

    /admin/fulfillment/[orderId]/ship summary tiles must include the reconciliation key with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/_lib/fulfillmentControlSuite.test.ts×3apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx×2
  • ShippedREQ-FUL-632

    /admin/fulfillment/[orderId]/ship shippable eligibility tiles must expose a copy affordance for the visible eligibility value.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-633

    /admin/fulfillment/[orderId]/ship summary tiles must include the next recommended shipping action with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-634

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include the target status after shipment confirmation.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-635

    /admin/fulfillment/[orderId]/ship navigation links must preserve each destination path in a title attribute for support verification.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx×3packages/core/src/fulfillmentControlReadiness/index.test.ts
  • ShippedREQ-FUL-636

    /admin/fulfillment/[orderId]/return summary tiles must include the reconciliation key with a copy affordance.

    6h ago
    packages/core/src/fulfillmentControlReadiness/index.test.ts×4apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx×2
  • ShippedREQ-FUL-637

    /admin/fulfillment/[orderId]/return summary tiles must include the next recommended RMA action with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-638

    /admin/fulfillment/[orderId]/return summary tiles must include the RMA target status with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-639

    /admin/fulfillment/[orderId]/return customer-id tiles must preserve the raw customer id in a title attribute when present.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-640

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include the full order detail route path.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-641

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include customer and payment proof tokens for guest/not-recorded cases.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-642

    /admin/fulfillment/[orderId] summary tiles must include a status/source proof key with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-643

    /admin/fulfillment/[orderId] shipping-notification eligibility tiles must expose a copy affordance for the visible eligibility value.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-644

    /admin/fulfillment/[orderId] placed-age tiles must preserve the exact placed timestamp in a title attribute.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-645

    /admin/fulfillment/[orderId] total-minor tile values must preserve the raw minor-unit value in a title attribute.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-646

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include full-order and pick-sheet route paths.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-647

    /admin/fulfillment/[orderId]/ship summary tiles must include the shipment target status with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-648

    /admin/fulfillment/[orderId]/ship customer-id tiles must preserve the raw customer id in a title attribute when present.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-649

    /admin/fulfillment/[orderId]/ship placed-age tiles must preserve the exact placed timestamp in a title attribute.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-650

    /admin/fulfillment/[orderId]/ship total-minor tile values must preserve the raw minor-unit value in a title attribute.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-651

    /admin/fulfillment/[orderId]/return summary tiles must include the full order detail route path with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-652

    /admin/fulfillment/[orderId]/return total-minor tile values must preserve the raw minor-unit value in a title attribute.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-653

    /admin/fulfillment/[orderId]/return placed-age tiles must preserve the exact placed timestamp in a title attribute.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-654

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include customer and payment proof tokens for guest/not-recorded cases.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-655

    /admin/fulfillment/[orderId]/return summary tiles must include a status/source proof key with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx×2packages/core/src/fulfillmentControlReadiness/index.test.ts
  • ShippedREQ-FUL-656

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a route bundle containing fulfillment, full-order, shipping, and RMA paths.

    6h ago
    packages/core/src/fulfillmentControlReadiness/index.test.ts×4apps/web/src/app/admin/fulfillment/[orderId]/page.tsxapps/web/src/app/admin/fulfillment/_lib/fulfillmentControlSuite.test.ts
  • ShippedREQ-FUL-657

    /admin/fulfillment/[orderId] summary tiles must include the route bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx×2
  • ShippedREQ-FUL-658

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a readiness bundle combining order status, notification eligibility, and next action.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-659

    /admin/fulfillment/[orderId] summary tiles must include the readiness bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx×2
  • ShippedREQ-FUL-660

    /admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the full route bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-661

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a route bundle containing ship, full-order, and pick-sheet paths.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-662

    /admin/fulfillment/[orderId]/ship summary tiles must include the route bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx×2
  • ShippedREQ-FUL-663

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a readiness bundle combining status, shippable eligibility, next action, and target status.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-664

    /admin/fulfillment/[orderId]/ship summary tiles must include the readiness bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx×2
  • ShippedREQ-FUL-665

    /admin/fulfillment/[orderId]/ship manual-label notes must preserve the shipment target status in machine-readable hover context.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-666

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a route bundle containing RMA, fulfillment, and full-order paths.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-667

    /admin/fulfillment/[orderId]/return summary tiles must include the route bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-668

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a readiness bundle combining status, RMA eligibility, next action, and target status.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-669

    /admin/fulfillment/[orderId]/return summary tiles must include the readiness bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx×2
  • ShippedREQ-FUL-670

    /admin/fulfillment/[orderId]/return blocked-return alerts must preserve the RMA target status in machine-readable hover context.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsxpackages/core/src/fulfillmentControlReadiness/index.test.ts
  • ShippedREQ-FUL-671

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include the fulfillment queue path.

    6h ago
    packages/core/src/fulfillmentControlReadiness/index.test.ts×4apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-672

    /admin/fulfillment/[orderId] summary tiles must include the fulfillment queue path with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx×2
  • ShippedREQ-FUL-673

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include an operator bundle combining order id, status, source, and reconciliation key.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-674

    /admin/fulfillment/[orderId] summary tiles must include the operator bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx×2
  • ShippedREQ-FUL-675

    /admin/fulfillment/[orderId] checklist rows must preserve the fulfillment readiness bundle in machine-readable hover context.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-676

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include the fulfillment queue path.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-677

    /admin/fulfillment/[orderId]/ship summary tiles must include the fulfillment queue path with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx×2
  • ShippedREQ-FUL-678

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include an operator bundle combining order id, status, source, and reconciliation key.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-679

    /admin/fulfillment/[orderId]/ship summary tiles must include the operator bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx×2
  • ShippedREQ-FUL-680

    /admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the shipping route bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-681

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include the fulfillment queue path.

    6h ago
    apps/web/src/app/admin/fulfillment/_lib/fulfillmentControlSuite.test.ts×2apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-682

    /admin/fulfillment/[orderId]/return summary tiles must include the fulfillment queue path with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx×2
  • ShippedREQ-FUL-683

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include an operator bundle combining order id, status, source, and reconciliation key.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-684

    /admin/fulfillment/[orderId]/return summary tiles must include the operator bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx×2
  • ShippedREQ-FUL-685

    /admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the RMA route bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx×2packages/core/src/fulfillmentControlReadiness/index.test.ts
  • ShippedREQ-FUL-686

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a control bundle combining queue path, operator bundle, and readiness bundle.

    6h ago
    packages/core/src/fulfillmentControlReadiness/index.test.ts×4apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-687

    /admin/fulfillment/[orderId] summary tiles must include the control bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx×2
  • ShippedREQ-FUL-688

    /admin/fulfillment/[orderId] blocked shipping-notification notes must preserve the readiness bundle in machine-readable hover context.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-689

    /admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the operator bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-690

    /admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the control bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-691

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a control bundle combining queue path, operator bundle, and readiness bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-692

    /admin/fulfillment/[orderId]/ship summary tiles must include the control bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-693

    /admin/fulfillment/[orderId]/ship blocked-shipping alerts must preserve the shipping readiness bundle in machine-readable hover context.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-694

    /admin/fulfillment/[orderId]/ship checklist rows must preserve the shipping readiness bundle in machine-readable hover context.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-695

    /admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the operator bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-696

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a control bundle combining queue path, operator bundle, and readiness bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-697

    /admin/fulfillment/[orderId]/return summary tiles must include the control bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-698

    /admin/fulfillment/[orderId]/return blocked-return alerts must preserve the RMA readiness bundle in machine-readable hover context.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-699

    /admin/fulfillment/[orderId]/return checklist rows must preserve the RMA readiness bundle in machine-readable hover context.

    6h ago
    apps/web/src/app/admin/fulfillment/_lib/fulfillmentControlSuite.test.ts×4packages/core/src/fulfillmentControlReadiness/index.test.ts×3apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx+3 more
  • ShippedREQ-FUL-700

    /admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the operator bundle.

    6h ago
    packages/core/src/fulfillmentOperationsHandoffReadiness/index.test.ts×6apps/web/src/app/admin/fulfillment/_lib/fulfillmentOperationsSuite.test.ts×4apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx+3 more
  • ShippedREQ-FUL-701

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include an audit bundle combining control bundle, status/source key, placed timestamp, and payment proof token.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-702

    /admin/fulfillment/[orderId] summary tiles must include the audit bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-703

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a support bundle combining customer proof token, payment proof token, and placed timestamp.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-704

    /admin/fulfillment/[orderId] summary tiles must include the support bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-705

    /admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the audit bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-706

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include an audit bundle combining control bundle, route bundle, placed timestamp, and payment proof token.

    6h ago
    apps/web/src/app/admin/fulfillment/_lib/fulfillmentOperationsSuite.test.ts×2apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-707

    /admin/fulfillment/[orderId]/ship summary tiles must include the audit bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-708

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a support bundle combining customer proof token, payment proof token, and placed timestamp.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-709

    /admin/fulfillment/[orderId]/ship summary tiles must include the support bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-710

    /admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the control bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-711

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include an audit bundle combining control bundle, status/source key, placed timestamp, and payment proof token.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-712

    /admin/fulfillment/[orderId]/return summary tiles must include the audit bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-713

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a support bundle combining customer proof token, payment proof token, and placed timestamp.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-714

    /admin/fulfillment/[orderId]/return summary tiles must include the support bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-715

    /admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the control bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsxpackages/core/src/fulfillmentOperationsHandoffReadiness/index.test.ts
  • ShippedREQ-FUL-716

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a timeline bundle combining placed timestamp, next action, and shipping-notification eligibility.

    6h ago
    packages/core/src/fulfillmentOperationsHandoffReadiness/index.test.ts×4apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-717

    /admin/fulfillment/[orderId] summary tiles must include the timeline bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-718

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include an exception bundle combining status/source key, control bundle, and support bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-719

    /admin/fulfillment/[orderId] summary tiles must include the exception bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-720

    /admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the support bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-721

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a timeline bundle combining placed timestamp, next shipping action, and shipment target status.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-722

    /admin/fulfillment/[orderId]/ship summary tiles must include the timeline bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-723

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include an exception bundle combining shippable eligibility, control bundle, and support bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-724

    /admin/fulfillment/[orderId]/ship summary tiles must include the exception bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-725

    /admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the audit bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-726

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a timeline bundle combining placed timestamp, next RMA action, and RMA target status.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-727

    /admin/fulfillment/[orderId]/return summary tiles must include the timeline bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-728

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include an exception bundle combining RMA eligibility, control bundle, and support bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-729

    /admin/fulfillment/[orderId]/return summary tiles must include the exception bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-730

    /admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the audit bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsxpackages/core/src/fulfillmentOperationsHandoffReadiness/index.test.tspackages/core/src/fulfillmentReleaseReadiness/index.test.ts
  • ShippedREQ-FUL-731

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include an operations bundle combining route bundle, timeline bundle, and exception bundle.

    6h ago
    packages/core/src/fulfillmentReleaseReadiness/index.test.ts×8packages/core/src/fulfillmentOperationsHandoffReadiness/index.test.ts×4apps/web/src/app/admin/fulfillment/_lib/fulfillmentOperationsSuite.test.ts×3+2 more
  • ShippedREQ-FUL-732

    /admin/fulfillment/[orderId] summary tiles must include the operations bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsxpackages/core/src/fulfillmentReleaseReadiness/index.test.ts
  • ShippedREQ-FUL-733

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a print bundle combining short order id, placed timestamp, and next action.

    6h ago
    packages/core/src/fulfillmentReleaseReadiness/index.test.ts×2apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-734

    /admin/fulfillment/[orderId] summary tiles must include the print bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsxpackages/core/src/fulfillmentReleaseReadiness/index.test.ts
  • ShippedREQ-FUL-735

    /admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the exception bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsxpackages/core/src/fulfillmentReleaseReadiness/index.test.ts
  • ShippedREQ-FUL-736

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include an operations bundle combining route bundle, timeline bundle, and exception bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-737

    /admin/fulfillment/[orderId]/ship summary tiles must include the operations bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx×2
  • ShippedREQ-FUL-738

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a print bundle combining short order id, placed timestamp, and next shipping action.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-739

    /admin/fulfillment/[orderId]/ship summary tiles must include the print bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx×2
  • ShippedREQ-FUL-740

    /admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the support bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-741

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include an operations bundle combining route bundle, timeline bundle, and exception bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-742

    /admin/fulfillment/[orderId]/return summary tiles must include the operations bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx×2
  • ShippedREQ-FUL-743

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a print bundle combining short order id, placed timestamp, and next RMA action.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-744

    /admin/fulfillment/[orderId]/return summary tiles must include the print bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx×2
  • ShippedREQ-FUL-745

    /admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the support bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsxpackages/core/src/fulfillmentReleaseReadiness/index.test.ts
  • ShippedREQ-FUL-746

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a command bundle combining control, operations, and print bundles.

    6h ago
    packages/core/src/fulfillmentReleaseReadiness/index.test.ts×6apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-747

    /admin/fulfillment/[orderId] summary tiles must include the command bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-748

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include an escalation bundle combining support, exception, and audit bundles.

    6h ago
    packages/core/src/fulfillmentReleaseReadiness/index.test.ts×2apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-749

    /admin/fulfillment/[orderId] summary tiles must include the escalation bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-750

    /admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the command bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-751

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a command bundle combining control, operations, and print bundles.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-752

    /admin/fulfillment/[orderId]/ship summary tiles must include the command bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-753

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include an escalation bundle combining support, exception, and audit bundles.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-754

    /admin/fulfillment/[orderId]/ship summary tiles must include the escalation bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-755

    /admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the command bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-756

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a command bundle combining control, operations, and print bundles.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsxapps/web/src/app/admin/fulfillment/_lib/fulfillmentOperationsSuite.test.ts
  • ShippedREQ-FUL-757

    /admin/fulfillment/[orderId]/return summary tiles must include the command bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx×2
  • ShippedREQ-FUL-758

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include an escalation bundle combining support, exception, and audit bundles.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-759

    /admin/fulfillment/[orderId]/return summary tiles must include the escalation bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx×2
  • ShippedREQ-FUL-760

    /admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the command bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsxpackages/core/src/fulfillmentOperationsHandoffReadiness/index.test.tspackages/core/src/fulfillmentReleaseReadiness/index.test.ts
  • ShippedREQ-FUL-761

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a runbook bundle combining route, readiness, and command bundles.

    6h ago
    packages/core/src/fulfillmentReleaseReadiness/index.test.ts×5packages/core/src/fulfillmentOperationsHandoffReadiness/index.test.ts×4apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-762

    /admin/fulfillment/[orderId] summary tiles must include the runbook bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-763

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a recovery bundle combining escalation, support, and timeline bundles.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsxpackages/core/src/fulfillmentReleaseReadiness/index.test.ts
  • ShippedREQ-FUL-764

    /admin/fulfillment/[orderId] summary tiles must include the recovery bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-765

    /admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the recovery bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-766

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a runbook bundle combining route, readiness, and command bundles.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-767

    /admin/fulfillment/[orderId]/ship summary tiles must include the runbook bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-768

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a recovery bundle combining escalation, support, and timeline bundles.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-769

    /admin/fulfillment/[orderId]/ship summary tiles must include the recovery bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-770

    /admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the recovery bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsxpackages/core/src/fulfillmentContinuityReadiness/index.test.ts
  • ShippedREQ-FUL-771

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a runbook bundle combining route, readiness, and command bundles.

    6h ago
    packages/core/src/fulfillmentContinuityReadiness/index.test.ts×8packages/demo-data/src/packs/0068_fulfillment_continuity_readiness_suite.ts
  • ShippedREQ-FUL-772

    /admin/fulfillment/[orderId]/return summary tiles must include the runbook bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx×2packages/core/src/fulfillmentContinuityReadiness/index.test.ts
  • ShippedREQ-FUL-773

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a recovery bundle combining escalation, support, and timeline bundles.

    6h ago
    packages/core/src/fulfillmentContinuityReadiness/index.test.ts×2apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-774

    /admin/fulfillment/[orderId]/return summary tiles must include the recovery bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx×2packages/core/src/fulfillmentContinuityReadiness/index.test.ts
  • ShippedREQ-FUL-775

    /admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the recovery bundle.

    6h ago
    packages/core/src/fulfillmentContinuityReadiness/index.test.ts×2apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsxpackages/core/src/fulfillmentReleaseReadiness/index.test.ts
  • ShippedREQ-FUL-776

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a dispatch bundle combining route, command, and recovery bundles.

    6h ago
    packages/core/src/fulfillmentReleaseReadiness/index.test.ts×5packages/core/src/fulfillmentContinuityReadiness/index.test.ts×3apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-777

    /admin/fulfillment/[orderId] summary tiles must include the dispatch bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-778

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include an archive bundle combining audit, runbook, and print bundles.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsxpackages/core/src/fulfillmentContinuityReadiness/index.test.tspackages/core/src/fulfillmentReleaseReadiness/index.test.ts
  • ShippedREQ-FUL-779

    /admin/fulfillment/[orderId] summary tiles must include the archive bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-780

    /admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the dispatch bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-781

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a dispatch bundle combining route, command, and recovery bundles.

    6h ago
    apps/web/src/app/admin/fulfillment/_lib/fulfillmentOperationsSuite.test.ts×2apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-782

    /admin/fulfillment/[orderId]/ship summary tiles must include the dispatch bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-783

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include an archive bundle combining audit, runbook, and print bundles.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-784

    /admin/fulfillment/[orderId]/ship summary tiles must include the archive bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-785

    /admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the dispatch bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-786

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a dispatch bundle combining route, command, and recovery bundles.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-787

    /admin/fulfillment/[orderId]/return summary tiles must include the dispatch bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx×2
  • ShippedREQ-FUL-788

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include an archive bundle combining audit, runbook, and print bundles.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-789

    /admin/fulfillment/[orderId]/return summary tiles must include the archive bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx×2
  • ShippedREQ-FUL-790

    /admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the dispatch bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsxpackages/core/src/fulfillmentContinuityReadiness/index.test.tspackages/core/src/fulfillmentOperationsHandoffReadiness/index.test.ts+1 more
  • ShippedREQ-FUL-791

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a verification bundle combining dispatch bundle, archive bundle, and reconciliation key.

    6h ago
    packages/core/src/fulfillmentContinuityReadiness/index.test.ts×5packages/core/src/fulfillmentReleaseReadiness/index.test.ts×5packages/core/src/fulfillmentOperationsHandoffReadiness/index.test.ts×4+1 more
  • ShippedREQ-FUL-792

    /admin/fulfillment/[orderId] summary tiles must include the verification bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-793

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a closeout bundle combining verification bundle, placed timestamp, and total minor units.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsxpackages/core/src/fulfillmentContinuityReadiness/index.test.tspackages/core/src/fulfillmentReleaseReadiness/index.test.ts
  • ShippedREQ-FUL-794

    /admin/fulfillment/[orderId] summary tiles must include the closeout bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-795

    /admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the verification bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-796

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a verification bundle combining dispatch bundle, archive bundle, and reconciliation key.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-797

    /admin/fulfillment/[orderId]/ship summary tiles must include the verification bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-798

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a closeout bundle combining verification bundle, placed timestamp, and total minor units.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-799

    /admin/fulfillment/[orderId]/ship summary tiles must include the closeout bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/_lib/fulfillmentOperationsSuite.test.ts×4packages/core/src/fulfillmentOperationsHandoffReadiness/index.test.ts×3packages/demo-data/src/packs/0032_fulfillment_operations_suite.ts+1 more
  • ShippedREQ-FUL-800

    /admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the verification bundle.

    6h ago
    packages/core/src/fulfillmentSignoffReadiness/index.test.ts×6apps/pos/src/components/PosReleaseGapSuiteStatus.test.tsapps/pos/src/components/PosReleaseGapSuiteStatus.ts+4 more
  • ShippedREQ-FUL-801

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a verification bundle combining dispatch bundle, archive bundle, and reconciliation key.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-802

    /admin/fulfillment/[orderId]/return summary tiles must include the verification bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx×2
  • ShippedREQ-FUL-803

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a closeout bundle combining verification bundle, placed timestamp, and total minor units.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-804

    /admin/fulfillment/[orderId]/return summary tiles must include the closeout bundle with a copy affordance.

    6h ago
    apps/pos/src/components/PosReleaseGapSuiteStatus.test.ts×2apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx×2
  • ShippedREQ-FUL-805

    /admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the verification bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsxpackages/core/src/fulfillmentContinuityReadiness/index.test.tspackages/core/src/fulfillmentSignoffReadiness/index.test.ts
  • ShippedREQ-FUL-806

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a signoff bundle combining closeout bundle, readiness bundle, and next action.

    6h ago
    packages/core/src/fulfillmentContinuityReadiness/index.test.ts×6packages/core/src/fulfillmentSignoffReadiness/index.test.ts×4apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-807

    /admin/fulfillment/[orderId] summary tiles must include the signoff bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-808

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a retention bundle combining signoff bundle, archive bundle, and placed timestamp.

    6h ago
    packages/core/src/fulfillmentContinuityReadiness/index.test.ts×2apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-809

    /admin/fulfillment/[orderId] summary tiles must include the retention bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-810

    /admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the signoff bundle.

    6h ago
    apps/pos/src/components/PosReleaseGapSuiteStatus.test.ts×2apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-811

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a signoff bundle combining closeout bundle, readiness bundle, and shipment target status.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-812

    /admin/fulfillment/[orderId]/ship summary tiles must include the signoff bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-813

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a retention bundle combining signoff bundle, archive bundle, and placed timestamp.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-814

    /admin/fulfillment/[orderId]/ship summary tiles must include the retention bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-815

    /admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the signoff bundle.

    6h ago
    apps/pos/src/components/PosReleaseGapSuiteStatus.test.tsapps/pos/src/components/PosReleaseGapSuiteStatus.tsapps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-816

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a signoff bundle combining closeout bundle, readiness bundle, and RMA target status.

    6h ago
    apps/pos/src/components/PosReleaseGapSuiteStatus.test.tsapps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-817

    /admin/fulfillment/[orderId]/return summary tiles must include the signoff bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx×2
  • ShippedREQ-FUL-818

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a retention bundle combining signoff bundle, archive bundle, and placed timestamp.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-819

    /admin/fulfillment/[orderId]/return summary tiles must include the retention bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx×2
  • ShippedREQ-FUL-820

    /admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the signoff bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsxpackages/core/src/fulfillmentContinuityReadiness/index.test.tspackages/core/src/fulfillmentReleaseReadiness/index.test.ts+1 more
  • ShippedREQ-FUL-821

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a compliance bundle combining retention bundle, verification bundle, and status/source key.

    6h ago
    packages/core/src/fulfillmentSignoffReadiness/index.test.ts×4packages/core/src/fulfillmentContinuityReadiness/index.test.ts×3packages/core/src/fulfillmentReleaseReadiness/index.test.ts×3+1 more
  • ShippedREQ-FUL-822

    /admin/fulfillment/[orderId] summary tiles must include the compliance bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-823

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include an evidence bundle combining compliance bundle, support bundle, and placed timestamp.

    6h ago
    packages/core/src/fulfillmentReleaseReadiness/index.test.ts×2apps/web/src/app/admin/fulfillment/[orderId]/page.tsxpackages/core/src/fulfillmentContinuityReadiness/index.test.ts
  • ShippedREQ-FUL-824

    /admin/fulfillment/[orderId] summary tiles must include the evidence bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-825

    /admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the compliance bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-826

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a compliance bundle combining retention bundle, verification bundle, and shipment target status.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-827

    /admin/fulfillment/[orderId]/ship summary tiles must include the compliance bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-828

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include an evidence bundle combining compliance bundle, support bundle, and placed timestamp.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-829

    /admin/fulfillment/[orderId]/ship summary tiles must include the evidence bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-830

    /admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the compliance bundle.

    6h ago
    packages/core/src/fulfillmentReleaseReadiness/index.test.ts×4apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsxpackages/demo-data/src/packs/0070_fulfillment_release_readiness_suite.ts
  • ShippedREQ-FUL-831

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a compliance bundle combining retention bundle, verification bundle, and RMA target status.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsxpackages/core/src/fulfillmentReleaseReadiness/index.test.ts
  • ShippedREQ-FUL-832

    /admin/fulfillment/[orderId]/return summary tiles must include the compliance bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx×2
  • ShippedREQ-FUL-833

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include an evidence bundle combining compliance bundle, support bundle, and placed timestamp.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-834

    /admin/fulfillment/[orderId]/return summary tiles must include the evidence bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx×2
  • ShippedREQ-FUL-835

    /admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the compliance bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsxpackages/core/src/fulfillmentContinuityReadiness/index.test.tspackages/core/src/fulfillmentSignoffReadiness/index.test.ts
  • ShippedREQ-FUL-836

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a custody bundle combining evidence bundle, control bundle, and operator bundle.

    6h ago
    packages/core/src/fulfillmentContinuityReadiness/index.test.ts×5packages/core/src/fulfillmentSignoffReadiness/index.test.ts×4apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-837

    /admin/fulfillment/[orderId] summary tiles must include the custody bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-838

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include an attestation bundle combining custody bundle, compliance bundle, and placed timestamp.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsxpackages/core/src/fulfillmentContinuityReadiness/index.test.ts
  • ShippedREQ-FUL-839

    /admin/fulfillment/[orderId] summary tiles must include the attestation bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-840

    /admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the custody bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-841

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a custody bundle combining evidence bundle, control bundle, and operator bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-842

    /admin/fulfillment/[orderId]/ship summary tiles must include the custody bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-843

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include an attestation bundle combining custody bundle, compliance bundle, and placed timestamp.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-844

    /admin/fulfillment/[orderId]/ship summary tiles must include the attestation bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-845

    /admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the custody bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-846

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a custody bundle combining evidence bundle, control bundle, and operator bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-847

    /admin/fulfillment/[orderId]/return summary tiles must include the custody bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-848

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include an attestation bundle combining custody bundle, compliance bundle, and placed timestamp.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-849

    /admin/fulfillment/[orderId]/return summary tiles must include the attestation bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-850

    /admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the custody bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsxpackages/core/src/fulfillmentContinuityReadiness/index.test.tspackages/core/src/fulfillmentSignoffReadiness/index.test.ts
  • ShippedREQ-FUL-851

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a resolution bundle combining attestation bundle, closeout bundle, and reconciliation key.

    6h ago
    packages/core/src/fulfillmentContinuityReadiness/index.test.ts×5packages/core/src/fulfillmentSignoffReadiness/index.test.ts×4apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-852

    /admin/fulfillment/[orderId] summary tiles must include the resolution bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-853

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a ledger bundle combining resolution bundle, custody bundle, and total minor units.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsxpackages/core/src/fulfillmentContinuityReadiness/index.test.ts
  • ShippedREQ-FUL-854

    /admin/fulfillment/[orderId] summary tiles must include the ledger bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-855

    /admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the resolution bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-856

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a resolution bundle combining attestation bundle, closeout bundle, and reconciliation key.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-857

    /admin/fulfillment/[orderId]/ship summary tiles must include the resolution bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-858

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a ledger bundle combining resolution bundle, custody bundle, and total minor units.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-859

    /admin/fulfillment/[orderId]/ship summary tiles must include the ledger bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-860

    /admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the resolution bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-861

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a resolution bundle combining attestation bundle, closeout bundle, and reconciliation key.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-862

    /admin/fulfillment/[orderId]/return summary tiles must include the resolution bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-863

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a ledger bundle combining resolution bundle, custody bundle, and total minor units.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-864

    /admin/fulfillment/[orderId]/return summary tiles must include the ledger bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-865

    /admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the resolution bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsxpackages/core/src/fulfillmentContinuityReadiness/index.test.ts
  • ShippedREQ-FUL-866

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a settlement bundle combining ledger bundle, retention bundle, and status/source key.

    6h ago
    packages/core/src/fulfillmentContinuityReadiness/index.test.ts×3apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-867

    /admin/fulfillment/[orderId] summary tiles must include the settlement bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-868

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a docket bundle combining settlement bundle, resolution bundle, and placed timestamp.

    6h ago
    packages/core/src/fulfillmentContinuityReadiness/index.test.ts×2apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-869

    /admin/fulfillment/[orderId] summary tiles must include the docket bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-870

    /admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the settlement bundle.

    6h ago
    packages/core/src/fulfillmentContinuityReadiness/index.test.ts×4apps/web/src/app/admin/fulfillment/_lib/fulfillmentBundleSuite.test.tspackages/core/src/fulfillmentClosureAuditReadiness/index.test.ts+2 more
  • ShippedREQ-FUL-871

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a settlement bundle combining ledger bundle, retention bundle, and shipment target status.

    6h ago
    packages/core/src/fulfillmentHandoffReadiness/index.test.ts×8packages/core/src/fulfillmentClosureAuditReadiness/index.test.ts×6apps/web/src/app/admin/fulfillment/_lib/fulfillmentBundleSuite.test.ts×4+5 more
  • ShippedREQ-FUL-872

    /admin/fulfillment/[orderId]/ship summary tiles must include the settlement bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx×2packages/core/src/fulfillmentClosureAuditReadiness/index.test.tspackages/core/src/fulfillmentHandoffReadiness/index.test.ts
  • ShippedREQ-FUL-873

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a docket bundle combining settlement bundle, resolution bundle, and placed timestamp.

    6h ago
    packages/core/src/fulfillmentHandoffReadiness/index.test.ts×2apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-874

    /admin/fulfillment/[orderId]/ship summary tiles must include the docket bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx×2packages/core/src/fulfillmentHandoffReadiness/index.test.ts
  • ShippedREQ-FUL-875

    /admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the settlement bundle.

    6h ago
    packages/core/src/fulfillmentClosureAuditReadiness/index.test.ts×2apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsxpackages/core/src/fulfillmentHandoffReadiness/index.test.ts
  • ShippedREQ-FUL-876

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a settlement bundle combining ledger bundle, retention bundle, and RMA target status.

    6h ago
    packages/core/src/fulfillmentClosureAuditReadiness/index.test.ts×4apps/web/src/app/admin/fulfillment/_lib/fulfillmentBundleSuite.test.ts×2apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-877

    /admin/fulfillment/[orderId]/return summary tiles must include the settlement bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-878

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a docket bundle combining settlement bundle, resolution bundle, and placed timestamp.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-879

    /admin/fulfillment/[orderId]/return summary tiles must include the docket bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-880

    /admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the settlement bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsxpackages/core/src/fulfillmentClosureAuditReadiness/index.test.tspackages/core/src/fulfillmentHandoffReadiness/index.test.ts
  • ShippedREQ-FUL-881

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a manifest bundle combining docket bundle, dispatch bundle, and route bundle.

    6h ago
    packages/core/src/fulfillmentClosureAuditReadiness/index.test.ts×7packages/core/src/fulfillmentHandoffReadiness/index.test.ts×5apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-882

    /admin/fulfillment/[orderId] summary tiles must include the manifest bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-883

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a release bundle combining manifest bundle, settlement bundle, and next action.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsxpackages/core/src/fulfillmentClosureAuditReadiness/index.test.tspackages/core/src/fulfillmentHandoffReadiness/index.test.ts
  • ShippedREQ-FUL-884

    /admin/fulfillment/[orderId] summary tiles must include the release bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-885

    /admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the manifest bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-886

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a manifest bundle combining docket bundle, dispatch bundle, and route bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-887

    /admin/fulfillment/[orderId]/ship summary tiles must include the manifest bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-888

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a release bundle combining manifest bundle, settlement bundle, and shipment target status.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-889

    /admin/fulfillment/[orderId]/ship summary tiles must include the release bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-890

    /admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the manifest bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-891

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a manifest bundle combining docket bundle, dispatch bundle, and route bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-892

    /admin/fulfillment/[orderId]/return summary tiles must include the manifest bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-893

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a release bundle combining manifest bundle, settlement bundle, and RMA target status.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-894

    /admin/fulfillment/[orderId]/return summary tiles must include the release bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-895

    /admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the manifest bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsxpackages/core/src/fulfillmentClosureAuditReadiness/index.test.tspackages/core/src/fulfillmentHandoffReadiness/index.test.ts
  • ShippedREQ-FUL-896

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a certification bundle combining release bundle, manifest bundle, and readiness bundle.

    6h ago
    packages/core/src/fulfillmentHandoffReadiness/index.test.ts×6packages/core/src/fulfillmentClosureAuditReadiness/index.test.ts×4apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-897

    /admin/fulfillment/[orderId] summary tiles must include the certification bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsxpackages/core/src/fulfillmentClosureAuditReadiness/index.test.ts
  • ShippedREQ-FUL-898

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include an export bundle combining certification bundle, docket bundle, and placed timestamp.

    6h ago
    packages/core/src/fulfillmentHandoffReadiness/index.test.ts×2apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-899

    /admin/fulfillment/[orderId] summary tiles must include the export bundle with a copy affordance.

    6h ago
    packages/core/src/fulfillmentSignoffReadiness/index.test.ts×3packages/demo-data/src/packs/0046_fulfillment_signoff_readiness_suite.ts
  • ShippedREQ-FUL-900

    /admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the certification bundle.

    6h ago
    packages/core/src/releaseCompletionReadiness/index.test.ts×6packages/core/src/releaseAcceptanceReadiness/index.test.ts×4packages/demo-data/src/packs/0049_release_completion_readiness_suite.ts
  • ShippedREQ-FUL-901

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a certification bundle combining release bundle, manifest bundle, and readiness bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/_lib/fulfillmentBundleSuite.test.ts×3apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-902

    /admin/fulfillment/[orderId]/ship summary tiles must include the certification bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-903

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include an export bundle combining certification bundle, docket bundle, and placed timestamp.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-904

    /admin/fulfillment/[orderId]/ship summary tiles must include the export bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-905

    /admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the certification bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-906

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a certification bundle combining release bundle, manifest bundle, and readiness bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-907

    /admin/fulfillment/[orderId]/return summary tiles must include the certification bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-908

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include an export bundle combining certification bundle, docket bundle, and placed timestamp.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-909

    /admin/fulfillment/[orderId]/return summary tiles must include the export bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-910

    /admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the certification bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsxpackages/core/src/fulfillmentClosureAuditReadiness/index.test.tspackages/core/src/fulfillmentHandoffReadiness/index.test.ts
  • ShippedREQ-FUL-911

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a handoff bundle combining export bundle, certification bundle, and route bundle.

    6h ago
    packages/core/src/fulfillmentHandoffReadiness/index.test.ts×5packages/core/src/fulfillmentClosureAuditReadiness/index.test.ts×2apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-912

    /admin/fulfillment/[orderId] summary tiles must include the handoff bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-913

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a clearance bundle combining handoff bundle, release bundle, and next action.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsxpackages/core/src/fulfillmentClosureAuditReadiness/index.test.tspackages/core/src/fulfillmentHandoffReadiness/index.test.ts
  • ShippedREQ-FUL-914

    /admin/fulfillment/[orderId] summary tiles must include the clearance bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-915

    /admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the handoff bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-916

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a handoff bundle combining export bundle, certification bundle, and route bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-917

    /admin/fulfillment/[orderId]/ship summary tiles must include the handoff bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-918

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a clearance bundle combining handoff bundle, release bundle, and shipment target status.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-919

    /admin/fulfillment/[orderId]/ship summary tiles must include the clearance bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-920

    /admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the handoff bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-921

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a handoff bundle combining export bundle, certification bundle, and route bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-922

    /admin/fulfillment/[orderId]/return summary tiles must include the handoff bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-923

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a clearance bundle combining handoff bundle, release bundle, and RMA target status.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-924

    /admin/fulfillment/[orderId]/return summary tiles must include the clearance bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsxpackages/core/src/releaseAcceptanceReadiness/index.test.ts
  • ShippedREQ-FUL-925

    /admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the handoff bundle.

    6h ago
    packages/core/src/releaseAcceptanceReadiness/index.test.ts×4apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsxpackages/core/src/releaseCompletionReadiness/index.test.ts
  • ShippedREQ-FUL-926

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include an authorization bundle combining clearance bundle, handoff bundle, and readiness bundle.

    6h ago
    packages/core/src/releaseCompletionReadiness/index.test.ts×4apps/web/src/app/admin/fulfillment/[orderId]/page.tsxapps/web/src/app/admin/fulfillment/_lib/fulfillmentBundleSuite.test.ts+2 more
  • ShippedREQ-FUL-927

    /admin/fulfillment/[orderId] summary tiles must include the authorization bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-928

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a finalization bundle combining authorization bundle, export bundle, and next action.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsxpackages/core/src/fulfillmentClosureAuditReadiness/index.test.tspackages/core/src/fulfillmentHandoffReadiness/index.test.ts
  • ShippedREQ-FUL-929

    /admin/fulfillment/[orderId] summary tiles must include the finalization bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-930

    /admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the authorization bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-931

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include an authorization bundle combining clearance bundle, handoff bundle, and readiness bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-932

    /admin/fulfillment/[orderId]/ship summary tiles must include the authorization bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-933

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a finalization bundle combining authorization bundle, export bundle, and shipment target status.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-934

    /admin/fulfillment/[orderId]/ship summary tiles must include the finalization bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-935

    /admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the authorization bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-936

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include an authorization bundle combining clearance bundle, handoff bundle, and readiness bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-937

    /admin/fulfillment/[orderId]/return summary tiles must include the authorization bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-938

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a finalization bundle combining authorization bundle, export bundle, and RMA target status.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-939

    /admin/fulfillment/[orderId]/return summary tiles must include the finalization bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-940

    /admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the authorization bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsxpackages/core/src/fulfillmentClosureAuditReadiness/index.test.tspackages/core/src/fulfillmentHandoffReadiness/index.test.ts+1 more
  • ShippedREQ-FUL-941

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include an approval bundle combining finalization bundle, authorization bundle, and readiness bundle.

    6h ago
    packages/core/src/fulfillmentHandoffReadiness/index.test.ts×5packages/core/src/fulfillmentClosureAuditReadiness/index.test.ts×4packages/core/src/releaseCompletionReadiness/index.test.ts×4+1 more
  • ShippedREQ-FUL-942

    /admin/fulfillment/[orderId] summary tiles must include the approval bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-943

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a completion bundle combining approval bundle, clearance bundle, and next action.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsxpackages/core/src/fulfillmentClosureAuditReadiness/index.test.tspackages/core/src/fulfillmentHandoffReadiness/index.test.ts
  • ShippedREQ-FUL-944

    /admin/fulfillment/[orderId] summary tiles must include the completion bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-945

    /admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the approval bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-946

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include an approval bundle combining finalization bundle, authorization bundle, and readiness bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-947

    /admin/fulfillment/[orderId]/ship summary tiles must include the approval bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-948

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a completion bundle combining approval bundle, clearance bundle, and shipment target status.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-949

    /admin/fulfillment/[orderId]/ship summary tiles must include the completion bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsxpackages/core/src/releaseAcceptanceReadiness/index.test.ts
  • ShippedREQ-FUL-950

    /admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the approval bundle.

    6h ago
    packages/core/src/releaseAcceptanceReadiness/index.test.ts×4apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-951

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include an approval bundle combining finalization bundle, authorization bundle, and readiness bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/_lib/fulfillmentBundleSuite.test.ts×2apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-952

    /admin/fulfillment/[orderId]/return summary tiles must include the approval bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-953

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a completion bundle combining approval bundle, clearance bundle, and RMA target status.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-954

    /admin/fulfillment/[orderId]/return summary tiles must include the completion bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-955

    /admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the approval bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-956

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a closure bundle combining completion bundle, finalization bundle, and next action.

    6h ago
    packages/core/src/releaseCompletionReadiness/index.test.ts×2apps/web/src/app/admin/fulfillment/[orderId]/page.tsxpackages/core/src/fulfillmentClosureAuditReadiness/index.test.ts+1 more
  • ShippedREQ-FUL-957

    /admin/fulfillment/[orderId] summary tiles must include the closure bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-958

    /admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a confirmation bundle combining closure bundle, route bundle, and placed timestamp.

    6h ago
    packages/core/src/fulfillmentHandoffReadiness/index.test.ts×2apps/web/src/app/admin/fulfillment/[orderId]/page.tsxpackages/core/src/fulfillmentClosureAuditReadiness/index.test.ts
  • ShippedREQ-FUL-959

    /admin/fulfillment/[orderId] summary tiles must include the confirmation bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-960

    /admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the closure bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/page.tsx
  • ShippedREQ-FUL-961

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a closure bundle combining completion bundle, finalization bundle, and shipment target status.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-962

    /admin/fulfillment/[orderId]/ship summary tiles must include the closure bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-963

    /admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a confirmation bundle combining closure bundle, route bundle, and placed timestamp.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-964

    /admin/fulfillment/[orderId]/ship summary tiles must include the confirmation bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-965

    /admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the closure bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx
  • ShippedREQ-FUL-966

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a closure bundle combining completion bundle, finalization bundle, and RMA target status.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-967

    /admin/fulfillment/[orderId]/return summary tiles must include the closure bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-968

    /admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a confirmation bundle combining closure bundle, route bundle, and placed timestamp.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-969

    /admin/fulfillment/[orderId]/return summary tiles must include the confirmation bundle with a copy affordance.

    6h ago
    apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx
  • ShippedREQ-FUL-970

    /admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the closure bundle.

    6h ago
    apps/web/src/app/admin/fulfillment/_lib/fulfillmentBundleSuite.test.ts×4packages/core/src/fulfillmentClosureAuditReadiness/index.test.ts×4packages/core/src/fulfillmentHandoffReadiness/index.test.ts×4+7 more
  • In progressREQ-FUL-971

    /admin/fulfillment must be line-aware for web orders. The queue must show each order's cut lines, requested yardage, selected or suggested bolt(s), shortage/substitution status, partial fulfillment state, packing/shipping requirements, cus…

    packages/core/src/releaseAcceptanceReadiness/index.test.ts×2apps/web/src/app/admin/fulfillment/_lib/fulfillmentBundleSuite.test.tspackages/core/src/fulfillmentClosureAuditReadiness/index.test.ts
  • Not startedREQ-FUL-972

    Checkout fulfillment handoff must convert inventory holds into line-aware fulfillment work exactly once after payment authorization. Each created fulfillment row must retain SKU, requested yardage, selected bolt or shortage status, pickup/…

  • Not startedREQ-FUL-973

    Checkout-created fulfillment work must expose a line-level exception queue for shortages, substitutions, and partial cuts. Each exception row must link back to the order line, requested yardage, hold or bolt selection, shopper-safe resolut…

  • Not startedREQ-FUL-974

    Admin fulfillment must consume checkout-created line exceptions directly from the checkout fulfillment handoff. The fulfillment detail page must show shortage, substitution, partial-cut, and cancelled-hold exceptions with order-line linkag…

  • Not startedREQ-FUL-975

    Fulfillment detail must record a checkout-originated exception transition log for shortage, substitution, partial-cut, cancelled-hold, and staff override states. Each transition must retain previous status, next status, actor, allowed next…

  • Not startedREQ-FUL-976

    Fulfillment queues must block ready, fulfilled, shipped, and pickup-complete transitions while checkout-originated exceptions remain unresolved. The blocking state must name each affected order line, exception type, shopper-safe resolution…

  • Not startedREQ-FUL-977

    Fulfillment queues must surface checkout-originated hold-release deadlines for every line created from a payment-authorized attempt. Staff must see hold expiration, selected bolt or shortage status, allowed cut/pack/pickup/ship actions, an…

REQ-DRPProduct Drops
26 shipped0 wip0 todo100%
  • ShippedREQ-DRP-524

    The /drops/[slug]/opengraph-image badge now uses relative time for scheduled drops: "Opens in Nd/Nh/Nm" rather than a wall-clock timestamp. Live drops show "Live now"; ended shows "Ended". The full date range remains in the subtitle. Runti…

    6h ago
    apps/web/src/app/(storefront)/drops/[slug]/opengraph-image.tsxpackages/core/src/creativeCommerceReadiness/index.tspackages/core/src/engagementExperienceReadiness/index.ts+2 more
  • ShippedREQ-DRP-525

    The /drops index must render an active-filter summary when any status, category, or when filter is active. The summary shows the filtered result count, the number of active filters, individual one-tap remove links for each active filter, a…

    6h ago
    apps/web/src/app/(storefront)/drops/page.tsxpackages/core/src/creativeCommerceReadiness/index.tspackages/core/src/engagementExperienceReadiness/index.ts+2 more
  • ShippedREQ-DRP-526

    The /drops index card must show a non-JavaScript schedule line in addition to the live countdown. Scheduled cards show Opens <date>, live cards show Closes <date>, and ended cards show Ended <date>, each using a <time dateTime=...> element…

    6h ago
    apps/web/src/app/(storefront)/drops/page.tsxpackages/core/src/creativeCommerceReadiness/index.tspackages/core/src/engagementExperienceReadiness/index.ts+2 more
  • ShippedREQ-DRP-527

    The /drops/[slug] SKU grid must visibly mark fabrics whose remainingSixteenths is 0n as sold out. Sold-out cards keep their PDP link for reference, render a "Sold out" badge, use muted card styling, and include "sold out" in the link's acc…

    6h ago
    packages/core/src/creativeCommerceReadiness/index.test.ts×3apps/web/src/app/(storefront)/drops/[slug]/page.tsxpackages/core/src/creativeCommerceReadiness/index.ts+6 more
  • ShippedREQ-DRP-523

    The /drops/[slug] share row (ProductShareButton) is now always visible (including for ended drops) and passes the canonical drop URL explicitly. Previously gated on status !== "ended" and used window.location.href as fallback. Same a11y po…

    6h ago
    packages/core/src/storefrontExperienceReadiness/index.test.ts×4apps/web/src/app/(storefront)/drops/[slug]/page.tsxpackages/core/src/creativeCommerceReadiness/index.ts+3 more
  • ShippedREQ-DRP-522

    The /drops/rss.xml channel <image> element now points at /drops/opengraph-image (via the imagePath param added to renderChannelImage) so feed readers render the branded drop OG card alongside items. renderChannelImage defaults to the brand…

    6h ago
    apps/web/src/app/(storefront)/drops/rss.xml/route.tsapps/web/src/lib/rssChannelImage.tspackages/core/src/creativeCommerceReadiness/index.ts+3 more
  • ShippedREQ-DRP-521

    The /drops/[slug] Event JSON-LD node gains a keywords field joining drop.categories with ", " (comma-space). Omitted when categories is empty to avoid a malformed empty-string claim (REQ-DRP-521).

    6h ago
    apps/web/src/lib/dropStructuredData.tspackages/core/src/creativeCommerceReadiness/index.tspackages/core/src/engagementExperienceReadiness/index.ts+2 more
  • ShippedREQ-DRP-520

    The /drops/[slug]/calendar.ics VEVENT DESCRIPTION now includes "Includes N fabrics" and the first three SKU names (as a bullet list) when drop.skus.length > 0. Additional SKUs are summarised as "... and N more". DTSTART/DTEND/STATUS unchan…

    6h ago
    apps/web/src/app/(storefront)/drops/[slug]/calendar.ics/route.tspackages/core/src/commerceReadiness/index.test.tspackages/core/src/creativeCommerceReadiness/index.ts+3 more
  • ShippedREQ-DRP-519

    The /drops/[slug]/opengraph-image card stamps eyebrow="LIVE" when drop.status === "live", replacing the default "Drop" eyebrow. All other statuses keep "Drop". The change makes unfurled share links in chat / social communicate live status…

    6h ago
    apps/web/src/app/(storefront)/drops/[slug]/opengraph-image.tsxpackages/core/src/commerceReadiness/index.test.tspackages/core/src/commerceReadiness/index.ts+4 more
  • ShippedREQ-DRP-001

    Drops are scheduled, time-bounded releases with per-product inventory caps, per-customer purchase limits, optional waitlists, and countdown timers.

    6h ago
    packages/core/src/engagementExperienceReadiness/index.test.ts×9packages/core/src/customerJourneyReadiness/index.test.ts×4packages/core/src/creativeCommerceReadiness/index.test.ts×2+19 more
  • ShippedREQ-DRP-002

    At drop-open, the system must place high-demand items behind a fair queue that assigns a deterministic position per customer/session and admits traffic at a rate the checkout path can absorb.

    6h ago
    apps/web/src/app/(storefront)/drops/[slug]/page.tsxpackages/core/src/creativeCommerceReadiness/index.tspackages/core/src/engagementExperienceReadiness/index.ts+3 more
  • ShippedREQ-DRP-003

    Inventory must be held against a cart with a time-to-live (default 5 minutes) and released automatically on expiry; holds must be atomic and immune to double-booking even under thundering-herd load.

    6h ago
    apps/web/src/app/(storefront)/drops/[slug]/page.tsxpackages/core/src/creativeCommerceReadiness/index.tspackages/core/src/engagementExperienceReadiness/index.ts+3 more
  • ShippedREQ-DRP-004

    The system must apply per-customer rate limits and bot mitigation (device/session signals plus a challenge when risk is high).

    6h ago
    packages/core/src/creativeCommerceReadiness/index.tspackages/core/src/engagementExperienceReadiness/index.tspackages/core/src/storefrontExperienceReadiness/index.ts+2 more
  • ShippedREQ-DRP-005

    Drop analytics must report queue-entry rate, sell-through time, conversion, abandonment, and attribution.

    6h ago
    packages/core/src/creativeCommerceReadiness/index.tspackages/core/src/engagementExperienceReadiness/index.tspackages/core/src/storefrontExperienceReadiness/index.ts+2 more
  • ShippedREQ-DRP-500

    The /drops/[slug] JSON-LD must include an Event node (alongside the existing WebPage / BreadcrumbList / ItemList) with startDate, endDate, eventAttendanceMode: OnlineEventAttendanceMode, VirtualLocation, organizer, and an eventStatus mappe…

    6h ago
    apps/web/src/lib/dropStructuredData.test.ts×3apps/web/src/lib/dropStructuredData.ts×2packages/core/src/commerceReadiness/index.ts×2+5 more
  • ShippedREQ-DRP-501

    The /drops/[slug] Event node must carry an offers AggregateOffer child summarizing the drop's SKU lineup: lowPrice / highPrice derived from the min/max pricePerYardMinor across drop.skus, priceCurrency pinned to the lineup's currency, offe…

    6h ago
    apps/web/src/lib/dropStructuredData.ts×5apps/web/src/lib/dropStructuredData.test.ts×3apps/web/src/lib/eventStructuredData.ts+4 more
  • ShippedREQ-DRP-502

    The /drops landing page must render a URL-driven filter rail with facet groups status (live | scheduled | ended), category, and when (week | month | past). Every chip is a server-rendered <Link> resolved through buildDropsFilterHref; no cl…

    6h ago
    apps/web/src/app/(storefront)/drops/categories/page.tsx×2apps/web/src/lib/drops.ts×2apps/web/src/components/DropsFilterRail.tsx+5 more
  • ShippedREQ-DRP-503

    The /drops/[slug] page must render a "Related drops" strip below the SKU grid, server-rendered in the initial SSR payload. Queries up to 6 other scheduled or live drops that share at least one category (trimmed, case-insensitive) with the…

    6h ago
    apps/web/src/components/RelatedCardStrip.tsx×3apps/web/src/lib/drops.ts×3apps/web/src/app/(storefront)/drops/[slug]/page.tsx+4 more
  • ShippedREQ-DRP-504

    The /drops/[slug] page must render an UrgencyBadge next to DropCountdown, surfacing a single loss-averse nudge based on a fixed priority table: (1) ending-soon when the drop is live and endAt - now ??? 60min ("Ending in under 1h"); (2) low…

    6h ago
    apps/web/src/components/UrgencyBadge.logic.tsapps/web/src/components/UrgencyBadge.tsxpackages/core/src/commerceReadiness/index.ts+3 more
  • ShippedREQ-DRP-505

    The /drops listing page must carry a real metadata export and a colocated opengraph-image.tsx tuned to "Upcoming fabric drops" search intent.

    6h ago
    apps/web/src/app/(storefront)/drops/page.tsx×2packages/core/src/commerceReadiness/index.test.ts×2apps/web/src/app/(storefront)/drops/opengraph-image.tsx+4 more
  • ShippedREQ-DRP-506

    A Route Handler at /drops/[slug]/calendar.ics must serve a valid RFC 5545 VCALENDAR containing a single VEVENT for the drop. Fields: SUMMARY (<drop name> opens), DTSTART / DTEND (UTC), DESCRIPTION (drop description + "The drop opens at..."…

    6h ago
    apps/web/src/components/DropCalendarLinks.tsx×2apps/web/src/app/(storefront)/drops/[slug]/calendar.ics/route.tsapps/web/src/app/admin/drops/[slug]/edit/page.tsx+5 more
  • ShippedREQ-DRP-507

    The /drops/[slug] route must serve a per-slug OpenGraph card at /drops/{slug}/opengraph-image that renders the drop name, a status pill ("Live now" / "Opens {date}" / "Ended"), and formatted date range inside the platform OgBoltCard frame.…

    6h ago
    apps/web/src/app/(storefront)/drops/[slug]/opengraph-image.tsx×3apps/web/src/app/(storefront)/drops/[slug]/page.tsxapps/web/src/lib/dropStructuredData.ts+4 more
  • ShippedREQ-DRP-508

    DropCountdown must apply the same boundary-based aria-live="polite" debounce that EventCountdown uses (REQ-EVT-503): a sibling role="status" aria-live="polite" aria-atomic="true" region announces remaining time only at day / hour / 10-min…

    6h ago
    apps/web/src/components/DropCountdown.tsx×2packages/core/src/commerceReadiness/index.tspackages/core/src/creativeCommerceReadiness/index.ts+2 more
  • ShippedREQ-DRP-509

    The /drops/[slug] Event JSON-LD must carry an image field pointing at the per-slug OG card route (/drops/{slug}/opengraph-image, REQ-DRP-507). Mirrors the REQ-EVT-507 pattern. The OG route degrades to a branded generic card rather than 404…

    6h ago
    apps/web/src/lib/dropStructuredData.test.tsapps/web/src/lib/dropStructuredData.tspackages/core/src/commerceReadiness/index.ts+3 more
  • ShippedREQ-DRP-511

    The /drops/categories page has a colocated opengraph-image.tsx (static, Edge, no DB call) rendering "Shop by Category" inside OgBoltCard. Page metadata.openGraph.images wired for legacy crawlers. Tenant sitemap entry updated to priority: 0…

    6h ago
    apps/web/src/app/(storefront)/drops/categories/opengraph-image.tsxapps/web/src/app/(storefront)/drops/categories/page.tsxpackages/core/src/commerceReadiness/index.ts+4 more
  • ShippedREQ-DRP-514

    Route Handler at /drops/opml.xml: OPML 2.0 document listing /drops/rss.xml as a subscribable outline entry. Cache-Control: public, s-maxage=86400. /drops listing page alternates.types["text/x-opml"] wired (REQ-DRP-514).

    6h ago
    apps/web/src/app/(storefront)/drops/opml.xml/route.tsapps/web/src/app/(storefront)/drops/page.tsxpackages/core/src/commerceReadiness/index.ts+4 more
REQ-EVTEvents & Ticketing
37 shipped0 wip0 todo100%
  • ShippedREQ-EVT-522

    The /events/[slug] Event JSON-LD node carries maximumAttendeeCapacity (from event.capacity) and remainingAttendeeCapacity (from event.remainingCapacity = capacity - activeTicketCount) when capacity is non-null. Google Events card surfaces…

    6h ago
    packages/core/src/creativeCommerceReadiness/index.tspackages/core/src/engagementExperienceReadiness/index.tspackages/core/src/storefrontExperienceReadiness/index.ts+1 more
  • ShippedREQ-EVT-521

    The /events/[slug] iCal VEVENT ORGANIZER CN is now derived from the event's instructor name when present, falling back to "BoltToCart". mailto: stays noreply@<host>. Preserves RFC 5545 ORGANIZER shape (REQ-EVT-521).

    6h ago
    apps/web/src/app/(storefront)/events/[slug]/calendar.ics/route.tspackages/core/src/creativeCommerceReadiness/index.tspackages/core/src/engagementExperienceReadiness/index.ts+2 more
  • ShippedREQ-EVT-525

    The /events/instructors facet-index instructor cards show a "Next class: May 15 at 2:30 PM" line computed as the instructor's earliest future scheduled event. Uses the new dateRangeLabel helper in formattingLocale.ts. Omitted when there is…

    6h ago
    apps/web/src/lib/events.ts×3apps/web/src/app/(storefront)/events/instructors/page.tsxapps/web/src/lib/formattingLocale.ts+4 more
  • ShippedREQ-EVT-526

    The /events index must render an active-filter summary when any instructor, when, or price filter is active. The summary shows the filtered class count, the number of active filters, individual one-tap remove links for each active filter,…

    6h ago
    apps/web/src/app/(storefront)/events/eventsIndexViewModel.test.tsapps/web/src/app/(storefront)/events/eventsIndexViewModel.tspackages/core/src/creativeCommerceReadiness/index.ts+3 more
  • ShippedREQ-EVT-527

    The /events index event cards must include an explicit CTA line at the bottom of each card. Scheduled, not-full classes render "Reserve a seat"; full, live, ended, or otherwise unavailable classes render "View details". This is display-onl…

    6h ago
    apps/web/src/app/(storefront)/events/eventsIndexViewModel.test.tsapps/web/src/app/(storefront)/events/eventsIndexViewModel.tspackages/core/src/creativeCommerceReadiness/index.ts+3 more
  • ShippedREQ-EVT-528

    The /events/[slug] unavailable-registration notice must provide context-specific recovery links. Full scheduled classes link to /events?instructor=<instructorName> as "More from this instructor" and to /events?when=month as "Browse upcomin…

    6h ago
    packages/core/src/creativeCommerceReadiness/index.test.ts×3packages/core/src/engagementExperienceReadiness/index.test.ts×3packages/core/src/storefrontExperienceReadiness/index.test.ts×3+7 more
  • ShippedREQ-EVT-524

    The /events/[slug] page renders a WishlistHeart when the event is registerable (future-dated, not full, status===scheduled). Uses event.id as the wishlist identifier. Hidden for ended/cancelled/full events. Same a11y posture as the PDP hea…

    6h ago
    packages/core/src/serviceCommerceReadiness/index.test.ts×3apps/web/src/app/(storefront)/events/[slug]/page.tsx×2packages/core/src/creativeCommerceReadiness/index.ts+3 more
  • ShippedREQ-EVT-500

    The /events/[slug] Event JSON-LD must carry a performer Person node (instructor name + url, per REQ-EVT-002) and an organizer Organization node (name + url) matching the Organization shape /drops/[slug] emits per REQ-DRP-500, so event- and…

    6h ago
    apps/web/src/lib/eventStructuredData.ts×3apps/web/src/lib/eventStructuredData.test.ts×2packages/core/src/creativeCommerceReadiness/index.ts+3 more
  • ShippedREQ-EVT-501

    The /events/[slug] Event node's offers child must be shaped as an AggregateOffer (parity with REQ-DRP-501) with lowPrice / highPrice / priceCurrency / availability / offerCount / validThrough. Today the v0 single-ticket model collapses low…

    6h ago
    apps/web/src/lib/eventStructuredData.ts×2apps/web/src/lib/eventStructuredData.test.tspackages/core/src/creativeCommerceReadiness/index.ts+3 more
  • ShippedREQ-EVT-502

    The /events/[slug] Event JSON-LD must complete the set of Google-required Event fields by carrying a structured location, an absolute image URL, and a bounded description. location is emitted only when events.location is present: a value s…

    6h ago
    apps/web/src/lib/eventStructuredData.test.ts×6apps/web/src/lib/eventStructuredData.ts×5apps/web/src/app/(storefront)/events/[slug]/opengraph-image.tsx+5 more
  • ShippedREQ-EVT-503

    The /events/[slug] page must render an EventCountdown component above the fold, ticking down to startsAt in the shopper's timezone and mirroring DropCountdown's public prop shape so the two countdowns stay interchangeable at the surface le…

    6h ago
    apps/web/src/components/EventCountdown.logic.test.ts×2apps/web/src/components/EventCountdown.logic.ts×2apps/web/src/components/DropCountdown.tsx+5 more
  • ShippedREQ-EVT-504

    The /events/[slug] page must render a "More from this instructor" related-events strip below the main content, server-rendered in the initial SSR payload. Queries up to 6 nearest-upcoming events (status scheduled or live, excluding the cur…

    6h ago
    apps/web/src/components/RelatedCardStrip.tsx×3apps/web/src/lib/events.ts×2apps/web/src/app/(storefront)/drops/[slug]/page.tsx+6 more
  • ShippedREQ-EVT-505

    A facet-index surface at /events/instructors must list every instructor with at least one upcoming class (scheduled or live), each row carrying a deterministic initials-avatar tile, display name, bio excerpt (??? 160 chars, word-boundary e…

    6h ago
    apps/web/src/app/(storefront)/events/instructors/page.tsx×2apps/web/src/lib/events.ts×2apps/web/src/app/(storefront)/events/instructors/loading.tsx+5 more
  • ShippedREQ-EVT-506

    The /events landing page must render a URL-driven filter rail with facet groups instructor, when (week | month | past), and price (free | paid). Every chip is a server-rendered <Link> that updates / clears a single facet via buildEventsFil…

    6h ago
    apps/web/src/components/EventsFilterRail.tsx×2apps/web/src/lib/dropsFilters.ts×2apps/web/src/lib/eventsFilters.ts+4 more
  • ShippedREQ-EVT-507

    The /events/[slug] route must serve a per-slug OpenGraph card at /events/{slug}/opengraph-image (Next.js metadata-convention colocated asset) that renders the class title, instructor, and formatted start date (Weekday, Mon D, H:MM AM) insi…

    6h ago
    apps/web/src/app/(storefront)/events/[slug]/opengraph-image.tsx×2apps/web/src/app/(storefront)/drops/[slug]/page.tsxapps/web/src/lib/dropStructuredData.ts+6 more
  • ShippedREQ-EVT-508

    A Route Handler at /events/[slug]/calendar.ics must serve a valid RFC 5545 VCALENDAR containing a single VEVENT with the full set of fields:

    6h ago
    apps/web/src/components/EventCalendarLinks.tsx×4apps/web/src/app/(storefront)/drops/[slug]/calendar.ics/route.tsapps/web/src/app/(storefront)/events/[slug]/calendar.ics/route.ts+5 more
  • ShippedREQ-EVT-509

    The /events listing page must export a metadata object with title: "Quilting Classes & Workshops ??? BoltToCart" and a description that enumerates the three filter axes the page surfaces (instructor, date window, price) so SERP snippets ma…

    6h ago
    apps/web/src/app/(storefront)/events/opengraph-image.tsxapps/web/src/app/(storefront)/events/page.tsxpackages/core/src/creativeCommerceReadiness/index.ts+3 more
  • ShippedREQ-EVT-511

    The /events/instructors page metadata must include alternates.types["application/rss+xml"]: "/events/rss.xml" so feed readers find the events feed from the instructors index. No route or DB change.

    6h ago
    apps/web/src/app/(storefront)/events/instructors/page.tsxpackages/core/src/creativeCommerceReadiness/index.tspackages/core/src/engagementExperienceReadiness/index.ts+2 more
  • ShippedREQ-EVT-512

    /events/instructors/[key] generateMetadata must add RSS autodiscovery (alternates.types["application/rss+xml"]: "/events/rss.xml") and openGraph.images: ["/events/opengraph-image"].

    6h ago
    apps/web/src/app/(storefront)/events/instructors/[key]/page.tsxpackages/core/src/creativeCommerceReadiness/index.tspackages/core/src/engagementExperienceReadiness/index.ts+2 more
  • ShippedREQ-EVT-513

    /events/instructors must serve a colocated opengraph-image.tsx (static, Edge, no DB call) rendering "Instructors" / "Every instructor teaching upcoming classes at the reference store." inside OgBoltCard. Page metadata.openGraph.images wire…

    6h ago
    apps/web/src/app/(storefront)/events/instructors/opengraph-image.tsxapps/web/src/app/(storefront)/events/page.tsxpackages/core/src/creativeCommerceReadiness/index.ts+3 more
  • ShippedREQ-EVT-514

    /events/instructors/[key] has a colocated per-instructor opengraph-image.tsx (Node runtime). generateMetadata wires per-key openGraph.images (REQ-EVT-514).

    6h ago
    apps/web/src/app/(storefront)/events/instructors/[key]/opengraph-image.tsxapps/web/src/app/(storefront)/events/instructors/[key]/page.tsxapps/web/src/app/(storefront)/events/instructors/page.tsx+4 more
  • ShippedREQ-EVT-515

    Route Handler at /events/opml.xml: OPML 2.0 document listing /events/rss.xml as a subscribable outline entry. Cache-Control: public, s-maxage=86400. /events listing page alternates.types["text/x-opml"] wired (REQ-EVT-515).

    6h ago
    apps/web/src/app/(storefront)/events/opml.xml/route.tsapps/web/src/app/(storefront)/events/page.tsxpackages/core/src/creativeCommerceReadiness/index.ts+3 more
  • ShippedREQ-EVT-517

    /events/[slug]/registered adds "Browse fabrics ???" CTA alongside the existing calendar/class/share affordances (REQ-EVT-517).

    6h ago
    apps/web/src/app/(storefront)/events/[slug]/registered/page.tsxpackages/core/src/creativeCommerceReadiness/index.tspackages/core/src/engagementExperienceReadiness/index.ts+2 more
  • ShippedREQ-EVT-518

    /events/[slug] generateMetadata gains alternates.types["application/ld+json"] pointing at the per-slug ld.json endpoint (REQ-EVT-518).

    6h ago
    apps/web/src/app/(storefront)/drops/[slug]/page.tsxapps/web/src/app/(storefront)/events/[slug]/page.tsxpackages/core/src/creativeCommerceReadiness/index.ts+3 more
  • ShippedREQ-EVT-510

    /events/instructors/[key] individual instructor detail page. key is URL-encoded normalizeInstructorKey value. Renders: initials avatar + gradient, display name, full bio (not truncated, from loadPublicEventDetail), upcoming-class count, Se…

    6h ago
    apps/web/src/app/(storefront)/events/instructors/[key]/page.tsx×2apps/web/src/app/(storefront)/events/instructors/page.tsxpackages/core/src/creativeCommerceReadiness/index.ts+3 more
  • ShippedREQ-EVT-001

    Support one-off events, recurring classes, and multi-session series with per-session attendance.

    6h ago
    packages/core/src/serviceCommerceReadiness/index.test.ts×4packages/core/src/creativeCommerceReadiness/index.test.ts×2packages/core/src/engagementExperienceReadiness/index.test.ts×2+20 more
  • ShippedREQ-EVT-002

    Instructors must have profiles, bios, and the ability to manage their own class rosters.

    6h ago
    apps/web/src/lib/eventStructuredData.ts×3packages/db/src/migrations/0012_events.sql×2apps/web/src/app/(storefront)/events/[slug]/page.tsx+5 more
  • ShippedREQ-EVT-003

    Classes must support per-session capacity, optional seat maps, waitlists, and materials fees billed separately from the ticket.

    6h ago
    packages/testing/src/events.test.ts×2packages/core/src/creativeCommerceReadiness/index.tspackages/core/src/engagementExperienceReadiness/index.ts+5 more
  • ShippedREQ-EVT-004

    Cancellation and reschedule rules must be configurable per event with automated refunds or transfers.

    6h ago
    packages/core/src/creativeCommerceReadiness/index.tspackages/core/src/engagementExperienceReadiness/index.tspackages/core/src/storefrontExperienceReadiness/index.ts+1 more
  • ShippedREQ-EVT-010

    Ticket types (General, VIP, member, etc.) with capacity and pricing per type.

    6h ago
    apps/web/src/app/(storefront)/events/[slug]/actions.tsapps/web/src/lib/eventStructuredData.tspackages/core/src/creativeCommerceReadiness/index.ts+3 more
  • ShippedREQ-EVT-011

    Each ticket issues a unique QR code usable for check-in; check-in must be possible offline and reconcile on sync.

    6h ago
    apps/web/src/app/(storefront)/events/[slug]/page.tsxapps/web/src/app/(storefront)/events/[slug]/registered/layout.tsxapps/web/src/app/(storefront)/events/[slug]/registered/page.tsx+8 more
  • ShippedREQ-EVT-012

    Refunds, transfers, and name changes must be supported with audit history.

    6h ago
    packages/core/src/creativeCommerceReadiness/index.tspackages/core/src/engagementExperienceReadiness/index.tspackages/core/src/storefrontExperienceReadiness/index.ts+1 more
  • ShippedREQ-EVT-013

    Promo codes, early-bird pricing, and influencer codes (�14) must apply.

    6h ago
    apps/web/src/app/(storefront)/events/[slug]/actions.tspackages/core/src/creativeCommerceReadiness/index.tspackages/core/src/engagementExperienceReadiness/index.ts+2 more
  • ShippedREQ-EVT-020

    Events may bundle a required kit of fabrics and notions; purchasing the ticket can optionally auto-add the kit.

    6h ago
    packages/core/src/creativeCommerceReadiness/index.tspackages/core/src/engagementExperienceReadiness/index.tspackages/core/src/storefrontExperienceReadiness/index.ts+1 more
  • ShippedREQ-EVT-021

    Kits reserve inventory on ticket purchase when configured to do so.

    6h ago
    packages/core/src/creativeCommerceReadiness/index.tspackages/core/src/engagementExperienceReadiness/index.tspackages/core/src/storefrontExperienceReadiness/index.ts+1 more
  • ShippedREQ-EVT-022

    Instructors see a dashboard of registered students, supply lists, and kit fulfillment status.

    6h ago
    apps/web/src/app/admin/events/[id]/page.tsxpackages/core/src/creativeCommerceReadiness/index.tspackages/core/src/engagementExperienceReadiness/index.ts+3 more
  • ShippedREQ-EVT-030

    Send registration confirmation, reminder, and change notifications via email and SMS per �18.

    6h ago
    apps/web/src/app/(storefront)/events/[slug]/actions.tsapps/web/src/app/(storefront)/events/[slug]/registered/page.tsxpackages/core/src/creativeCommerceReadiness/index.ts+3 more
REQ-KITKits, Bundles & Project Shopping
4 shipped0 wip0 todo100%
  • ShippedREQ-KIT-001

    A kit is a composite product with a fixed or curated list of components (fabrics by yardage, precuts, notions, patterns).

    6h ago
    packages/core/src/customerJourneyReadiness/index.test.ts×4packages/core/src/creativeCommerceReadiness/index.test.ts×2packages/core/src/customerCommerceReadiness/index.test.ts×2+5 more
  • ShippedREQ-KIT-002

    Kits must reserve inventory across all components at purchase; if any component is unavailable, the kit is unavailable (configurable alternative: back-order permitted).

    6h ago
    packages/core/src/creativeCommerceReadiness/index.tspackages/core/src/customerCommerceReadiness/index.tspackages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-KIT-003

    Kits may be tied to patterns and classes so a ticket purchase offers the corresponding kit.

    6h ago
    packages/core/src/creativeCommerceReadiness/index.tspackages/core/src/customerCommerceReadiness/index.tspackages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-KIT-004

    Kits priced as a bundle must still report component-level inventory and attribution.

    6h ago
    packages/core/src/creativeCommerceReadiness/index.test.ts×3packages/core/src/customerCommerceReadiness/index.test.ts×3packages/core/src/creativeCommerceReadiness/index.ts+3 more
REQ-INFInfluencer & Affiliate System
13 shipped0 wip0 todo100%
  • ShippedREQ-INF-001

    Influencer accounts with profile, agreed commission terms, and payout destination.

    6h ago
    packages/core/src/customerJourneyReadiness/index.test.ts×4packages/core/src/platformOperationsReadiness/index.test.ts×2packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-INF-002

    Referral links with per-influencer slugs and optional UTM parameters.

    6h ago
    packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-INF-003

    Discount codes attributable to influencers, with usage limits.

    6h ago
    packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-INF-004

    Commission tracking visible to both the store and the influencer in real time.

    6h ago
    packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-INF-010

    Support percentage, fixed, tiered, and product/event-specific commission schedules.

    6h ago
    packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-INF-011

    Commission rules must support start/end dates, exclusions (e.g., sale items), and per-customer caps.

    6h ago
    packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-INF-020

    Attribution must use first-touch and last-touch models with a configurable window (default 30 days) and deterministic tie-breaking.

    6h ago
    packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-INF-021

    Attribution sources include referral link clicks, discount code redemption, and customer-linked sessions.

    6h ago
    packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-INF-022

    Multi-channel attribution must work across POS, web, and event ticketing (e.g., an in-store QR for an influencer).

    6h ago
    packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-INF-030

    The system must persist: Influencers, ReferralLinks, DiscountCodes, AttributionSessions, Orders, OrderAttribution, OrderItems, CommissionRules, CommissionLedger, Payouts.

    6h ago
    apps/jobs/src/workers/payoutJob.ts×2packages/core/src/customerJourneyReadiness/index.tspackages/core/src/platformOperationsReadiness/index.ts+1 more
  • ShippedREQ-INF-040

    Payouts must be produced on a configurable schedule (weekly, monthly) with a minimum threshold.

    6h ago
    packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-INF-041

    The payout pipeline must reconcile against the commission ledger and produce per-payout statements.

    6h ago
    packages/core/src/platformOperationsReadiness/index.test.ts×2packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-INF-042

    Payouts must integrate with a marketplace-payments provider that supports KYC, 1099 reporting, and cross-border payouts where applicable.

    6h ago
    packages/core/src/customerJourneyReadiness/index.test.tspackages/core/src/platformOperationsReadiness/index.test.tspackages/core/src/platformOperationsReadiness/index.ts
REQ-QLTQuilt Pattern Visualization
7 shipped0 wip0 todo100%
  • ShippedREQ-QLT-001

    Customers and store staff must be able to design and preview a quilt pattern with arbitrary fabric assignments and swap fabrics dynamically.

    6h ago
    packages/core/src/quilt/patterns.ts×3apps/web/src/components/QuiltVisualizer.tsx×2packages/core/src/creativeCommerceReadiness/index.test.ts×2+9 more
  • ShippedREQ-QLT-002

    The Quilt Designer must support comparison of two or more fabric variations side-by-side.

    6h ago
    apps/web/src/app/(storefront)/visualizer/page.tsxapps/web/src/components/QuiltVisualizer.tsxpackages/core/src/creativeCommerceReadiness/index.ts+1 more
  • ShippedREQ-QLT-003

    The Quilt Designer must suggest fabrics from in-stock inventory and flag out-of-stock selections.

    6h ago
    apps/web/src/components/QuiltVisualizer.tsxpackages/core/src/creativeCommerceReadiness/index.tspackages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-QLT-004

    The Quilt Designer must compute yardage requirements per fabric role (top, backing, binding) based on pattern and size.

    6h ago
    packages/core/src/quilt/patterns.test.ts×2packages/core/src/quilt/patterns.ts×2apps/web/src/components/QuiltVisualizer.tsx+2 more
  • ShippedREQ-QLT-005

    Outputs must include a shareable preview (image and/or link), a shopping list, and an option to add all required fabrics to cart as a kit.

    2h ago
    apps/web/src/components/QuiltVisualizer.tsx×2apps/web/src/app/(storefront)/visualizer/actions.tsapps/web/src/app/(storefront)/visualizer/page.tsx+4 more
  • ShippedREQ-QLT-006

    The interactive Quilt Designer preview is a client-rendered experience (see section 29 Rendering). Server-side high-quality renders are produced on demand for shareable images and may use GPU compute.

    2h ago
    apps/web/src/app/(storefront)/visualizer/page.tsx×2apps/web/src/components/QuiltVisualizer.tsxapps/web/src/env.ts+3 more
  • ShippedREQ-QLT-007

    Human-facing product copy must refer to the feature as Quilt Designer, not Quilt Visualizer, across storefront navigation, metadata, breadcrumbs, share previews, admin copy, generated preview labels, and documentation. Existing /visualizer…

    6h ago
    packages/core/src/creativeCommerceReadiness/index.test.ts×3apps/web/src/app/(storefront)/visualizer/opengraph-image.tsxpackages/core/src/creativeCommerceReadiness/index.ts+2 more
REQ-GSWGuided Shopping Wizard
5 shipped0 wip0 todo100%
  • ShippedREQ-GSW-001

    Entry prompt: "What are you shopping for?" ??? options: Start a new project, Buy fabric, Buy thread, Shop events, Browse.

    6h ago
    packages/core/src/platformQualityReadiness/index.test.ts×4apps/web/src/app/(storefront)/wizard/page.tsx×3apps/web/src/app/(storefront)/wizard/opengraph-image.tsx×2+4 more
  • ShippedREQ-GSW-002

    Project flow: pick pattern ??? choose size ??? pick fabrics (top, backing, binding) ??? pick batting ??? pick thread ??? tools & extras ??? review ??? add to cart.

    6h ago
    apps/web/src/app/(storefront)/wizard/project/actions.tsapps/web/src/lib/kitCart.tspackages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-GSW-003

    Each step must show visual previews and real-time inventory validation.

    6h ago
    packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-GSW-004

    The wizard must compute and display total yardage, estimated subtotal, and substitution options.

    6h ago
    apps/web/src/app/(storefront)/wizard/project/actions.tspackages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-GSW-005

    Projects must be saveable to the customer account and shareable via link.

    6h ago
    apps/web/src/app/(storefront)/wizard/project/page.tsx×2packages/db/src/migrations/0014_customer_projects.sql×2apps/web/src/app/(storefront)/wizard/project/actions.ts+11 more
REQ-SYNMulti-Channel Sync & Offline
8 shipped0 wip0 todo100%
  • ShippedREQ-SYN-001

    Inventory changes from any channel (POS, web, drops, events) must propagate to other active channels within 2 seconds at p95 under normal load.

    6h ago
    apps/web/src/lib/roadmap.test.ts×2packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-SYN-002

    Drop countdowns, class check-ins, and POS cart updates must use a realtime transport capable of ordered per-channel delivery (see �29).

    6h ago
    packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-SYN-010

    The iPad POS must remain fully functional offline for sales of items whose inventory is non-contested locally.

    6h ago
    packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-SYN-011

    Offline sales of items with limited inventory (drops, last-bolt items) must be either disallowed offline or reserved via a server hold taken while online and redeemed offline.

    6h ago
    apps/pos/src/runtime/registerWorkbench.test.tspackages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-SYN-012

    On reconnection, transactions sync in order of occurrence with idempotent, server-authoritative application.

    6h ago
    packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-SYN-013

    Local-first replication is a scoped capability, not the default application data path. BoltToCart will use a proprietary local-first sync layer only where offline operation, restart durability, or sub-second register latency requires it (i…

    6h ago
    packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-SYN-020

    The system must define a documented conflict resolution model for each mutable entity. Default model:

    6h ago
    packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-SYN-021

    The server must never oversell a bolt even under concurrent offline sync. If an offline sale cannot be honored on sync, the system must generate an exception for staff remediation (refund, substitute, or split).

    6h ago
    packages/core/src/platformOperationsReadiness/index.test.ts×3packages/core/src/platformOperationsReadiness/index.ts
REQ-NOTNotifications
5 shipped0 wip0 todo100%
  • ShippedREQ-NOT-001

    Support transactional email (order, ticket, shipping, password), marketing email (drops, classes, abandoned cart), SMS (order, ticket, event reminder, drop alert), and web/mobile push.

    6h ago
    packages/core/src/customerJourneyReadiness/index.test.ts×2packages/core/src/revenueOperationsReadiness/index.test.ts×2packages/core/src/platformOperationsReadiness/index.ts+1 more
  • ShippedREQ-NOT-002

    Each store must have a verified sender identity with SPF/DKIM/DMARC alignment and a per-store unsubscribe center.

    6h ago
    packages/core/src/platformOperationsReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.ts
  • ShippedREQ-NOT-003

    Marketing messaging must honor CAN-SPAM and TCPA: explicit consent capture, list hygiene, opt-out within one business day.

    6h ago
    packages/core/src/platformOperationsReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.ts
  • ShippedREQ-NOT-004

    Critical notifications must have a delivery-retry policy and an observable delivery-success metric; deliverability dashboards per store are required.

    6h ago
    packages/core/src/customerJourneyReadiness/index.test.ts×6packages/core/src/platformOperationsReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.ts
  • ShippedREQ-NOT-005

    Templates must be authorable by store owners with safe variables and preview.

    6h ago
    packages/core/src/revenueOperationsReadiness/index.test.ts×3packages/core/src/customerJourneyReadiness/index.test.ts×2packages/core/src/platformOperationsReadiness/index.ts+1 more
REQ-SRCSearch & Discovery
18 shipped0 wip0 todo100%
  • ShippedREQ-SRC-514

    The /opensearch.xml URL template was expanded from ?q={searchTerms} to ?q={searchTerms}&sort=relevance (REQ-SRC-514). JSON suggestions template omitted: no /shop/suggest.json (or similar) endpoint exists today. AUDIT-DEFERRED: Add <Url typ…

    6h ago
    packages/core/src/storefrontExperienceReadiness/index.test.ts×2apps/web/src/app/(storefront)/opensearch.xml/route.tspackages/core/src/storefrontExperienceReadiness/index.ts+1 more
  • ShippedREQ-SRC-515

    The /shop page metadata must reflect text-search intent when ?q=<query> is present. For search URLs, generateMetadata uses title Search results for "<query>" — BoltToCart and a description that says the catalog is showing fabric matching t…

    6h ago
    apps/web/src/app/(storefront)/shop/page.tsxpackages/core/src/storefrontExperienceReadiness/index.tspackages/demo-data/src/packs/0037_storefront_experience_readiness_suite.ts
  • ShippedREQ-SRC-516

    The tenant /opensearch.xml response body must include a <Language> element using DEFAULT_LOCALE, placed near the existing <Description> / <InputEncoding> fields. The HTTP Content-Language header remains unchanged. This gives OpenSearch cli…

    6h ago
    apps/web/src/app/(storefront)/opensearch.xml/route.tspackages/core/src/storefrontExperienceReadiness/index.tspackages/demo-data/src/packs/0037_storefront_experience_readiness_suite.ts
  • ShippedREQ-SRC-517

    The /shop/widths facet-index page must render an empty-state card instead of calling notFound() when a tenant has zero width-tagged SKUs. The empty state explains that widths will appear as SKUs are attributed and links to /shop. When widt…

    6h ago
    apps/web/src/app/(storefront)/shop/widths/page.tsxpackages/core/src/storefrontExperienceReadiness/index.test.tspackages/core/src/storefrontExperienceReadiness/index.ts+1 more
  • ShippedREQ-SRC-513

    Added sort key "newest-by-collection" to the shop PLP dropdown (label: "Newest (by collection)"). Sorts by collection name ascending (SKUs without a collection sort last), then by createdAt descending within each group. Pure loader/sort ch…

    6h ago
    apps/web/src/lib/storefront.ts×2packages/core/src/storefrontExperienceReadiness/index.tspackages/demo-data/src/packs/0037_storefront_experience_readiness_suite.ts
  • ShippedREQ-SRC-001

    Provide faceted search across SKU, collection, designer, color, width, fiber, weight, pattern type, price, and availability, with sub-200ms p95 response time for the storefront.

    6h ago
    packages/testing/src/search.test.ts×3apps/web/src/lib/storefront.ts×2packages/core/src/storefrontExperienceReadiness/index.test.ts×2+14 more
  • ShippedREQ-SRC-002

    Provide color search (pick a color or upload an image) using dominant colors extracted during media ingest.

    6h ago
    packages/core/src/storefrontExperienceReadiness/index.tspackages/demo-data/src/packs/0037_storefront_experience_readiness_suite.ts
  • ShippedREQ-SRC-003

    Provide semantic search for free-text queries ("blue floral for a baby quilt") using vector embeddings stored with SKUs.

    6h ago
    apps/web/src/lib/storefront.tspackages/core/src/storefrontExperienceReadiness/index.tspackages/db/src/repositories/skus.ts+1 more
  • ShippedREQ-SRC-004

    Storefront listings must expose canonical URLs, sitemap entries, and structured data for SEO. Sitemaps and robots.txt are served per-origin: the platform apex advertises only platform URLs; each tenant subdomain advertises only that tenant…

    6h ago
    apps/web/src/app/(storefront)/events/instructors/page.tsx×2apps/web/src/app/(storefront)/shop/[slug]/page.tsx×2apps/web/src/app/(storefront)/shop/page.tsx×2+30 more
  • ShippedREQ-SRC-500

    Expose a /shop/fibers facet-index page listing every fiber-content tag (with current cuttable-SKU counts) as a bookmarkable discovery surface, deep-linking to /shop?fiber=<value> for the filtered catalog view. Mirrors the structure of /sho…

    6h ago
    apps/web/src/app/(storefront)/shop/fibers/page.tsxapps/web/src/app/(storefront)/shop/page.tsxpackages/core/src/storefrontExperienceReadiness/index.ts+1 more
  • ShippedREQ-SRC-501

    Expose a /shop/widths facet-index page listing every distinct bolt-width value (with current cuttable-SKU counts) as a bookmarkable discovery surface, deep-linking to /shop?width=<value> for the filtered catalog view. Mirrors the structure…

    6h ago
    apps/web/src/app/(storefront)/shop/page.tsxapps/web/src/app/(storefront)/shop/widths/page.tsxpackages/core/src/storefrontExperienceReadiness/index.ts+1 more
  • ShippedREQ-SRC-502

    The /shop/rss.xml RSS channel emits <itunes:keywords> and the /opensearch.xml

    6h ago
    apps/web/src/app/(storefront)/opensearch.xml/route.tsapps/web/src/app/(storefront)/shop/rss.xml/route.tsapps/web/src/lib/channelKeywords.test.ts+3 more
  • ShippedREQ-SRC-503

    /shop/widths facet-index page lists all unique fabric-width values present in published SKUs, each with a bolt count. Mirrors the /shop/fibers and /shop/collections pages (REQ-SRC-500/501). BreadcrumbList JSON-LD: "Home ??? Shop ??? Browse…

    6h ago
    apps/web/src/app/(storefront)/shop/widths/page.tsxpackages/core/src/storefrontExperienceReadiness/index.tspackages/demo-data/src/packs/0037_storefront_experience_readiness_suite.ts
  • ShippedREQ-SRC-504

    /drops/rss.xml and /events/rss.xml must emit <itunes:keywords> (via xmlns:itunes namespace) derived from drop categories and instructor names respectively, matching the pattern REQ-SRC-502 established for /shop/rss.xml. Greedy 255-char fit…

    6h ago
    apps/web/src/app/(storefront)/drops/rss.xml/route.tsapps/web/src/app/(storefront)/events/rss.xml/route.tspackages/core/src/storefrontExperienceReadiness/index.ts+1 more
  • ShippedREQ-SRC-505

    /drops/rss.xml must emit a per-item <dc:creator> element (Dublin Core) when the drop has at least one SKU with a non-null designer field ??? using the first designer alphabetically as the attribution. Omitted when no SKU has a designer (ho…

    6h ago
    apps/web/src/lib/drops.ts×2apps/web/src/app/(storefront)/drops/rss.xml/route.tspackages/core/src/storefrontExperienceReadiness/index.ts+1 more
  • ShippedREQ-SRC-507

    Route Handler at /shop/opml.xml: OPML 2.0 document listing /shop/rss.xml as a subscribable outline entry. Cache-Control: public, s-maxage=86400. /shop listing page alternates.types["text/x-opml"] wired (REQ-SRC-507).

    6h ago
    apps/web/src/app/(storefront)/shop/opml.xml/route.tsapps/web/src/app/(storefront)/shop/page.tsxpackages/core/src/storefrontExperienceReadiness/index.ts+1 more
  • ShippedREQ-SRC-508

    Tenant sitemap promotes live drops (startAt <= now < endAt) to changeFrequency: hourly during the sale window (REQ-SRC-508).

    6h ago
    apps/web/src/app/sitemap.tspackages/core/src/storefrontExperienceReadiness/index.tspackages/demo-data/src/packs/0037_storefront_experience_readiness_suite.ts
  • ShippedREQ-SRC-509

    /shop PLP metadata adds alternates.types["application/opensearchdescription+xml"]: "/opensearch.xml" so browsers offer fabric search in URL-bar autocomplete (REQ-SRC-509).

    6h ago
    apps/web/src/app/(storefront)/shop/page.tsxpackages/core/src/storefrontExperienceReadiness/index.tspackages/demo-data/src/packs/0037_storefront_experience_readiness_suite.ts
REQ-CRMCustomer Management & Loyalty
18 shipped0 wip0 todo100%
  • ShippedREQ-CRM-001

    Unified customer profile across POS, web, events, and drops, keyed by email or phone with merge support.

    6h ago
    packages/core/src/customerJourneyReadiness/index.test.ts×6packages/db/src/migrations/0013_customers.sql×3packages/core/src/customerAutomationReadiness/index.test.ts×2+13 more
  • ShippedREQ-CRM-002

    Purchase history, event history, saved projects, wishlists, and preferences. Customer account surfaces are served on the tenant storefront origin (<subdomain>.<root>/account) and are noindex. See also: REQ-ARC-036.

    48m ago
    apps/web/src/app/account/wishlist/actions.ts×2packages/db/src/migrations/0013_customers.sql×2packages/db/src/migrations/0015_customer_wishlist.sql×2+24 more
  • ShippedREQ-CRM-003

    Loyalty program with configurable earn rules (per dollar, per yard, per event), tier ladder, and redemption against orders and tickets.

    48m ago
    packages/db/src/migrations/0016_loyalty.sql×3packages/events/src/domain/loyalty.ts×3packages/db/src/migrations/0028_customer_segments.sql×2+15 more
  • ShippedREQ-CRM-004

    Marketing segment builder with exportable lists and one-click audience handoff to the email/SMS provider.

    6h ago
    packages/db/src/migrations/0028_customer_segments.sql×2packages/testing/src/customerSegments.test.ts×2packages/core/src/customerAutomationReadiness/index.ts+5 more
  • ShippedREQ-CRM-005

    Data subject requests (export and deletion) must be self-service per �26.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.test.ts×3packages/core/src/customerAutomationReadiness/index.tspackages/core/src/customerCommerceReadiness/index.ts+4 more
  • ShippedREQ-CRM-502

    /admin/crm/segments renders persisted customer segment definitions through segmentsRepo.list, displays evaluated membership counts from segmentsRepo.countMembers, labels supported structured rules, and links to the segment creation surface…

    6h ago
    packages/db/src/migrations/0032_customer_segments_rule_json.sql×2apps/web/src/app/admin/crm/segments/page.tsxpackages/core/src/commerceReadiness/index.ts+4 more
  • ShippedREQ-CRM-546

    /admin/crm/contacts renders a tenant-scoped CRM contacts grid backed by contactsRepo.list, with source filter chips for all / website / POS / import / manual, per-source counts, accessible table semantics, and empty states for both no cont…

    6h ago
    apps/web/src/app/admin/crm/contacts/page.tsxpackages/core/src/customerAutomationReadiness/index.tspackages/core/src/customerCommerceReadiness/index.ts
  • ShippedREQ-CRM-501

    /admin/loyalty/settings loyalty-program configuration page. Reads earn rates (pts/$1, pts/yd, event bonus, discount/100pts) and tier thresholds (Silver/Gold lifetime pts) from customerLoyaltyRepo.getSettingsRow. Read-only display; edit for…

    6h ago
    apps/web/src/app/admin/loyalty/settings/page.tsxpackages/core/src/commerceReadiness/index.tspackages/core/src/customerAutomationReadiness/index.ts+2 more
  • ShippedREQ-CRM-500

    /admin/crm/segments customer segment list. Honest placeholder with four example segment rows (greyed out) and a 'New segment (coming soon)' CTA. Data lands when customer_segments schema ships.

    6h ago
    packages/db/src/migrations/0018_customer_purchase_fields.sql×3packages/core/src/commerceReadiness/index.ts×2packages/db/src/migrations/0028_customer_segments.sql×2+8 more
  • ShippedREQ-CRM-547

    /admin/customers must render an active-filter summary whenever search, tier, spend, or sort deviates from the default, including a one-click clear-all link back to the unfiltered customer list.

    6h ago
    packages/core/src/customerAutomationReadiness/index.tspackages/core/src/customerCommerceReadiness/index.ts
  • ShippedREQ-CRM-548

    /admin/customers tier chips, sort links, search form, clear-search link, and pagination must preserve the active lifetime-spend filter so admins do not lose a segment while paging or refining.

    6h ago
    packages/core/src/customerAutomationReadiness/index.tspackages/core/src/customerCommerceReadiness/index.ts
  • ShippedREQ-CRM-549

    /admin/customers/customers.csv must honor the same search, loyalty-tier, lifetime-spend, and sort params as the customer grid so exported CSVs match the visible cohort.

    6h ago
    packages/core/src/customerAutomationReadiness/index.tspackages/core/src/customerCommerceReadiness/index.ts
  • ShippedREQ-CRM-550

    /admin/customers CSV export links and suggested download filenames must include active filter suffixes for search, tier, spend, and sort where present.

    6h ago
    packages/core/src/customerAutomationReadiness/index.tspackages/core/src/customerCommerceReadiness/index.ts
  • ShippedREQ-CRM-551

    /admin/customers must expose order count and lifetime spend columns in the customer table to make high-value accounts visible without opening each detail page.

    6h ago
    packages/core/src/customerAutomationReadiness/index.tspackages/core/src/customerCommerceReadiness/index.ts
  • ShippedREQ-CRM-552

    /admin/customers must include a visible cohort summary for the current loaded window: visible page count, matching cohort count, loaded-window count, and tenant total.

    6h ago
    packages/core/src/commerceReadiness/index.test.ts×2packages/core/src/customerAutomationReadiness/index.tspackages/core/src/customerCommerceReadiness/index.ts
  • ShippedREQ-CRM-553

    /admin/customers/[id] must expose a copy-Clerk-user-id affordance beside the stored Clerk user id for staff support handoffs.

    6h ago
    packages/core/src/customerAutomationReadiness/index.tspackages/core/src/customerCommerceReadiness/index.ts
  • ShippedREQ-CRM-554

    /admin/customers/[id] must compute and display average order value from lifetime spend divided by order count, rendering zero for customers with no orders.

    6h ago
    packages/core/src/customerAutomationReadiness/index.tspackages/core/src/customerCommerceReadiness/index.ts
  • ShippedREQ-CRM-555

    /admin/customers/[id] must expose a print-summary control in the detail header for staff account reviews.

    6h ago
    packages/core/src/customerAutomationReadiness/index.test.ts×3packages/core/src/customerCommerceReadiness/index.test.ts×3packages/core/src/commerceReadiness/index.test.ts+3 more
REQ-STFStaff & Multi-Store
4 shipped0 wip0 todo100%
  • ShippedREQ-STF-001

    Role-based access control with at least these built-in roles: Owner, Manager, Cashier, Fulfillment, Instructor, Accountant, Read-only. Custom roles with per-capability permissions must be supported.

    6h ago
    packages/core/src/platformQualityReadiness/index.test.ts×2apps/web/src/app/admin/coupons/new/actions.tsapps/web/src/app/admin/drops/new/actions.ts+2 more
  • ShippedREQ-STF-002

    Every state-changing action must be recorded in an immutable audit log with actor, before/after, and reason where applicable.

    6h ago
    apps/web/src/app/admin/audit/page.tsx
  • ShippedREQ-STF-003

    Multi-location support with per-location inventory, staff assignments, and transfer workflow.

    6h ago
    apps/web/src/app/admin/pos-devices/page.tsx
  • ShippedREQ-STF-004

    Session and device management: list active sessions, revoke any session, enforce idle timeout, require step-up auth for sensitive actions.

    6h ago
    packages/core/src/platformQualityReadiness/index.test.ts×3apps/web/src/app/admin/pos-devices/page.tsx×2
REQ-RPTReporting & Analytics
7 shipped0 wip0 todo100%
  • ShippedREQ-RPT-001

    Sales reports by yardage, SKU, collection, designer, channel, staff, day/hour, and customer segment.

    6h ago
    packages/core/src/customerJourneyReadiness/index.test.ts×4packages/core/src/revenueOperationsReadiness/index.test.ts×4packages/core/src/platformOperationsReadiness/index.test.ts+2 more
  • ShippedREQ-RPT-002

    Inventory reports: stock levels, turnover, sell-through, remnant ratio, shrinkage, landed cost vs. margin.

    6h ago
    packages/core/src/revenueOperationsReadiness/index.test.ts×2packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-RPT-003

    Event/drop reports: registrations, attendance, waitlist conversion, sell-through time, queue health.

    6h ago
    packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-RPT-004

    Influencer reports: revenue attribution, commission accrued, payout status, ROI by campaign.

    6h ago
    packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-RPT-005

    All reports must be exportable (CSV) and accessible via the API (�24).

    6h ago
    packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-RPT-006

    Dashboards must render top-of-funnel KPIs (today's sales, open orders, active carts, drop status) with ??? 10s staleness.

    6h ago
    packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-RPT-007

    Tenant cost-of-service (Runpod GPU-seconds, Neon compute, bandwidth, Stripe fees, email/SMS volume) must be visible to platform operators per REQ-ANL-032 and surface-able to store owners where relevant to their plan.

    6h ago
    packages/core/src/customerJourneyReadiness/index.test.tspackages/core/src/platformOperationsReadiness/index.ts
REQ-HDWHardware Ecosystem
5 shipped0 wip0 todo100%
  • ShippedREQ-HDW-001

    Primary POS station: iPad (14" recommended), stand, receipt printer, cash drawer, Bluetooth scanner.

    6h ago
    packages/core/src/releaseCompletionReadiness/index.test.ts×2packages/demo-data/src/packs/0049_release_completion_readiness_suite.ts
  • ShippedREQ-HDW-002

    Optional: customer-facing display, thermal label printer, scale (for by-weight items), payment terminal.

    6h ago
    apps/pos/src/hw/customerDisplay.tsapps/pos/src/hw/physicalScale.ts
  • ShippedREQ-HDW-003

    Supported protocols: ESC/POS for receipt printers (USB/LAN/Bluetooth), HID for scanners, RJ-11 kick for cash drawers, ZPL/EPL for label printers, certified payments SDKs for card terminals including Tap-to-Pay on iPad/iPhone where availabl…

    6h ago
    apps/pos/src/hw/types.ts
  • ShippedREQ-HDW-004

    Hardware pairing must be self-service via the POS app with diagnostics and firmware/driver update prompts.

    6h ago
    apps/pos/src/hw/types.ts
  • ShippedREQ-HDW-005

    The platform must publish a certified-hardware compatibility matrix and test new devices before listing.

    6h ago
    packages/core/src/releaseCompletionReadiness/index.test.ts×3packages/demo-data/src/packs/0049_release_completion_readiness_suite.ts
REQ-APIPublic API & Extensibility
5 shipped0 wip0 todo100%
  • ShippedREQ-API-001

    Publish a versioned public API covering inventory, orders, customers, events, tickets, drops, and influencer data with OpenAPI schemas.

    6h ago
    packages/core/src/domainFoundationReadiness/index.test.ts×5packages/core/src/platformAssuranceReadiness/index.test.ts×2packages/core/src/platformQualityReadiness/index.test.ts×2+1 more
  • ShippedREQ-API-002

    Authentication via scoped API keys and OAuth for installed apps.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-API-003

    Webhooks for all significant events (order.created, cut.completed, drop.opened, ticket.checked_in, payout.paid), with signing, retries, and a dead-letter queue.

    6h ago
    packages/core/src/domainFoundationReadiness/index.test.ts×3packages/core/src/platformQualityReadiness/index.test.ts×2packages/core/src/platformAssuranceReadiness/index.ts+1 more
  • ShippedREQ-API-004

    Rate limiting, quotas, and a developer portal with docs, sandbox, and usage analytics.

    6h ago
    packages/core/src/domainFoundationReadiness/index.test.ts×2packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-API-005

    A plugin/app model for third-party extensions with permission scopes and review.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.test.ts×3packages/core/src/platformAssuranceReadiness/index.tspackages/core/src/platformQualityReadiness/index.test.ts
REQ-SECSecurity, Privacy & Compliance
17 shipped0 wip3 todo85%
  • ShippedREQ-SEC-001

    Authentication via a managed identity provider with MFA support; device-bound sessions for POS.

    6h ago
    packages/core/src/platformQualityReadiness/index.test.ts×6packages/core/src/operationalTelemetryReadiness/index.test.ts×4packages/core/src/platformAssuranceReadiness/index.test.ts×2+1 more
  • ShippedREQ-SEC-002

    Role-based access control with tenant isolation enforced at both application and database (RLS) layers.

    48m ago
    apps/web/src/lib/safeEventSlug.ts×2apps/web/src/lib/wizard.test.ts×2apps/web/src/app/(storefront)/cart/actions.ts+42 more
  • ShippedREQ-SEC-003

    Secrets must be stored in a managed secrets system; no secrets in code or environment dumps.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-SEC-004

    All traffic must be TLS 1.2+; HSTS enforced; HTTPS-only cookies; SameSite=Lax default.

    6h ago
    apps/web/next.config.mjspackages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-SEC-005

    Data encrypted at rest (AES-256 or provider-equivalent) and in transit.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-SEC-006

    Vulnerability management: dependency scanning in CI, periodic third-party penetration tests, bug-bounty contact.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-SEC-007

    Bot prevention: public and high-risk surfaces must be protected by a CAPTCHA-class challenge layered on top of per-IP and per-session rate limits. Required surfaces include account signup, password reset, checkout, drop queue entry, event…

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-SEC-010

    Card data handling must qualify for PCI DSS SAQ-A by using hosted iframes or tokenization; card PAN must never touch BoltToCart servers.

    48m ago
    apps/web/src/app/admin/settings/actions.ts×3apps/web/src/lib/demoStripeEmbeddedCheckoutHandoff.ts×3packages/core/src/platformQualityReadiness/index.test.ts×3+6 more
  • ShippedREQ-SEC-011

    3-D Secure 2 must be supported; Stripe Radar-class fraud scoring (or equivalent) must be enabled for card-not-present.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-SEC-012

    Chargebacks must have a workflow that ties disputes to orders, evidence, and a response SLA.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-SEC-020

    Privacy posture must cover GDPR and CCPA/CPRA: lawful-basis tracking, data subject access/export/deletion, consent for marketing, minor handling, data map. Admin, account, cart, and auth surfaces must be noindex and excluded from sitemaps…

    6h ago
    apps/web/src/app/(platform)/(auth)/layout.tsxapps/web/src/app/(platform)/privacy/page.tsxapps/web/src/app/(platform)/terms/page.tsx+12 more
  • ShippedREQ-SEC-021

    Personal data retention must have configurable policies per data class; PII purges must be auditable. Analytics events are subject to the same retention policy and the PII minimization rule in REQ-ANL-003; session replays are redacted and…

    6h ago
    packages/events/src/domain/customers.ts×2apps/web/src/app/admin/audit/page.tsxpackages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-SEC-022

    A cookie/consent banner and preference center must be available for all storefronts. Analytics, session replay, and marketing pixels must respect the preference state on every event emission.

    6h ago
    apps/web/src/components/CookieBanner.tsx×2apps/web/src/app/(platform)/cookies/CookieSettingsForm.tsxapps/web/src/components/CookieBannerGate.tsx+5 more
  • ShippedREQ-SEC-030

    Sales tax must be computed per U.S. state economic-nexus rules and per destination locality, with support for tax-exempt customers (resale certificates stored).

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-SEC-031

    For international expansion, the system must integrate a tax engine capable of VAT/GST (deferred to v1+).

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-SEC-040

    All customer-facing surfaces must meet WCAG 2.2 AA; automated checks in CI and periodic manual audits.

    6h ago
    apps/web/src/app/(platform)/accessibility/page.tsxapps/web/src/components/LegalFooterLinks.tsxapps/web/src/components/StorefrontShell.tsx+1 more
  • ShippedREQ-SEC-041

    POS must be usable with VoiceOver on iPad and include large-text and high-contrast modes.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • Not startedREQ-SEC-042

    Shared product-library tables must enforce access boundaries appropriate to global reference data: tenants may read approved records and their own tenant links, operators may review candidate and blocked records, and no tenant may modify s…

  • Not startedREQ-SEC-043

    Source connector credentials, cookies, tokens, and account identifiers must be treated as secrets or restricted operational metadata. They must never appear in raw snapshots, normalized records, logs, analytics events, screenshots, parser…

  • Not startedREQ-SEC-044

    Product-library source data must be classified for copyright, licensing, and terms-of-use risk before tenant-facing publication. The system must support source-level takedown, product-level takedown, media-only takedown, field redaction, a…

REQ-ANLAnalytics & Telemetry
27 shipped1 wip9 todo73%
  • ShippedREQ-ANL-001

    Every business/domain event type is defined in the shared packages/events catalog (AsyncAPI-style), typed end-to-end, emitted exactly once per business occurrence via a transactional outbox, and versioned. Ad-hoc event names or untyped pay…

    6h ago
    packages/core/src/operationalTelemetryReadiness/index.test.ts×6packages/core/src/platformQualityReadiness/index.test.ts×4packages/core/src/retailRuntimeReadiness/index.test.ts×2+28 more
  • ShippedREQ-ANL-002

    Every event ??? of any class ??? carries a standard context object: eventId, occurredAt, tenantId, userId (nullable), sessionId, requestId, traceId, releaseVersion, source (web|pos|server|job). Context is injected by framework middleware;…

    6h ago
    packages/core/src/retailRuntimeReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.tspackages/core/src/telemetry/types.ts
  • ShippedREQ-ANL-003

    PII minimization: events never carry raw PAN, full addresses, or PII beyond the identifying tenantId/userId, except where an event is specifically a PII event (KYC, profile update) which is marked as such and subject to �25.3 retention pol…

    6h ago
    apps/pos/src/flow/receiptDelivery.tsapps/web/src/app/admin/audit/page.tsxpackages/core/src/retailRuntimeReadiness/index.ts+4 more
  • ShippedREQ-ANL-004

    Tenant isolation applies to analytics as strictly as to data: every query against event data is scoped to a tenant or explicitly marked "platform-wide" and gated behind operator-only auth.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.tspackages/db/src/migrations/0002_event_outbox.sql
  • ShippedREQ-ANL-020

    Outbox delivery. Business events in the transactional outbox are delivered to per-tenant HTTPS webhook endpoints with an HMAC-SHA256 signature over <timestampMs>.<rawBody>, exponential-backoff retries on transient failures, and a dead-lett…

    6h ago
    apps/jobs/src/workers/outbox-relay.ts×3apps/web/src/lib/roadmap.test.ts×2packages/db/src/migrations/0008_webhook_delivery.sql×2+17 more
  • ShippedREQ-ANL-010

    All product/UX events emit through a single SDK wrapper in packages/core/telemetry. Feature code never calls the analytics vendor directly ??? this indirection lets us swap vendors without touching feature code.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.ts
  • ShippedREQ-ANL-011

    Funnels instrumented from day one for: onboarding (REQ-ONB-*), ecom checkout, POS cut-to-paid, drop queue-to-won, guided project wizard, influencer link-to-sale, event registration.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.ts
  • ShippedREQ-ANL-012

    Retention cohorts computable by store activation month (tenants) and by end-customer first-purchase month.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.ts
  • ShippedREQ-ANL-013

    Session replay available for storefront and admin surfaces, with automatic redaction of all input fields marked PII/payment; default retention 30 days, configurable per-tenant per �25.3.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.ts
  • ShippedREQ-ANL-014

    Feature-flag exposure (REQ-ARC-031) automatically emits an exposure event correlated with downstream outcome metrics so every flag rollout produces a measurable effect size.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.ts
  • ShippedREQ-ANL-021

    POS app performance telemetry: scan-to-add latency (REQ-NFR-002), tender-to-receipt latency, offline-session duration, sync catch-up duration, crash-free-session rate, hardware pairing success rate, bundle install/update success.

    6h ago
    packages/events/src/domain/pos.ts×2packages/core/src/retailRuntimeReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.ts
  • ShippedREQ-ANL-022

    Runtime errors ??? JS errors and native crashes ??? aggregated per release with source maps, release tagging, and per-tenant slicing. Alerts on new or regressed errors.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.ts
  • ShippedREQ-ANL-023

    RUM data is sliceable by tenant, route, release, device class, connection class, A/B experiment variant.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.ts
  • ShippedREQ-ANL-030

    Domain events, operational metrics, and a curated subset of transactional tables replicate to an analytics warehouse with freshness SLO of ??? 15 minutes for operational metrics and ??? 24 hours for full historical sync.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.ts
  • ShippedREQ-ANL-031

    A semantic layer (dbt or equivalent) translates raw event tables into governed business metrics: GMV, take rate, active stores, retention, LTV, CAC-equivalent, margin-per-store. All dashboards consume this layer, not raw tables, to prevent…

    6h ago
    packages/core/src/retailRuntimeReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.ts
  • ShippedREQ-ANL-032

    Per-tenant cost attribution: capture Runpod GPU-seconds, Neon compute-minutes, Vercel bandwidth, Stripe fees, email/SMS volume, and storage consumption per tenant. Drives margin-per-store reporting and is a precondition for pricing-plan de…

    6h ago
    packages/core/src/retailRuntimeReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.ts
  • ShippedREQ-ANL-040

    Store-owner dashboard (scoped to their tenant): today's sales, active carts, open orders, drop status, cut queue, staff activity, inventory-confidence score, Core Web Vitals for their storefront, top POS errors.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.ts
  • ShippedREQ-ANL-041

    Platform-operator dashboard (all tenants, operator-only auth): MRR/ARR, net revenue retention, active stores, churn risk cohort, top cost-contributor tenants, platform error rate, drop queue depth, SLO burn-rates.

    10m ago
    apps/web/src/app/(platform)/platform/page.tsxpackages/core/src/retailRuntimeReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.ts
  • ShippedREQ-ANL-042

    Every major feature ships with at least one dashboard tile ??? this is a Definition-of-Done checklist item.

    6h ago
    packages/demo-data/src/packs/0015_hosted_email_admin.ts×2packages/demo-data/src/packs/0016_admin_overnight_mvp_readiness.ts×2packages/demo-data/src/packs/0017_admin_storefront_launch_readiness.ts×2+27 more
  • ShippedREQ-ANL-043

    Dashboards render exclusively from the semantic layer (REQ-ANL-031); bespoke queries against raw event tables are rejected in review.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.ts
  • ShippedREQ-ANL-050

    Named SLIs per SLO target in �28. At minimum:

    6h ago
    packages/core/src/retailRuntimeReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.ts
  • ShippedREQ-ANL-051

    Burn-rate alerts (multi-window, multi-burn-rate) route to on-call per REQ-OBS-008 when an SLO budget is at risk. Alerts link to a runbook.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.test.ts×3packages/core/src/retailRuntimeReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.ts
  • ShippedREQ-ANL-052

    Alert hygiene: every alert must be actionable, linked to a runbook, and have a named owner. Alerts and their false-positive rate are reviewed quarterly; chronically noisy alerts are fixed or retired.

    6h ago
    packages/core/src/retailRuntimeReadiness/index.test.tspackages/core/src/revenueOperationsReadiness/index.ts
  • In progressREQ-ANL-501

    Production checkout and fulfillment must emit product and business telemetry through the approved wrappers for checkout started, checkout quote generated, checkout blocked, payment succeeded/failed, order created, inventory hold created/ex…

    packages/core/src/operationalTelemetryReadiness/index.test.ts×2
  • Not startedREQ-ANL-502

    Checkout funnel telemetry must include an implementation-owned event contract test that proves product events and business events carry no PAN, card tokens, raw addresses, or full free-form PII. The test must cover quote generated, checkou…

  • ShippedREQ-ANL-503

    Checkout funnel observability must publish a dashboard-ready readiness metric for each tenant that separates shopper-blocking prerequisites from payment-provider failures. The metric must include counts for contact invalid, fulfillment unr…

    2h ago
    apps/web/src/lib/checkoutReadinessReporting.ts×3apps/web/src/app/(storefront)/cart/page.tsx×2apps/web/src/app/admin/settings/page.tsx+1 more
  • ShippedREQ-ANL-504

    Checkout readiness reporting must expose a launch-smoke and admin-dashboard export of payment-blocking prerequisites by tenant. The report must separate shopper-input blockers from operator-configuration blockers and provider failures; inc…

    2h ago
    apps/web/src/lib/checkoutReadinessReporting.test.ts×5apps/web/src/lib/checkoutReadinessReporting.ts×3apps/web/src/app/admin/settings/checkout-readiness.csv/route.ts+1 more
  • ShippedREQ-ANL-505

    Checkout replay and recovery observability must report invalid, expired, mismatched, refreshed, and accepted quote-token outcomes by tenant and route. The metric must include attempt age bucket, blocker/recovery reason, lifecycle state, an…

    6h ago
    apps/web/src/lib/checkoutReplayObservability.ts×3apps/web/src/lib/checkoutReplayObservability.test.ts
  • Not startedREQ-ANL-506

    Checkout launch dashboards must correlate quote replay outcomes, payment-provider handoff outcomes, and admin checkout-settings conflicts into a tenant-scoped funnel. The dashboard data contract must include route, lifecycle state, attempt…

  • Not startedREQ-ANL-507

    Checkout launch observability must provide an abandonment and retry dashboard for the public cart through order confirmation. The dashboard must show counts and rates for quote generated, quote refreshed, payment handoff attempted, hosted-…

  • Not startedREQ-ANL-508

    Checkout launch observability must report payment-provider webhook and return-delay health. The dashboard contract must bucket provider return-to-webhook lag, webhook retry count, duplicate webhook deliveries, order-creation retry age, and…

  • Not startedREQ-ANL-509

    Checkout provider-return observability must alert when webhook lag, duplicate provider deliveries, order-creation retry age, or fulfillment queue lag exceeds the MVP threshold for any tenant. Alert payloads must include tenant, route, paym…

  • ShippedREQ-ANL-510

    Checkout verification observability must separate tampered-return attempts from ordinary provider delays. Dashboard data must bucket missing ledgers, invalid ledger seals, cross-tenant attempt mismatches, provider-session mismatches, stale…

    48m ago
    apps/web/src/lib/checkoutReturnObservability.ts×3apps/web/src/app/(storefront)/cart/confirmation/page.tsxapps/web/src/lib/checkoutReturnObservability.test.ts
  • Not startedREQ-ANL-511

    Checkout return-verification telemetry must have a contract test that asserts every emitted bucket remains PII-minimized. The test must cover missing ledgers, missing seals, invalid seals, cross-tenant attempts, provider-session mismatches…

  • Not startedREQ-ANL-512

    Product-library ingestion telemetry must report connector runs, discovered products, normalized products, approved products, rejected products, duplicate candidates, media successes/failures, source-block states, and parser warning rates b…

  • Not startedREQ-ANL-513

    Store-owner library-assisted intake telemetry must report lookup attempts, match acceptance, fallback manual creation, field overrides, label-print outcomes, and time-to-receive by tenant and intake workflow. Events must use packages/core/…

  • Not startedREQ-ANL-514

    The store-owner dashboard must include a product-library value tile after the feature is enabled, showing library-assisted products created, manual products created, pending update suggestions, unresolved UPC conflicts, and estimated intak…

REQ-OBSObservability & Disaster Recovery
8 shipped0 wip0 todo100%
  • ShippedREQ-OBS-001

    Centralized structured logging with per-tenant tagging and the standard context object from REQ-ANL-002; logs retained ??? 30 days hot, ??? 1 year cold.

    6h ago
    packages/core/src/operationalTelemetryReadiness/index.test.ts×4packages/core/src/platformAssuranceReadiness/index.test.ts×2packages/core/src/platformQualityReadiness/index.test.ts×2+1 more
  • ShippedREQ-OBS-002

    Error tracking with per-release and per-tenant slicing; alerting on new/regressed errors.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-OBS-003

    APM with OpenTelemetry distributed tracing end-to-end (Next.js ??? Postgres ??? jobs ??? Runpod ??? Stripe), database query insights, and a synthetic probe hitting POS and checkout paths every minute.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-OBS-004

    Public status page fed by real probes, with scheduled-maintenance windows.

    6h ago
    packages/core/src/platformQualityReadiness/index.test.ts×2packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-OBS-005

    RPO (recovery point objective) ??? 5 minutes for transactional data via point-in-time recovery.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-OBS-006

    RTO (recovery time objective) ??? 1 hour for the primary region; ??? 4 hours for full regional failover.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-OBS-007

    Backups retained ??? 30 days with quarterly restore rehearsals.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-OBS-008

    Incident runbooks and on-call rotation; customer-impacting incidents must produce a public postmortem within 5 business days.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.test.ts×3packages/core/src/operationalTelemetryReadiness/index.test.tspackages/core/src/platformAssuranceReadiness/index.ts+1 more
REQ-UXUX Principles
37 shipped0 wip0 todo100%
  • ShippedREQ-UX-001

    Fast checkout ??? p95 cart-to-paid ??? 10 seconds on reference iPad hardware for a typical 3-line fabric sale.

    6h ago
    packages/core/src/engagementExperienceReadiness/index.test.ts×4packages/core/src/publicExperienceReadiness/index.test.ts×4packages/core/src/engagementExperienceReadiness/index.ts+1 more
  • ShippedREQ-UX-002

    Minimal-click design: core POS actions reachable within 2 taps from the register home.

    6h ago
    packages/core/src/engagementExperienceReadiness/index.test.ts×2packages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-UX-003

    Tablet-first and visual-first design for the POS; responsive, mobile-first for storefronts.

    6h ago
    apps/web/src/app/(storefront)/cart/loading.tsxapps/web/src/app/(storefront)/drops/loading.tsxapps/web/src/app/(storefront)/events/instructors/loading.tsx+9 more
  • ShippedREQ-UX-004

    Accessibility target per �25.5.

    6h ago
    apps/web/src/app/(platform)/accessibility/page.tsxpackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-UX-005

    Storefront performance budget: LCP ??? 2.0s, INP ??? 200ms, CLS ??? 0.1 at p75 on 4G reference devices (matching Core Web Vitals "Good").

    6h ago
    packages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-UX-006

    Internationalization: v1 US/English-only; i18n scaffolding must be present so locales and currencies can be added without a re-architecture.

    6h ago
    apps/web/src/lib/formattingLocale.ts×10apps/web/src/i18n/config.test.ts×2apps/web/src/i18n/config.ts+4 more
  • ShippedREQ-UX-510

    scroll-margin-top: 5rem extended to h4[id] anchor destinations in globals.css. Extends REQ-UX-501 (h2[id], h3[id]) to h4. The admin audit FAQ and drop/event detail pages use <h4 id="..."> deep-link targets that hide under the sticky header…

    6h ago
    apps/web/src/app/globals.csspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-UX-511

    text-wrap: balance extended to th in globals.css. Admin table column headers (Bolt, Designer, Status, Cuttable yardage, Last updated) are short label-tier strings that benefit from balanced wrapping, exactly as <caption>, <dt>, and <summar…

    6h ago
    packages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-UX-513

    @media print ??? table { table-layout: auto !important } + td, th { width: auto !important; white-space: normal !important } in globals.css. Resets Tailwind's fixed-width column utilities (w-*) on print so date, yardage, and ID values don'…

    6h ago
    packages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-UX-515

    .animate-pulse { animation: none !important } inside the @media (prefers-reduced-motion: reduce) block in globals.css. Tailwind's .animate-pulse class uses animation: pulse 2s cubic-bezier(...) infinite which has higher specificity than th…

    6h ago
    packages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-UX-516

    text-wrap: pretty extended to td in globals.css. Admin table cells with multi-word content (event names, customer names, SKU descriptions) can orphan a single word on wrap. pretty is cheaper than balance for flowing prose and appropriate f…

    6h ago
    packages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-UX-517

    data-print-hidden attribute on the five bolt-action <section> elements in apps/web/src/app/admin/bolts/[boltId]/page.tsx (Cut yardage, Split, Merge, Override status, Restock). The global [data-print-hidden] { display: none !important } pri…

    6h ago
    packages/core/src/publicExperienceReadiness/index.test.ts×3packages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-UX-512

    scrollbar-gutter: stable on #admin-main-content and #storefront-main in globals.css. Reserves a fixed gutter for the OS scrollbar even when no overflow is present, preventing the ~16px layout shift that occurs when a tall page replaces a s…

    6h ago
    packages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-UX-539

    scroll-margin-top: 5rem extended to h6[id] anchors in globals.css. Completes the h2..h6 sweep started by REQ-UX-501 (h2[id], h3[id]), REQ-UX-510 (h4[id]), and REQ-UX-538 (h5[id]). The admin audit FAQ and a handful of legal-page deep-TOC su…

    6h ago
    apps/web/src/app/globals.csspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-UX-540

    text-wrap: balance extended to <legend> in globals.css. Completes the short-label-tier sweep started by REQ-UX-503 (<caption>, <dt>, <summary>). Admin fieldsets (/admin/receiving/new, /admin/settings, /admin/events/new, /admin/drops/new) u…

    6h ago
    packages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-UX-541

    @media (forced-colors: active) { .truncate-cell { forced-color-adjust: auto } } override in globals.css. The REQ-UX-530 .truncate-cell utility is purely structural (ellipsis overflow) ??? the cell carries no author color that needs preserv…

    6h ago
    apps/web/src/app/globals.csspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-UX-542

    @media print { nav { display: none !important } } rule added to globals.css so every <nav> landmark ??? the storefront shell header/footer nav rails, the mobile drawer <nav>, the admin nav rail, and any future primary/secondary nav ??? is…

    6h ago
    apps/web/src/app/globals.csspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-UX-543

    touch-action: manipulation extended to [role="button"] in globals.css ??? extends the REQ-UX-506 base-layer rule from button, a to synthetic-button ARIA surfaces. Radix Primitives, shadcn/ui, and a handful of hand-rolled interactive elemen…

    6h ago
    packages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-UX-549

    accent-color fallback chain on input[type="checkbox"] and input[type="radio"] in globals.css. The existing base-layer rule (accent-color: #171717) is upgraded to var(--bolt-accent, #171717) so a tenant that publishes --bolt-accent on the t…

    6h ago
    apps/web/src/app/globals.csspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-UX-550

    Quilt Designer photo-preview button copy shortened from "Generate quick photo render" to "Generate Preview" in QuiltVisualizer.tsx. Pure copy change that keeps the action label concise while preserving the same behavior.

    6h ago
    packages/core/src/publicExperienceReadiness/index.test.tspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-UX-548

    @media print { table thead { background: transparent !important } } rule added to globals.css. Admin tables use bg-neutral-100 / bg-neutral-800 on <thead> to separate the header band from body rows on screen; on paper that fill prints as a…

    6h ago
    apps/web/src/app/globals.csspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-UX-547

    prefers-reduced-motion: reduce override of the UrgencyBadge pulse (REQ-DRP-504). Audit entry ??? confirmed already compliant. apps/web/src/components/UrgencyBadge.tsx reads prefers-reduced-motion via the usePrefersReducedMotion() hook and…

    6h ago
    packages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-UX-546

    text-wrap: pretty extended to <small> in globals.css. Extends the REQ-UX-500 selector group (li, dd, blockquote, figcaption) to cover fine-print <small> content ??? legal disclaimers, ratings footnotes, pricing asterisks, and microcopy cap…

    6h ago
    apps/web/src/app/globals.csspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-UX-545

    overscroll-behavior: contain on #visualizer-canvas in globals.css. The /visualizer design-surface wrapper (components/QuiltVisualizer.tsx) gains a stable id="visualizer-canvas" so the CSS rule can target it. When the generated SVG is talle…

    6h ago
    apps/web/src/app/globals.cssapps/web/src/components/QuiltVisualizer.tsxpackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-UX-544

    scrollbar-gutter: stable on #cart-summary in globals.css. The cart sticky-summary <section> (apps/web/src/app/(storefront)/cart/page.tsx) gains a stable id="cart-summary" so the CSS rule can target it. Swapping between "subtotal only" and…

    2h ago
    apps/web/src/app/(storefront)/cart/page.tsxapps/web/src/app/globals.csspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-UX-551

    Every web shell must expose an obvious session action in its primary chrome: unauthenticated visitors see a "Sign in" link, and authenticated users see a visible "Sign out" action without needing to discover an avatar-only menu. Scope incl…

    6h ago
    apps/web/src/app/admin/layout.tsxapps/web/src/components/MobileNavDrawer.tsxapps/web/src/components/PlatformShell.tsx+1 more
  • ShippedREQ-UX-500

    text-wrap: pretty extended to <li>, <dd>, <blockquote>, <figcaption> in globals.css so long-prose bullets on the platform legal / info pages (/privacy, /terms, /accessibility, /cookies, /security) stop orphaning a single short word on the…

    6h ago
    apps/web/src/app/globals.css×2packages/core/src/releaseAcceptanceReadiness/index.test.ts×2packages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-UX-501

    scroll-margin-top: 5rem on h2[id] / h3[id] anchor-destination headings in globals.css as a per-target backstop for the global html { scroll-padding-top: 5rem } rule. Covers programmatic scrollIntoView({ block: "start" }) calls and anchors…

    6h ago
    apps/web/src/app/globals.csspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-UX-502

    @media (prefers-contrast: more) block in globals.css bumps Tailwind border-neutral-100/200 to neutral-400 (light) and border-neutral-800/900 to neutral-500 (dark), and promotes non-active link underlines from hover-only to always-on. Honor…

    6h ago
    apps/web/src/app/globals.csspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-UX-503

    text-wrap: balance extended to <caption>, <dt>, <summary> in globals.css. Short label-tier text containers (table captions, definition-list terms, disclosure summaries) share the same "multi-line label that orphans its last word" failure m…

    6h ago
    apps/web/src/app/globals.csspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-UX-509

    @media print rules for the storefront PDP in globals.css. Collapses the two-column article > .grid hero-gallery / detail-text layout to a single column (grid-template-columns: 1fr !important) and caps the first child (gallery column) at 40…

    6h ago
    apps/web/src/app/globals.csspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-UX-508

    aspect-ratio: 1/1 on the PDP hero-image container. The ProductGallery component in apps/web/src/components/ProductGallery.tsx already uses Tailwind's aspect-square utility (aspect-ratio: 1/1) on the hero image container (<div className="as…

    6h ago
    packages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-UX-507

    @media (forced-colors: active) { .focus-ring:focus-visible { outline: 2px solid ButtonText; outline-offset: 2px; } } added to globals.css. Windows High Contrast Mode replaces the author color palette, which silently erases box-shadow-based…

    6h ago
    apps/web/src/app/globals.css×2packages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-UX-506

    touch-action: manipulation on button, a in apps/web/src/app/globals.css (the equivalent base stylesheet since packages/ui has no CSS file of its own). Removes the 300 ms tap delay on iOS Safari 15 and older Android WebView builds by opting…

    6h ago
    apps/web/src/app/globals.csspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-UX-505

    @media print CSS rule [data-print-hidden] { display: none !important } added to globals.css, and data-print-hidden attribute added to: AdminNavRail outermost <nav> element, FilterChipRow outermost <nav> element, and the action-bar wrapper…

    6h ago
    apps/web/src/app/globals.css×3packages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-UX-504

    overscroll-behavior: contain (Tailwind overscroll-contain) on the storefront filter sidebar (StorefrontFilterRail outer <aside> in apps/web/src/components/StorefrontFilters.tsx). Prevents touch/wheel scroll events from bubbling to the page…

    6h ago
    packages/core/src/releaseAcceptanceReadiness/index.test.ts×3apps/web/src/components/StorefrontFilters.tsxpackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-UX-514

    [data-status-badge] { forced-color-adjust: none } inside the @media (forced-colors: active) block in globals.css, plus data-status-badge attribute on every status-badge <span> in StatusBadge.tsx (shared bolt/receiving component) and the lo…

    6h ago
    apps/web/src/app/globals.csspackages/core/src/publicExperienceReadiness/index.ts
REQ-NFRNon-functional Requirements
20 shipped0 wip12 todo63%
  • ShippedREQ-NFR-001

    Availability: 99.9% monthly for customer-facing APIs and storefronts; 99.95% for POS sales path.

    6h ago
    packages/core/src/operationalTelemetryReadiness/index.test.ts×4packages/core/src/platformAssuranceReadiness/index.test.ts×4packages/core/src/platformQualityReadiness/index.test.ts×2+1 more
  • ShippedREQ-NFR-002

    POS latency: p95 ??? 400ms end-to-end for scan ??? add line and tender ??? receipt operations on LAN; app remains fully functional offline per �17.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-NFR-003

    Storefront latency: p95 TTFB ??? 300ms for cached product pages at edge; p95 ??? 800ms for dynamic pages.

    6h ago
    apps/web/src/components/ProductImage.tsxpackages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-NFR-004

    Inventory consistency: no oversells under concurrent access; serializable isolation for bolt cuts.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.tspackages/db/src/migrations/0004_cuts.sqlpackages/db/src/repositories/events.ts+4 more
  • ShippedREQ-NFR-005

    Drop throughput: sustain ??? 200 orders/minute per store at launch with a design path to 2,000 orders/minute per store.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-NFR-006

    Scale targets (v1): 1,000 stores, 10M SKUs across the platform, 100k concurrent storefront users, 10k concurrent POS devices.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-NFR-007

    Data consistency model: strong consistency for inventory and payments; eventual consistency (??? 2s p95) acceptable for analytics and non-transactional reads.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-NFR-500

    Parallel agent execution must use a live lane registry, route-scoped sublanes, ready-to-run launch prompt packets, hard write fences, and a rebase-merge protocol that preserves one commit per implemented REQ-ID on main. Coordination-lane w…

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-NFR-501

    The lane registry must exist at docs/playbooks/lane-registry.md and define the current active-lane capacity, lane ownership/fences, and the protocol for selecting the next smallest safe REQ-ID slice when no merge blocker is active.

    6h ago
    packages/core/src/operationalTelemetryReadiness/index.test.tspackages/core/src/platformAssuranceReadiness/index.test.tspackages/core/src/platformAssuranceReadiness/index.ts+1 more
  • ShippedREQ-NFR-502

    MVP release signoff must include seeded storefront and admin smoke checks that render /shop, /shop/[slug], /cart, checkout review/confirmation, /events, /drops, /admin, /admin/orders, /admin/fulfillment, /admin/inventory, /admin/receiving,…

    6h ago
    apps/web/src/lib/launchSmokeEvidence.ts×14apps/web/src/lib/launchSmokeEvidence.test.ts×4
  • Not startedREQ-NFR-503

    Storefront and admin performance evidence for MVP must include route-level server timing, query count or equivalent DB round-trip evidence, Core Web Vitals/RUM for storefront pages, and an admin dashboard tile or SLI showing p75/p95 latenc…

  • Not startedREQ-NFR-504

    MVP-critical storefront and admin pages must expose route-level performance evidence in the response or UI. Each critical route must provide server timing or equivalent latency evidence for tenant resolution, database reads, and render ass…

  • ShippedREQ-NFR-505

    Storefront and admin list pages must publish a lightweight query/load budget alongside route performance evidence. For each MVP-critical route, the implementation must define an expected database read count, maximum server fetch window, ca…

    2h ago
    apps/web/src/lib/launchSmokeEvidence.ts×14apps/web/src/lib/launchSmokeEvidence.test.ts×3apps/web/src/app/(storefront)/cart/page.tsx+1 more
  • ShippedREQ-NFR-506

    MVP-critical storefront and admin pages must publish stable smoke-test selectors for launch readiness evidence. Each selector must identify the route, tenant resolution state, critical data window, intentionally disabled commerce state if…

    2h ago
    apps/web/src/lib/launchSmokeEvidence.test.ts×19apps/web/src/lib/launchSmokeEvidence.ts×3apps/web/src/app/(storefront)/cart/page.tsx+1 more
  • ShippedREQ-NFR-507

    Local smoke checks must compare the stable launch-readiness selectors against the public /roadmap shipped classifier. If a route claims a selector for an unshipped REQ-ID, or a shipped MVP selector is missing from the seeded route, the dia…

    6h ago
    apps/web/src/lib/launchSmokeEvidence.ts
  • ShippedREQ-NFR-508

    MVP smoke verification must run the launch-readiness selector checks at desktop and mobile viewport widths. Diagnostics must include viewport, route, selector, missing or mismatched data attributes, screenshot artifact path, and whether th…

    2h ago
    apps/web/src/app/(storefront)/cart/page.tsxapps/web/src/app/admin/page.tsxapps/web/src/lib/launchSmokeEvidence.ts
  • ShippedREQ-NFR-509

    Smoke-test failure artifacts must include a reproducible diagnostic bundle for each viewport. The bundle must retain the failing route URL, viewport dimensions, screenshot path, relevant HTML snippet, selector/data-attribute diff, console…

    6h ago
    apps/web/src/lib/launchSmokeEvidence.ts
  • ShippedREQ-NFR-510

    Smoke-test diagnostic bundles must publish a machine-readable CI index. Each run must expose JSON keyed by route, viewport, selector, REQ-ID, failure class, artifact path, and owning admin page so PR comments and runbooks can deep-link dir…

    6h ago
    apps/web/src/lib/launchSmokeEvidence.ts
  • ShippedREQ-NFR-511

    MVP smoke diagnostics must publish a success-and-failure route budget manifest for every seeded route, not just failing selectors. The manifest must include route, tenant host, viewport, route budget, observed database reads, observed serv…

    6h ago
    apps/web/src/lib/launchSmokeEvidence.ts×4apps/web/src/app/(platform)/launch-smoke/manifest.schema.json/route.tsapps/web/src/lib/launchSmokeEvidence.test.ts
  • ShippedREQ-NFR-512

    Smoke manifest publication must retain historical comparison metadata for release review. Each manifest must include the git SHA, Vercel deployment URL, generated timestamp, previous successful manifest reference, and per-route budget delt…

    6h ago
    apps/web/src/lib/launchSmokeEvidence.ts×3apps/web/src/app/(platform)/launch-smoke/manifest.schema.json/route.tsapps/web/src/lib/launchSmokeEvidence.test.ts
  • ShippedREQ-NFR-513

    Launch-smoke manifest consumers must have a stable schema contract. /launch-smoke/manifest.json must publish a schema version, JSON schema URL, strong or weak ETag, Last-Modified timestamp, and cache validation behavior so CI, Vercel previ…

    6h ago
    apps/web/src/lib/launchSmokeEvidence.ts×3apps/web/src/app/(platform)/launch-smoke/manifest.schema.json/route.ts×2apps/web/src/app/(platform)/launch-smoke/manifest.json/route.ts+1 more
  • Not startedREQ-NFR-514

    Launch-smoke manifest schema changes must follow an explicit compatibility policy. Additive fields may keep the current schema version, renamed or removed fields must increment the major schema version, and /launch-smoke/manifest.schema.js…

  • Not startedREQ-NFR-515

    Checkout MVP performance verification must include a seeded-data load profile for /cart, /cart/confirmation, /admin/settings?tab=tax, /admin/settings?tab=shipping, /admin/orders, and /admin/fulfillment. The profile must define maximum DB r…

  • Not startedREQ-NFR-516

    Checkout critical routes must expose server-timing evidence for tenant resolution, cart read, quote build, payment-provider readiness, confirmation-state verification, admin settings reads, order list reads, and fulfillment list reads. /ca…

  • Not startedREQ-NFR-517

    Checkout verification smoke tests must cover tampered confirmation URLs, stale attempt references, mismatched amount/currency, missing server attempt records, and bookmarked recovery summaries for /cart/confirmation. The smoke must run loc…

  • Not startedREQ-NFR-518

    Checkout ledger smoke tests must cover sealed-ledger happy paths and tamper failures for /cart/confirmation. The smoke must create a seeded hosted-payment attempt, verify that matching return params can expose only the ledger's lifecycle s…

  • Not startedREQ-NFR-519

    Checkout confirmation performance budgets must include sealed-ledger verification and return-verification telemetry overhead. With seeded reference-store data, /cart/confirmation must verify the ledger seal, classify the return, emit the P…

  • ShippedREQ-NFR-520

    CI and local smoke verification must fail when production storefront or admin payment code redirects to Stripe hosted Checkout, returns a Stripe Checkout URL to the browser, or introduces Payment Links for checkout. The guard must allow St…

    2m ago
    apps/web/src/lib/noHostedStripeRedirects.test.tspackages/core/src/payments/index.ts
  • Not startedREQ-NFR-521

    Product-library search must meet the admin intake performance budget with at least 250,000 shared records and 25,000 tenant SKUs in seeded data. Barcode/UPC lookup must return p95 under 300 ms server time, and text/faceted search must retu…

  • Not startedREQ-NFR-522

    Product-library ingestion must support at least 100,000 source products per wholesaler without requiring a single long transaction. Connector runs must checkpoint at least every 500 products or 60 seconds, whichever comes first, and must r…

  • Not startedREQ-NFR-523

    Product-library schema changes must follow expand/migrate/contract and include RLS policies, rollback notes, and tests proving tenants cannot mutate or read restricted operator-only fields while still being able to search approved library…

  • Not startedREQ-NFR-524

    Local and CI verification must include seeded Moda-like fixture pages and parser contract tests so extraction, normalization, deduplication, media handling, and tenant acceptance can be tested without live network access or wholesale crede…

REQ-ARCSystem Architecture & Infrastructure
50 shipped0 wip0 todo100%
  • ShippedREQ-ARC-001

    Capability-first: requirements describe capabilities and constraints; vendors are chosen to satisfy them and recorded in the RFC log (�32).

    6h ago
    packages/core/src/platformAssuranceReadiness/index.test.ts×6packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-002

    Single inventory source of truth: all channels read/write through one inventory service with server-authoritative cuts.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-003

    Edge-first reads, region-anchored writes: storefront reads can be served from the edge; writes (cuts, payments, bookings) anchor to the primary region.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-004

    Multi-tenant by default: shared-schema with tenant_id on every row and Postgres Row-Level Security; per-tenant custom domains with auto-provisioned SSL.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.tspackages/db/src/migrations/0001_init.sqlpackages/db/src/migrations/0004_cuts.sql+23 more
  • ShippedREQ-ARC-005

    Open standards: prefer OpenAPI, AsyncAPI, OpenTelemetry, and portable storage formats so the vendor surface area stays replaceable.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-010

    Must support server-side rendering for SEO, streaming for perceived performance, typed server actions, edge runtime for cacheable reads, and a stable plugin story for custom storefronts.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-011

    Must provide accessible primitives (WCAG 2.2 AA), a tokenized theming system for per-store branding, and tablet-optimized inputs.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-012

    Must support end-user auth, organization/tenant primitives, staff RBAC, MFA, session management, SAML/SCIM for enterprise stores, and device-bound sessions for POS.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.test.tspackages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-013

    Must host a Node/edge web runtime, background jobs or a gateway to them, per-tenant wildcard and custom domains with SSL, DDoS protection, and preview environments.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-014

    Must be Postgres-compatible with RLS, JSONB, full-text, pgvector, logical replication, and ideally database branching for preview environments. Must support per-tenant connection scoping.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.tspackages/db/src/migrations/0001_init.sqlpackages/db/src/migrations/0007_grant_app_role_membership.sql
  • ShippedREQ-ARC-015

    Must provide compile-time-typed queries, a migration tool, and an escape hatch to raw SQL.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-016

    Must provide sub-ms reads, atomic counters, sorted sets, pub/sub, and rate-limit primitives usable from edge and node runtimes.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-017

    Must provide scheduled jobs, event-driven jobs, durable workflows (multi-step with retries), fan-out, and per-tenant quotas. Used for drops, payouts, image processing, sync recovery, email blasts.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-018

    Must deliver ordered per-channel messages to ??? 100k concurrent clients per region with < 500ms p95 fan-out, authenticated per-tenant channels, and presence.

    6h ago
    apps/web/src/lib/roadmap.test.ts×2packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-019

    Must provide a Postgres-compatible local replica on device, conflict resolution hooks matching �17, and replay on reconnect. Must survive cold restarts without data loss.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-020

    Must reach certified payments SDKs, Bluetooth HID, ESC/POS printing, and offline SQLite.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-021

    Must provide faceted search, typo-tolerance, synonyms, per-tenant index isolation, and vector search fused with keyword search. Sub-200ms p95 for storefront queries.

    6h ago
    apps/web/src/lib/roadmap.test.tspackages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-022

    Must store originals, produce derivatives on demand (thumbnail/card/swatch/zoom), extract dominant colors, serve via CDN, and support signed URLs for private assets.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-023

    Must support per-tenant sender identities, DKIM/SPF/DMARC, templated messages (React Email-class), deliverability analytics, suppression lists, and webhooks.

    6h ago
    apps/web/src/app/(storefront)/events/[slug]/actions.tspackages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-024

    Must support toll-free or 10DLC US sending with consent capture and unsubscribe, plus APNs/FCM push.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-025

    Must handle ecom card-present and card-not-present, subscriptions (platform billing), marketplace payouts (influencers), and a certified POS terminal SDK (including Tap-to-Pay on iPhone/iPad).

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-026

    Must handle U.S. destination-based sales tax with nexus rules, exemption certificates, and per-line taxability; VAT/GST for international later.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-027

    Must return carrier-rated rates at checkout, purchase labels, and emit tracking events.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-028

    Asynchronous LLM content pre-processing (titles, summaries, taxonomy generation, alt text, embeddings) ??? batch, not user-blocking, tolerant of seconds-to-minutes latency.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-028.2

    Interactive quilt pattern preview (�15) ??? user-facing, sub-frame updates as fabrics swap.

    6h ago
    apps/web/src/app/(storefront)/visualizer/page.tsxpackages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-028.3

    High-quality shareable renders / generative imagery ??? for marketing images, shareable "my quilt" social cards, and future AI features on the roadmap.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.tspackages/core/src/quilt/patterns.ts
  • ShippedREQ-ARC-029

    Must capture typed events from web, POS, and server per the telemetry taxonomy in �26.1, with per-tenant isolation, funnels, retention, feature-flag exposure correlation, session replay, and a bulk-export path to the warehouse. See �26 for…

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-029.1

    Emission pattern (non-negotiable): all telemetry is emitted through packages/core/telemetry, a thin wrapper that routes to three sinks ??? (a) business/domain events ??? Postgres transactional outbox ??? warehouse + webhooks, (b) product/U…

    6h ago
    apps/web/src/lib/productAnalyticsConsent.tspackages/core/src/platformAssuranceReadiness/index.tspackages/core/src/telemetry/types.ts+3 more
  • ShippedREQ-ARC-029.2

    Event catalog: every domain and product event type is declared in packages/events with a versioned AsyncAPI-style schema. Emitting an event type not in the catalog is a lint error.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-030

    Must cover structured logs, error aggregation with release and per-tenant tagging, distributed tracing (OpenTelemetry, end-to-end from Next.js ??? Postgres ??? jobs ??? Runpod ??? Stripe), and real-user monitoring. All ingress goes through…

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-031

    Must support per-tenant flag overrides, gradual rollouts, targeted experiments, and SDKs for web, server, and iPad.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-031.1

    Satisfies REQ-SEC-007. Must provide a challenge that (a) works without visible friction for most users, (b) produces a verifiable server-side token, (c) supports both web and React Native clients, and (d) can be invoked conditionally from…

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-032

    Must support a page builder or headless content model per tenant, preview workflow, and CDN-friendly delivery.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-033

    Must provision SSL for customer-owned domains with automated verification and renewal. The host ??? tenant resolver (REQ-ARC-036) treats a custom apex domain as an alias for the tenant's canonical subdomain; the routing mechanism does not…

    2h ago
    apps/web/src/env.tspackages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-036

    The platform marketing surface at the apex domain and tenant storefront/admin surfaces at <subdomain>.<root> must be served by a single web app (apps/web) with host-based routing. A tenant resolver keyed off the Host header (with a dev-onl…

    2h ago
    apps/web/src/lib/db.ts×5apps/web/src/lib/publicSite.ts×3apps/web/src/app/sitemap.ts×2+23 more
  • ShippedREQ-ARC-037

    The platform apex home (/ on bolttocart.com) must not show marketing chrome to a signed-in staff user who already has an active Clerk Organization. When Clerk provides a valid organization slug, the page redirects to the tenant origin deri…

    6h ago
    apps/web/src/lib/auth.tspackages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-038

    The host resolver must accept every valid Clerk Organization slug as a tenant subdomain when that Organization has privateMetadata.tenantId set to a BoltToCart tenant UUID. Middleware may cache slug lookups briefly, but the tenant id must…

    6h ago
    apps/web/src/lib/tenantHost.ts×2packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-039

    The host resolver must accept customer-owned custom hostnames that have been verified at the SSL/DNS layer and registered on a Clerk Organization with a valid slug and privateMetadata.tenantId. A custom hostname resolves to the same tenant…

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-034

    Every PR must produce a deployable preview with an isolated database branch; secrets must be centrally managed and rotated.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-500

    Drizzle migration 0021: add support_email text (nullable, no default) to the stores table. Expand-only; no column dropped or renamed. CHECK constraint enforces @ presence when non-null. storesRepo.updateIdentity extended to accept supportE…

    6h ago
    packages/db/src/migrations/0021_support_email.sql×2packages/core/src/platformAssuranceReadiness/index.tspackages/db/src/schema/stores.ts
  • ShippedREQ-ARC-501

    Drizzle migration 0022: add default_cut_increment_sixteenths bigint NOT NULL DEFAULT 4 and minimum_cut_sixteenths bigint NOT NULL DEFAULT 8 to the stores table (1/16-yard units per REQ-INV-001). Expand-only. CHECK constraints enforce posit…

    6h ago
    packages/db/src/migrations/0022_cut_increment_columns.sql×2packages/db/src/schema/stores.ts×2packages/core/src/platformAssuranceReadiness/index.ts+2 more
  • ShippedREQ-ARC-502

    Event catalog: add bolt.shelved@1 to packages/events/src/domain/bolts.ts with payload { tenantId: string; boltId: string; shelvedAt: string }. Registered in packages/events/src/registry.ts. No app-layer emission yet ??? catalog entry and T…

    6h ago
    packages/core/src/platformAssuranceReadiness/index.tspackages/events/src/domain/bolts.tspackages/events/src/registry.test.ts
  • ShippedREQ-ARC-503

    Drizzle migration 0023: add customer_notification_prefs table (id uuid PK, tenant_id uuid FK???stores, customer_id uuid FK???customers, order_updates boolean NOT NULL DEFAULT true, drop_alerts boolean NOT NULL DEFAULT true, class_reminders…

    6h ago
    packages/testing/src/customerNotificationPrefs.test.ts×3packages/db/src/migrations/0023_customer_notification_prefs.sql×2packages/core/src/platformAssuranceReadiness/index.ts+4 more
  • ShippedREQ-ARC-504

    AccountSubnav "Orders" nav link: unconditional Orders item added to apps/web/src/components/AccountSubnav.tsx pointing to /account/orders, active when pathname.startsWith("/account/orders"). No prop-signature change.

    6h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-510

    Event catalog: add csvImportCompleted to packages/events/src/domain/jobs.ts.

    6h ago
    packages/events/src/registry.ts×2apps/jobs/src/workers/csvImportJob.tspackages/core/src/platformAssuranceReadiness/index.ts+2 more
  • ShippedREQ-ARC-515

    Event catalog additions (REQ-ARC-515): four new event types, catalog and TypeScript types only ??? no app-layer emit in this PR (call-sites are stubs in Lanes B and C). (a) refund.completed@1 in packages/events/src/domain/orders.ts (new fi…

    6h ago
    packages/events/src/domain/bolts.ts×2packages/events/src/domain/orders.ts×2packages/events/src/registry.ts×2+5 more
  • ShippedREQ-ARC-514

    Drizzle migration 0027: add phone text (nullable, no CHECK ??? format validated at app layer) and marketing_opt_in boolean NOT NULL DEFAULT false to the customers table. Expand-only. customersRepo.patch(db, tenantId, customerId, { phone?,…

    6h ago
    packages/db/src/migrations/0027_customer_phone_marketing.sql×3apps/jobs/src/workers/customerReactivationJob.ts×2packages/db/src/schema/customers.ts×2+3 more
  • ShippedREQ-ARC-513

    Drizzle migration 0026: add pos_devices table. Columns: id uuid PK, tenant_id uuid FK???stores, stripe_reader_id text NOT NULL (Stripe Terminal reader ID, e.g. tmr_???), display_name text NOT NULL, location_id text (nullable, Stripe Termin…

    6h ago
    packages/testing/src/posDevices.test.ts×3apps/pos/src/flow/posDeviceRegistration.ts×2packages/db/src/migrations/0026_pos_devices.sql×2+3 more
  • ShippedREQ-ARC-512

    Drizzle migration 0025: add cycle_count_sessions and cycle_count_lines tables. cycle_count_sessions: id uuid PK, tenant_id uuid FK???stores, started_at timestamptz NOT NULL DEFAULT now(), completed_at timestamptz, started_by_user_id text N…

    6h ago
    packages/testing/src/cycleCounts.test.ts×3packages/db/src/migrations/0025_cycle_counts.sql×2packages/db/src/repositories/cycleCounts.ts×2+3 more
  • ShippedREQ-ARC-511

    Drizzle migration 0024: add coupon_campaigns and coupon_codes tables. coupon_campaigns: id uuid PK, tenant_id uuid FK???stores, name text NOT NULL, code_prefix text, discount_type coupon_discount_type enum ('percent','fixed_minor') NOT NUL…

    6h ago
    packages/db/src/schema/coupons.ts×3packages/testing/src/coupons.test.ts×3packages/db/src/migrations/0024_coupons.sql×2+2 more
REQ-MONMonetization
9 shipped0 wip0 todo100%
  • ShippedREQ-MON-001

    Subscription plans: Starter, Growth, Pro; differentiated by transaction volume, locations, staff seats, drops, and analytics features.

    6h ago
    packages/core/src/operationalTelemetryReadiness/index.test.ts×4packages/core/src/platformQualityReadiness/index.test.ts×2packages/core/src/revenueOperationsReadiness/index.test.ts×2+4 more
  • ShippedREQ-MON-002

    Add-ons: marketing tools (advanced segmentation, automations), advanced analytics, additional locations, priority support.

    6h ago
    packages/core/src/platformOperationsReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.ts
  • ShippedREQ-MON-003

    Optional transaction-fee component on card processing, disclosed transparently.

    6h ago
    packages/core/src/platformOperationsReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.ts
  • ShippedREQ-MON-004

    Free trial and self-service upgrade/downgrade with proration; dunning for failed payments.

    6h ago
    packages/core/src/platformOperationsReadiness/index.test.ts×2packages/core/src/platformOperationsReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.ts
  • ShippedREQ-MON-005

    Store-owner platform purchases must be modeled separately from shopper/POS fabric orders. Each purchase must carry tenant id, line items, quoted upstream cost, customer charge, currency, payment provider state, external provider references…

    6h ago
    packages/events/src/registry.ts×2packages/core/src/platformOperationsReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.ts+2 more
  • ShippedREQ-MON-006

    Platform purchase payments must use Stripe Checkout or Stripe-hosted collection surfaces so BoltToCart remains in SAQ-A scope. Mutating Stripe calls require deterministic idempotency keys, Stripe webhooks must verify signatures before pars…

    2h ago
    apps/web/src/app/admin/settings/actions.ts×3apps/web/src/env.tspackages/core/src/platformOperationsReadiness/index.ts+2 more
  • ShippedREQ-MON-007

    Platform purchase Stripe webhooks must be deduplicated by Stripe event.id before any purchase state change or Vercel registrar side effect. Duplicate events return success without repeating downstream effects.

    48m ago
    apps/web/src/app/api/webhooks/stripe/route.tsapps/web/src/lib/telnyxNumbers.test.tspackages/core/src/platformOperationsReadiness/index.ts+3 more
  • ShippedREQ-MON-008

    Store-owner hosted-email add-ons are billed through Stripe Billing subscriptions, priced at $10/month per provisioned mailbox in integer minor units. Tenant admins may subscribe multiple mailboxes in one Checkout session, but BoltToCart mu…

    2h ago
    packages/core/src/revenueOperationsReadiness/index.test.ts×3apps/web/src/app/admin/settings/actions.ts×2packages/demo-data/src/packs/0015_hosted_email_admin.ts×2+10 more
  • ShippedREQ-MON-009

    Store-owner platform purchases for custom domains, hosted email, and store phone numbers must collect payment inside the BoltToCart admin dashboard with embedded Stripe fields. Admin server actions must create embedded Checkout/Billing ses…

    2m ago
    apps/web/src/app/admin/settings/actions.ts×4apps/web/src/app/admin/platform-purchases/checkout/page.tsx×3packages/core/src/payments/index.ts×3+4 more
REQ-DMOReference Store & Demo
5 shipped0 wip1 todo83%
  • ShippedREQ-DMO-001

    A single reserved tenant (stores.kind = 'demo') must exist in every non-ephemeral environment (production, staging). Its UUID is held in the DEMO_STORE_ID environment variable, not hard-coded, so different environments can use different ID…

    48m ago
    apps/web/src/lib/demoStripeEmbeddedCheckoutHandoff.ts×3apps/web/src/lib/roadmap.test.ts×3apps/web/src/lib/demoStripeCheckout.ts×2+15 more
  • ShippedREQ-DMO-002

    The reference store is entered via an unauthenticated trampoline at bolttocart.com/demo on the platform apex. The trampoline never exposes storefront UI itself; it only explains the shared-admin model and links to two tenant-scoped destina…

    6h ago
    apps/web/src/middleware.ts×2apps/web/src/app/(platform)/demo/page.tsxapps/web/src/app/(platform)/page.tsx+6 more
  • ShippedREQ-DMO-003

    Reference-store data evolves via idempotent demo-data packs. Each feature PR adds a pack under packages/demo-data/src/packs/NNNN_snake_slug.ts. Packs are applied in catalog order on every deploy; the demo_data_packs_applied tenant-scoped l…

    6h ago
    apps/jobs/src/workers/demo-seed.ts×2packages/demo-data/src/packs/0010_loyalty.ts×2packages/demo-data/src/packs/0012_rain_migration_admin.ts×2+73 more
  • ShippedREQ-DMO-004

    The pnpm demo:coverage CI check verifies every REQ-ID cited by a pack exists in REQUIREMENTS.md (hard failure) and warns when a user-visible feature area has no covering pack (soft warning; the PR template's reviewer checkbox is the human…

    6h ago
    packages/demo-data/src/coverage.ts×2
  • ShippedREQ-DMO-005

    The reference store must resolve on every configured reference-store host label, including NEXT_PUBLIC_DEMO_STORE_SUBDOMAIN and the Clerk Organization slug (DEMO_ORG_SLUG, default bolttocart-reference-store). All accepted labels map to the…

    6h ago
    apps/web/src/lib/tenantHost.ts
  • Not startedREQ-DMO-006

    Local MVP smoke verification must provide a one-command reference-store bootstrap that makes both http://demo.localtest.me:3000/shop and http://localhost:3000/shop?tenant=demo render the seeded storefront without hidden manual environment…

REQ-WIZGuided Shopping Wizard
21 shipped0 wip0 todo100%
  • ShippedREQ-WIZ-518

    Created /wizard/projects/[id]/opengraph-image.tsx (nodejs runtime). Loads the saved project by ID via customerProjectsRepo.findById under withPublicTenant. Renders project name + fabric count + yardageHint inside OgBoltCard. Falls back to…

    6h ago
    apps/web/src/app/(storefront)/wizard/projects/[id]/opengraph-image.tsxpackages/core/src/storefrontExperienceReadiness/index.tspackages/demo-data/src/packs/0037_storefront_experience_readiness_suite.ts
  • ShippedREQ-WIZ-519

    The /wizard landing page metadata and structured data must stay in lockstep with the five visible entry tiles: start a project, buy fabric, design it first, shop events, and tour the reference store. Update the landing description so it na…

    6h ago
    apps/web/src/app/(storefront)/wizard/opengraph-image.tsxapps/web/src/app/(storefront)/wizard/page.tsxpackages/core/src/storefrontExperienceReadiness/index.ts+1 more
  • ShippedREQ-WIZ-520

    The /wizard/project flow must render a visible "Start over" control on every step after pattern. It links to /wizard/project?step=pattern with no project-state params, is hidden from print, and does not attempt to clear the signed cookie f…

    6h ago
    apps/web/src/app/(storefront)/wizard/project/page.tsxapps/web/src/app/(storefront)/wizard/project/projectFlow.test.tspackages/core/src/storefrontExperienceReadiness/index.ts+1 more
  • ShippedREQ-WIZ-521

    The /wizard/project?step=fabric step must show a completion summary above the slot grids: N of M fabric slots selected. The count is derived from the selected pattern's required fabric slots and current URL assignments. The continue-to-bat…

    6h ago
    packages/core/src/storefrontExperienceReadiness/index.test.ts×3apps/web/src/app/(storefront)/wizard/project/page.tsxapps/web/src/app/(storefront)/wizard/project/projectFlow.test.ts+3 more
  • ShippedREQ-WIZ-517

    The /wizard landing page now emits a HowTo JSON-LD node with two steps ("Pick a pattern" / "Pick fabrics") so Google can render the How-to rich result on SERP. No interactive change (REQ-WIZ-517).

    6h ago
    apps/web/src/app/(storefront)/wizard/page.tsxpackages/core/src/storefrontExperienceReadiness/index.tspackages/demo-data/src/packs/0037_storefront_experience_readiness_suite.ts
  • ShippedREQ-WIZ-500

    The /wizard landing page metadata block must carry a real title, description, and openGraph.{title, description, images} tuned to REQ-GSW-001's "What are you shopping for?" entry prompt so the SERP / social unfurl matches the first questio…

    6h ago
    packages/core/src/customerJourneyReadiness/index.test.ts×4apps/web/src/app/(storefront)/wizard/page.tsx×2packages/core/src/creativeCommerceReadiness/index.test.ts×2+6 more
  • ShippedREQ-WIZ-501

    The /wizard/project/ step-progress breadcrumb must be a discrete <nav aria-label="Wizard steps"> landmark (distinct from the sitewide breadcrumb) with aria-current="step" on the active item, so AT announces the current step as "current ste…

    6h ago
    apps/web/src/app/(storefront)/wizard/project/page.tsxpackages/core/src/creativeCommerceReadiness/index.tspackages/core/src/storefrontExperienceReadiness/index.ts+1 more
  • ShippedREQ-WIZ-502

    The /wizard/project state (pattern, size, per-slot fabric assignments including batting and thread) must persist in URL search params so every step URL is bookmarkable and shareable, with a signed, tenant-scoped cookie fallback when the se…

    2h ago
    apps/web/src/lib/wizard.ts×3apps/web/src/app/(storefront)/wizard/project/page.tsx×2apps/web/src/lib/wizard.test.ts×2+7 more
  • ShippedREQ-WIZ-503

    A root wizard page-group layout.tsx at app/(storefront)/wizard/layout.tsx must export a metadata object with alternates.canonical: "/wizard" as a group-level fallback, so any future /wizard/ route that omits its own canonical inherits the…

    6h ago
    apps/web/src/app/(storefront)/wizard/layout.tsxapps/web/src/app/robots.tspackages/core/src/creativeCommerceReadiness/index.ts+2 more
  • ShippedREQ-WIZ-504

    Wizard /wizard/project?step=pattern content step. The pattern-selection step renders a grid of 10 named quilt-pattern tiles (Grandmother's Flower Garden, Nine Patch, Half-Square Triangle, Log Cabin, Flying Geese, Rail Fence, Pinwheel, Doub…

    6h ago
    apps/web/src/app/(storefront)/wizard/project/page.tsx×3packages/core/src/creativeCommerceReadiness/index.test.ts×3packages/core/src/quilt/patterns.ts×3+4 more
  • ShippedREQ-WIZ-505

    Wizard /wizard/project?step=size content step. Renders a size-selection grid for the pattern chosen in the URL's pattern param using that pattern's sizes array from the REQ-WIZ-504 manifest. Each size entry shows the label, display dimensi…

    6h ago
    apps/web/src/app/(storefront)/wizard/project/page.tsx×3apps/web/src/app/(storefront)/wizard/_lib/patterns.ts×2packages/core/src/creativeCommerceReadiness/index.test.ts×2+2 more
  • ShippedREQ-WIZ-506

    Wizard /wizard/project?step=fabric content step. For each fabric slot defined in the chosen pattern, renders a grid of in-stock product cards (up to 12 per slot, live from loadStorefrontCatalog) with a dominant-color swatch and fabric name…

    6h ago
    apps/web/src/app/(storefront)/wizard/project/page.tsxpackages/core/src/storefrontExperienceReadiness/index.tspackages/demo-data/src/packs/0037_storefront_experience_readiness_suite.ts
  • ShippedREQ-WIZ-507

    Wizard /wizard/project?step=batting content step. Renders three batting-type option cards defined in a static BATTING_OPTIONS constant in apps/web/src/app/(storefront)/wizard/_lib/patterns.ts: Cotton (light, natural, easy-care / Everyday q…

    6h ago
    apps/web/src/app/(storefront)/wizard/project/page.tsxapps/web/src/lib/wizard.test.tspackages/core/src/storefrontExperienceReadiness/index.ts+1 more
  • ShippedREQ-WIZ-508

    Wizard /wizard/project?step=thread content step. Renders a two-axis grid: thread weight (50wt / 40wt / 28wt) x color preference (neutral / match-main / contrast). Each combination renders a color swatch from a static THREAD_SWATCH lookup d…

    6h ago
    apps/web/src/app/(storefront)/wizard/project/page.tsxapps/web/src/lib/wizard.test.tspackages/core/src/storefrontExperienceReadiness/index.ts+1 more
  • ShippedREQ-WIZ-509

    Wizard /wizard/project?step=review content step. Renders the full project summary: the chosen pattern SVG re-rendered with the assigned fabric dominant colors as the palette, a per-slot shopping list showing fabric name, slot label, yardag…

    6h ago
    apps/web/src/app/(storefront)/wizard/project/page.tsxpackages/core/src/storefrontExperienceReadiness/index.tspackages/demo-data/src/packs/0037_storefront_experience_readiness_suite.ts
  • ShippedREQ-WIZ-510

    The /wizard landing page must add a "Shop events" tile (href: /events, indigo accent) to complete the REQ-GSW-001 five-option "What are you shopping for?" spec. The tile is a launchpad to the already-shipped /events surface.

    6h ago
    apps/web/src/app/(storefront)/wizard/page.tsxpackages/core/src/storefrontExperienceReadiness/index.tspackages/demo-data/src/packs/0037_storefront_experience_readiness_suite.ts
  • ShippedREQ-WIZ-511

    /wizard/project?step=fabric fabric grid must support a ?q=<search> URL param that filters the visible products by name, designer, or colorway (case-insensitive, server-side via loadStorefrontCatalog's existing searchQuery filter). A plain…

    6h ago
    apps/web/src/app/(storefront)/wizard/project/page.tsx×4packages/core/src/storefrontExperienceReadiness/index.tspackages/demo-data/src/packs/0037_storefront_experience_readiness_suite.ts
  • ShippedREQ-WIZ-512

    The /wizard/project?step=review page has a colocated print.module.css that hides the StorefrontShell header/footer and interactive elements at @media print (REQ-WIZ-512).

    6h ago
    apps/web/src/app/(storefront)/wizard/project/print.module.csspackages/core/src/storefrontExperienceReadiness/index.tspackages/demo-data/src/packs/0037_storefront_experience_readiness_suite.ts
  • ShippedREQ-WIZ-513

    The /wizard landing renders WizardRecentPatterns client component below the tiles; reads localStorage['bc_wz_recent'] for up to 3 in-progress project cards; hidden server-side (REQ-WIZ-513).

    6h ago
    apps/web/src/app/(storefront)/wizard/page.tsx×3apps/web/src/app/(storefront)/wizard/_components/WizardRecentPatternsClient.tsxpackages/core/src/storefrontExperienceReadiness/index.ts+1 more
  • ShippedREQ-WIZ-514

    The /projects/shared/[slug] page has a colocated opengraph-image.tsx (Edge, no DB call) rendering 'My Quilt Project' with pattern/size from the slug. metadata.openGraph.images wired (REQ-WIZ-514).

    6h ago
    apps/web/src/app/(storefront)/projects/shared/[slug]/opengraph-image.tsxapps/web/src/app/(storefront)/projects/shared/[slug]/page.tsxpackages/core/src/storefrontExperienceReadiness/index.ts+1 more
  • ShippedREQ-WIZ-515

    The /wizard/project?step=review renders a WizardShareSection (URL + CopyTextButton) below the Save card; print:hidden (REQ-WIZ-515).

    6h ago
    apps/web/src/app/(storefront)/wizard/project/page.tsxpackages/core/src/storefrontExperienceReadiness/index.tspackages/demo-data/src/packs/0037_storefront_experience_readiness_suite.ts
REQ-ADMAdmin Operations
210 shipped1 wip13 todo94%
  • ShippedREQ-ADM-500

    /admin/audit date-range quick-filter chips ("Today / 7d / 30d / All") that compose with the existing type= and delivery= filters. URL-persisted (?range=today|7d|30d), server-rendered against the capped outbox window, preserves other query…

    6h ago
    packages/core/src/adminOperationsReadiness/index.test.ts×9apps/web/src/app/admin/_lib/dateRange.ts×3apps/web/src/app/admin/audit/page.tsx×2+4 more
  • ShippedREQ-ADM-502

    /admin/audit/[id] event-detail page. Each row on /admin/audit gains a "Details" per-row link that routes to a dedicated apps/web/src/app/admin/audit/[id]/page.tsx surface showing: the fully pretty-printed JSON payload (with a "Copy JSON" a…

    6h ago
    apps/web/src/app/admin/audit/[id]/page.tsxapps/web/src/app/admin/audit/page.tsx
  • ShippedREQ-ADM-501

    /admin/audit filter-state presets. A "Save view" disclosure lets an admin name the current filter URL (?range=???&type=???&delivery=???&from=???&to=???) and park it for later recall; a "Presets ???" dropdown lists saved entries and routes…

    6h ago
    apps/web/src/app/admin/audit/page.tsx×3apps/web/src/app/admin/audit/_actions/presets.tsapps/web/src/app/admin/audit/_components/PresetsToolbar.tsx+2 more
  • ShippedREQ-ADM-503

    /admin/audit gains a "Custom???" date-range picker alongside the REQ-ADM-500 quick-filter chips. The chip expands into a native <details> popover with two <input type="date"> controls (from / to); on submit the form GETs /admin/audit?from=…

    6h ago
    apps/web/src/app/admin/_lib/dateRange.ts×3apps/web/src/app/admin/audit/page.tsx×3apps/web/src/app/admin/audit/_lib/presets.ts+1 more
  • ShippedREQ-ADM-506

    /admin/receiving list gains a date-range chip rail against the receivedAt column ("Today / 7d / 30d / All", same rolling-window semantics as REQ-ADM-500/504/505). URL-driven (?range=7d), server-rendered. Unlike drops/events, no status chip…

    6h ago
    apps/web/src/app/admin/receiving/page.tsx×2packages/core/src/adminOperationsReadiness/index.test.ts
  • ShippedREQ-ADM-505

    /admin/events list gains the same two-axis chip row as REQ-ADM-504: date-range chips ("Today / 7d / 30d / All") keyed off createdAt and a status rail over the canonical lifecycle states (draft | scheduled | live | ended | cancelled). Reuse…

    6h ago
    apps/web/src/app/admin/events/page.tsx
  • ShippedREQ-ADM-504

    /admin/drops list gains a two-axis filter chip row: date-range chips ("Today / 7d / 30d / All") keyed off createdAt with identical rolling-window semantics to REQ-ADM-500, plus a status chip row over the canonical lifecycle states (draft |…

    6h ago
    apps/web/src/app/admin/_components/FilterChipRow.tsxapps/web/src/app/admin/_lib/dateRange.tsapps/web/src/app/admin/audit/page.tsx+2 more
  • ShippedREQ-ADM-509

    /admin/bolts root listing. The index of /admin/bolts/ previously 404'd ??? only [boltId]/ and lookup/ existed. This surface adds a server-rendered bolt roster with columns bolt-id (truncated, links to detail), SKU + supplier, designer, sta…

    6h ago
    apps/web/src/app/admin/bolts/page.tsxpackages/core/src/adminOperationsReadiness/index.test.ts
  • ShippedREQ-ADM-510

    /admin/webhooks dead-letter "Retry now" per-row action. Each row in the dead-letter table gains a "Retry now" button that re-enqueues the dead-lettered delivery through the existing relay pipeline ??? no new pipeline is written. The underl…

    6h ago
    apps/web/src/app/admin/webhooks/actions.ts×2apps/web/src/app/admin/_lib/adminLaunchReadinessSuite.test.tsapps/web/src/app/admin/audit/[id]/page.tsx+5 more
  • ShippedREQ-ADM-538

    /admin/receiving/new expected-bolts preview. Now that purchase_orders / expected_bolts exist via REQ-DB-560, the receive-bolt page shows a tenant-scoped side panel of open and partially received PO lines fetched through withAuthenticatedTe…

    6h ago
    packages/db/src/migrations/0029_purchase_orders.sql×2packages/db/src/repositories/purchaseOrders.ts×2apps/web/src/app/admin/_lib/storefrontLaunchReadiness.ts+2 more
  • ShippedREQ-ADM-539

    AUDIT — /admin/coupons list already shows a "Redemptions" column backed by the stored redemption_count column on coupon_campaigns (incremented in-transaction by couponsRepo.incrementRedemptionCount). No change required.

    6h ago
    apps/web/src/app/admin/inventory/cycle-counts/page.tsx×2apps/web/src/app/admin/_lib/storefrontLaunchReadiness.tsapps/web/src/app/admin/inventory/cycle-counts/[id]/page.tsx+1 more
  • ShippedREQ-ADM-545

    /admin/store-notes pinned notes. Now that store_notes.pinned exists via REQ-DB-564, the store-notes page orders notes with pinned rows first, shows a pinned count in the header, renders a pinned badge/state treatment, and exposes tenant-sc…

    6h ago
    packages/db/src/migrations/0033_store_notes_pinned.sql×2apps/web/src/app/admin/_lib/storefrontTrafficReadiness.tspackages/db/src/repositories/storeNotes.ts+2 more
  • ShippedREQ-ADM-543

    AUDIT — /admin/pos-devices already renders a "Last seen" column backed by lastSeenAt (populated from lastHeartbeatAt in the schema). The column header exists and relative-time formatting is applied. No change required.

    6h ago
    packages/core/src/adminFulfillmentLaunchReadiness/index.test.ts×8packages/core/src/adminOperationsReadiness/index.test.ts×4apps/web/src/app/admin/_lib/adminLaunchReadinessSuite.test.ts×3+2 more
  • ShippedREQ-ADM-544

    AUDIT — /admin/settings GeneralInfoForm already includes a "Storefront tagline" input that writes into tenants.tagline. The storefront layout falls back to the default tagline when the field is blank. No change required.

    6h ago
    apps/web/src/app/admin/_lib/storefrontTrafficReadiness.tsapps/web/src/app/admin/orders/[id]/actions.tspackages/demo-data/src/packs/0018_admin_storefront_traffic_readiness.ts
  • ShippedREQ-ADM-542

    Creates /admin/inventory/page.tsx — a per-SKU inventory grid aggregating cuttable-bolt yardage via Drizzle query builder. Adds a URL-driven ?filter=low-stock chip that narrows the grid to SKUs with availableSixteenths < 2 × MIN_YARDAGE_SIX…

    6h ago
    apps/web/src/app/admin/inventory/page.tsx×4packages/core/src/adminFulfillmentLaunchReadiness/index.test.ts×2packages/demo-data/src/packs/0017_admin_storefront_launch_readiness.ts×2+2 more
  • ShippedREQ-ADM-541

    /admin/loyalty/settings gains a "Program overview" summary card above the earn-rate panel. The loader runs three Drizzle query-builder aggregates in parallel: total member count, total points outstanding (SUM of pointsBalance), and tier di…

    6h ago
    apps/web/src/app/admin/loyalty/settings/page.tsx×2apps/web/src/app/admin/_lib/storefrontLaunchReadiness.tsapps/web/src/app/admin/settings/CutSettingsForm.tsx+1 more
  • ShippedREQ-ADM-540

    /admin/coupons/[id] detail page created with a per-row "Copy code" button (CopyTextButton) for each coupon_codes row. Also shows campaign discount, redemption count, and validity window. Uses Drizzle query-builder to load campaign + codes;…

    6h ago
    apps/web/src/app/admin/coupons/[id]/page.tsx×2apps/web/src/app/admin/_lib/storefrontLaunchReadiness.tsapps/web/src/app/admin/pos-devices/[id]/page.tsx+1 more
  • ShippedREQ-ADM-537

    /admin/events/[id] detail page adds a "Copy iCal URL" button immediately after the existing "Copy link" button. The iCal URL points at /events/[slug]/calendar.ics. Uses the existing CopyTextButton component and getPublicSiteUrl() helper. N…

    6h ago
    apps/web/src/app/admin/_lib/storefrontLaunchReadiness.tsapps/web/src/app/admin/events/[id]/edit/actions.tsapps/web/src/app/admin/events/[id]/edit/page.tsx+2 more
  • ShippedREQ-ADM-536

    /admin/drops/[slug]/edit detail page adds a "Copy iCal URL" button and a "Copy permalink" button in a "Share links" card. The iCal URL points at the public /drops/[slug]/calendar.ics endpoint (REQ-DRP-506). Uses the existing CopyTextButton…

    6h ago
    apps/web/src/app/admin/drops/[slug]/edit/page.tsx×3apps/web/src/app/admin/_lib/storefrontLaunchReadiness.tspackages/demo-data/src/packs/0017_admin_storefront_launch_readiness.ts
  • ShippedREQ-ADM-535

    /admin/bolts grid gains a "Last cut" column showing the relative time of the most-recent cut for each bolt. The loader adds a Drizzle query-builder aggregate (SELECT boltId, MAX(cutAt) FROM cuts GROUP BY boltId) — no raw SQL — and joins th…

    6h ago
    apps/web/src/app/admin/bolts/page.tsx×3apps/web/src/app/admin/_lib/storefrontLaunchReadiness.tsapps/web/src/app/admin/store-notes/actions.ts+2 more
  • ShippedREQ-ADM-534

    /admin/customers/[id] detail page gains a "Recent orders (last 5)" card using a new OrdersMiniTable primitive (apps/web/src/app/admin/customers/_components/OrdersMiniTable.tsx). The mini-table shows order ID (linked to /admin/orders/[id]),…

    6h ago
    apps/web/src/app/admin/customers/[id]/page.tsx×2apps/web/src/app/admin/_lib/storefrontLaunchReadiness.tsapps/web/src/app/admin/customers/_components/OrdersMiniTable.tsx+1 more
  • ShippedREQ-ADM-533

    /admin/orders/orders.csv export route updated to honor the REQ-ADM-532 multi-select ?state= params and the ?channel= filter so the CSV download always matches the on-screen view. Columns renamed to machine-readable snake_case: order_id, sh…

    6h ago
    apps/web/src/app/admin/orders/orders.csv/route.ts×3apps/web/src/app/admin/_lib/storefrontLaunchReadiness.tsapps/web/src/app/admin/orders/page.tsx+1 more
  • ShippedREQ-ADM-532

    /admin/orders filter rail adds a state multi-select chip group. Chips use ?state=pending&state=fulfilled (repeating param); toggling a chip adds/removes it from the array. "All" clears the selection. URL-driven server filter replaces the p…

    6h ago
    apps/web/src/app/admin/orders/page.tsx×3apps/web/src/app/admin/orders/orders.csv/route.ts×2packages/db/src/repositories/coupons.ts×2+4 more
  • ShippedREQ-ADM-531

    /admin/webhooks dead-letter table adds a "Last attempt" relative-time column. The event_outbox schema has no lastAttemptAt field; nextAttemptAt is used as a proxy (set by the relay during retry scheduling), falling back to deadLetteredAt w…

    6h ago
    apps/web/src/app/admin/_lib/storefrontLaunchReadiness.tsapps/web/src/app/admin/page.tsxapps/web/src/app/admin/webhooks/page.tsx+1 more
  • ShippedREQ-ADM-530

    /admin/audit table <thead> gains sticky top-0 z-10 so the header row remains visible while scrolling long audit lists. The default sort column ("Occurred", descending) receives aria-sort="descending", mirroring the REQ-A11Y-543 pattern alr…

    6h ago
    apps/web/src/app/admin/_lib/storefrontLaunchReadiness.tsapps/web/src/app/admin/audit/page.tsxpackages/demo-data/src/packs/0017_admin_storefront_launch_readiness.ts
  • ShippedREQ-ADM-526

    /admin/customers/[id]/merge intent-capture form showing source customer (red card) and target-customer email/UUID input. Merge execution deferred to a customersRepo.merge packages/db addition; action button disabled with explicit note.

    6h ago
    packages/db/src/repositories/customers.ts×2packages/testing/src/customerMerge.test.ts×2apps/web/src/app/admin/_lib/overnightMvpReadiness.ts+3 more
  • ShippedREQ-ADM-525

    /admin/coupons/new three-step create-campaign wizard shell (Details -> Code generation -> Review & launch). Honest placeholder pending schema.

    6h ago
    apps/web/src/app/admin/_lib/overnightMvpReadiness.tspackages/demo-data/src/packs/0016_admin_overnight_mvp_readiness.ts
  • ShippedREQ-ADM-524

    /admin/coupons coupon campaign list. Honest placeholder table shell with campaign/discount/codes/redemptions/expires/status columns.

    6h ago
    apps/web/src/app/admin/_lib/overnightMvpReadiness.tsapps/web/src/app/admin/coupons/page.tsxapps/web/src/app/admin/orders/[id]/page.tsx+1 more
  • ShippedREQ-ADM-523

    /admin/pos-devices device management table shell. Pending pos_devices schema + Stripe Terminal Reader API integration.

    6h ago
    apps/web/src/app/admin/_lib/overnightMvpReadiness.tspackages/demo-data/src/packs/0016_admin_overnight_mvp_readiness.ts
  • ShippedREQ-ADM-522

    /admin/inventory/cycle-counts/new three-step wizard shell. Honest placeholder pending packages/db cycle-count schema.

    6h ago
    apps/web/src/app/admin/_lib/overnightMvpReadiness.tsapps/web/src/app/admin/inventory/cycle-counts/new/page.tsxpackages/demo-data/src/packs/0016_admin_overnight_mvp_readiness.ts
  • ShippedREQ-ADM-521

    /admin/inventory/cycle-counts cycle-count session list. Honest placeholder with '+ New count' CTA and empty state.

    6h ago
    apps/web/src/app/admin/_lib/overnightMvpReadiness.tsapps/web/src/app/admin/inventory/cycle-counts/page.tsxpackages/demo-data/src/packs/0016_admin_overnight_mvp_readiness.ts
  • ShippedREQ-ADM-520

    /admin/orders/[id] order detail page. Shows order header with status badge + channel + timestamp; four totals tiles (subtotal, total, yardage, discount); Tender section with Stripe PaymentIntent ID; Line items placeholder (landing with pay…

    6h ago
    apps/web/src/app/admin/_lib/overnightMvpReadiness.tsapps/web/src/app/admin/orders/[id]/page.tsxpackages/demo-data/src/packs/0016_admin_overnight_mvp_readiness.ts
  • ShippedREQ-ADM-519

    /admin/orders orders list with status filter chips (All/Pending/Processing/Ready/Fulfilled/Cancelled/Refunded), channel chips (All/Web/POS/API), and date-range chips (Today/7d/30d/All). Fetches up to 500 most-recent orders in-memory; statu…

    6h ago
    apps/web/src/app/admin/_lib/overnightMvpReadiness.tsapps/web/src/app/admin/orders/page.tsxpackages/db/src/migrations/0045_storefront_admin_performance_indexes.sql+1 more
  • ShippedREQ-ADM-518

    /admin/customers/[id] customer detail page. Shows: customer identity card (name, email, tier badge, Clerk user ID, customer-since, last-active, last-order); four lifetime stats tiles (orders, lifetime spend, total yardage, open orders); re…

    6h ago
    apps/web/src/app/admin/_lib/overnightMvpReadiness.tsapps/web/src/app/admin/customers/[id]/page.tsxpackages/demo-data/src/packs/0016_admin_overnight_mvp_readiness.ts
  • ShippedREQ-ADM-517

    /admin/customers paginated list with search + loyalty-tier filter chips (All???Bronze???Silver???Gold???VIP keyed on customers.loyalty_tier) + sort rail + 50-row page navigation over a 200-row server window. Tier chip counts computed in-me…

    6h ago
    apps/web/src/app/admin/_lib/overnightMvpReadiness.tsapps/web/src/app/admin/customers/page.tsxpackages/core/src/yardage/index.ts+4 more
  • ShippedREQ-ADM-516

    /admin/settings General tab form (REQ-ADM-516). The "Store information" section in the General tab gains a <GeneralInfoForm> client component backed by updateStoreGeneralAction (server action). Fields: store name (required, max 100 chars),…

    2h ago
    packages/db/src/schema/stores.ts×5packages/db/src/migrations/0020_tenant_identity_fields.sql×3apps/web/src/app/admin/settings/page.tsx×2+8 more
  • ShippedREQ-ADM-515

    /admin/settings/page.tsx restructured into URL-driven tabbed panels: General | Inventory | Tax | Shipping | Loyalty | Notifications, with ?tab=<id> controlling the active panel (defaulting to General). Tab rendering uses a new <TabNav> / <…

    2h ago
    apps/web/src/app/admin/_lib/overnightMvpReadiness.test.tsapps/web/src/app/admin/_lib/overnightMvpReadiness.tsapps/web/src/app/admin/settings/page.tsx+3 more
  • ShippedREQ-ADM-547

    /admin/orders/[id] replaces the stale order_line_items placeholder with a persisted line-item table behind the same orders.line-items flag. Staff still load through withAuthenticatedTenant; unknown or cross-tenant order ids collapse to 404…

    6h ago
    apps/web/src/app/admin/_lib/storefrontTrafficReadiness.tspackages/demo-data/src/packs/0018_admin_storefront_traffic_readiness.ts
  • ShippedREQ-ADM-548

    The /admin/orders/[id] page must make customer support follow-up faster by rendering a Copy customer email control next to the displayed customer email when one exists. Use the existing CopyTextButton, leave the order loader/customer looku…

    6h ago
    apps/web/src/app/admin/_lib/storefrontTrafficReadiness.tsapps/web/src/app/admin/orders/[id]/page.tsxpackages/demo-data/src/packs/0018_admin_storefront_traffic_readiness.ts
  • ShippedREQ-ADM-549

    The /admin/pos-devices list must make hardware support handoffs faster by rendering a Copy reader ID control for each device that has a Stripe reader ID. Use the existing CopyTextButton, leave the device loader and registration/revoke acti…

    6h ago
    apps/web/src/app/admin/pos-devices/page.tsx×2apps/web/src/app/admin/_lib/storefrontTrafficReadiness.tspackages/demo-data/src/packs/0018_admin_storefront_traffic_readiness.ts
  • ShippedREQ-ADM-574

    /admin/settings?tab=domains custom-domain visibility panel. Tenant admins must be able to see (a) the store's canonical BoltToCart subdomain and tenant admin/storefront URLs, (b) every customer-owned hostname currently registered on the ac…

    2h ago
    apps/web/src/app/admin/_lib/storefrontRetentionReadiness.tsapps/web/src/app/admin/settings/page.tsxpackages/demo-data/src/packs/0020_admin_storefront_retention_readiness.ts
  • ShippedREQ-ADM-575

    /admin/settings?tab=domains custom-domain self-service automation. Tenant admins must be able to submit a customer-owned hostname, have BoltToCart attach it to the configured Vercel project through the Vercel Domains REST API, view the req…

    2h ago
    apps/web/src/app/admin/_lib/storefrontRetentionReadiness.tsapps/web/src/app/admin/settings/actions.tsapps/web/src/env.ts+1 more
  • ShippedREQ-ADM-576

    /admin/settings?tab=theme storefront theme customization. Tenant admins must be able to choose one of the six storefront templates, edit constrained theme tokens (colors, font pair, radii, density), choose the homepage strategy, and enable…

    2h ago
    apps/web/src/app/admin/_lib/storefrontRetentionReadiness.tsapps/web/src/app/admin/settings/actions.tsapps/web/src/lib/storefrontThemeConfig.test.ts+4 more
  • ShippedREQ-ADM-577

    /admin/settings?tab=domains custom-domain purchasing. Tenant admins must be able to search for a new root domain, receive Vercel registrar availability and per-domain price data, review a server-computed BoltToCart cart price, and check ou…

    2h ago
    packages/events/src/registry.ts×2apps/web/src/app/admin/_lib/storefrontRetentionReadiness.tsapps/web/src/app/admin/settings/actions.ts+5 more
  • ShippedREQ-ADM-578

    Domain purchases must use Vercel's registrar API to buy the domain after payment succeeds, even when Stripe Mode is test, because Vercel has no sandbox mode. Test-mode purchases may call Vercel only when the platform setting explicitly all…

    48m ago
    apps/web/src/app/admin/_lib/storefrontRetentionReadiness.tsapps/web/src/app/admin/settings/actions.tsapps/web/src/app/api/webhooks/stripe/route.ts+9 more
  • ShippedREQ-ADM-579

    Tenant admins must have a platform-purchases view under /admin showing store-owner purchases such as custom domains, including cart totals, Stripe Checkout/payment state, Vercel order id/state, purchased domain status, renewal/cancel/refun…

    6h ago
    apps/web/src/app/admin/_lib/storefrontRetentionReadiness.tspackages/db/src/migrations/0038_platform_domain_purchases.sqlpackages/demo-data/src/packs/0020_admin_storefront_retention_readiness.ts
  • ShippedREQ-ADM-580

    /admin/settings?tab=brand storefront brand assets. Tenant admins must be able to set a storefront logo by uploading an image or by generating one website-ready AI logo image from required profile inputs: store slug, store name, and store d…

    2h ago
    packages/db/src/migrations/0041_store_brand_assets.sql×2packages/db/src/migrations/0042_brand_logo_favicon_split.sql×2packages/db/src/repositories/storeBrandAssets.ts×2+10 more
  • ShippedREQ-ADM-581

    /admin/settings?tab=domains hosted-email self-service. Once a custom domain is marked Live, tenant admins must see a hosted-email option for BoltToCart-managed MXRoute mailboxes. Automated checkout is enabled only for live domains whose DN…

    2h ago
    apps/web/src/app/admin/settings/actions.ts×2apps/web/src/env.ts×2packages/demo-data/src/packs/0015_hosted_email_admin.ts×2+9 more
  • ShippedREQ-ADM-550

    The /admin dashboard must include an overnight POS readiness tile summarizing active POS devices, revoked/not-ready devices, pending offline sale count when available from the POS sync/runtime surface, and the most urgent blocker. The tile…

    6h ago
    apps/web/src/app/admin/_lib/storefrontTrafficReadiness.tspackages/demo-data/src/packs/0018_admin_storefront_traffic_readiness.ts
  • ShippedREQ-ADM-551

    The /admin/pos-devices/[id] detail page must render a launch checklist for the selected device: enrollment status, Stripe reader id presence, last seen timestamp, revocation state, receipt printer readiness placeholder, and cash-drawer rea…

    6h ago
    apps/web/src/app/admin/_lib/storefrontTrafficReadiness.tspackages/demo-data/src/packs/0018_admin_storefront_traffic_readiness.ts
  • ShippedREQ-ADM-552

    The /admin/bolts surface must add a compact bolt lookup form that accepts a bolt id or barcode value, resolves under withAuthenticatedTenant, and redirects to /admin/bolts/[boltId] on an exact match. Unknown or cross-tenant values must ren…

    6h ago
    apps/web/src/app/admin/_lib/storefrontTrafficReadiness.tspackages/demo-data/src/packs/0018_admin_storefront_traffic_readiness.ts
  • ShippedREQ-ADM-553

    The /admin/inventory dashboard must surface a "Needs attention" section with sold-out SKUs, remnant-threshold bolts, damaged bolts, and negative/invalid inventory guards if any exist. Each row links to the existing bolt or SKU/admin surfac…

    6h ago
    apps/web/src/app/admin/_lib/storefrontTrafficReadiness.tspackages/demo-data/src/packs/0018_admin_storefront_traffic_readiness.ts
  • ShippedREQ-ADM-554

    The /admin/receiving list and detail flows must expose a printable receiving worksheet for open purchase orders and recent bolt receipts. The worksheet groups expected/received bolts by supplier and SKU, includes yardage in human-readable…

    6h ago
    apps/web/src/app/admin/_lib/storefrontTrafficReadiness.tspackages/demo-data/src/packs/0018_admin_storefront_traffic_readiness.ts
  • ShippedREQ-ADM-555

    The /admin/orders list must add a POS/source filter chip row that separates storefront orders, POS-synced orders, imported legacy orders, and unknown-source orders when the data model exposes source metadata. If source metadata is absent,…

    6h ago
    apps/web/src/app/admin/_lib/storefrontTrafficReadiness.tspackages/demo-data/src/packs/0018_admin_storefront_traffic_readiness.ts
  • ShippedREQ-ADM-556

    The /admin/orders/[id] page must render a staff-facing fulfillment action summary for overnight MVP: cut status, pack status, shipment/pickup status, return/RMA status, and any missing line-item data. The summary is read-only unless existi…

    6h ago
    apps/web/src/app/admin/_lib/storefrontTrafficReadiness.tspackages/demo-data/src/packs/0018_admin_storefront_traffic_readiness.ts
  • ShippedREQ-ADM-557

    The /admin/settings page must include a POS launch settings summary covering remnant threshold, default cut increment, store pickup posture, receipt footer/contact copy, and enabled tender methods where those values exist. Missing values m…

    6h ago
    packages/demo-data/src/packs/0018_admin_storefront_traffic_readiness.ts×2apps/web/src/app/admin/_lib/storefrontTrafficReadiness.tspackages/core/src/adminOperationsReadiness/index.test.ts
  • ShippedREQ-ADM-558

    The /admin/pos-devices list summary must surface stale active devices as a launch-readiness risk using last-seen timestamps, without mutating device state.

    6h ago
    packages/core/src/adminOperationsReadiness/index.test.ts×4packages/demo-data/src/packs/0019_admin_storefront_conversion_readiness.ts×2apps/web/src/app/admin/_lib/adminLaunchReadinessSuite.test.ts+2 more
  • ShippedREQ-ADM-559

    The /admin/pos-devices/[id] detail page must include a copy-reader-id affordance in the identity card for hardware support handoffs.

    6h ago
    apps/web/src/app/admin/_lib/storefrontConversionReadiness.tspackages/demo-data/src/packs/0019_admin_storefront_conversion_readiness.ts
  • ShippedREQ-ADM-560

    The /admin/orders source filter chips must show per-source counts computed from the loaded order window.

    6h ago
    apps/web/src/app/admin/_lib/storefrontConversionReadiness.tspackages/demo-data/src/packs/0019_admin_storefront_conversion_readiness.ts
  • ShippedREQ-ADM-561

    The /admin/orders table must render human-readable source labels instead of raw source enum strings while preserving the raw value in a title for debugging.

    6h ago
    apps/web/src/app/admin/_lib/storefrontConversionReadiness.tspackages/demo-data/src/packs/0019_admin_storefront_conversion_readiness.ts
  • ShippedREQ-ADM-562

    The /admin/orders/[id] page must include a copy-order-id affordance next to the order id for support handoffs.

    6h ago
    apps/web/src/app/admin/_lib/storefrontConversionReadiness.tspackages/demo-data/src/packs/0019_admin_storefront_conversion_readiness.ts
  • ShippedREQ-ADM-563

    The /admin/receiving printable worksheet must group rows by supplier and SKU where possible, rather than rendering only a flat recent-bolt list.

    6h ago
    apps/web/src/app/admin/_lib/storefrontConversionReadiness.tspackages/demo-data/src/packs/0019_admin_storefront_conversion_readiness.ts
  • ShippedREQ-ADM-564

    The /admin/settings POS launch settings summary must render missing values as setup-task links to the relevant existing settings tab/section.

    6h ago
    apps/web/src/app/admin/_lib/storefrontConversionReadiness.tspackages/demo-data/src/packs/0019_admin_storefront_conversion_readiness.ts
  • ShippedREQ-ADM-565

    /admin/orders must render an active-filter summary whenever state, channel, or date filters are active, including chips for each active axis and a clear-all link back to /admin/orders.

    6h ago
    apps/web/src/app/admin/_lib/storefrontConversionReadiness.tspackages/demo-data/src/packs/0019_admin_storefront_conversion_readiness.ts
  • ShippedREQ-ADM-566

    /admin/orders must include a visible total-value summary tile for the currently filtered order cohort, computed with integer minor-unit math.

    6h ago
    apps/web/src/app/admin/_lib/storefrontConversionReadiness.tspackages/demo-data/src/packs/0019_admin_storefront_conversion_readiness.ts
  • ShippedREQ-ADM-567

    /admin/orders must expose a copy-visible-order-ids action when the filtered page has rows, copying one UUID per line for support handoffs.

    6h ago
    apps/web/src/app/admin/_lib/storefrontConversionReadiness.tspackages/demo-data/src/packs/0019_admin_storefront_conversion_readiness.ts
  • ShippedREQ-ADM-568

    /admin/orders must expose a print-current-view action for the currently visible order table, hidden from print output.

    6h ago
    apps/web/src/app/admin/_lib/storefrontConversionReadiness.tspackages/demo-data/src/packs/0019_admin_storefront_conversion_readiness.ts
  • ShippedREQ-ADM-569

    /admin/orders/orders.csv must honor channel=import / legacy-source aliases and channel=unknown using the same channel matching semantics as the on-screen order grid.

    6h ago
    apps/web/src/app/admin/_lib/storefrontConversionReadiness.tspackages/demo-data/src/packs/0019_admin_storefront_conversion_readiness.ts
  • ShippedREQ-ADM-570

    /admin/orders/orders.csv must include customer_id and customer_name columns when the order is associated to a customer, leaving both blank for guest orders.

    6h ago
    apps/web/src/app/admin/_lib/storefrontConversionReadiness.tspackages/demo-data/src/packs/0019_admin_storefront_conversion_readiness.ts
  • ShippedREQ-ADM-571

    /admin/orders/[id] must expose a print-order action in the header action strip for staff handoffs.

    6h ago
    apps/web/src/app/admin/_lib/storefrontConversionReadiness.tspackages/demo-data/src/packs/0019_admin_storefront_conversion_readiness.ts
  • ShippedREQ-ADM-572

    /admin/orders/[id] must expose a copy-payment-intent affordance beside the Stripe PaymentIntent id when present.

    6h ago
    packages/demo-data/src/packs/0019_admin_storefront_conversion_readiness.ts×2apps/web/src/app/admin/_lib/storefrontConversionReadiness.tspackages/core/src/adminFulfillmentLaunchReadiness/index.test.ts+1 more
  • ShippedREQ-ADM-573

    /admin/orders/[id] must render a human-readable source label while preserving the raw source value in a title attribute for debugging imported/API data.

    6h ago
    packages/core/src/adminOperationsReadiness/index.test.ts×4apps/web/src/app/admin/_lib/adminLaunchReadinessSuite.test.ts×2packages/core/src/adminFulfillmentLaunchReadiness/index.test.ts×2+2 more
  • ShippedREQ-ADM-511

    /admin must expose an overnight MVP readiness cockpit behind the admin.overnight-mvp-readiness feature flag so launch signoff can be disabled without removing the core dashboard.

    6h ago
    packages/core/src/adminFulfillmentLaunchReadiness/index.test.ts×6apps/web/src/app/admin/_lib/adminLaunchReadinessSuite.test.ts×4packages/core/src/adminOperationsReadiness/index.test.ts×4+3 more
  • ShippedREQ-ADM-512

    The overnight MVP readiness cockpit must be derived by a pure, unit-tested view-model helper that accepts already RLS-scoped admin summary data and performs no database reads, writes, telemetry emissions, or tenant resolution.

    6h ago
    packages/demo-data/src/packs/0016_admin_overnight_mvp_readiness.ts
  • ShippedREQ-ADM-513

    The cockpit must include an inventory-stock checkpoint showing whether at least one cuttable bolt is available before release testing.

    6h ago
    apps/web/src/app/admin/_lib/overnightMvpReadiness.test.tsapps/web/src/app/admin/_lib/overnightMvpReadiness.tspackages/demo-data/src/packs/0016_admin_overnight_mvp_readiness.ts
  • ShippedREQ-ADM-514

    The cockpit must include a cut-workflow checkpoint showing whether a test cut has happened in the rolling seven-day inventory window, falling back to last-cut evidence when older cuts exist.

    6h ago
    apps/web/src/app/admin/_lib/overnightMvpReadiness.tspackages/demo-data/src/packs/0016_admin_overnight_mvp_readiness.ts
  • ShippedREQ-ADM-527

    The cockpit must include a launch-evidence checkpoint that combines inventory, POS, order, and audit evidence into a final ranked signoff item for REQ-ANL-042.

    6h ago
    packages/core/src/adminFulfillmentLaunchReadiness/index.test.ts×2packages/demo-data/src/packs/0016_admin_overnight_mvp_readiness.ts×2apps/web/src/app/admin/_lib/overnightMvpReadiness.ts+4 more
  • ShippedREQ-ADM-528

    /admin must expose a storefront launch readiness cockpit behind the admin.storefront-launch-readiness feature flag and include a store-identity checkpoint that blocks launch when the store has no configured display name.

    2h ago
    packages/core/src/adminOperationsReadiness/index.test.ts×4packages/core/src/adminFulfillmentLaunchReadiness/index.test.ts×3apps/web/src/app/admin/_lib/adminLaunchReadinessSuite.test.ts×2+4 more
  • ShippedREQ-ADM-529

    The storefront launch readiness cockpit must include a brand-header checkpoint showing whether active logo or favicon assets are configured for public storefront chrome.

    6h ago
    apps/web/src/app/admin/_lib/storefrontLaunchReadiness.tsapps/web/src/app/admin/loyalty/settings/LoyaltySettingsForm.tsxapps/web/src/app/admin/loyalty/settings/actions.ts+3 more
  • ShippedREQ-ADM-546

    The storefront traffic readiness cockpit must include a catalog-depth checkpoint showing whether enough inventory records exist to absorb browsing traffic.

    6h ago
    packages/db/src/migrations/0030_contacts.sql×2apps/web/src/app/admin/_lib/storefrontTrafficReadiness.tspackages/db/src/repositories/contacts.ts+2 more
  • ShippedREQ-ADM-582

    The storefront retention readiness cockpit must include a class-cadence checkpoint showing whether at least one live or scheduled class/event can bring shoppers back.

    6h ago
    apps/web/src/app/admin/_lib/storefrontRetentionReadiness.tspackages/demo-data/src/packs/0020_admin_storefront_retention_readiness.ts
  • ShippedREQ-ADM-583

    The storefront retention readiness cockpit must include a community-loop checkpoint that blocks on design-contest preview failures and warns on pending moderation or absent optional contests.

    6h ago
    apps/web/src/app/admin/_lib/storefrontRetentionReadiness.tspackages/demo-data/src/packs/0020_admin_storefront_retention_readiness.ts
  • ShippedREQ-ADM-584

    The storefront retention readiness cockpit must include a support-continuity checkpoint that blocks on failed hosted-email mailbox provisioning, warns on pending provisioning, and marks active mailbox coverage as ready.

    6h ago
    apps/web/src/app/admin/_lib/storefrontRetentionReadiness.tspackages/demo-data/src/packs/0020_admin_storefront_retention_readiness.ts
  • ShippedREQ-ADM-585

    The storefront retention readiness cockpit must include a delivery-continuity checkpoint that blocks on dead-lettered webhook deliveries and warns when pending retry backlog exceeds the dashboard threshold.

    6h ago
    apps/web/src/app/admin/_lib/storefrontRetentionReadiness.tspackages/demo-data/src/packs/0020_admin_storefront_retention_readiness.ts
  • ShippedREQ-ADM-586

    The storefront retention readiness cockpit must include a data-stability checkpoint that blocks on Rain migration blocking findings and warns on reconciliation or warning-acceptance states.

    6h ago
    apps/web/src/app/admin/_lib/storefrontRetentionReadiness.tspackages/demo-data/src/packs/0020_admin_storefront_retention_readiness.ts
  • ShippedREQ-ADM-587

    The storefront retention readiness cockpit must include a retention-evidence checkpoint combining customer, offer, inventory, and audit evidence into a final ranked retention signoff item for REQ-ANL-042.

    6h ago
    packages/demo-data/src/packs/0020_admin_storefront_retention_readiness.ts×2apps/web/src/app/admin/_lib/storefrontRetentionReadiness.tspackages/core/src/adminFulfillmentLaunchReadiness/index.test.ts+1 more
  • ShippedREQ-ADM-588

    /admin must expose a storefront service readiness cockpit behind the admin.storefront-service-readiness feature flag and include a service-identity checkpoint that blocks service testing when the store has no configured display name.

    6h ago
    packages/core/src/adminFulfillmentLaunchReadiness/index.test.ts×5apps/web/src/app/admin/_lib/adminLaunchReadinessSuite.test.ts×2packages/core/src/adminOperationsReadiness/index.test.ts×2+2 more
  • ShippedREQ-ADM-589

    The storefront service readiness cockpit must include a service-brand checkpoint showing whether active logo or favicon assets are configured for post-sale trust.

    6h ago
    apps/web/src/app/admin/_lib/storefrontServiceReadiness.tspackages/demo-data/src/packs/0021_admin_storefront_service_readiness.ts
  • ShippedREQ-ADM-590

    The storefront service readiness cockpit must include a service-content checkpoint showing whether at least four storefront theme sections are enabled before service handoff.

    6h ago
    apps/web/src/app/admin/_lib/storefrontServiceReadiness.tspackages/demo-data/src/packs/0021_admin_storefront_service_readiness.ts
  • ShippedREQ-ADM-591

    The storefront service readiness cockpit must include an assortment-reference checkpoint showing whether enough inventory records exist for customer-service lookups.

    6h ago
    apps/web/src/app/admin/_lib/storefrontServiceReadiness.tspackages/demo-data/src/packs/0021_admin_storefront_service_readiness.ts
  • ShippedREQ-ADM-592

    The storefront service readiness cockpit must include a replacement-stock checkpoint showing whether at least three cuttable bolts are available for issue resolution and exchanges.

    6h ago
    packages/core/src/adminFulfillmentLaunchReadiness/index.test.ts×2packages/core/src/storefrontGovernanceReadiness/index.test.ts×2apps/web/src/app/admin/_lib/storefrontReadinessSuite.test.ts+4 more
  • ShippedREQ-ADM-593

    The storefront service readiness cockpit must include a service-motion checkpoint showing whether recent cuts prove inventory operations are active before service testing.

    6h ago
    packages/core/src/storefrontGovernanceReadiness/index.test.ts×9packages/core/src/adminStorefrontReadiness/index.test.ts×7apps/web/src/app/admin/_lib/storefrontReadinessSuite.test.ts×3+6 more
  • ShippedREQ-ADM-594

    The storefront service readiness cockpit must include an order-service-proof checkpoint showing whether a current-month order and non-zero minor-unit revenue create serviceable order evidence.

    6h ago
    apps/web/src/app/admin/_lib/storefrontReadinessSuite.test.ts×2apps/web/src/app/admin/_lib/storefrontServiceReadiness.tspackages/core/src/adminStorefrontReadiness/index.test.ts+2 more
  • ShippedREQ-ADM-595

    The storefront service readiness cockpit must include a customer-service-proof checkpoint showing whether fresh customer creation is visible in the last seven days.

    6h ago
    apps/web/src/app/admin/_lib/storefrontReadinessSuite.test.ts×2apps/web/src/app/admin/_lib/storefrontServiceReadiness.tspackages/core/src/adminStorefrontReadiness/index.test.ts+2 more
  • ShippedREQ-ADM-596

    The storefront service readiness cockpit must include a drop-service-context checkpoint showing whether at least one live or scheduled drop gives support staff campaign context.

    6h ago
    apps/web/src/app/admin/_lib/storefrontReadinessSuite.test.tsapps/web/src/app/admin/_lib/storefrontServiceReadiness.tspackages/core/src/adminStorefrontReadiness/index.test.ts+2 more
  • ShippedREQ-ADM-597

    The storefront service readiness cockpit must include a class-service-context checkpoint showing whether at least one live or scheduled class/event gives support staff event context.

    6h ago
    apps/web/src/app/admin/_lib/storefrontReadinessSuite.test.ts×2apps/web/src/app/admin/_lib/storefrontServiceReadiness.tspackages/core/src/adminStorefrontReadiness/index.test.ts+2 more
  • ShippedREQ-ADM-598

    The storefront service readiness cockpit must include a community-service-loop checkpoint that blocks on design-contest preview failures and warns on pending moderation or absent optional contests.

    6h ago
    apps/web/src/app/admin/_lib/storefrontReadinessSuite.test.ts×2packages/core/src/adminStorefrontReadiness/index.test.ts×2apps/web/src/app/admin/_lib/storefrontServiceReadiness.ts+2 more
  • ShippedREQ-ADM-599

    The storefront service readiness cockpit must include a support-mailbox checkpoint that blocks on failed hosted-email mailbox provisioning, warns on pending provisioning, and marks active mailbox coverage as ready.

    6h ago
    packages/core/src/adminStorefrontReadiness/index.test.ts×2apps/web/src/app/admin/_lib/storefrontServiceReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.ts+1 more
  • ShippedREQ-ADM-600

    The storefront service readiness cockpit must include a service-delivery checkpoint that blocks on dead-lettered webhook deliveries and warns when pending retry backlog exceeds the dashboard threshold.

    6h ago
    packages/core/src/adminStorefrontReadiness/index.test.ts×2apps/web/src/app/admin/_lib/storefrontServiceReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.ts+1 more
  • ShippedREQ-ADM-601

    The storefront service readiness cockpit must include a service-data-confidence checkpoint that blocks on Rain migration blocking findings and warns on reconciliation or warning-acceptance states.

    6h ago
    packages/core/src/adminOperationsReadiness/index.test.ts×3packages/core/src/adminStorefrontReadiness/index.test.ts×2apps/web/src/app/admin/_lib/storefrontServiceReadiness.ts+3 more
  • ShippedREQ-ADM-602

    The storefront service readiness cockpit must include a service-evidence checkpoint combining support, order, inventory, and audit evidence into a final ranked service signoff item for REQ-ANL-042.

    6h ago
    packages/core/src/adminStorefrontReadiness/index.test.ts×3packages/core/src/adminOperationsReadiness/index.test.ts×2packages/demo-data/src/packs/0021_admin_storefront_service_readiness.ts×2+3 more
  • ShippedREQ-ADM-603

    /admin must expose a storefront operations readiness cockpit behind the admin.storefront-operations-readiness feature flag and include an operations-identity checkpoint that blocks daily operations testing when the store has no configured…

    6h ago
    packages/core/src/adminStorefrontReadiness/index.test.ts×4packages/core/src/storefrontGovernanceReadiness/index.test.ts×2packages/demo-data/src/packs/0022_admin_storefront_operations_readiness.ts×2+2 more
  • ShippedREQ-ADM-604

    The storefront operations readiness cockpit must include an operations-brand checkpoint showing whether active logo or favicon assets are configured for staff and shopper confidence.

    6h ago
    apps/web/src/app/admin/_lib/storefrontOperationsReadiness.tspackages/core/src/adminStorefrontReadiness/index.test.tspackages/core/src/storefrontGovernanceReadiness/index.ts+1 more
  • ShippedREQ-ADM-605

    The storefront operations readiness cockpit must include an operations-content checkpoint showing whether at least four storefront theme sections are enabled for daily admin context.

    6h ago
    apps/web/src/app/admin/_lib/storefrontOperationsReadiness.tspackages/core/src/adminStorefrontReadiness/index.test.tspackages/core/src/storefrontGovernanceReadiness/index.ts+1 more
  • ShippedREQ-ADM-606

    The storefront operations readiness cockpit must include a catalog-control checkpoint showing whether enough inventory records exist for daily catalog operations.

    6h ago
    apps/web/src/app/admin/_lib/storefrontOperationsReadiness.tspackages/core/src/adminStorefrontReadiness/index.test.tspackages/core/src/storefrontGovernanceReadiness/index.ts+1 more
  • ShippedREQ-ADM-607

    The storefront operations readiness cockpit must include a floor-stock checkpoint showing whether at least four cuttable bolts are available for daily selling.

    6h ago
    apps/web/src/app/admin/_lib/storefrontOperationsReadiness.tspackages/core/src/adminStorefrontReadiness/index.test.tspackages/core/src/storefrontGovernanceReadiness/index.ts+1 more
  • ShippedREQ-ADM-608

    The storefront operations readiness cockpit must include a cut-desk-motion checkpoint showing whether recent cuts prove the operational cut desk is active.

    6h ago
    apps/web/src/app/admin/_lib/storefrontOperationsReadiness.tspackages/core/src/adminStorefrontReadiness/index.test.tspackages/core/src/storefrontGovernanceReadiness/index.ts+1 more
  • ShippedREQ-ADM-609

    The storefront operations readiness cockpit must include an order-queue-proof checkpoint showing whether a current-month order and non-zero minor-unit revenue prove the order queue is usable.

    6h ago
    apps/web/src/app/admin/_lib/storefrontOperationsReadiness.tspackages/core/src/adminStorefrontReadiness/index.test.tspackages/core/src/storefrontGovernanceReadiness/index.ts+1 more
  • ShippedREQ-ADM-610

    The storefront operations readiness cockpit must include a customer-queue-proof checkpoint showing whether fresh customer creation is visible in the last seven days.

    6h ago
    apps/web/src/app/admin/_lib/adminLaunchReadinessSuite.test.ts×3apps/web/src/app/admin/_lib/storefrontOperationsReadiness.tspackages/core/src/adminStorefrontReadiness/index.test.ts+3 more
  • ShippedREQ-ADM-611

    The storefront operations readiness cockpit must include a drop-operations checkpoint showing whether at least one live or scheduled drop is ready for daily operations.

    6h ago
    apps/web/src/app/admin/_lib/adminLaunchReadinessSuite.test.tsapps/web/src/app/admin/_lib/storefrontOperationsReadiness.tspackages/core/src/adminStorefrontReadiness/index.test.ts+2 more
  • ShippedREQ-ADM-612

    The storefront operations readiness cockpit must include a class-operations checkpoint showing whether at least one live or scheduled class/event is ready for daily operations.

    6h ago
    apps/web/src/app/admin/_lib/storefrontOperationsReadiness.tspackages/core/src/adminStorefrontReadiness/index.test.tspackages/core/src/storefrontGovernanceReadiness/index.ts+1 more
  • ShippedREQ-ADM-613

    The storefront operations readiness cockpit must include a contest-operations checkpoint that blocks on design-contest preview failures and warns on pending moderation or absent optional contests.

    6h ago
    apps/web/src/app/admin/_lib/storefrontOperationsReadiness.tspackages/core/src/adminStorefrontReadiness/index.test.tspackages/core/src/storefrontGovernanceReadiness/index.ts+1 more
  • ShippedREQ-ADM-614

    The storefront operations readiness cockpit must include a mailbox-operations checkpoint that blocks on failed hosted-email mailbox provisioning, warns on pending provisioning, and marks active mailbox coverage as ready.

    6h ago
    apps/web/src/app/admin/_lib/storefrontOperationsReadiness.tspackages/core/src/adminStorefrontReadiness/index.test.tspackages/core/src/storefrontGovernanceReadiness/index.ts+1 more
  • ShippedREQ-ADM-615

    The storefront operations readiness cockpit must include a webhook-operations checkpoint that blocks on dead-lettered webhook deliveries and warns when pending retry backlog exceeds the dashboard threshold.

    6h ago
    apps/web/src/app/admin/_lib/storefrontOperationsReadiness.tspackages/core/src/adminStorefrontReadiness/index.test.tspackages/core/src/storefrontGovernanceReadiness/index.ts+1 more
  • ShippedREQ-ADM-616

    The storefront operations readiness cockpit must include a migration-operations checkpoint that blocks on Rain migration blocking findings and warns on reconciliation or warning-acceptance states.

    6h ago
    apps/web/src/app/admin/_lib/storefrontOperationsReadiness.tspackages/core/src/adminStorefrontReadiness/index.test.tspackages/core/src/storefrontGovernanceReadiness/index.ts+1 more
  • ShippedREQ-ADM-617

    The storefront operations readiness cockpit must include an operations-evidence checkpoint combining catalog, order, support, and audit evidence into a final ranked operations signoff item for REQ-ANL-042.

    6h ago
    packages/core/src/adminStorefrontReadiness/index.test.ts×3packages/core/src/storefrontGovernanceReadiness/index.test.ts×3packages/demo-data/src/packs/0022_admin_storefront_operations_readiness.ts×2+2 more
  • ShippedREQ-ADM-618

    /admin must expose a storefront fulfillment readiness cockpit behind the admin.storefront-fulfillment-readiness feature flag and include a fulfillment-identity checkpoint that blocks fulfillment testing when the store has no configured dis…

    6h ago
    packages/core/src/adminStorefrontReadiness/index.test.ts×4packages/core/src/storefrontGovernanceReadiness/index.test.ts×2packages/demo-data/src/packs/0023_admin_storefront_fulfillment_readiness.ts×2+2 more
  • ShippedREQ-ADM-619

    The storefront fulfillment readiness cockpit must include a fulfillment-brand checkpoint showing whether active logo or favicon assets are configured for packing-slip and customer confidence.

    6h ago
    apps/web/src/app/admin/_lib/storefrontFulfillmentReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0023_admin_storefront_fulfillment_readiness.ts
  • ShippedREQ-ADM-620

    The storefront fulfillment readiness cockpit must include a fulfillment-content checkpoint showing whether at least three storefront theme sections are enabled for fulfillment context.

    6h ago
    apps/web/src/app/admin/_lib/storefrontFulfillmentReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0023_admin_storefront_fulfillment_readiness.ts
  • ShippedREQ-ADM-621

    The storefront fulfillment readiness cockpit must include a pick-list-depth checkpoint showing whether enough inventory records exist for pick/pack validation.

    6h ago
    apps/web/src/app/admin/_lib/storefrontFulfillmentReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0023_admin_storefront_fulfillment_readiness.ts
  • ShippedREQ-ADM-622

    The storefront fulfillment readiness cockpit must include a packable-stock checkpoint showing whether at least three cuttable bolts are available for fulfillment testing.

    6h ago
    apps/web/src/app/admin/_lib/storefrontFulfillmentReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0023_admin_storefront_fulfillment_readiness.ts
  • ShippedREQ-ADM-623

    The storefront fulfillment readiness cockpit must include a cut-to-pack-motion checkpoint showing whether recent cuts prove fabric can move from cut desk to packing.

    6h ago
    apps/web/src/app/admin/_lib/storefrontFulfillmentReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0023_admin_storefront_fulfillment_readiness.ts
  • ShippedREQ-ADM-624

    The storefront fulfillment readiness cockpit must include an order-to-pack-proof checkpoint showing whether a current-month order and non-zero minor-unit revenue create packable order evidence.

    6h ago
    apps/web/src/app/admin/_lib/storefrontFulfillmentReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0023_admin_storefront_fulfillment_readiness.ts
  • ShippedREQ-ADM-625

    The storefront fulfillment readiness cockpit must include a customer-handoff-proof checkpoint showing whether fresh customer creation is visible in the last seven days.

    6h ago
    apps/web/src/app/admin/_lib/storefrontFulfillmentReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0023_admin_storefront_fulfillment_readiness.ts
  • ShippedREQ-ADM-626

    The storefront fulfillment readiness cockpit must include a drop-fulfillment-context checkpoint showing whether at least one live or scheduled drop can create fulfillment demand.

    6h ago
    apps/web/src/app/admin/_lib/storefrontFulfillmentReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0023_admin_storefront_fulfillment_readiness.ts
  • ShippedREQ-ADM-627

    The storefront fulfillment readiness cockpit must include a class-fulfillment-context checkpoint showing whether at least one live or scheduled class/event can create service fulfillment context.

    6h ago
    apps/web/src/app/admin/_lib/storefrontFulfillmentReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0023_admin_storefront_fulfillment_readiness.ts
  • ShippedREQ-ADM-628

    The storefront fulfillment readiness cockpit must include a contest-fulfillment-loop checkpoint that blocks on design-contest preview failures and warns on pending moderation or absent optional contests.

    6h ago
    apps/web/src/app/admin/_lib/storefrontFulfillmentReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0023_admin_storefront_fulfillment_readiness.ts
  • ShippedREQ-ADM-629

    The storefront fulfillment readiness cockpit must include a fulfillment-mailbox checkpoint that blocks on failed hosted-email mailbox provisioning, warns on pending provisioning, and marks active mailbox coverage as ready.

    6h ago
    apps/web/src/app/admin/_lib/storefrontFulfillmentReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0023_admin_storefront_fulfillment_readiness.ts
  • ShippedREQ-ADM-630

    The storefront fulfillment readiness cockpit must include a fulfillment-webhook checkpoint that blocks on dead-lettered webhook deliveries and warns when pending retry backlog exceeds the dashboard threshold.

    6h ago
    apps/web/src/app/admin/_lib/storefrontFulfillmentReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0023_admin_storefront_fulfillment_readiness.ts
  • ShippedREQ-ADM-631

    The storefront fulfillment readiness cockpit must include a fulfillment-data-confidence checkpoint that blocks on Rain migration blocking findings and warns on reconciliation or warning-acceptance states.

    6h ago
    apps/web/src/app/admin/_lib/storefrontFulfillmentReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0023_admin_storefront_fulfillment_readiness.ts
  • ShippedREQ-ADM-632

    The storefront fulfillment readiness cockpit must include a fulfillment-evidence checkpoint combining inventory, order, support, and audit evidence into a final ranked fulfillment signoff item for REQ-ANL-042.

    6h ago
    packages/core/src/storefrontGovernanceReadiness/index.test.ts×3packages/demo-data/src/packs/0023_admin_storefront_fulfillment_readiness.ts×2apps/web/src/app/admin/_lib/storefrontFulfillmentReadiness.ts+2 more
  • ShippedREQ-ADM-633

    /admin must expose a storefront support readiness cockpit behind the admin.storefront-support-readiness feature flag and include a support-identity checkpoint that blocks support testing when the store has no configured display name.

    6h ago
    packages/core/src/adminStorefrontReadiness/index.test.ts×4packages/core/src/storefrontGovernanceReadiness/index.test.ts×2packages/demo-data/src/packs/0024_admin_storefront_support_readiness.ts×2+2 more
  • ShippedREQ-ADM-634

    The storefront support readiness cockpit must include a support-brand checkpoint showing whether active logo or favicon assets are configured for recognizable customer help responses.

    6h ago
    apps/web/src/app/admin/_lib/storefrontSupportReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0024_admin_storefront_support_readiness.ts
  • ShippedREQ-ADM-635

    The storefront support readiness cockpit must include a support-content checkpoint showing whether at least three storefront theme sections are enabled for staff support context.

    6h ago
    apps/web/src/app/admin/_lib/storefrontSupportReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0024_admin_storefront_support_readiness.ts
  • ShippedREQ-ADM-636

    The storefront support readiness cockpit must include a support-catalog-context checkpoint showing whether enough inventory records exist to answer shopper catalog questions.

    6h ago
    apps/web/src/app/admin/_lib/storefrontSupportReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0024_admin_storefront_support_readiness.ts
  • ShippedREQ-ADM-637

    The storefront support readiness cockpit must include a support-stock-context checkpoint showing whether at least three cuttable bolts are available to answer availability questions.

    6h ago
    apps/web/src/app/admin/_lib/storefrontSupportReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0024_admin_storefront_support_readiness.ts
  • ShippedREQ-ADM-638

    The storefront support readiness cockpit must include a cut-support-motion checkpoint showing whether recent cuts give staff fresh support context.

    6h ago
    apps/web/src/app/admin/_lib/storefrontSupportReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0024_admin_storefront_support_readiness.ts
  • ShippedREQ-ADM-639

    The storefront support readiness cockpit must include an order-support-proof checkpoint showing whether a current-month order and non-zero minor-unit revenue create supportable order evidence.

    6h ago
    apps/web/src/app/admin/_lib/storefrontSupportReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0024_admin_storefront_support_readiness.ts
  • ShippedREQ-ADM-640

    The storefront support readiness cockpit must include a customer-support-proof checkpoint showing whether fresh customer creation is visible in the last seven days.

    6h ago
    apps/web/src/app/admin/_lib/storefrontSupportReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0024_admin_storefront_support_readiness.ts
  • ShippedREQ-ADM-641

    The storefront support readiness cockpit must include a drop-support-context checkpoint showing whether at least one live or scheduled drop can generate shopper support questions.

    6h ago
    apps/web/src/app/admin/_lib/storefrontSupportReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0024_admin_storefront_support_readiness.ts
  • ShippedREQ-ADM-642

    The storefront support readiness cockpit must include a class-support-context checkpoint showing whether at least one live or scheduled class/event can generate service support questions.

    6h ago
    apps/web/src/app/admin/_lib/storefrontSupportReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0024_admin_storefront_support_readiness.ts
  • ShippedREQ-ADM-643

    The storefront support readiness cockpit must include a contest-support-loop checkpoint that blocks on design-contest preview failures and warns on pending moderation or absent optional contests.

    6h ago
    apps/web/src/app/admin/_lib/storefrontSupportReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0024_admin_storefront_support_readiness.ts
  • ShippedREQ-ADM-644

    The storefront support readiness cockpit must include a support-mailbox checkpoint that blocks on failed hosted-email mailbox provisioning, warns on pending provisioning, and marks active mailbox coverage as ready.

    6h ago
    apps/web/src/app/admin/_lib/storefrontSupportReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0024_admin_storefront_support_readiness.ts
  • ShippedREQ-ADM-645

    The storefront support readiness cockpit must include a support-webhook checkpoint that blocks on dead-lettered webhook deliveries and warns when pending retry backlog exceeds the dashboard threshold.

    6h ago
    apps/web/src/app/admin/_lib/storefrontSupportReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0024_admin_storefront_support_readiness.ts
  • ShippedREQ-ADM-646

    The storefront support readiness cockpit must include a support-data-confidence checkpoint that blocks on Rain migration blocking findings and warns on reconciliation or warning-acceptance states.

    6h ago
    apps/web/src/app/admin/_lib/storefrontSupportReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0024_admin_storefront_support_readiness.ts
  • ShippedREQ-ADM-647

    The storefront support readiness cockpit must include a support-evidence checkpoint combining customer, order, support, and audit evidence into a final ranked support signoff item for REQ-ANL-042.

    6h ago
    packages/demo-data/src/packs/0024_admin_storefront_support_readiness.ts×2apps/web/src/app/admin/_lib/storefrontSupportReadiness.tspackages/core/src/adminStorefrontReadiness/index.test.ts+2 more
  • ShippedREQ-ADM-648

    /admin must expose a storefront merchandising readiness cockpit behind the admin.storefront-merchandising-readiness feature flag and include a merchandising-identity checkpoint that blocks merchandising testing when the store has no config…

    6h ago
    packages/core/src/adminStorefrontReadiness/index.test.ts×4packages/core/src/storefrontGovernanceReadiness/index.test.ts×2packages/demo-data/src/packs/0025_admin_storefront_merchandising_readiness.ts×2+2 more
  • ShippedREQ-ADM-649

    The storefront merchandising readiness cockpit must include a merchandising-brand checkpoint showing whether active logo or favicon assets are configured for recognizable shopper-facing merchandising.

    6h ago
    apps/web/src/app/admin/_lib/storefrontMerchandisingReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0025_admin_storefront_merchandising_readiness.ts
  • ShippedREQ-ADM-650

    The storefront merchandising readiness cockpit must include a merchandising-content checkpoint showing whether at least three storefront theme sections are enabled for assortment context.

    6h ago
    apps/web/src/app/admin/_lib/storefrontMerchandisingReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0025_admin_storefront_merchandising_readiness.ts
  • ShippedREQ-ADM-651

    The storefront merchandising readiness cockpit must include a merchandising-catalog-context checkpoint showing whether enough inventory records exist to support featured assortments.

    6h ago
    apps/web/src/app/admin/_lib/storefrontMerchandisingReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0025_admin_storefront_merchandising_readiness.ts
  • ShippedREQ-ADM-652

    The storefront merchandising readiness cockpit must include a merchandising-stock-context checkpoint showing whether at least three cuttable bolts are available for shopper-facing availability.

    6h ago
    apps/web/src/app/admin/_lib/storefrontMerchandisingReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0025_admin_storefront_merchandising_readiness.ts
  • ShippedREQ-ADM-653

    The storefront merchandising readiness cockpit must include a cut-merchandising-motion checkpoint showing whether recent cuts give staff fresh merchandising context.

    6h ago
    apps/web/src/app/admin/_lib/storefrontMerchandisingReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0025_admin_storefront_merchandising_readiness.ts
  • ShippedREQ-ADM-654

    The storefront merchandising readiness cockpit must include an order-merchandising-proof checkpoint showing whether a current-month order and non-zero minor-unit revenue validate merchandising.

    6h ago
    apps/web/src/app/admin/_lib/storefrontMerchandisingReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0025_admin_storefront_merchandising_readiness.ts
  • ShippedREQ-ADM-655

    The storefront merchandising readiness cockpit must include a customer-merchandising-proof checkpoint showing whether fresh customer creation is visible in the last seven days.

    6h ago
    apps/web/src/app/admin/_lib/storefrontMerchandisingReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0025_admin_storefront_merchandising_readiness.ts
  • ShippedREQ-ADM-656

    The storefront merchandising readiness cockpit must include a drop-merchandising-context checkpoint showing whether at least one live or scheduled drop can carry featured merchandising.

    6h ago
    apps/web/src/app/admin/_lib/storefrontMerchandisingReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0025_admin_storefront_merchandising_readiness.ts
  • ShippedREQ-ADM-657

    The storefront merchandising readiness cockpit must include a class-merchandising-context checkpoint showing whether at least one live or scheduled class/event can carry service merchandising.

    6h ago
    apps/web/src/app/admin/_lib/storefrontMerchandisingReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0025_admin_storefront_merchandising_readiness.ts
  • ShippedREQ-ADM-658

    The storefront merchandising readiness cockpit must include a contest-merchandising-loop checkpoint that blocks on design-contest preview failures and warns on pending moderation or absent optional contests.

    6h ago
    apps/web/src/app/admin/_lib/storefrontMerchandisingReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0025_admin_storefront_merchandising_readiness.ts
  • ShippedREQ-ADM-659

    The storefront merchandising readiness cockpit must include a merchandising-mailbox checkpoint that blocks on failed hosted-email mailbox provisioning, warns on pending provisioning, and marks active mailbox coverage as ready.

    6h ago
    apps/web/src/app/admin/_lib/storefrontMerchandisingReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0025_admin_storefront_merchandising_readiness.ts
  • ShippedREQ-ADM-660

    The storefront merchandising readiness cockpit must include a merchandising-webhook checkpoint that blocks on dead-lettered webhook deliveries and warns when pending retry backlog exceeds the dashboard threshold.

    6h ago
    apps/web/src/app/admin/_lib/storefrontMerchandisingReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0025_admin_storefront_merchandising_readiness.ts
  • ShippedREQ-ADM-661

    The storefront merchandising readiness cockpit must include a merchandising-data-confidence checkpoint that blocks on Rain migration blocking findings and warns on reconciliation or warning-acceptance states.

    6h ago
    apps/web/src/app/admin/_lib/storefrontMerchandisingReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0025_admin_storefront_merchandising_readiness.ts
  • ShippedREQ-ADM-662

    The storefront merchandising readiness cockpit must include a merchandising-evidence checkpoint combining catalog, campaign, order, and audit evidence into a final ranked merchandising signoff item for REQ-ANL-042.

    6h ago
    packages/core/src/storefrontGovernanceReadiness/index.test.ts×3packages/demo-data/src/packs/0025_admin_storefront_merchandising_readiness.ts×2apps/web/src/app/admin/_lib/storefrontMerchandisingReadiness.ts+2 more
  • ShippedREQ-ADM-663

    /admin must expose a storefront trust readiness cockpit behind the admin.storefront-trust-readiness feature flag and include a trust-identity checkpoint that blocks trust testing when the store has no configured display name.

    6h ago
    packages/core/src/adminStorefrontReadiness/index.test.ts×4packages/core/src/storefrontGovernanceReadiness/index.test.ts×2packages/demo-data/src/packs/0026_admin_storefront_trust_readiness.ts×2+2 more
  • ShippedREQ-ADM-664

    The storefront trust readiness cockpit must include a trust-brand checkpoint showing whether active logo or favicon assets are configured for recognizable shopper-facing trust cues.

    6h ago
    apps/web/src/app/admin/_lib/storefrontTrustReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0026_admin_storefront_trust_readiness.ts
  • ShippedREQ-ADM-665

    The storefront trust readiness cockpit must include a trust-content checkpoint showing whether at least four storefront theme sections are enabled for shopper confidence.

    6h ago
    apps/web/src/app/admin/_lib/storefrontTrustReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0026_admin_storefront_trust_readiness.ts
  • ShippedREQ-ADM-666

    The storefront trust readiness cockpit must include a trust-catalog checkpoint showing whether enough inventory records exist to support shopper comparison and confidence.

    6h ago
    apps/web/src/app/admin/_lib/storefrontTrustReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0026_admin_storefront_trust_readiness.ts
  • ShippedREQ-ADM-667

    The storefront trust readiness cockpit must include a trust-stock checkpoint showing whether at least three cuttable bolts are available for shopper-facing stock promises.

    6h ago
    apps/web/src/app/admin/_lib/storefrontTrustReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0026_admin_storefront_trust_readiness.ts
  • ShippedREQ-ADM-668

    The storefront trust readiness cockpit must include a trust-stock-motion checkpoint showing whether recent cuts prove stock movement before trust testing.

    6h ago
    apps/web/src/app/admin/_lib/storefrontTrustReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0026_admin_storefront_trust_readiness.ts
  • ShippedREQ-ADM-669

    The storefront trust readiness cockpit must include a trust-order-proof checkpoint showing whether a current-month paid order and non-zero minor-unit revenue prove trust-sensitive checkout.

    6h ago
    apps/web/src/app/admin/_lib/storefrontTrustReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0026_admin_storefront_trust_readiness.ts
  • ShippedREQ-ADM-670

    The storefront trust readiness cockpit must include a trust-customer-proof checkpoint showing whether fresh customer creation is visible in the last seven days.

    6h ago
    apps/web/src/app/admin/_lib/storefrontTrustReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0026_admin_storefront_trust_readiness.ts
  • ShippedREQ-ADM-671

    The storefront trust readiness cockpit must include a trust-drop-context checkpoint showing whether at least one live or scheduled drop can carry time-sensitive trust cues.

    6h ago
    apps/web/src/app/admin/_lib/storefrontTrustReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0026_admin_storefront_trust_readiness.ts
  • ShippedREQ-ADM-672

    The storefront trust readiness cockpit must include a trust-class-context checkpoint showing whether at least one live or scheduled class/event can carry service trust cues.

    6h ago
    apps/web/src/app/admin/_lib/storefrontTrustReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0026_admin_storefront_trust_readiness.ts
  • ShippedREQ-ADM-673

    The storefront trust readiness cockpit must include a trust-community-loop checkpoint that blocks on design-contest preview failures and warns on pending moderation or absent optional contests.

    6h ago
    apps/web/src/app/admin/_lib/storefrontTrustReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0026_admin_storefront_trust_readiness.ts
  • ShippedREQ-ADM-674

    The storefront trust readiness cockpit must include a trust-contact checkpoint that blocks on failed hosted-email mailbox provisioning, warns on pending provisioning, and marks active mailbox coverage as ready.

    6h ago
    apps/web/src/app/admin/_lib/storefrontTrustReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0026_admin_storefront_trust_readiness.ts
  • ShippedREQ-ADM-675

    The storefront trust readiness cockpit must include a trust-delivery checkpoint that blocks on dead-lettered webhook deliveries and warns when pending retry backlog exceeds the dashboard threshold.

    6h ago
    apps/web/src/app/admin/_lib/storefrontTrustReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0026_admin_storefront_trust_readiness.ts
  • ShippedREQ-ADM-676

    The storefront trust readiness cockpit must include a trust-data-confidence checkpoint that blocks on Rain migration blocking findings and warns on reconciliation or warning-acceptance states.

    6h ago
    apps/web/src/app/admin/_lib/storefrontTrustReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0026_admin_storefront_trust_readiness.ts
  • ShippedREQ-ADM-677

    The storefront trust readiness cockpit must include a trust-evidence checkpoint combining brand, contact, order, and audit evidence into a final ranked trust signoff item for REQ-ANL-042.

    6h ago
    packages/core/src/storefrontGovernanceReadiness/index.test.ts×3packages/demo-data/src/packs/0026_admin_storefront_trust_readiness.ts×2apps/web/src/app/admin/_lib/storefrontTrustReadiness.ts+2 more
  • ShippedREQ-ADM-678

    /admin must expose a storefront compliance readiness cockpit behind the admin.storefront-compliance-readiness feature flag and include a compliance-identity checkpoint that blocks compliance testing when the store has no configured display…

    6h ago
    packages/core/src/adminStorefrontReadiness/index.test.ts×2packages/core/src/storefrontGovernanceReadiness/index.test.ts×2packages/demo-data/src/packs/0027_admin_storefront_compliance_readiness.ts×2+2 more
  • ShippedREQ-ADM-679

    The storefront compliance readiness cockpit must include a compliance-brand checkpoint showing whether active logo or favicon assets are configured for customer-facing policy context.

    6h ago
    apps/web/src/app/admin/_lib/storefrontComplianceReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0027_admin_storefront_compliance_readiness.ts
  • ShippedREQ-ADM-680

    The storefront compliance readiness cockpit must include a compliance-content checkpoint showing whether at least four storefront theme sections are enabled for policy context.

    6h ago
    apps/web/src/app/admin/_lib/storefrontComplianceReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0027_admin_storefront_compliance_readiness.ts
  • ShippedREQ-ADM-681

    The storefront compliance readiness cockpit must include a compliance-catalog checkpoint showing whether enough inventory records exist to support product-policy review.

    6h ago
    apps/web/src/app/admin/_lib/storefrontComplianceReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0027_admin_storefront_compliance_readiness.ts
  • ShippedREQ-ADM-682

    The storefront compliance readiness cockpit must include a compliance-stock checkpoint showing whether at least three cuttable bolts are available for fulfillment-policy review.

    6h ago
    apps/web/src/app/admin/_lib/storefrontComplianceReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0027_admin_storefront_compliance_readiness.ts
  • ShippedREQ-ADM-683

    The storefront compliance readiness cockpit must include a compliance-stock-motion checkpoint showing whether recent cuts prove inventory audit flow before compliance testing.

    6h ago
    apps/web/src/app/admin/_lib/storefrontComplianceReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0027_admin_storefront_compliance_readiness.ts
  • ShippedREQ-ADM-684

    The storefront compliance readiness cockpit must include a compliance-order-proof checkpoint showing whether a current-month paid order and non-zero minor-unit revenue prove receipt and order-policy evidence.

    6h ago
    apps/web/src/app/admin/_lib/storefrontComplianceReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0027_admin_storefront_compliance_readiness.ts
  • ShippedREQ-ADM-685

    The storefront compliance readiness cockpit must include a compliance-customer-proof checkpoint showing whether fresh customer creation is visible in the last seven days.

    6h ago
    apps/web/src/app/admin/_lib/storefrontComplianceReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0027_admin_storefront_compliance_readiness.ts
  • ShippedREQ-ADM-686

    The storefront compliance readiness cockpit must include a compliance-drop-context checkpoint showing whether at least one live or scheduled drop can test time-bound offer terms.

    6h ago
    apps/web/src/app/admin/_lib/storefrontComplianceReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0027_admin_storefront_compliance_readiness.ts
  • ShippedREQ-ADM-687

    The storefront compliance readiness cockpit must include a compliance-class-context checkpoint showing whether at least one live or scheduled class/event can test event policy context.

    6h ago
    apps/web/src/app/admin/_lib/storefrontComplianceReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0027_admin_storefront_compliance_readiness.ts
  • ShippedREQ-ADM-688

    The storefront compliance readiness cockpit must include a compliance-community-loop checkpoint that blocks on design-contest preview failures and warns on pending moderation or absent optional contests.

    6h ago
    apps/web/src/app/admin/_lib/storefrontComplianceReadiness.tspackages/core/src/adminStorefrontReadiness/index.test.tspackages/core/src/storefrontGovernanceReadiness/index.ts+1 more
  • ShippedREQ-ADM-689

    The storefront compliance readiness cockpit must include a compliance-contact checkpoint that blocks on failed hosted-email mailbox provisioning, warns on pending provisioning, and marks active mailbox coverage as ready.

    6h ago
    apps/web/src/app/admin/_lib/storefrontComplianceReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0027_admin_storefront_compliance_readiness.ts
  • ShippedREQ-ADM-690

    The storefront compliance readiness cockpit must include a compliance-delivery checkpoint that blocks on dead-lettered webhook deliveries and warns when pending retry backlog exceeds the dashboard threshold.

    6h ago
    apps/web/src/app/admin/_lib/storefrontComplianceReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0027_admin_storefront_compliance_readiness.ts
  • ShippedREQ-ADM-691

    The storefront compliance readiness cockpit must include a compliance-data-confidence checkpoint that blocks on Rain migration blocking findings and warns on reconciliation or warning-acceptance states.

    6h ago
    apps/web/src/app/admin/_lib/storefrontComplianceReadiness.tspackages/core/src/storefrontGovernanceReadiness/index.tspackages/demo-data/src/packs/0027_admin_storefront_compliance_readiness.ts
  • ShippedREQ-ADM-692

    The storefront compliance readiness cockpit must include a compliance-evidence checkpoint combining policy, contact, order, and audit evidence into a final ranked compliance signoff item for REQ-ANL-042.

    6h ago
    packages/core/src/adminStorefrontReadiness/index.test.ts×4packages/core/src/storefrontGovernanceReadiness/index.test.ts×3packages/demo-data/src/packs/0027_admin_storefront_compliance_readiness.ts×2+6 more
  • In progressREQ-ADM-693

    /admin must expose a catalog workbench for self-service SKU publishing and editing. The workbench must include searchable/paginated SKU lists, draft/published state, required-field completeness, image/alt-text status, duplicate slug valida…

    packages/core/src/storefrontGovernanceReadiness/index.test.ts×2apps/web/src/app/admin/_lib/storefrontReadinessSuite.test.tspackages/core/src/adminStorefrontReadiness/index.test.ts
  • ShippedREQ-ADM-694

    /admin/settings must replace Tax and Shipping placeholder tabs with launch-blocking configuration surfaces for tax nexus/jurisdictions, pickup availability, shipping regions, shipping methods/rates, handling cutoffs, and return address/con…

    2h ago
    apps/web/src/app/admin/settings/page.tsx×3apps/web/src/app/admin/settings/CheckoutSettingsForms.tsx×2apps/web/src/app/admin/page.tsx+5 more
  • ShippedREQ-ADM-695

    The admin launch/readiness cockpit must distinguish simulated/demo evidence from live commerce evidence. A store cannot be marked MVP-ready unless the cockpit has fresh proof for production checkout, payment webhook delivery, tax/shipping…

    6h ago
    apps/web/src/app/admin/_lib/overnightMvpReadiness.test.ts×2apps/web/src/app/admin/_lib/overnightMvpReadiness.ts×2
  • Not startedREQ-ADM-696

    Admin list and picker surfaces that can exceed 500 rows must use DB-level filtering, search, sorting, and cursor or page pagination instead of loading broad windows and filtering in memory. This applies at minimum to orders, fulfillment, r…

  • ShippedREQ-ADM-697

    The admin shell must expose a complete, feature-flag-aware information architecture for every implemented MVP operating surface. Primary or secondary navigation and the global admin search/command affordance must cover at minimum dashboard…

    10m ago
    apps/web/src/components/AdminNavRail.tsx
  • ShippedREQ-ADM-698

    Unauthenticated requests to /admin/ must resolve to the Clerk sign-in flow or a user-safe authentication-required page without throwing a route-level 500. Signed-in users without an active tenant organization may still see the choose-store…

    6h ago
    apps/web/src/app/admin/layout.tsx
  • ShippedREQ-ADM-699

    Admin publishing workflows that affect the public storefront must include a preview and launch checklist before activation. Catalog products, storefront theme/homepage sections, drops, classes/events, design contests, tax/shipping settings…

    6h ago
    apps/web/src/app/admin/design-contests/[slug]/page.tsxapps/web/src/app/admin/design-contests/_lib/launchChecklist.tsapps/web/src/app/admin/design-contests/actions.ts
  • Not startedREQ-ADM-700

    Public-changing admin forms must expose consistent pre-submit evidence for what will change on the storefront. At minimum the catalog product editor, design-contest manager, drops manager, event manager, theme/brand settings, and support-p…

  • ShippedREQ-ADM-701

    Admin list pages that remain temporarily capped before full DB-level pagination must make the cap visible and safe. Each capped list must show the fetched-row limit, active server-side filters versus client-side filters, the filtered count…

    6h ago
    apps/web/src/app/admin/_components/CappedListDisclosure.tsxapps/web/src/app/admin/_lib/cappedListDisclosure.ts
  • ShippedREQ-ADM-702

    Admin launch readiness must include a per-surface “operator next action” queue for MVP blockers. Each blocker row must name the affected public surface, owning admin page, requirement ID, blocking signal, last evidence timestamp, and the s…

    6h ago
    apps/web/src/app/admin/_lib/overnightMvpReadiness.tsapps/web/src/app/admin/page.tsx
  • Not startedREQ-ADM-703

    Admin public-content editors must expose publish-risk previews for surfaces that feed storefront navigation, feeds, calendars, and Open Graph metadata. Drops, events, design contests, and brand/theme changes must show the affected public U…

  • ShippedREQ-ADM-704

    Admin launch readiness rows must support assignment and acknowledgement for MVP blockers. Each operator next action must be assignable to a staff owner, carry an acknowledgement timestamp/comment, and retain the underlying blocker until fr…

    6h ago
    apps/web/src/app/admin/_lib/overnightMvpReadiness.tsapps/web/src/app/admin/page.tsx
  • Not startedREQ-ADM-705

    Admin launch readiness acknowledgement must persist across sessions and be auditable. Each acknowledgement must store tenant, checkpoint ID, owner, actor, timestamp, comment, prior severity, and current evidence hash, and the cockpit must…

  • ShippedREQ-ADM-706

    Admin launch readiness assignment must escalate stale MVP blockers by owner. The cockpit must group unresolved blocker rows by assigned staff owner, show acknowledgement age against a configurable SLA, identify whether the latest evidence…

    6h ago
    apps/web/src/app/admin/_lib/overnightMvpReadiness.tsapps/web/src/app/admin/page.tsx
  • Not startedREQ-ADM-707

    Admin launch readiness escalation rules must be tenant-configurable. Store operators must be able to configure default owners, acknowledgement SLA minutes, escalation recipients, and stale-evidence thresholds per readiness category without…

  • Not startedREQ-ADM-708

    Admin launch readiness escalation configuration must have a first-class settings surface. The surface must let authorized operators edit per-category default owner, acknowledgement SLA minutes, escalation recipients, stale-evidence thresho…

  • ShippedREQ-ADM-709

    Admin launch readiness must provide an exportable operator handoff packet for unresolved MVP blockers. The packet must include blocker severity, owner, acknowledgement age, evidence hash, affected public route, required admin page, current…

    6h ago
    apps/web/src/app/admin/_lib/overnightMvpReadiness.ts×3apps/web/src/app/admin/page.tsx×2apps/web/src/app/admin/_lib/overnightMvpReadiness.test.ts
  • ShippedREQ-ADM-710

    Admin launch-readiness handoff packets must be filterable by owner, severity, affected route, and stale acknowledgement state before export. The dashboard must show the filtered blocker count, retain the applied filters in the URL, and mak…

    6h ago
    apps/web/src/app/admin/_lib/overnightMvpReadiness.ts×3apps/web/src/app/admin/_lib/overnightMvpReadiness.test.tsapps/web/src/app/admin/page.tsx
  • Not startedREQ-ADM-711

    Admin launch-readiness handoff filters must be shareable and reversible. Every filtered handoff packet URL must include only the active filter params, expose a one-click clear-filters path, preserve unrelated readiness sort or acknowledgem…

  • ShippedREQ-ADM-712

    Admin checkout settings must include a shopper-facing preview for the exact cart quote assumptions a store is about to publish. Before saving tax or fulfillment settings, the surface must show a sample subtotal, selected fulfillment method…

    2h ago
    apps/web/src/app/admin/settings/page.tsxapps/web/src/lib/adminCheckoutSettingsPreview.ts
  • ShippedREQ-ADM-713

    Admin checkout settings preview must include a publish-impact diff before saving. The diff must compare current and proposed tax/fulfillment settings, show which cart quote lines or blockers change, identify the affected storefront routes,…

    6h ago
    apps/web/src/app/admin/settings/CheckoutSettingsForms.tsxapps/web/src/lib/adminCheckoutSettingsPreview.ts
  • ShippedREQ-ADM-714

    Admin checkout settings must warn before losing unsaved publish-impact changes. When an operator edits tax, shipping, pickup, or return-contact inputs and the publish-impact diff changes, tab navigation, browser unload, and form reset path…

    6h ago
    apps/web/src/app/admin/settings/CheckoutSettingsForms.tsx×2apps/web/src/lib/adminCheckoutSettingsPreview.ts
  • ShippedREQ-ADM-715

    Admin checkout settings saves must detect stale publish-impact baselines. If another operator or process changes tax, pickup, shipping, return-contact, or support-contact inputs after the current form loaded, saving must compare against a…

    6h ago
    apps/web/src/lib/adminCheckoutSettingsPreview.ts×4apps/web/src/app/admin/settings/CheckoutSettingsForms.tsxapps/web/src/lib/adminCheckoutSettingsPreview.test.ts
  • ShippedREQ-ADM-716

    Admin checkout settings must provide a conflict-resolution affordance after a stale-baseline save is blocked. The surface must show safe field summaries for the latest published values, the operator draft, changed quote-line labels, affect…

    2h ago
    apps/web/src/lib/adminCheckoutSettingsPreview.ts×3apps/web/src/app/admin/settings/actions.ts×2apps/web/src/app/admin/settings/CheckoutSettingsForms.tsx+1 more
  • ShippedREQ-ADM-717

    Admin checkout readiness must include a payment-provider configuration gate before launch signoff. The gate must show whether hosted-payment mode is configured, whether webhook signatures are verified, whether live/test mode matches the te…

    2h ago
    apps/web/src/app/admin/settings/page.tsx
  • ShippedREQ-ADM-718

    Admin order detail must expose checkout attempt, payment, and fulfillment linkage for web orders. The page must show attempt reference, payment-provider mode, verified payment lifecycle, order-creation retry status, fulfillment queue statu…

    6h ago
    apps/web/src/lib/checkoutOrderLinkage.ts×3apps/web/src/app/admin/orders/[id]/page.tsxapps/web/src/lib/checkoutOrderLinkage.test.ts
  • Not startedREQ-ADM-719

    Admin support must include a checkout attempt lookup that can search by safe attempt reference, order id, or fulfillment id and show the same payment, order-creation, fulfillment, retry, and exception state without exposing provider secret…

  • Not startedREQ-ADM-720

    Admin checkout support lookup must preserve an operator audit trail for every viewed attempt. Searches by safe attempt reference, order id, or fulfillment id must record the staff actor, lookup reason, redacted state summary, copied suppor…

  • Not startedREQ-ADM-721

    Admin checkout launch gates must include sealed-ledger and webhook reconciliation readiness before a store can enable live payment capture. The settings dashboard must show whether the ledger signing secret is configured, whether webhook s…

  • ShippedREQ-ADM-722

    Admin checkout readiness must replace hosted-payment launch checks with embedded-payment checks. The gate must show whether the active Stripe mode has both secret and publishable keys, whether webhook signatures are verified, whether live/…

    48m ago
    apps/web/src/lib/checkoutPaymentProviderReadiness.ts×4apps/web/src/app/admin/platform-purchases/checkout/page.tsx×2apps/web/src/app/admin/settings/page.tsx×2
  • Not startedREQ-ADM-723

    Platform operators must have a product-library console for source connector configuration, run history, record review, duplicate resolution, field conflict review, media approval, source-block investigation, and publishing approved records…

  • Not startedREQ-ADM-724

    Store-owner admin surfaces must include a library-sourced product intake experience in the tenant admin route group. The surface must support barcode lookup, text search, result filtering by vendor/designer/collection/category/color/availa…

  • Not startedREQ-ADM-725

    Product-library update suggestions must appear in tenant admin as a review queue with bulk accept, bulk dismiss, and per-field compare actions. Bulk actions must be limited to non-risky fields by default; price, taxability, unit of sale, S…

REQ-ACTCustomer Account
28 shipped0 wip0 todo100%
  • ShippedREQ-ACT-509

    STOP — No order_line_items table exists in the schema. The "Reorder all" functionality requires per-line SKU + yardage data which is not yet persisted. Adding order line items requires a schema migration — coordination-lane work.

    6h ago
    packages/db/src/migrations/0031_order_line_items.sql×2apps/web/src/app/account/orders/[id]/page.tsxapps/web/src/app/account/profile/ProfileForm.tsx+7 more
  • ShippedREQ-ACT-510

    AUDIT — /account/loyalty already renders a next-tier progress bar (TierProgress component). No change required.

    6h ago
    apps/web/src/app/account/notifications/NotificationPrefsForm.tsxapps/web/src/app/account/notifications/actions.tsapps/web/src/app/account/notifications/page.tsx+3 more
  • ShippedREQ-ACT-511

    (no description)

    6h ago
    apps/web/src/app/account/orders/[id]/actions.tsapps/web/src/app/account/orders/[id]/page.tsxapps/web/src/app/account/wishlist/page.tsx+2 more
  • ShippedREQ-ACT-512

    (no description)

    6h ago
    apps/web/src/app/account/profile/page.tsx×2apps/web/src/app/account/tickets/page.tsxpackages/core/src/customerAutomationReadiness/index.ts+1 more
  • ShippedREQ-ACT-513

    Creates /account/tickets/[id]/page.tsx — an event-ticket detail page. The "Add to calendar" section links to /events/[slug]/calendar.ics (same ICS endpoint used by the storefront). Customer-scoped load via email join prevents cross-custome…

    6h ago
    apps/web/src/app/account/tickets/[id]/page.tsx×2packages/core/src/customerAutomationReadiness/index.tspackages/core/src/customerCommerceReadiness/index.ts
  • ShippedREQ-ACT-508

    /account/notifications notification preference toggles. Displays orderUpdates / dropAlerts / classReminders toggles read from customer_notification_prefs (RLS-scoped SELECT, JS filter by customerId). Toggle persistence deferred to a custom…

    6h ago
    packages/core/src/customerAutomationReadiness/index.tspackages/core/src/customerCommerceReadiness/index.ts
  • ShippedREQ-ACT-507

    /account/profile edit form. Displays Clerk-managed identity (displayName, email, staff badge) as read-only with a link to Clerk account settings. Phone and marketing prefs shown as disabled inputs with 'coming soon' note ??? schema columns…

    6h ago
    packages/core/src/customerAutomationReadiness/index.tspackages/core/src/customerCommerceReadiness/index.ts
  • ShippedREQ-ACT-506

    /account/orders/[id] order detail. Shows status badge + placed timestamp, three summary tiles (total, yardage, savings), line-items placeholder, fulfillment timeline stub with order-placed event, and Stripe PI tender. Customer-scoped: acce…

    6h ago
    packages/db/src/migrations/0023_customer_notification_prefs.sql×2packages/events/src/domain/customers.ts×2apps/web/src/app/account/orders/[id]/page.tsx+5 more
  • ShippedREQ-ACT-505

    /account/orders listing grouped by status (Open: pending/processing/ready_for_pickup; Past: fulfilled/cancelled/refunded). Each row links to /account/orders/[id] with status badge and total.

    6h ago
    apps/web/src/app/account/_components/DashboardWidgets.tsxapps/web/src/app/account/orders/page.tsxpackages/core/src/customerAutomationReadiness/index.ts+1 more
  • ShippedREQ-ACT-504

    /account dashboard widget grid. A four-tile at-a-glance grid anchors the account home above the richer per-domain sections that already lived on this page ??? surfacing Upcoming events, Open orders, Reward balance, and Recent projects so a…

    6h ago
    packages/db/src/migrations/0019_orders.sql×2packages/db/src/repositories/orders.ts×2apps/web/src/app/account/_components/DashboardWidgets.tsx+5 more
  • ShippedREQ-ACT-503

    /account/loyalty build-out. The account loyalty page already rendered a tier-progress bar (REQ-LOYALTY-\*) keyed off lifetime points ??? the REQ-ADM-500-lane spec called for a yardage-keyed variant, but the underlying customer_loyalty sche…

    6h ago
    apps/web/src/app/account/loyalty/page.tsx×2packages/db/src/migrations/0018_customer_purchase_fields.sql×2packages/core/src/customerAutomationReadiness/index.ts+1 more
  • ShippedREQ-ACT-502

    /account/projects read-only share URL. A "Share" button on each valid saved-project card generates a copy-to-clipboard URL of the form <origin>/projects/shared/<projectId>.<token> where token = HMAC-SHA256(STOREFRONT_PROJECT_SHARE_SECRET,…

    2h ago
    apps/web/src/app/account/projects/page.tsx×3apps/web/src/app/(storefront)/projects/shared/[slug]/page.tsxapps/web/src/app/account/_lib/projectShare.test.ts+5 more
  • ShippedREQ-ACT-501

    /account/wishlist bulk actions. A per-card selection checkbox overlay, a "Select all" tri-state header checkbox (indeterminate when a strict subset is selected), and a sticky bottom action bar that appears once any row is selected and disa…

    6h ago
    apps/web/src/app/account/wishlist/actions.ts×3apps/web/src/app/account/wishlist/_components/WishlistBulkList.tsx×2apps/web/src/app/account/wishlist/_components/WishlistCard.tsx+3 more
  • ShippedREQ-ACT-500

    /account/projects saved-project cards carry a "Duplicate" action that writes a new customer_projects row owned by the same signed-in customer, copying the source's pattern/size/slot payload and naming it <original> (copy) ??? or (copy) 2,…

    6h ago
    packages/core/src/customerCommerceReadiness/index.test.ts×9packages/core/src/customerAutomationReadiness/index.test.ts×6packages/core/src/commerceReadiness/index.test.ts×2+6 more
  • ShippedREQ-ACT-514

    /account/orders/[id] renders persisted order_line_items when the orders.line-items flag is enabled (default on, env-overridable via FLAG_ORDERS_LINE_ITEMS). The page still enforces customer scoping through withCustomer; after the order/cus…

    6h ago
    apps/web/src/app/account/loyalty/page.tsxpackages/core/src/customerAutomationReadiness/index.tspackages/core/src/customerCommerceReadiness/index.ts
  • ShippedREQ-ACT-515

    The /account/orders/[id] page must expose a print-friendly receipt action for customers. The page renders a visible Print receipt control after the order header, hides that control from print, and marks the order-line/detail section with a…

    6h ago
    packages/core/src/customerAutomationReadiness/index.tspackages/core/src/customerCommerceReadiness/index.ts
  • ShippedREQ-ACT-516

    The /account/orders/[id] page must expose a copy-order-id affordance in the customer-facing order header so shoppers can paste the exact UUID into support chats without relying on the shortened visible reference.

    6h ago
    packages/core/src/customerAutomationReadiness/index.tspackages/core/src/customerCommerceReadiness/index.ts
  • ShippedREQ-ACT-517

    The /account/orders/[id] page must include a support email handoff link that pre-fills the order id in the message body while avoiding any customer address, payment, or PAN data in the URL.

    6h ago
    packages/core/src/customerAutomationReadiness/index.tspackages/core/src/customerCommerceReadiness/index.ts
  • ShippedREQ-ACT-518

    The /account/orders page must add URL-driven source filter chips for storefront, in-store POS, API, and unknown-source orders, with counts computed from the loaded customer order window and a default all-sources view.

    6h ago
    packages/core/src/customerAutomationReadiness/index.tspackages/core/src/customerCommerceReadiness/index.ts
  • ShippedREQ-ACT-519

    The /account/orders page must render a compact order-status summary strip for open, delivered, and cancelled orders above the grouped order list.

    6h ago
    packages/core/src/customerAutomationReadiness/index.tspackages/core/src/customerCommerceReadiness/index.ts
  • ShippedREQ-ACT-520

    The /account/orders page must expose a copy-visible-order-ids control when one or more orders are visible after filtering, copying one UUID per line for support handoff.

    6h ago
    packages/core/src/customerAutomationReadiness/index.tspackages/core/src/customerCommerceReadiness/index.ts
  • ShippedREQ-ACT-521

    The /account/orders page must expose a print-history control for the currently visible order list, with the control hidden from browser print output.

    6h ago
    packages/core/src/customerAutomationReadiness/index.tspackages/core/src/customerCommerceReadiness/index.ts
  • ShippedREQ-ACT-522

    The /account/orders page must render an active-filter summary when a source filter is active, including a clear link back to the unfiltered order history.

    6h ago
    packages/core/src/customerAutomationReadiness/index.tspackages/core/src/customerCommerceReadiness/index.ts
  • ShippedREQ-ACT-523

    Customer-facing order cards must render human-readable source labels and preserve the raw source value in a title for debugging stale imported/API data without leaking implementation vocabulary into the main label.

    6h ago
    packages/core/src/customerAutomationReadiness/index.tspackages/core/src/customerCommerceReadiness/index.ts
  • ShippedREQ-ACT-524

    /account must expose a copy-account-email affordance beside the shopper email in the profile card.

    6h ago
    packages/core/src/commerceReadiness/index.test.ts×2packages/core/src/customerAutomationReadiness/index.tspackages/core/src/customerCommerceReadiness/index.ts
  • ShippedREQ-ACT-525

    /account must include a compact quick-action rail linking to orders, wishlist, saved projects, and loyalty so returning shoppers can jump to core account tasks without scrolling.

    6h ago
    packages/core/src/customerAutomationReadiness/index.tspackages/core/src/customerCommerceReadiness/index.ts
  • ShippedREQ-ACT-526

    /account/orders/[id] must expose a copy-payment-reference affordance for the Stripe PaymentIntent id when an order has one.

    6h ago
    packages/core/src/customerAutomationReadiness/index.tspackages/core/src/customerCommerceReadiness/index.ts
  • ShippedREQ-ACT-527

    /account/orders must include a visible total-spend summary tile for the currently filtered order history.

    6h ago
    packages/core/src/commerceReadiness/index.test.tspackages/core/src/customerAutomationReadiness/index.test.tspackages/core/src/customerAutomationReadiness/index.ts+2 more
REQ-JOBBackground Jobs
38 shipped0 wip7 todo84%
  • ShippedREQ-JOB-502

    Outbox-relay delivery-semantics tests (apps/jobs/src/workers/outbox-relay.test.ts). Seven new tests covering: (a) at-least-once ??? a seeded row re-delivers across a simulated transaction rollback because markPublished is scoped to the out…

    6h ago
    apps/jobs/src/registry/retryPolicy.ts×2apps/jobs/src/registry/retryPolicy.test.tsapps/jobs/src/workers/outbox-relay.test.ts+2 more
  • ShippedREQ-JOB-501

    Typed job registry for apps/jobs: defineJob<TOptions, TResult>(???) produces a frozen JobDefinition; runJob(job, options, { logger, tags? }) is the single dispatch entry that emits structured starting / finished / failed log records (with…

    6h ago
    apps/jobs/src/workers/emailJob.ts×2apps/jobs/src/workers/payoutJob.ts×2apps/jobs/src/registry/defineJob.test.ts+9 more
  • ShippedREQ-JOB-505

    Payout relay job stub (apps/jobs/src/workers/payoutJob.ts). schedulePayoutJob registered via the typed registry (REQ-JOB-501). PayoutJobOptions: influencerId: string, periodStart: string, periodEnd: string, tenantId: string, amountMinorUni…

    6h ago
    apps/jobs/src/workers/payoutJob.ts×2packages/events/src/registry.ts×2apps/jobs/src/workers/payoutJob.test.ts+4 more
  • ShippedREQ-JOB-504

    Email notification job stub (apps/jobs/src/workers/emailJob.ts). sendEmailJob registered via the typed registry (REQ-JOB-501). EmailJobOptions: templateKey: string, recipientEmail: string, tenantId: string, mergeData: Record<string, unknow…

    6h ago
    apps/jobs/src/workers/emailJob.ts×2apps/pos/src/flow/receiptDelivery.ts×2packages/events/src/registry.ts×2+7 more
  • ShippedREQ-JOB-503

    Pure retry-policy module for the outbox relay (apps/jobs/src/registry/retryPolicy.ts). decideRetry takes the event's attemptCount, the per-sink outcomes, the caps, the clock and the jitter as explicit inputs and returns a tagged RetryDecis…

    6h ago
    apps/jobs/src/registry/retryPolicy.test.tsapps/jobs/src/registry/retryPolicy.tspackages/core/src/customerAutomationReadiness/index.ts+1 more
  • ShippedREQ-JOB-506

    CSV import job stub (apps/jobs/src/workers/csvImportJob.ts) via the typed registry (REQ-JOB-501). CsvImportJobOptions: csvS3Key: string, importType: "skus" | "bolts" | "suppliers", tenantId: string, requestedByUserId: string, db: Db, logge…

    6h ago
    apps/jobs/src/workers/csvImportJob.ts×2apps/jobs/src/workers/csvImportJob.test.tspackages/core/src/customerAutomationReadiness/index.ts+2 more
  • ShippedREQ-JOB-507

    SKU alt-text generation job stub (apps/jobs/src/workers/altTextJob.ts). generateAltTextJob via typed registry (REQ-JOB-501). Stub callRunpodAltText(skuId, imageUrl) returns hardcoded alt-text string (real Runpod SDK wires in coordination l…

    6h ago
    apps/jobs/src/workers/altTextJob.ts×2apps/jobs/src/workers/altTextJob.test.tspackages/core/src/customerAutomationReadiness/index.ts+1 more
  • ShippedREQ-JOB-508

    Abandoned-cart recovery job stub (apps/jobs/src/workers/abandonedCartJob.ts). abandonedCartRecoveryJob via typed registry. Stub cartsRepo.isAbandoned(tenantId, cartId, windowMs) returns true unconditionally. Logs abandoned_cart.recovery.st…

    6h ago
    apps/jobs/src/workers/abandonedCartJob.ts×2apps/jobs/src/workers/abandonedCartJob.test.tspackages/core/src/customerAutomationReadiness/index.ts+1 more
  • ShippedREQ-JOB-509

    Inventory drift-detection job (apps/jobs/src/workers/inventoryDriftJob.ts). Stub boltRepo.listBolts(tenantId) returns two records (one with deltaYardageSixteenths=-4n). Computes deltaYardageSixteenths = local - server for each bolt (bigint…

    6h ago
    apps/jobs/src/workers/inventoryDriftJob.ts×2apps/jobs/src/workers/inventoryDriftJob.test.tspackages/core/src/customerAutomationReadiness/index.ts+1 more
  • ShippedREQ-JOB-514

    Gift card issuance job stub (apps/jobs/src/workers/giftCardIssuanceJob.ts). giftCardIssuanceJob via typed registry. initialBalanceMinor: bigint (guard > 0n). buildGiftCardCode(orderId): string -- pure+deterministic: strips UUID hyphens, fi…

    6h ago
    apps/jobs/src/workers/giftCardIssuanceJob.ts×2apps/jobs/src/workers/giftCardIssuanceJob.test.tspackages/core/src/customerAutomationReadiness/index.ts+1 more
  • ShippedREQ-JOB-515

    Stripe payout confirmation poller job stub (apps/jobs/src/workers/payoutConfirmJob.ts). Stub returns status 'paid'. Outbox: 'payout.confirmed@1'. 5 unit tests.

    6h ago
    packages/events/src/registry.ts×2apps/jobs/src/workers/payoutConfirmJob.test.tsapps/jobs/src/workers/payoutConfirmJob.ts+4 more
  • ShippedREQ-JOB-516

    Low-stock alert job stub (apps/jobs/src/workers/lowStockAlertJob.ts). thresholdSixteenths: bigint. Stub returns 2 bolts. Outbox per bolt. 6 unit tests.

    6h ago
    apps/jobs/src/workers/lowStockAlertJob.test.tsapps/jobs/src/workers/lowStockAlertJob.tspackages/core/src/customerAutomationReadiness/index.ts+2 more
  • ShippedREQ-JOB-517

    Drop launch notification fan-out job stub (apps/jobs/src/workers/dropLaunchJob.ts). Stub returns 3 customers. Outbox 'drop.launch_notified@1' per customer. 6 unit tests.

    6h ago
    packages/events/src/registry.ts×2apps/jobs/src/workers/dropLaunchJob.test.tsapps/jobs/src/workers/dropLaunchJob.ts+4 more
  • ShippedREQ-JOB-518

    Gift-card expiry warning job stub (apps/jobs/src/workers/giftCardExpiryJob.ts). balanceMinorStr decimal string. Stub returns 2 cards. 6 unit tests.

    6h ago
    apps/jobs/src/workers/giftCardExpiryReminderJob.ts×2apps/jobs/src/workers/giftCardExpiryJob.test.tsapps/jobs/src/workers/giftCardExpiryJob.ts+3 more
  • ShippedREQ-JOB-519

    Coupon expiry cleanup job stub (apps/jobs/src/workers/couponExpiryJob.ts). Stub deactivates 2 campaigns. 5 unit tests.

    6h ago
    apps/jobs/src/workers/couponExpiryJob.test.tsapps/jobs/src/workers/couponExpiryJob.tspackages/core/src/customerAutomationReadiness/index.ts+1 more
  • ShippedREQ-JOB-520

    Nightly POS reconciliation job stub (apps/jobs/src/workers/posReconciliationJob.ts). netMinor = totalSales - totalRefunds bigint. netMinorStr decimal. 6 unit tests.

    6h ago
    apps/jobs/src/workers/posReconciliationJob.test.tsapps/jobs/src/workers/posReconciliationJob.tspackages/core/src/customerAutomationReadiness/index.ts+2 more
  • ShippedREQ-JOB-521

    Loyalty tier promotion job stub (apps/jobs/src/workers/loyaltyTierJob.ts). Pure evaluateTier(lifetimeSpendMinor): LoyaltyTier with bronze/silver/gold/platinum bigint boundaries. 11 unit tests.

    6h ago
    apps/jobs/src/workers/loyaltyTierJob.test.ts×2apps/jobs/src/workers/loyaltyTierJob.tspackages/core/src/customerAutomationReadiness/index.ts+1 more
  • ShippedREQ-JOB-522

    Order confirmation email job stub (apps/jobs/src/workers/orderConfirmationEmailJob.ts). orderTotalStr decimal. templateKey 'order_confirmation'. Reuses emailQueued event. 5 unit tests.

    6h ago
    apps/jobs/src/workers/orderConfirmationEmailJob.test.tsapps/jobs/src/workers/orderConfirmationEmailJob.tspackages/core/src/customerAutomationReadiness/index.ts+1 more
  • ShippedREQ-JOB-523

    Stale held-cart cleanup job stub (apps/jobs/src/workers/heldCartCleanupJob.ts). Stub purges 2 stale hold IDs. 5 unit tests.

    6h ago
    apps/jobs/src/workers/heldCartCleanupJob.test.tsapps/jobs/src/workers/heldCartCleanupJob.tspackages/core/src/customerAutomationReadiness/index.ts+1 more
  • ShippedREQ-JOB-524

    Webhook retry delivery job stub (apps/jobs/src/workers/webhookRetryJob.ts). Stub httpClient.post (real HTTP requires RFC). Logs started/dispatched/completed. 6 unit tests.

    6h ago
    apps/jobs/src/workers/webhookRetryJob.test.tsapps/jobs/src/workers/webhookRetryJob.tspackages/core/src/customerAutomationReadiness/index.ts+1 more
  • ShippedREQ-JOB-525

    Lane-C job stubs emit outbox rows using @bolttocart/events catalog values. customer.merged@1 registered end-to-end. bolt.nfc_written@1 includes optional yardageSixteenthsStr for bulk NFC.

    6h ago
    packages/core/src/customerAutomationReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.ts
  • ShippedREQ-JOB-526

    Drop-waitlist notification worker stub (apps/jobs/src/workers/dropWaitlistNotifyJob.ts). claimWaitlistSlots clamped to min(n, 2), lifecycle logs, outbox 'drop.waitlist_notified@1'.

    6h ago
    packages/core/src/operationalTelemetryReadiness/index.test.ts×4apps/jobs/src/workers/dropReminderJob.tsapps/jobs/src/workers/dropWaitlistNotifyJob.test.ts+3 more
  • ShippedREQ-JOB-527

    Loyalty points statement worker stub (apps/jobs/src/workers/loyaltyStatementJob.ts). Validates periodMonth (YYYY-MM), logs lifecycle with memberCount, re-throws on total failure.

    6h ago
    packages/core/src/operationalTelemetryReadiness/index.test.ts×2apps/jobs/src/workers/loyaltyStatementJob.test.tsapps/jobs/src/workers/loyaltyStatementJob.ts+3 more
  • ShippedREQ-JOB-513

    Customer reactivation email job stub (apps/jobs/src/workers/customerReactivationJob.ts). customerReactivationJob via typed registry. Stub returns 2 synthetic customers (real: marketing_opt_in=true per REQ-ARC-514). Stub queueReactivationEm…

    6h ago
    apps/jobs/src/workers/customerReactivationJob.ts×2apps/jobs/src/workers/customerReactivationJob.test.tspackages/core/src/customerAutomationReadiness/index.ts+1 more
  • ShippedREQ-JOB-512

    Shift summary report job stub (apps/jobs/src/workers/shiftSummaryJob.ts). shiftSummaryJob via typed registry. Server-side half of REQ-POS-007. All financial fields bigint. Outbox: "pos.shift_summary_generated@1". 5 unit tests. pnpm --filte…

    6h ago
    apps/jobs/src/workers/shiftSummaryJob.ts×2apps/jobs/src/workers/shiftSummaryJob.test.tspackages/core/src/customerAutomationReadiness/index.ts+1 more
  • ShippedREQ-JOB-511

    Loyalty points accrual job stub (apps/jobs/src/workers/loyaltyAccrualJob.ts). loyaltyAccrualJob via typed registry. pointsEarned = (orderTotalMinor x rateNumerator) / rateDenominator -- bigint integer division; no floats. Skip paths: alrea…

    6h ago
    apps/jobs/src/workers/loyaltyAccrualJob.ts×2apps/jobs/src/workers/loyaltyAccrualJob.test.tspackages/core/src/customerAutomationReadiness/index.ts+1 more
  • ShippedREQ-JOB-510

    Drop-queue admission worker stub (apps/jobs/src/workers/dropQueueJob.ts). dropQueueAdmissionJob via typed registry. Stub claimNextQueueBatch(tenantId, dropId, batchSize) returns min(batchSize, 2) synthetic QueueSlot records (real uses SELE…

    6h ago
    apps/jobs/src/workers/dropQueueJob.ts×2apps/jobs/src/workers/dropQueueJob.test.tspackages/core/src/customerAutomationReadiness/index.ts+1 more
  • ShippedREQ-JOB-528

    Order-refund email worker (apps/jobs/src/workers/orderRefundEmailJob.ts). runOrderRefundEmail consumes the existing refund.completed@1 domain event (REQ-ARC-515a ? catalog entry pre-exists; no packages/events edits) and queues a email.queu…

    6h ago
    apps/jobs/src/workers/orderRefundEmailJob.test.ts×2apps/jobs/src/workers/orderRefundEmailJob.ts×2packages/core/src/customerAutomationReadiness/index.ts+1 more
  • ShippedREQ-JOB-529

    14-day gift-card expiry reminder worker (apps/jobs/src/workers/giftCardExpiryReminderJob.ts). runGiftCardExpiryReminder buckets each GiftCardForReminder against a frozen now into "expired" (delta ? 0), "expiring-soon" (0 < delta ? windowDa…

    6h ago
    apps/jobs/src/workers/giftCardExpiryReminderJob.test.ts×2apps/jobs/src/workers/giftCardExpiryReminderJob.ts×2packages/core/src/customerAutomationReadiness/index.ts+1 more
  • ShippedREQ-JOB-530

    Loyalty weekly-recap worker (apps/jobs/src/workers/loyaltyWeeklyRecapJob.ts). Sibling to the monthly statement (REQ-JOB-527 loyaltyStatementJob) ? reuses listActiveLoyaltyMembers and the email.queued@1 outbox sink, but runs on a weekly cad…

    6h ago
    apps/jobs/src/workers/loyaltyWeeklyRecapJob.ts×2apps/jobs/src/workers/loyaltyWeeklyRecapJob.test.tspackages/core/src/customerAutomationReadiness/index.ts+1 more
  • ShippedREQ-JOB-531

    24h drop-opening reminder worker (apps/jobs/src/workers/dropReminderJob.ts). runDropReminder queues "Tomorrow: <drop name> opens" emails for every waitlisted shopper when the drop's startAt falls within [now, now + DROP_REMINDER_WINDOW_MS]…

    6h ago
    apps/jobs/src/workers/dropReminderJob.test.ts×2apps/jobs/src/workers/dropReminderJob.ts×2packages/core/src/customerAutomationReadiness/index.ts+1 more
  • ShippedREQ-JOB-532

    Post-fulfillment review-request email worker (apps/jobs/src/workers/reviewRequestEmailJob.ts). runReviewRequestEmail buckets each FulfilledOrderForReview against a frozen now into "too-early" (age < delayDays), "eligible" (age == delayDays…

    6h ago
    apps/jobs/src/workers/reviewRequestEmailJob.test.ts×2apps/jobs/src/workers/reviewRequestEmailJob.ts×2packages/core/src/customerAutomationReadiness/index.ts+1 more
  • ShippedREQ-JOB-533

    Abandoned-wishlist nudge worker (apps/jobs/src/workers/abandonedWishlistJob.ts). runAbandonedWishlist classifies each WishlistCandidate via pure classifyWishlistCandidate into "has-active-cart" (short-circuit -- never nudge a mid-session s…

    6h ago
    apps/jobs/src/workers/abandonedWishlistJob.test.ts×3apps/jobs/src/workers/abandonedWishlistJob.ts×2packages/core/src/customerAutomationReadiness/index.ts+1 more
  • ShippedREQ-JOB-534

    Class reminder worker (apps/jobs/src/workers/classReminderJob.ts). runClassReminder classifies each ClassEventForReminder via pure classifyClassEvent into "already-started" (startAt < now), "too-early" (startAt > now + windowMs), or "eligi…

    6h ago
    apps/jobs/src/workers/classReminderJob.test.ts×4apps/jobs/src/workers/classReminderJob.ts×2packages/core/src/customerAutomationReadiness/index.ts+1 more
  • ShippedREQ-JOB-535

    Inventory-zero alert worker (apps/jobs/src/workers/inventoryZeroAlertJob.ts). runInventoryZeroAlert compares each SkuInventorySnapshot via pure classifyInventoryTransition into "crossed-to-zero" (previousYardage16ths > 0n AND currentYardag…

    6h ago
    apps/jobs/src/workers/inventoryZeroAlertJob.test.ts×3apps/jobs/src/workers/inventoryZeroAlertJob.ts×2packages/core/src/customerAutomationReadiness/index.ts+1 more
  • ShippedREQ-JOB-536

    POS shift-close email worker (apps/jobs/src/workers/posShiftCloseEmailJob.ts). runPosShiftCloseEmail emails the PDF shift-summary digest to the tenant-configured shift-close distribution list when a shift closes. Per recipient it queues on…

    6h ago
    apps/jobs/src/workers/posShiftCloseEmailJob.test.ts×2apps/jobs/src/workers/posShiftCloseEmailJob.ts×2packages/core/src/customerAutomationReadiness/index.ts+1 more
  • ShippedREQ-JOB-537

    Dev-only structured JSON-lines webhook sink (apps/jobs/src/sinks/structuredWebhookSink.ts). structuredWebhookSink appends one JSON record per DeliverableEvent so local runs and golden-file integration tests can snapshot webhook payloads de…

    6h ago
    apps/jobs/src/sinks/structuredWebhookSink.test.ts×3apps/jobs/src/sinks/structuredWebhookSink.tspackages/core/src/customerAutomationReadiness/index.ts+1 more
  • ShippedREQ-JOB-538

    Jobs must include a pure dead-letter digest builder for outbox relay failures. Given dead-lettered event rows, it groups by event type and sink, counts permanent versus retry-exhausted failures, includes bounded sample event IDs and last-a…

    6h ago
    packages/core/src/customerAutomationReadiness/index.test.ts×3packages/core/src/revenueOperationsReadiness/index.test.ts×3apps/jobs/src/registry/deadLetterDigest.test.ts+5 more
  • Not startedREQ-JOB-539

    Product-library source connectors must run as background jobs with deterministic run IDs, source configuration version, parser version, rate-limit policy, retry policy, checkpoint cursor, row counts by stage, warnings, failures, and dead-l…

  • Not startedREQ-JOB-540

    The Moda connector must not attempt to bypass access controls, paywalls, anti-bot challenges, or account restrictions. If shop.modafabrics.com requires authentication, JavaScript challenge completion, or wholesale-account access, the conne…

  • Not startedREQ-JOB-541

    Source scraping must obey the configured legal/compliance policy for each wholesaler, including robots.txt or contractual restrictions, allowed paths, request rates, user-agent identification, cache TTLs, and takedown/removal instructions.…

  • Not startedREQ-JOB-542

    Product-library ingestion must be idempotent by source record identity and content hash. Re-running a crawl over the same Moda category or product page must update last-seen timestamps and version evidence without creating duplicate librar…

  • Not startedREQ-JOB-543

    Product-library parsing must produce machine-checkable extraction diagnostics for each product page: required fields present, optional fields present, field confidence, unmapped labels, malformed money, malformed UPC/GTIN, missing image, d…

  • Not startedREQ-JOB-544

    Product-library media ingestion must fetch, hash, scan, and process images asynchronously from product metadata ingestion. Failed image ingestion must not block the normalized product record, but tenant-facing acceptance must show image st…

  • Not startedREQ-JOB-545

    Product-library connectors must support dry-run mode against a bounded source URL set. Dry runs must produce normalized previews, diff summaries, rate-limit estimates, and parser diagnostics without publishing records to tenant-facing sear…

REQ-HWHardware Adapters
12 shipped0 wip0 todo100%
  • ShippedREQ-HW-500

    POS hardware capability contracts + no-op/fake stubs (apps/pos/src/hw/) supporting REQ-POS-024 / REQ-ONB-030 / REQ-ONB-031. Feature code programs against three injectable interfaces ??? CashDrawer, ReceiptPrinter, BarcodeScanner ??? aggreg…

    6h ago
    packages/core/src/customerAutomationReadiness/index.test.ts×2apps/pos/src/hw/barcodeScanner.tsapps/pos/src/hw/cashDrawer.ts+7 more
  • ShippedREQ-HW-501

    ESC/POS receipt printer adapter extension (apps/pos/src/hw/types.ts, apps/pos/src/hw/receiptPrinter.ts). Extends the ReceiptPrinter interface (REQ-HW-500) with printText(lines: string): Promise<void> (sends a pre-formatted multi-line strin…

    6h ago
    apps/pos/src/hw/receiptPrinter.ts×2apps/pos/src/hw/receiptPrinterExt.test.ts×2apps/pos/src/hw/types.ts×2+2 more
  • ShippedREQ-HW-502

    CashDrawer.lastOpenedAt() extension (apps/pos/src/hw/types.ts, apps/pos/src/hw/cashDrawer.ts). Adds lastOpenedAt(): Date | null to the CashDrawer interface. createNoopCashDrawer() returns null. createFakeCashDrawer() records new Date() of…

    6h ago
    apps/pos/src/hw/cashDrawerExt.test.ts×3apps/pos/src/hw/cashDrawer.ts×2apps/pos/src/hw/types.ts+1 more
  • ShippedREQ-HW-503

    ZPL label-printer adapter + buildBoltLabel ZPL template (apps/pos/src/hw/labelPrinter.ts). LabelPrinter interface: printZpl(zpl: string): Promise<LabelPrintResult>. buildBoltLabel pure ZPL-II builder: Code128 barcode + yardage via bigint a…

    6h ago
    apps/pos/src/hw/labelPrinter.test.tsapps/pos/src/hw/labelPrinter.tspackages/core/src/customerAutomationReadiness/index.ts
  • ShippedREQ-HW-505

    Physical scale adapter + buildYardageSuggestionFromWeight (apps/pos/src/hw/physicalScale.ts). REQ-HDW-002 optional peripheral. ScaleReading: { weightOunces: bigint; stable: boolean }. buildYardageSuggestionFromWeight(weightOunces, weightPe…

    6h ago
    apps/pos/src/hw/physicalScale.test.tsapps/pos/src/hw/physicalScale.tspackages/core/src/customerAutomationReadiness/index.ts
  • ShippedREQ-HW-506

    Scanner read-with-timeout policy (apps/pos/src/hw/scannerTimeout.ts) exports SCANNER_DEFAULT_TIMEOUT_MS = 30_000, withScannerTimeout(scanner, timeoutMs) returning string | null without throwing on timeout via a cancellation token race, and…

    6h ago
    apps/pos/src/hw/hardwareTelemetry.test.tsapps/pos/src/hw/hardwareTelemetry.tsapps/pos/src/hw/scannerTimeout.test.ts+1 more
  • ShippedREQ-HW-507

    Hardware health-check module (apps/pos/src/hw/hardwareHealthCheck.ts). runHardwareHealthCheck returns readonly PeripheralStatus[] (printer+scanner+drawer+nfc+scale). NFC: healthy when both reader.isReady() AND writer.isReady(). 9 unit test…

    6h ago
    apps/pos/src/components/HardwareHealthStatus.test.ts×2apps/pos/src/components/HardwareHealthStatus.tsapps/pos/src/hw/hardwareHealthCheck.test.ts+2 more
  • ShippedREQ-HW-504

    Customer-facing display adapter + buildPosDisplayPayload helper (apps/pos/src/hw/customerDisplay.ts). REQ-HDW-002 optional peripheral. CustomerDisplayPayload: { cartTotalMinor: bigint; itemCount: number; currency: string; loyaltyPointsEarn…

    6h ago
    apps/pos/src/hw/customerDisplay.test.tsapps/pos/src/hw/customerDisplay.tspackages/core/src/customerAutomationReadiness/index.ts
  • ShippedREQ-HW-509

    Barcode-scanner adapter scaffold (apps/pos/src/hardware/scanner/ScannerAdapter.ts). Typed ScannerAdapter interface the POS critical-path programs against — scan(): Promise<Code>, onScan(listener): unsubscribe, isReady(). Code carries value…

    6h ago
    apps/pos/src/components/ScannerAdapterStatus.test.ts×2apps/pos/src/hardware/scanner/ScannerAdapter.ts×2apps/pos/src/components/ScannerAdapterStatus.ts+2 more
  • ShippedREQ-HW-510

    Receipt-printer adapter scaffold (apps/pos/src/hardware/printer/PrinterAdapter.ts). Typed PrinterAdapter interface with printLines(lines: readonly string[]): Promise<void> (feeds output of REQ-POS-550's buildReceiptLines), openDrawer(): Pr…

    6h ago
    apps/pos/src/components/PrinterAdapterStatus.test.tsapps/pos/src/components/PrinterAdapterStatus.tsapps/pos/src/hardware/drawer/DrawerAdapter.ts+3 more
  • ShippedREQ-HW-511

    Cash-drawer adapter scaffold (apps/pos/src/hardware/drawer/DrawerAdapter.ts). Typed DrawerAdapter with open(): Promise<void> (fires the drawer-kick solenoid — resolves on pulse-ack, not on re-close), status(): Promise<DrawerStatus> ("open"…

    6h ago
    apps/pos/src/components/DrawerAdapterStatus.test.ts×2apps/pos/src/components/DrawerAdapterStatus.tsapps/pos/src/hardware/drawer/DrawerAdapter.test.ts+2 more
  • ShippedREQ-HW-512

    NFC-reader adapter scaffold (apps/pos/src/hardware/nfcReader/NfcReaderAdapter.ts). Typed NfcReaderAdapter interface with read(): Promise<NfcTagPayload> (waits for a tag and resolves its NDEF payload), write(payload): Promise<void> (writes…

    6h ago
    packages/core/src/customerAutomationReadiness/index.test.ts×3apps/pos/src/components/NfcReaderAdapterStatus.test.tsapps/pos/src/components/NfcReaderAdapterStatus.ts+2 more
REQ-NFCNFC Workflows
8 shipped0 wip0 todo100%
  • ShippedREQ-NFC-500

    NFC tag-reader contract + stub (apps/pos/src/hw/nfcReader.ts). NfcReader interface: read(): Promise<NfcPayload>, isReady(): boolean. NfcPayload = { rawText: string; type: "ndef-text" | "ndef-uri" | "unknown" }. NfcReadError extends Error,…

    6h ago
    apps/pos/src/hw/nfcWriter.ts×3packages/core/src/customerAutomationReadiness/index.test.ts×2apps/pos/src/hardware/nfcReader/NfcReaderAdapter.ts+4 more
  • ShippedREQ-NFC-501

    NFC tag-writer contract + buildBoltNfcPayload helper + fake writer (apps/pos/src/hw/nfcWriter.ts). NfcTagWriter interface: write(payload: NfcWritePayload): Promise<NfcWriteResult>, isReady(): boolean. NfcWritePayload: { text: string; tagId…

    6h ago
    apps/pos/src/hw/nfcWriter.test.tsapps/pos/src/hw/nfcWriter.tspackages/core/src/customerAutomationReadiness/index.ts
  • ShippedREQ-NFC-502

    NFC batch-scan collector (apps/pos/src/scan/nfcBatchCollector.ts). Pure state machine for accumulating NFC bolt scans during inventory receiving. CollectedScan: { boltId: BoltId, yardageSixteenths: bigint | null, scannedAt: string }. NfcBa…

    6h ago
    packages/core/src/customerAutomationReadiness/index.test.ts×3apps/pos/src/scan/nfcBatchCollector.test.tsapps/pos/src/scan/nfcBatchCollector.ts+1 more
  • ShippedREQ-NFC-503

    NFC tag validation module (apps/pos/src/scan/nfcTagValidator.ts). validateNfcTag(payload, opts) returns NfcTagValidationResult ok|wrong-type|empty-text|not-a-bolt|malformed. Delegates to parseNfcTagAsBoltScan. 9 unit tests.

    6h ago
    packages/core/src/posWorkbenchCommandReadiness/index.test.ts×6packages/core/src/posWorkbenchCommandReadiness/index.ts×2apps/pos/src/scan/nfcBatchWriteSession.test.ts+3 more
  • ShippedREQ-NFC-504

    NFC write-on-receive flow (apps/pos/src/flow/nfcWriteFlow.ts). States: idle|confirming|writing|complete|error. beginNfcWrite (non-empty boltId guard), confirmWrite, receivedWriteResult, cancelWrite to idle, retryWrite error to confirming.…

    6h ago
    packages/core/src/posWorkbenchCommandReadiness/index.test.ts×4packages/core/src/posWorkbenchCommandReadiness/index.ts×2apps/pos/src/flow/nfcWriteFlow.test.ts+1 more
  • ShippedREQ-NFC-506

    NFC bolt-tag URI payload builder (apps/pos/src/nfc/buildBoltTagPayload.ts). buildBoltTagPayload(boltId: BoltId): string emits the canonical NDEF URI btc://bolt/<lowercased-uuid> that the REQ-HW-512 NFC-reader writes onto fabric-bolt sticke…

    6h ago
    apps/pos/src/components/BoltTagPayloadStatus.tsapps/pos/src/hardware/nfcReader/NfcReaderAdapter.tsapps/pos/src/nfc/buildBoltTagPayload.ts+1 more
  • ShippedREQ-NFC-507

    NFC drop-tag URI payload builder (apps/pos/src/nfc/buildDropTagPayload.ts). buildDropTagPayload(slug: string): string emits btc://drop/<slug> for shelf-edge / hangtag / event-signage NFC stickers that shoppers tap to land on a drop page. S…

    6h ago
    apps/pos/src/components/DropTagPayloadStatus.test.tsapps/pos/src/components/DropTagPayloadStatus.tsapps/pos/src/hardware/nfcReader/NfcReaderAdapter.ts+1 more
  • ShippedREQ-NFC-508

    NFC bulk-write diff (apps/pos/src/nfc/bulkWriteDiff.ts). bulkWriteDiff(expected, current, options?): readonly BulkWriteOp[] computes the minimal set of writes to reconcile a set of physical tags (current, what the reader just observed) wit…

    6h ago
    apps/pos/src/components/BulkWriteDiffStatus.test.ts×2apps/pos/src/components/BulkWriteDiffStatus.tsapps/pos/src/nfc/buildDropTagPayload.ts+1 more
REQ-DBDatabase Migrations
6 shipped0 wip0 todo100%
  • ShippedREQ-DB-565

    Drizzle migration 0034: create return_authorizations + rma_line_items tables (unblocks REQ-FUL-505). The RMA path had no persistent row at all before this migration — rg return_authorization|rma_line_item|\brma\b across packages/ found not…

    6h ago
    packages/core/src/platformAssuranceReadiness/index.test.ts×3packages/db/src/schema/returnAuthorizations.ts×3packages/testing/src/returnAuthorizations.test.ts×3+4 more
  • ShippedREQ-DB-564

    Drizzle migration 0033: add pinned boolean NOT NULL DEFAULT false to store_notes (unblocks REQ-ADM-545). Legacy rows take the default; no data migration needed. Partial index (tenant_id, pinned) WHERE pinned = true so the dashboard's "pinn…

    6h ago
    packages/testing/src/storeNotesPinned.test.ts×3packages/db/src/migrations/0033_store_notes_pinned.sql×2packages/core/src/platformAssuranceReadiness/index.ts+2 more
  • ShippedREQ-DB-562

    Drizzle migration 0031: add order_line_items table + one-shot legacy backfill helper (unblocks REQ-ACT-509). Columns: id uuid PK, tenant_id uuid FK�??stores, order_id uuid FK�??orders ON DELETE CASCADE, sku_id uuid FK�??skus (nullable �??…

    6h ago
    packages/testing/src/orderLineItems.test.ts×3packages/db/src/migrations/0031_order_line_items.sql×2packages/db/src/repositories/orderLineItems.ts×2+4 more
  • ShippedREQ-DB-561

    Drizzle migration 0030: add contacts table + contact_source enum (unblocks REQ-CRM-546). Columns: id uuid PK, tenant_id uuid FK�??stores, display_name text NOT NULL, email text (nullable), phone text (nullable), source contact_source enum…

    6h ago
    packages/testing/src/contacts.test.ts×3packages/db/src/migrations/0030_contacts.sql×2packages/db/src/schema/contacts.ts×2+2 more
  • ShippedREQ-DB-560

    Drizzle migration 0029: add purchase_orders and expected_bolts tables (unblocks REQ-ADM-538). purchase_orders: id uuid PK, tenant_id uuid FK�??stores, supplier_id uuid FK�??suppliers, po_number text NOT NULL, status purchase_order_status e…

    6h ago
    packages/db/src/schema/purchaseOrders.ts×3packages/testing/src/purchaseOrders.test.ts×3packages/db/src/migrations/0029_purchase_orders.sql×2+2 more
  • ShippedREQ-DB-563

    Drizzle migration 0032: expand customer_segments from placeholder to real persistence + evaluation model (unblocks REQ-CRM-502). ADDITIVE per non-negotiable §2 �?? existing rules column stays in place, with a future contract migration slat…

    6h ago
    packages/db/src/migrations/0032_customer_segments_rule_json.sql×4packages/db/src/schema/customerSegments.ts×3packages/testing/src/customerSegmentsMembership.test.ts×3+2 more
REQ-PWAPWA & Installability
13 shipped0 wip0 todo100%
  • ShippedREQ-PWA-504

    id: "/" field on apps/web/src/app/manifest.ts. Locks the installed PWA identity so future start_url changes don't cause browsers to treat the app as a new install. ManifestExtended already accommodates the field via the existing MetadataRo…

    6h ago
    packages/core/src/engagementExperienceReadiness/index.tspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-PWA-506

    categories: ["shopping","lifestyle"] on apps/web/src/app/manifest.ts. Replaces the previous ["shopping","retail","business"] triple. "shopping" is the W3C-registered canonical e-commerce token; "lifestyle" best captures the crafting / quil…

    6h ago
    apps/web/src/app/manifest.tspackages/core/src/engagementExperienceReadiness/index.tspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-PWA-505

    display_override: ["window-controls-overlay","standalone","browser"] on apps/web/src/app/manifest.ts ??? extends the previous ["minimal-ui","browser"] pair with "window-controls-overlay" (first preference, paints the app's title-bar area w…

    6h ago
    apps/web/src/app/manifest.tspackages/core/src/engagementExperienceReadiness/index.tspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-PWA-507

    iarc_rating_id: "e84b072d-71b3-4d3e-86ae-31a8ce4e53b7" on apps/web/src/app/manifest.ts. IARC (International Age Rating Coalition) certificate ID issued for the BoltToCart storefront ??? fabric retail, no UGC, no violence, no mature themes;…

    6h ago
    apps/web/src/app/manifest.ts×2packages/core/src/engagementExperienceReadiness/index.tspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-PWA-500

    handle_links: "preferred" on apps/web/src/app/manifest.ts so browsers prefer the installed PWA over a normal browser tab when an in-scope link is activated from outside the PWA. Pairs with the existing launch_handler: { client_mode: "navig…

    6h ago
    packages/core/src/engagementExperienceReadiness/index.test.ts×2packages/core/src/publicExperienceReadiness/index.test.ts×2packages/core/src/serviceCommerceReadiness/index.test.ts×2+3 more
  • ShippedREQ-PWA-501

    edge_side_panel: { preferred_width: 400 } on apps/web/src/app/manifest.ts so Microsoft Edge surfaces the installed storefront in its "Apps in sidebar" picker. Lets a shopper pin the catalog as a side-panel app (alongside a primary tab with…

    6h ago
    apps/web/src/app/manifest.ts×2packages/core/src/engagementExperienceReadiness/index.tspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-PWA-502

    launch_handler.client_mode expressed as an ordered fallback array (["navigate-existing", "focus-existing", "auto"]) on apps/web/src/app/manifest.ts instead of the single-value form previously shipped. The W3C Web App Manifest spec permits…

    6h ago
    apps/web/src/app/manifest.tspackages/core/src/engagementExperienceReadiness/index.tspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-PWA-503

    screenshots array on apps/web/src/app/manifest.ts with two entries ??? { src: "/screenshots/wide.png", sizes: "1280x720", type: "image/png", form_factor: "wide" } and { src: "/screenshots/narrow.png", sizes: "390x844", type: "image/png", f…

    6h ago
    apps/web/src/app/manifest.ts×2packages/core/src/engagementExperienceReadiness/index.tspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-PWA-508

    share_target: { action: "/shop", method: "GET", params: { title: "q", text: "q", url: "url" } } in apps/web/src/app/manifest.ts. Declares the installed PWA as an OS-level share-sheet target so a user sharing a product URL from Safari/Chrom…

    6h ago
    apps/web/src/app/manifest.ts×2packages/core/src/engagementExperienceReadiness/index.tspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-PWA-509

    protocol_handlers: [{ protocol: "web+btc", url: "/?uri=%s" }] in apps/web/src/app/manifest.ts. Claims the web+btc:// custom URL scheme so links activated from other apps open the installed PWA instead of the default browser. Forward-lookin…

    6h ago
    apps/web/src/app/manifest.ts×2packages/core/src/engagementExperienceReadiness/index.tspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-PWA-510

    orientation: "any" explicit declaration in apps/web/src/app/manifest.ts. The W3C Web App Manifest spec default is "any" but engines that act only on explicitly declared fields may lock rotation in its absence. Declaring it explicitly futur…

    6h ago
    apps/web/src/app/manifest.tspackages/core/src/engagementExperienceReadiness/index.tspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-PWA-511

    Audit of prefer_related_applications: false and related_applications: [] in apps/web/src/app/manifest.ts. Both fields are present (set in a prior session). This entry documents the completed audit so the reserved range stays traceable. No…

    6h ago
    packages/core/src/engagementExperienceReadiness/index.tspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-PWA-512

    Audit of scope_extensions field (Chrome 125+ feature allowing the PWA to claim cross-origin paths for custom-domain tenant subdomains). Not yet applicable ??? all tenants share the same origin today. When custom-domain tenants land, scope_…

    6h ago
    packages/core/src/engagementExperienceReadiness/index.test.ts×3packages/core/src/publicExperienceReadiness/index.test.ts×3packages/core/src/serviceCommerceReadiness/index.test.ts×3+2 more
REQ-SEOSEO & Feeds
23 shipped0 wip0 todo100%
  • ShippedREQ-SEO-508

    <link rel="alternate" type="application/rss+xml"> autodiscovery tags on the shop PLP (/shop), drops listing (/drops), and events listing (/events) pages via metadata.alternates.types in each page's metadata / generateMetadata export. All t…

    6h ago
    apps/web/src/lib/roadmap.test.tspackages/core/src/engagementExperienceReadiness/index.tspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-SEO-509

    X-Robots-Tag: noindex, nofollow HTTP response header on every /account/:path* route. Added as a new headers() rule in apps/web/next.config.mjs alongside the existing /admin/:path* rule. Belt-and-braces alongside the existing robots: accoun…

    6h ago
    apps/web/next.config.mjspackages/core/src/engagementExperienceReadiness/index.tspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-SEO-512

    max-snippet:-1 and max-image-preview:large robots meta directives on storefront pages. Audit result: the root apps/web/src/app/layout.tsx already emits robots: { googleBot: { "max-image-preview": "large", "max-snippet": -1, "max-video-prev…

    6h ago
    packages/core/src/engagementExperienceReadiness/index.tspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-SEO-514

    Colocated /ld.json endpoints for /shop/[slug], /drops/[slug], and /events/[slug] (REQ-SEO-514). Three route handlers added at apps/web/src/app/(storefront)/{area}/[slug]/ld.json/route.ts. Each handler loads the same entity the correspondin…

    6h ago
    apps/web/src/app/(storefront)/drops/[slug]/ld.json/route.tsapps/web/src/app/(storefront)/events/[slug]/ld.json/route.tsapps/web/src/app/(storefront)/shop/[slug]/ld.json/route.ts+2 more
  • ShippedREQ-SEO-513

    og:locale: "en_US" on all public storefront pages. Audit result: two sources already cover this. (1) The root layout.tsx emits openGraph: { locale: "en_US" } as the site-wide default; (2) shareMetadataFragment in socialMetadata.ts emits op…

    6h ago
    packages/core/src/engagementExperienceReadiness/index.tspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-SEO-511

    hreflang="en" + hreflang="x-default" on all public storefront pages. shareMetadataFragment in apps/web/src/lib/socialMetadata.ts previously emitted hreflang="en-US" (the DEFAULT_LOCALE key). Changing the key from [DEFAULT_LOCALE] to the li…

    6h ago
    apps/web/src/lib/socialMetadata.tspackages/core/src/engagementExperienceReadiness/index.tspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-SEO-510

    metadata.alternates.canonical on every storefront listing page currently missing one. Audit result: all affected pages already emit a canonical via shareMetadataFragment({ canonicalPath: "..." }): /shop (dynamic based on filters/sort/page)…

    6h ago
    packages/core/src/engagementExperienceReadiness/index.tspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-SEO-500

    metadata.authors + metadata.creator + metadata.publisher on the root apps/web/src/app/layout.tsx. Emits <meta name="author">, <meta name="creator">, <meta name="publisher"> ??? the attribution surface Google's "About this result", Bing Web…

    6h ago
    packages/core/src/publicExperienceReadiness/index.test.ts×4packages/core/src/engagementExperienceReadiness/index.test.ts×2apps/web/src/app/layout.tsx+2 more
  • ShippedREQ-SEO-501

    Content-Language: en-US HTTP header on all three RSS feed routes (/shop/rss.xml, /events/rss.xml, /drops/rss.xml). Sourced from DEFAULT_LOCALE in @/i18n/config so the header tracks the app locale scaffold when i18n expands past v1's en-US.…

    6h ago
    apps/web/src/app/(storefront)/drops/rss.xml/route.tsapps/web/src/app/(storefront)/events/rss.xml/route.tsapps/web/src/app/(storefront)/shop/rss.xml/route.ts+2 more
  • ShippedREQ-SEO-502

    Content-Language: en-US HTTP header on both tenant iCalendar feed routes (/events/calendar.ics, /drops/calendar.ics). RFC 5545 has no channel-level language field ??? a VCALENDAR document carries per-event LANGUAGE parameters at most ??? s…

    6h ago
    apps/web/src/app/(storefront)/drops/calendar.ics/route.tsapps/web/src/app/(storefront)/events/calendar.ics/route.tspackages/core/src/engagementExperienceReadiness/index.ts+1 more
  • ShippedREQ-SEO-503

    Content-Language: en-US HTTP header on the three plaintext public endpoints served across every surface: /humans.txt (humanstxt.org credits), /llms.txt (llmstxt.org agent index), and /.well-known/security.txt (RFC 9116 disclosure contact).…

    6h ago
    apps/web/src/app/humans.txt/route.tsapps/web/src/app/llms.txt/route.tspackages/core/src/engagementExperienceReadiness/index.ts+1 more
  • ShippedREQ-SEO-504

    Content-Language: en-US HTTP header on the three structured-metadata endpoints that round out the feed / discovery surface: /feeds.opml (OPML 2.0 feed-subscription bundle), /opensearch.xml (OpenSearch 1.1 description document), and /roadma…

    6h ago
    apps/web/src/app/(storefront)/opensearch.xml/route.tsapps/web/src/app/feeds.opml/route.tspackages/core/src/engagementExperienceReadiness/index.ts+1 more
  • ShippedREQ-SEO-505

    <copyright> RSS channel element on all three tenant RSS feeds (/shop/rss.xml, /events/rss.xml, /drops/rss.xml), emitted via a shared renderChannelMeta() helper (apps/web/src/lib/rssChannelImage.ts). Format mirrors the storefront-footer cop…

    6h ago
    apps/web/src/lib/rssChannelImage.tspackages/core/src/engagementExperienceReadiness/index.tspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-SEO-506

    <managingEditor> channel element on all three tenant RSS feeds (/shop/rss.xml, /events/rss.xml, /drops/rss.xml) via the shared renderChannelMeta() helper. Format: hello@{subdomain}.{rootDomain} ({subdomain}) per RSS 2.0 spec, derived from…

    6h ago
    apps/web/src/lib/rssChannelImage.ts×2apps/web/src/app/(storefront)/drops/rss.xml/route.tsapps/web/src/app/(storefront)/events/rss.xml/route.ts+3 more
  • ShippedREQ-SEO-507

    <lastBuildDate> channel element on all three tenant RSS feeds consolidated into the shared renderChannelMeta() helper via the lastBuildDate option on RssChannelMetaOptions. RFC 1123 timestamp of the most-recent item's pubDate, computed ser…

    6h ago
    apps/web/src/lib/rssChannelImage.ts×2packages/core/src/engagementExperienceReadiness/index.tspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-SEO-515

    X-Robots-Tag: noindex, nofollow on the three colocated ld.json route handlers (/shop/[slug]/ld.json, /drops/[slug]/ld.json, /events/[slug]/ld.json). These endpoints serve machine-readable structured data for Googlebot's structured-data fet…

    6h ago
    apps/web/src/app/robots.tspackages/core/src/engagementExperienceReadiness/index.tspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-SEO-517

    "application-name": "BoltToCart" in the other metadata field in apps/web/src/app/layout.tsx. Next.js does not model <meta name="application-name"> in its top-level Metadata type; adding it via the other escape hatch emits the tag for Windo…

    6h ago
    apps/web/src/app/layout.tsxpackages/core/src/engagementExperienceReadiness/index.tspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-SEO-522

    Audit of <link rel="author"> references in apps/web/src/app/layout.tsx. Audit result: two <link rel="author"> elements are emitted ??? (1) from metadata.authors: [{ name: "BoltToCart", url: getPublicSiteUrl() }] which generates a link poin…

    6h ago
    packages/core/src/engagementExperienceReadiness/index.test.ts×3packages/core/src/publicExperienceReadiness/index.test.ts×3packages/core/src/engagementExperienceReadiness/index.ts+1 more
  • ShippedREQ-SEO-518

    Cache-Control: no-store on all /admin/:path* and /account/:path* routes via the headers() rule in apps/web/next.config.mjs. Prevents ISP and corporate proxy caches from storing private session-gated responses (admin pages, order history, w…

    6h ago
    apps/web/next.config.mjs×2packages/core/src/engagementExperienceReadiness/index.tspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-SEO-519

    <itunes:category text="Shopping" /> channel element in all three RSS feeds via the shared renderChannelMeta() helper. RssChannelMetaOptions extended with itunesCategory?: string; renderChannelMeta emits <itunes:category text="???" /> when…

    6h ago
    apps/web/src/lib/rssChannelImage.tspackages/core/src/engagementExperienceReadiness/index.tspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-SEO-521

    Vary: Accept-Encoding header on both the validator-headers bundle and the 200 response in all three RSS feed routes (/shop/rss.xml, /drops/rss.xml, /events/rss.xml). Tells CDN and intermediate caches to store compressed and uncompressed va…

    6h ago
    apps/web/src/app/(storefront)/drops/rss.xml/route.ts×2apps/web/src/app/(storefront)/events/rss.xml/route.ts×2packages/core/src/engagementExperienceReadiness/index.ts+1 more
  • ShippedREQ-SEO-516

    og:image:alt on storefront pages. Audit result: all storefront opengraph-image convention files (opengraph-image.tsx) already export alt ??? Next.js App Router uses this export to populate the og:image:alt meta property automatically. Cove…

    6h ago
    packages/core/src/engagementExperienceReadiness/index.tspackages/core/src/publicExperienceReadiness/index.ts
  • ShippedREQ-SEO-520

    BreadcrumbList JSON-LD on /drops/[slug] and /events/[slug] detail pages. Audit result: apps/web/src/lib/dropStructuredData.ts already emits BreadcrumbList (Home ??? Drops ??? {drop name}) and apps/web/src/lib/eventStructuredData.ts already…

    6h ago
    packages/core/src/engagementExperienceReadiness/index.tspackages/core/src/publicExperienceReadiness/index.ts
REQ-A11YAccessibility
38 shipped0 wip0 todo100%
  • ShippedREQ-A11Y-513

    aria-hidden="true" + focusable="false" on decorative SVG icons in apps/web/src/components/. Audit scope: BackToTopButton.tsx, MobileNavDrawer.tsx, ProductShareButton.tsx, SvgSwatch.tsx, QuiltVisualizer.tsx. All three icon-only SVGs (BackTo…

    REQUIREMENTS.md verified audit ledger
  • ShippedREQ-A11Y-512

    aria-disabled="true" (not disabled) on the "Add to cart" submit button in AddToCartForm.tsx when the product is out of stock (maxYardageSixteenths < MIN_YARDAGE_SIXTEENTHS). An HTML disabled attribute silently removes the button from the f…

    6h ago
    apps/web/src/components/AddToCartForm.tsx
  • ShippedREQ-A11Y-511

    role="progressbar" + aria-valuenow / aria-valuemin / aria-valuemax on the /account/loyalty tier progress bar. The TierProgress component in apps/web/src/app/account/loyalty/page.tsx already renders <div role="progressbar" aria-valuemin={0}…

    REQUIREMENTS.md verified audit ledger
  • ShippedREQ-A11Y-510

    aria-busy="true" on the outermost skeleton container in the loading.tsx files for the storefront route segments /shop, /drops, /events, /events/instructors, and /account/. All five files already carry aria-busy="true" aria-live="polite" on…

    REQUIREMENTS.md verified audit ledger
  • ShippedREQ-A11Y-509

    <caption> elements on every data <table> in apps/web/src/app/admin/ that uses a visually-separate heading above the table. The webhooks dead-letter table previously used a <h2>Recent dead-letters</h2> section heading plus a separate sr-onl…

    6h ago
    apps/web/src/lib/roadmap.test.ts×4apps/web/src/app/admin/webhooks/page.tsx
  • ShippedREQ-A11Y-508

    aria-label on every <form> in apps/web/src/app/admin/ that previously lacked one. Affected forms: audit custom-date-range popover form (aria-label="Custom date range filter"), presets save form (aria-label="Save current view as a preset"),…

    6h ago
    apps/web/src/app/admin/audit/_components/PresetsToolbar.tsxapps/web/src/app/admin/audit/page.tsx
  • ShippedREQ-A11Y-500

    aria-current="page" on the StorefrontShell primary header nav links (/drops, /events, /visualizer, /wizard) so screen-reader users hear "current page" when the shell's active section matches the URL, matching the AdminNavRail pattern.

    6h ago
    apps/web/src/components/StorefrontNavLink.tsxapps/web/src/components/StorefrontShell.tsx
  • ShippedREQ-A11Y-501

    aria-current="page" on the StorefrontShell footer "Browse" nav links (Shop all, Designers, Collections, Colors, New arrivals, Drops, Classes, Shop by project, Quilt Designer). Uses the exact-match strategy so /shop and /shop?new=1 don't bo…

    6h ago
    apps/web/src/components/StorefrontNavLink.tsxapps/web/src/components/StorefrontShell.tsx
  • ShippedREQ-A11Y-502

    aria-live="polite" + aria-atomic="true" sr-only sibling region inside the StorefrontShell Cart link so Server-Action revalidatePath("/cart") updates are announced to AT users even when the visual line-count badge is hidden (cart is empty)…

    6h ago
    apps/web/src/components/StorefrontShell.tsx×3
  • ShippedREQ-A11Y-503

    aria-live="polite" + aria-atomic="true" sr-only sibling region inside the StorefrontShell wishlist "Saved" link so add / remove heart-button Server-Action updates are announced to AT users. Same pattern as REQ-A11Y-502.

    6h ago
    apps/web/src/app/account/wishlist/_components/WishlistBulkList.tsx×2apps/web/src/components/StorefrontShell.tsx×2apps/web/src/app/account/wishlist/actions.ts
  • ShippedREQ-A11Y-504

    Single role="search" ARIA landmark on the StorefrontFilterRail outer <aside> (apps/web/src/components/StorefrontFilters.tsx) with aria-label="Filter catalog", paired with dropping the redundant role="search" from the nested SearchInput <fo…

    6h ago
    apps/web/src/components/StorefrontFilters.tsx×2apps/web/src/components/DropsFilterRail.tsxapps/web/src/components/EventsFilterRail.tsx
  • ShippedREQ-A11Y-505

    aria-describedby wiring between the PDP AddToCartForm yardage <output id="yardage-${skuId}"> and its REQ-ECO-003 policy paragraph ("Minimum 1/2 yard � 1/4-yard steps � N available"). The policy text gains a stable SKU-scoped id (yardage-ru…

    6h ago
    apps/web/src/components/AddToCartForm.tsx
  • ShippedREQ-A11Y-506

    scope="col" on every <th> in the admin table headers for the receiving ledger (/admin/receiving), the bolt listing (/admin/bolts), and the audit-event grid (/admin/audit). Removes the "table header has no scope" WCAG 1.3.1 failure flagged…

    6h ago
    apps/web/src/app/admin/receiving/page.tsx×2apps/web/src/app/admin/audit/page.tsxapps/web/src/app/admin/bolts/page.tsx
  • ShippedREQ-A11Y-507

    Audit of every icon-only interactive element in packages/ui/ and apps/web/src/components/ for missing aria-label. Audit result: all icon-only <button> elements already carry aria-label attributes (added incrementally across REQ-A11Y-502, R…

    REQUIREMENTS.md verified audit ledger
  • ShippedREQ-A11Y-514

    scope="col" on every <th> in the admin events table header (/admin/events). Without scope, AT tools infer column/row association heuristically and can misread "Status" or "Roster" as a row header when VoiceOver's table-navigation mode (rot…

    6h ago
    apps/web/src/app/admin/events/page.tsx
  • ShippedREQ-A11Y-515

    scope="col" on every <th> in the admin drops table header (/admin/drops). Extends REQ-A11Y-506 and REQ-A11Y-514 to the drops admin grid (Drop, Status, Opens, Closes, Actions). Same WCAG 1.3.1 fix for VoiceOver table-navigation. Pure a11y a…

    6h ago
    apps/web/src/app/admin/drops/page.tsx
  • ShippedREQ-A11Y-518

    aria-label="Split bolt" on the <form> in apps/web/src/app/admin/bolts/[boltId]/SplitForm.tsx. Same form-landmark fix as REQ-A11Y-517 (CutForm) for the bolt-split flow. Pure a11y attribute ??? no visual change.

    6h ago
    apps/web/src/app/admin/bolts/[boltId]/SplitForm.tsx
  • ShippedREQ-A11Y-519

    aria-label="Merge bolts" on the <form> in apps/web/src/app/admin/bolts/[boltId]/MergeForm.tsx. Pure a11y attribute ??? no visual change.

    6h ago
    apps/web/src/app/admin/bolts/[boltId]/MergeForm.tsx
  • ShippedREQ-A11Y-520

    aria-label="Override bolt status" on the <form> in apps/web/src/app/admin/bolts/[boltId]/StatusOverrideControls.tsx. Two submit buttons (mark damaged, mark transferred) share one form; the form-level label names the shared action scope. Pu…

    6h ago
    apps/web/src/app/admin/bolts/[boltId]/StatusOverrideControls.tsx
  • ShippedREQ-A11Y-535

    role="status" on the success <p> in CutForm.tsx ("Cut recorded. Remaining updated."), SplitForm.tsx ("Bolt split."), and MergeForm.tsx ("Bolts merged."). The error paragraphs already carry role="alert" (assertive); success outcomes use rol…

    REQUIREMENTS.md verified audit ledger
  • ShippedREQ-A11Y-521

    aria-label="Webhook endpoint settings" on the save <form action={saveAction}> in apps/web/src/app/admin/webhooks/WebhookManager.tsx (line 86). Pure a11y attribute ??? no visual change.

    6h ago
    apps/web/src/app/admin/webhooks/WebhookManager.tsx
  • ShippedREQ-A11Y-522

    aria-label="Rotate webhook signing secret" on the rotate <form action={rotateAction}> in WebhookManager.tsx (line 173). Pure a11y attribute ??? no visual change.

    6h ago
    apps/web/src/app/admin/webhooks/WebhookManager.tsx
  • ShippedREQ-A11Y-523

    aria-label="Delete webhook endpoint" on the delete <form action={deleteAction}> in WebhookManager.tsx (line 200). Pure a11y attribute ??? no visual change.

    6h ago
    apps/web/src/app/admin/webhooks/WebhookManager.tsx
  • ShippedREQ-A11Y-524

    aria-label="Retry dead-letter event" on the <form> in apps/web/src/app/admin/webhooks/RetryDeadLetterButton.tsx (line 51). Pure a11y attribute ??? no visual change.

    6h ago
    apps/web/src/app/admin/webhooks/RetryDeadLetterButton.tsx
  • ShippedREQ-A11Y-525

    aria-label="Bolt ID lookup" on the GET <form> in apps/web/src/app/admin/page.tsx (line 287). The containing <section> already has aria-labelledby="admin-bolt-lookup-heading"; the form-level aria-label adds a named form landmark for AT form…

    6h ago
    apps/web/src/app/admin/page.tsx
  • ShippedREQ-A11Y-526

    aria-label="Create drop" on the <form> in apps/web/src/app/admin/drops/new/page.tsx (line 82). Pure a11y attribute ??? no visual change.

    6h ago
    apps/web/src/app/admin/drops/new/page.tsx
  • ShippedREQ-A11Y-527

    aria-label="Create class" on the <form> in apps/web/src/app/admin/events/new/page.tsx (line 96). Pure a11y attribute ??? no visual change.

    6h ago
    apps/web/src/app/admin/events/new/page.tsx
  • ShippedREQ-A11Y-531

    aria-label="Receive bolt" on the <form> in apps/web/src/app/admin/receiving/new/ReceiveBoltForm.tsx (line 43). Pure a11y attribute ??? no visual change.

    6h ago
    apps/web/src/app/admin/receiving/new/ReceiveBoltForm.tsx
  • ShippedREQ-A11Y-533

    aria-label="Rename POS device" on the inline rename <form action={renameDeviceAction}> in apps/web/src/app/admin/pos-devices/page.tsx (line 107). Pure a11y attribute ??? no visual change.

    6h ago
    apps/web/src/app/admin/pos-devices/page.tsx
  • ShippedREQ-A11Y-534

    aria-label on the three inline order-state-machine action forms in apps/web/src/app/admin/fulfillment/page.tsx: "Advance order to processing", "Mark order ready for pickup", "Mark order as fulfilled". Per-button aria-label already exists o…

    REQUIREMENTS.md verified audit ledger
  • ShippedREQ-A11Y-528

    Audit: apps/web/src/app/admin/fulfillment/[orderId]/return/RmaForm.tsx already carries aria-label="RMA / return details" on its <form> element (line 30). No code changes required; this entry documents the completed audit. REQ-A11Y-528.

    REQUIREMENTS.md verified audit ledger
  • ShippedREQ-A11Y-529

    Audit: apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx already carries aria-label="Shipping details" on its <form> element (line 56). No code changes required; this entry documents the completed audit. REQ-A11Y-529.

    REQUIREMENTS.md verified audit ledger
  • ShippedREQ-A11Y-530

    Audit: apps/web/src/app/admin/customers/[id]/merge/page.tsx uses aria-labelledby on both candidate-selection forms (targeting visible <h2> headings "Merge source" and "Merge target"). aria-labelledby is preferred over aria-label when a vis…

    REQUIREMENTS.md verified audit ledger
  • ShippedREQ-A11Y-532

    aria-label="Loyalty program settings" on the <form> in apps/web/src/app/admin/loyalty/settings/LoyaltySettingsForm.tsx. This form is introduced by REQ-ADM-529 (loyalty earn-rate editor) and is not yet merged to main. The aria-label will be…

    6h ago
    apps/web/src/app/admin/loyalty/settings/LoyaltySettingsForm.tsx
  • ShippedREQ-A11Y-536

    role="status" + aria-live="polite" + aria-atomic="true" on the success <p> in apps/web/src/app/admin/settings/RemnantThresholdForm.tsx ("Threshold saved."). GeneralInfoForm.tsx already carries role="status" on its success paragraph; this c…

    REQUIREMENTS.md verified audit ledger
  • ShippedREQ-A11Y-537

    Audit of icon-only <a> and <button> elements in apps/web/src/app/admin/. Audit result: all icon-only interactive elements carry either an aria-label prop or an <span className="sr-only"> child. Notable cases: the CopyPageLinkButton has ari…

    REQUIREMENTS.md verified audit ledger
  • ShippedREQ-A11Y-538

    Audit of aria-describedby on the yardage input in apps/web/src/app/admin/receiving/new/ReceiveBoltForm.tsx. Audit result: the Field component used for the "Initial yardage" input already renders an ${id}-hint <p> and wires aria-describedby…

    REQUIREMENTS.md verified audit ledger
  • ShippedREQ-A11Y-539

    aria-label + aria-controls wiring for the mobile-nav drawer menu in apps/web/src/components/MobileNavDrawer.tsx. The <div role="menu"> gains aria-label="Storefront navigation" so AT users hear an explicit name when jumping by landmarks/rol…

    6h ago
    apps/web/src/components/MobileNavDrawer.tsx×2
REQ-OPSREQ-OPS
6 shipped0 wip0 todo100%
  • ShippedREQ-OPS-001

    BoltToCart must provide an operator-only /platform console on the platform apex for managing SaaS operations across tenants. The console is distinct from tenant /admin and must never derive tenant identity from request bodies, query parame…

    6h ago
    packages/core/src/operationalTelemetryReadiness/index.test.ts×4packages/core/src/platformQualityReadiness/index.test.ts×2apps/web/src/app/admin/layout.tsx+2 more
  • ShippedREQ-OPS-002

    Platform-console access must require membership in the dedicated internal BoltToCart Clerk Organization. Store-tenant organizations do not grant access, and the internal operator organization must not be treated as a tenant/store row.

    6h ago
    packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-OPS-003

    Cross-tenant reads in /platform must go through a single audited server wrapper that verifies operator access before bypassing tenant RLS. Mutations such as tenant suspension, billing changes, feature-flag overrides, migration retries, or…

    6h ago
    packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-OPS-004

    The full platform console must cover tenant management, support tooling, billing and plan state, feature flags, onboarding/migration operations, platform health, audit trails, and incident links without exposing tenant data exports except…

    6h ago
    packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-OPS-005

    The platform console must expose platform billing settings for store-owner purchases, including Stripe Mode (test or production), Stripe Test Account id, custom-domain purchase multiplier in basis points, custom-domain minimum purchase cha…

    6h ago
    packages/core/src/platformOperationsReadiness/index.tspackages/db/src/migrations/0038_platform_domain_purchases.sqlpackages/db/src/schema/platformAuditLog.ts+1 more
  • ShippedREQ-OPS-006

    The platform console must let operators review and manage store-owner platform purchase orders across tenants, including domain purchase payment state, Vercel registrar order state, retryable failure details, refund/cancel/renewal status,…

    6h ago
    packages/core/src/operationalTelemetryReadiness/index.test.tspackages/core/src/platformOperationsReadiness/index.tspackages/core/src/platformQualityReadiness/index.test.ts+2 more
REQ-QDCREQ-QDC
32 shipped0 wip0 todo100%
  • ShippedREQ-QDC-001

    Tenant store admins must be able to create, draft, publish, pause, close, and archive Design Contests from the tenant admin surface. Every contest is tenant-scoped, has a stable contest ID and slug, and resolves tenant identity from authen…

    6h ago
    packages/core/src/platformOperationsReadiness/index.test.ts×2packages/demo-data/src/packs/0013_design_contests.ts×2packages/core/src/platformOperationsReadiness/index.ts+5 more
  • ShippedREQ-QDC-002

    A Design Contest must include a title, rich-text description, public status, optional cover image, submission start date/time, submission end date/time, judging start date/time, and optional judging end date/time. Date/time fields are stor…

    6h ago
    packages/core/src/platformOperationsReadiness/index.tspackages/core/src/storefrontExperienceReadiness/index.tspackages/demo-data/src/packs/0013_design_contests.ts
  • ShippedREQ-QDC-003

    During contest setup, the admin must be able to launch the Quilt Designer and save required preset design values for the contest. Required values may be empty or may include pattern, size, fabric roles, colors, selected SKUs, quilting moti…

    6h ago
    packages/core/src/platformOperationsReadiness/index.tspackages/core/src/storefrontExperienceReadiness/index.tspackages/demo-data/src/packs/0013_design_contests.ts
  • ShippedREQ-QDC-004

    Contest-required Quilt Designer values must be persisted as a locked, versioned preset. When a shopper starts an entry from the contest URL, locked values are preloaded and cannot be removed or contradicted, while all remaining Quilt Desig…

    6h ago
    packages/core/src/platformOperationsReadiness/index.tspackages/core/src/storefrontExperienceReadiness/index.tspackages/demo-data/src/packs/0013_design_contests.ts
  • ShippedREQ-QDC-005

    The admin contest detail page must expose a one-click copy action for the canonical public contest URL. The copied URL must target the tenant storefront host and must not contain a tenant override parameter in production.

    6h ago
    packages/core/src/platformOperationsReadiness/index.tspackages/core/src/storefrontExperienceReadiness/index.tspackages/demo-data/src/packs/0013_design_contests.ts
  • ShippedREQ-QDC-006

    Shoppers opening the public contest URL must land in a contest-aware Quilt Designer flow that displays the contest title, active dates, submission rules, locked requirements, remaining editable design choices, and the current shopper's sub…

    6h ago
    packages/core/src/platformOperationsReadiness/index.tspackages/core/src/storefrontExperienceReadiness/index.tspackages/demo-data/src/packs/0013_design_contests.ts
  • ShippedREQ-QDC-007

    Store admins must configure how many submissions are allowed per participant for each contest. Enforcement must apply to authenticated customer accounts and to anonymous participants using a tenant-scoped anonymous participation token, wit…

    6h ago
    apps/web/src/lib/db.tspackages/core/src/platformOperationsReadiness/index.tspackages/core/src/storefrontExperienceReadiness/index.ts+1 more
  • ShippedREQ-QDC-008

    Store admins must configure whether participants may name their submitted design. When naming is disabled, the public UI must omit custom design-name input and display a system-generated neutral title instead.

    6h ago
    packages/core/src/platformOperationsReadiness/index.tspackages/core/src/storefrontExperienceReadiness/index.tspackages/demo-data/src/packs/0013_design_contests.ts
  • ShippedREQ-QDC-009

    Participants must be able to choose the public designer name and city/state displayed with a submission, and must also be able to submit as anonymous. Anonymous submissions must hide designer name and location from public cards, social met…

    6h ago
    packages/core/src/platformOperationsReadiness/index.tspackages/core/src/storefrontExperienceReadiness/index.tspackages/demo-data/src/packs/0013_design_contests.ts
  • ShippedREQ-QDC-010

    Submitting to a contest must validate the contest window, required Quilt Designer preset values, required fabric usage, participant submission limit, and design completeness before accepting the submission. The participant must receive a c…

    6h ago
    packages/core/src/storefrontExperienceReadiness/index.test.ts×2packages/core/src/platformOperationsReadiness/index.tspackages/core/src/storefrontExperienceReadiness/index.ts+1 more
  • ShippedREQ-QDC-011

    Store admins must be able to configure a required fabric rule stating that at least X yards of fabric SKU X, or a set of SKUs, must be used in the submitted design. Yardage is stored and validated in sixteenth-yard fixed-point units per RE…

    6h ago
    packages/core/src/creativeCommerceReadiness/index.test.ts×2packages/core/src/platformOperationsReadiness/index.tspackages/core/src/storefrontExperienceReadiness/index.test.ts+2 more
  • ShippedREQ-QDC-012

    Every contest submission must generate and save an AI preview image using the same prompt-construction path and rendering method as the Quilt Designer Generate Preview action. Contest submission renders must be attempted whenever Design Co…

    6h ago
    packages/core/src/creativeCommerceReadiness/index.test.ts×9packages/core/src/creativeCommerceReadiness/index.tspackages/core/src/platformOperationsReadiness/index.ts+2 more
  • ShippedREQ-QDC-013

    New submissions must default to a pending moderation state. Store admins must be able to review each submission, inspect the design, product list, participant display information, and generated preview image, then approve, reject, or reque…

    6h ago
    packages/core/src/creativeCommerceReadiness/index.tspackages/core/src/platformOperationsReadiness/index.tspackages/demo-data/src/packs/0013_design_contests.ts
  • ShippedREQ-QDC-014

    Only approved submissions may appear in public contest browsing, voting, social share cards, product-list purchase flows, or winner selection. Rejected and pending submissions remain visible only to authorized tenant staff and the submitti…

    6h ago
    packages/core/src/creativeCommerceReadiness/index.tspackages/core/src/platformOperationsReadiness/index.tspackages/demo-data/src/packs/0013_design_contests.ts
  • ShippedREQ-QDC-015

    The tenant storefront navigation must expose a Design Contest link that opens a public contest index. The index must list active, upcoming, judging, and completed contests with status, dates, entry/voting eligibility, and a link to browse…

    6h ago
    packages/core/src/creativeCommerceReadiness/index.tspackages/core/src/platformOperationsReadiness/index.tspackages/demo-data/src/packs/0013_design_contests.ts
  • ShippedREQ-QDC-016

    The public contest detail page must let shoppers browse approved design submissions, filter or sort entries, open an entry detail page, see the participant-facing designer attribution, view the AI-generated preview, and start their own con…

    6h ago
    packages/core/src/creativeCommerceReadiness/index.tspackages/core/src/platformOperationsReadiness/index.tspackages/demo-data/src/packs/0013_design_contests.ts
  • ShippedREQ-QDC-017

    Store admins must configure voting mode per contest: simple likes only, one favorite vote, a configurable number of favorite votes, or ranked top-X favorites. The configuration must define whether likes are separate from official votes, ho…

    6h ago
    packages/core/src/creativeCommerceReadiness/index.tspackages/core/src/platformOperationsReadiness/index.tspackages/demo-data/src/packs/0013_design_contests.ts
  • ShippedREQ-QDC-018

    Authenticated shoppers must default to one official vote per contest unless the contest voting configuration grants more. Storefront shoppers must also be able to like approved quilt designs during the contest voting window, with likes tra…

    6h ago
    packages/core/src/creativeCommerceReadiness/index.tspackages/core/src/platformOperationsReadiness/index.tspackages/demo-data/src/packs/0013_design_contests.ts
  • ShippedREQ-QDC-019

    Non-registered shoppers must be allowed to like and vote during the contest voting window when the contest permits anonymous participation. Anonymous likes and anonymous votes must be tracked and totaled separately from authenticated likes…

    6h ago
    apps/web/src/lib/db.tspackages/core/src/creativeCommerceReadiness/index.tspackages/core/src/platformOperationsReadiness/index.ts+1 more
  • ShippedREQ-QDC-020

    If a shopper with an existing favorite vote or ranked top-X ballot attempts to vote again in a way that would replace their prior ballot, the site must prompt for confirmation before changing the stored vote. Confirmed changes must retain…

    6h ago
    packages/core/src/platformOperationsReadiness/index.test.ts×2packages/core/src/creativeCommerceReadiness/index.tspackages/core/src/platformOperationsReadiness/index.ts+1 more
  • ShippedREQ-QDC-021

    When a shopper has liked, favorited, or ranked contest entries, those entries must appear at the top of the contest submission list for that shopper in every public sort/filter view, preserving their selected order for ranked top-X ballots…

    6h ago
    packages/core/src/creativeCommerceReadiness/index.tspackages/core/src/platformOperationsReadiness/index.tspackages/demo-data/src/packs/0013_design_contests.ts
  • ShippedREQ-QDC-022

    Store admins must be able to see vote counts at any time, including authenticated likes, anonymous likes, authenticated official votes, anonymous official votes, ranked-position totals, and computed score under the contest's current voting…

    6h ago
    packages/core/src/creativeCommerceReadiness/index.tspackages/core/src/platformOperationsReadiness/index.tspackages/demo-data/src/packs/0013_design_contests.ts
  • ShippedREQ-QDC-023

    Store admins must be able to select one or more winning submissions after judging starts. Winner selection must support placement labels such as winner, runner-up, honorable mention, or custom labels, and must be auditable and reversible u…

    6h ago
    packages/core/src/creativeCommerceReadiness/index.tspackages/core/src/platformOperationsReadiness/index.tspackages/demo-data/src/packs/0013_design_contests.ts
  • ShippedREQ-QDC-024

    Store admins must configure the prize for each contest. Prize components may include store credit, all fabric and supplies needed for the winning design, a quantity of a specific product, paid tickets to a specific class/event, cash, a cou…

    6h ago
    packages/core/src/creativeCommerceReadiness/index.tspackages/core/src/platformOperationsReadiness/index.tspackages/demo-data/src/packs/0013_design_contests.ts
  • ShippedREQ-QDC-025

    Prize values involving money must use integer minor units, percentage awards must use basis points, and any recurring percentage-of-kit-sales award must record the eligible kit, recipient, calculation basis, start date, optional end date,…

    6h ago
    packages/core/src/creativeCommerceReadiness/index.tspackages/core/src/platformOperationsReadiness/index.tspackages/demo-data/src/packs/0013_design_contests.ts
  • ShippedREQ-QDC-026

    Store admins must be able to configure whether the winning design remains on the storefront after the contest as a purchasable quilt kit. When enabled, the public winner page must link to the kit after the admin publishes it.

    6h ago
    packages/core/src/creativeCommerceReadiness/index.tspackages/core/src/platformOperationsReadiness/index.tspackages/demo-data/src/packs/0013_design_contests.ts
  • ShippedREQ-QDC-027

    Any shopper viewing an approved design submission must be able to see every product needed to make that design, including fabric yardage, notions, supplies, substitutions, unavailable items, and estimated price. The entry page must preserv…

    6h ago
    packages/core/src/creativeCommerceReadiness/index.tspackages/core/src/platformOperationsReadiness/index.tspackages/demo-data/src/packs/0013_design_contests.ts
  • ShippedREQ-QDC-028

    Store admins must be able to create a quilt kit from any approved design submission at any time, not only from winners. The kit creation flow must let the admin choose whether the kit references the designer, the contest, both, or neither…

    6h ago
    packages/core/src/creativeCommerceReadiness/index.tspackages/core/src/platformOperationsReadiness/index.tspackages/demo-data/src/packs/0013_design_contests.ts
  • ShippedREQ-QDC-029

    Shoppers and participants must be able to share approved design submissions on social media using canonical tenant storefront URLs, saved AI preview images, and attribution metadata that respects anonymous-submission settings.

    6h ago
    packages/core/src/creativeCommerceReadiness/index.tspackages/core/src/platformOperationsReadiness/index.tspackages/demo-data/src/packs/0013_design_contests.ts
  • ShippedREQ-QDC-030

    Contest data must emit typed domain events through the outbox for contest creation/publication, submission received, submission approved/rejected, vote cast, vote changed, winner selected, winner selection reversal, prize awarded, and kit…

    6h ago
    packages/events/src/registry.ts×2packages/core/src/creativeCommerceReadiness/index.tspackages/core/src/platformOperationsReadiness/index.ts+2 more
  • ShippedREQ-QDC-031

    The tenant admin dashboard must include a Design Contest tile or named SLI (REQ-ANL-042) showing active contest status, pending submissions, approved submissions, vote totals, anonymous participation totals, judging window state, winner pu…

    6h ago
    packages/core/src/creativeCommerceReadiness/index.tspackages/core/src/platformOperationsReadiness/index.tspackages/demo-data/src/packs/0013_design_contests.ts
  • ShippedREQ-QDC-032

    The Design Contest feature must ship behind a feature flag from packages/flags; demo data for at least one active contest, one completed contest, approved submissions, anonymous participation, and a winner-created kit must live under packa…

    6h ago
    packages/core/src/creativeCommerceReadiness/index.test.tspackages/core/src/creativeCommerceReadiness/index.tspackages/core/src/platformOperationsReadiness/index.test.ts+2 more
REQ-TELREQ-TEL
8 shipped0 wip0 todo100%
  • ShippedREQ-TEL-001

    /admin/settings?tab=phone Telnyx store phone-number search. Tenant admins must be able to search available Telnyx phone numbers from the store dashboard, choose local or toll-free inventory, and filter by country, area code/NPA, locality,…

    2h ago
    apps/web/src/app/admin/settings/actions.tsapps/web/src/env.tsapps/web/src/lib/telnyxNumbers.test.ts+1 more
  • ShippedREQ-TEL-002

    Telnyx phone-number quotes must be computed server-side from Telnyx availability cost information. BoltToCart must parse Telnyx upfront and monthly costs into integer minor-unit money, preserve the provider currency, apply the platform-con…

    6h ago
    apps/web/src/lib/telnyxNumbers.test.tsapps/web/src/lib/telnyxNumbers.ts
  • ShippedREQ-TEL-003

    Platform operators must be able to configure Telnyx phone-number pricing from the operator console: multiplier basis points, minimum upfront charge, minimum monthly charge, and supported currency. These settings are platform-managed like d…

    6h ago
    apps/web/src/app/(platform)/platform/PlatformSettingsForm.tsxapps/web/src/app/(platform)/platform/actions.ts
  • ShippedREQ-TEL-004

    Telnyx store phone-number purchases are store-owner platform purchases per REQ-MON-005 and must use Stripe Checkout or Stripe Billing surfaces per REQ-MON-006. Checkout must persist the selected phone number, Telnyx quote snapshot, custome…

    2h ago
    apps/web/src/app/admin/settings/actions.ts×4
  • ShippedREQ-TEL-005

    After successful payment, BoltToCart must provision the selected phone number through Telnyx number orders, persist the Telnyx order id and per-number provider status, and reconcile pending, success, failure, cancelled, and regulatory-acti…

    6h ago
    apps/web/src/lib/telnyxNumbers.test.ts×2apps/web/src/lib/telnyxNumbers.ts
  • ShippedREQ-TEL-006

    Store phone-number state must be tenant-scoped, RLS-protected data. The active number, candidate quotes, Telnyx order records, provider references, provisioning failures, retryability, regulatory requirement status, billing references, and…

    2h ago
    apps/web/src/app/admin/settings/actions.ts×2packages/db/src/schema/tenantPhoneNumbers.ts
  • ShippedREQ-TEL-007

    Telnyx phone-number provisioning must emit typed domain events through the outbox and catalog in packages/events: quote created, checkout started, payment succeeded/failed through the shared platform-purchase events, Telnyx order requested…

    6h ago
    packages/events/src/domain/platformPurchases.tspackages/events/src/registry.test.ts
  • ShippedREQ-TEL-008

    The store dashboard must include a phone-number readiness tile or named SLI per REQ-ANL-042, showing active phone-number coverage, pending Telnyx provisioning, failed/retryable orders, and regulatory action blockers. A demo-data pack under…

    6h ago
    packages/demo-data/src/packs/0075_telnyx_phone_numbers.ts

Last refreshed at build: . Redeploy to regenerate. Also available as JSON → Edit REQUIREMENTS.md on GitHub →